西园寺铃 发表于 2026-9-30 03:57:50

[授权转载][开源] TrainCarts——十年老牌矿车铁路与3D自定义模型载具插件

本帖最后由 西园寺铃 于 2026-9-30 02:09 编辑


##来造你的梦中列车与主题乐园吧,摆脱小铁壳的束缚,把纯原版矿车玩出3D拟真次世代!
> **一句话简介:** 十年经典老牌矿车铁路与载具插件,支持长列车真实物理、游戏内3D模型拼装与全自动轨道交通网络。

### 【授权证明与搬运说明】

本贴为原作者**bergerkiller**正式许可的中文社区授权搬运与交流贴。

由于原MCBBS已关闭,历史教程与文档较为分散,特在此为苦力怕论坛中文社区建立长期维护的资源与技术支持贴。

相关授权许可见**Fig 1**所示聊天记录。



*Fig 1. 本人(Saionji Rin)与 BergerKiller 的 Discord 聊天记录*

感谢原作者 **bergerkiller** 及 **Berger Healer** 团队十余年来对TrainCarts与BKCommonLib的长期维护与持续开源,为整个Minecraft铁路交通生态奠定了坚实基础。

---

### 【原作者特别说明】

1. **请勿在较新的Minecraft版本上运行过旧的插件版本。**
   TrainCarts与BKCommonLib的最新构建本身具备良好的向下兼容性,可以适配大量较旧版本的Minecraft服务端。

2. **原作者希望中文社区积累的Wiki翻译与教程内容,能够优先贡献回官方文档库。**
   (https://wiki.traincarts.net/p/TrainCarts)
   本人目前主要集中精力于底层Folia原生渲染与高阶列车控制系统研发,精力有限,因此不再持续进行官方Wiki的逐字完整翻译。
   欢迎中文社区有兴趣的服主、玩家与开发者前往官方GitHub/Wiki提交中文翻译、教程与文档改进,共同向官方知识库贡献内容。

---

### 【插件基本信息】

- **插件名称:** TrainCarts
- **原作者:** Bergerkiller
- **源码仓库:** (https://github.com/bergerhealer/TrainCarts)
- **官方文档 Wiki:** (https://wiki.traincarts.net/p/TrainCarts)
- **官方 Discord:** [https://discord.gg/wvU2rFgSnw](https://discord.gg/wvU2rFgSnw)
- **官方演示材质包:** [https://packs.traincarts.net](https://packs.traincarts.net)
- **适用服务端:** Spigot / Paper / Purpur
- **Folia 支持:** 多区域并行服务端 Folia 的原生渲染适配正在推进中,可参考本人 SkyTrain / SkyRail 相关项目
- **适用版本:** 覆盖大量 Minecraft 历史版本,具体兼容范围请以对应版本的官方构建说明为准
- **前置插件:** BKCommonLib(必须一同安装)
- **来源:** 授权转载
- **开源许可:** MIT License



*Fig 2. 原版矿车通过 BKCommonLib 挂载 3D 模型后组成的列车*



*Fig 3. 组成一列的原版矿车在存车库前准备发车*

---

### 【插件功能深度介绍】

#### 一、超越原版的动力学与物理编组

TrainCarts不再将矿车简单视为彼此独立、机械沿轨道移动的单节实体,而是提供完整的列车编组与物理控制体系。

- **重力与物理计算**——支持重力加速度、轨道阻力、爬坡动力衰减,以及弯道中的车体姿态等效果。

- **突破原版速度上限**——原版矿车的运行速度受到较严格限制,而TrainCarts可以通过自身运动系统实现远高于原版的运行速度。最大速度、加速度等参数均可通过插件配置及列车属性进行调整。

- **移动区块加载器(Chunk Loader)**——可以将列车配置为移动区块加载器。即使列车附近没有玩家,也能够维持沿线区块加载,使自动列车继续穿越原本未加载的区域运行。



#### 二、游戏内 3D 模型与动画系统(Attachment Editor)

无需要求所有玩家安装 Forge / Fabric 客户端模组,即可通过服务器端插件与资源包体系构建复杂的 3D 载具模型。

- **游戏内可视化编辑器**
TrainCarts提供Attachment Editor,可在游戏中直接编辑列车附件结构。
玩家可以组合Display实体、物品、方块模型及其他附件,搭建复杂车厢与载具。

- **兼容Blockbench工作流**
可以将Blockbench制作的模型拆分为多个组件,再通过TrainCarts附件系统进行组合和驱动。

- **自定义动画**
支持制作车门开闭、部件旋转、车体动作等动画。
附件系统也不仅限于铁路车辆,还可以用于构建:
- 摩天轮
- 旋转木马
- 大摆锤
- 过山车
- 其他复杂动态载具与游乐设施

- **官方演示资源包**
官方提供了一套演示资源包,包含机车、客车以及不同风格的过山车模型等内容。
可前往:(https://packs.traincarts.net)下载资源包,也可以根据需要将对应资源包配置到服务器资源包系统中。



#### 三、智能避障与自动化标志牌系统(Sign Actions)

TrainCarts 可以通过沿线路布置功能标志牌,实现高度自动化的铁路、地铁与游乐设施控制系统。

- **智能等待与避障(Waiter / Mutex)**
当列车检测到前方存在其他车辆,或者互斥区域(Mutex Zone)已被占用时,可以自动减速、停车。
当前方重新满足通行条件后,列车可继续运行。

- **自动进路寻路(Path Finding)**
可为列车设置目标地点(Destination)。
TrainCarts 会根据已建立的线路节点、目的地以及道岔信息,在轨道网络中进行寻路。

- **丰富的 Sign Actions**
TrainCarts 提供大量铁路控制牌,例如:
- **Station**:车站停车与发车控制
- **Switcher**:道岔及逻辑切换
- **Launcher**:列车加速或发射
- **Property**:修改列车或矿车属性
- **Destination**:目的地及寻路节点
- **Waiter**:前车检测与等待
- **Mutex**:互斥区段控制

这些功能可以相互组合,建立规模较大的全自动铁路交通网络。


*Fig 4. 列车在寻路系统引导下寻找路径并通过复杂道岔区*


*Fig 5. 部分控制牌展示*



#### 四、进阶特性与命令目标选择器

- **智能命令补全**
TrainCarts 的命令系统提供较完善的 Tab 补全、参数建议与帮助信息,便于管理员快速使用复杂指令。

- **专属目标选择器**
TrainCarts 提供面向列车系统的特殊目标选择能力。
例如可通过对应选择器选中列车乘客,或者在其他支持选择器的命令系统中对符合条件的列车相关实体进行批量操作。


#### 五、丰富的第三方扩展生态(Add-ons)

TrainCarts提供较完善的开发者API,社区围绕其构建了大量附加插件与扩展生态。

部分常见扩展包括:

- **TC-Hangrail**——用于实现悬挂式铁路,让列车沿上方结构运行。

- **TC-Coasters**——面向高级过山车系统,可构建自由度更高的平滑轨道曲线。

- **SmoothCoasters**——客户端Fabric模组,可改善第一人称乘车视角及部分运动动画的平滑效果。

- **TCTicketShop**——提供基于标志牌等交互方式的车票购买功能。

- **LightAPI**——可用于实现列车附件相关的动态光源效果。

- **TCJukebox**——可与相关音乐系统联动,在列车运行过程中为乘客提供背景音乐。

- **TC-Portals**——用于实现列车与传送门或跨区域传送机制的结合。

- **TC-Destinations / TrainCartsDestinationSelector**——提供更直观的目的地选择与交互界面。

> 不同Add-on的维护状态、Minecraft版本支持范围和依赖关系可能不同,请安装前查看对应项目的最新文档。

---

### 【安装方法】

1. 前往官方发布页面,根据自己的Minecraft服务端版本下载对应的**BKCommonLib**与**TrainCarts**。

2. 将下载得到的两个 `.jar` 文件放入服务端:

   ```text
   plugins/
   ```

   目录中。

3. 启动服务器,让BKCommonLib与TrainCarts自动生成默认配置文件。

4. 建议使用彼此版本匹配、发布时间接近的BKCommonLib与TrainCarts构建,避免底层Minecraft版本适配差异造成兼容性问题。

官方项目:

- (https://github.com/bergerhealer/BKCommonLib)
- (https://github.com/bergerhealer/TrainCarts)

---

### 【常用基础指令】

```text
/train info
```

查看当前所乘列车、选中列车或相关目标的详细状态。

```text
/train attachments
```

打开当前列车的 3D 附件模型编辑器。

```text
/train destroy
```

销毁目标列车。

```text
/train reroute
```

重新计算相关列车的寻路信息。

```text
/cart info
```

查看单节矿车的信息。

> TrainCarts 的具体命令参数会随版本与上下文有所不同,建议在游戏中直接利用 Tab 补全,或参考官方 Wiki 获取完整命令列表。

---

### 【进阶使用技巧与配置建议】

#### 一、矿车生成与生物防护

1. **默认接管机制**
   玩家正常放置的矿车可以被 TrainCarts 系统接管并转换为可管理的列车成员。
   如果服务器需要同时保留部分原版行为矿车,可结合插件配置、权限及其他生成方式进行区分。

2. **生物乘车控制**
   TrainCarts 提供与矿车乘客、碰撞和实体交互相关的配置。
   服主可以通过对应属性控制生物是否允许进入矿车,减少自动化线路因随机实体进入车辆而受到干扰的情况。


#### 二、服务端渲染距离调优

如果列车使用了体积较大的 3D 附件模型,而玩家在较远距离观察时发现列车模型提前消失,可以检查服务端的实体追踪距离设置。

在部分 Spigot / Paper 系服务端配置中,可以找到类似:

```yaml
entity-tracking-range:
players: 48
animals: 48
monsters: 48
misc: 32
display: 128
other: 64
```

的配置项。

根据服务端版本和实际实体类型,适当提高与列车附件对应的追踪距离,可以扩大客户端同步范围。

> 不同 Minecraft / Spigot / Paper 版本的配置结构可能存在差异,请以当前服务端实际配置文件为准。过高的实体追踪距离也会增加网络带宽与客户端渲染压力。



#### 三、车票系统与进路联动

TrainCarts 及其相关扩展可以实现较复杂的车票与目的地系统。

例如:

1. **权限或车票验证**
   可以设计仅允许持有特定物品、权限或车票的玩家进入指定列车或车厢。

2. **目的地绑定**
   可以将票务系统与 Destination 寻路机制结合。
   玩家选择目的地或使用特定票据后,可由相关系统设置列车或乘客的行程目标。

具体实现方式取决于服务器所使用的 TrainCarts 扩展、脚本系统以及自定义插件。


#### 四、配置文件修改规范

1. **常用配置文件**

   服主通常主要需要关注:

   ```text
   config.yml
   ```

   以及:

   ```text
   DefaultTrainProperties.yml
   ```

   前者主要控制插件全局行为及功能设置,后者主要定义新生成列车的默认属性。

2. **不要随意修改内部运行数据**

   不建议直接手动修改插件生成的内部运行时数据文件。

   如果需要重置相关数据,建议:

   - 先关闭服务器;
   - 完整备份TrainCarts数据目录;
   - 根据官方文档确认需要删除或重建的文件;
   - 再重新启动服务器。

这样可以降低数据损坏、列车状态异常或配置不一致的风险。

---

### 【后记】

一转眼,我和TrainCarts这个插件已经打了十二年的交道。

最早接触它的时候,我还只是一个刚上初中的火车迷,在单人世界里摆弄着那些略显颠簸的小矿车。

时间一路飞驰。如今,我不仅成为了一名工科方向的博士生,也真正走进了铁路行业,并曾在法国国家铁路公司完成硕士毕业实习,接触现实铁路工程中的工业系统、车辆技术与列控体系。

回过头来看,TrainCarts对我而言早已不仅仅是一个Minecraft插件。

在老MCBBS仍然活跃的时期,我曾和许多同好一起为官方Wiki补充中文翻译与教程;而如今,我也正在和原作者 bergerkiller本人密切交流与切磋,尝试结合最新的多区域并发服务端(Folia)和现代ETCS/CTCS信号理念,给整个社区的轨道交通生态“整一个前所未有的大活儿”——合力探索将TrainCarts强大的3D附件渲染与地图画板能力,无缝桥接到新一代的多线程并发服务端环境之中,让经典老牌的车辆模型资产能够在现代高性能服务器上焕发新生。

本贴首先仍然是一个纯粹的**官方授权资源搬运与中文社区交流窗口**。

它最重要的目的,是让经历过老论坛关闭的中文服主、开发者和铁路同好们知道:

**这个陪伴了Minecraft铁路社区十余年的经典插件,今天依然在持续维护和发展。**

由于本人目前科研任务与底层架构开发工作较多,暂时没有足够精力将规模庞大的官方Wiki全部重新进行人工完整翻译并精校。

如果大家在以下方面遇到问题:

- TrainCarts / BKCommonLib 安装与版本选择
- 自动铁路线路建设
- Station、Switcher、Waiter、Mutex 等控制牌使用
- 自动寻路与 Destination 配置
- 3D Attachment 模型制作
- Blockbench 模型导入
- 大型列车资源包制作
- 性能优化
- TrainCarts 扩展插件使用

或者希望看到某一个主题的中文进阶实战教程,都非常欢迎在本贴中留言交流。

也欢迎直接加入官方Discord,与来自世界各地的TrainCarts开发者、服主和铁路爱好者交流:

(https://discord.gg/wvU2rFgSnw)

愿大家都能在方块世界中,跑出属于自己的理想列车。
页: [1]
查看完整版本: [授权转载][开源] TrainCarts——十年老牌矿车铁路与3D自定义模型载具插件