TrainCarts 为 Minecraft 带来了功能强大的火车系统。你可以创建自动化的地铁网络、过山车、缆车、滑雪缆车或游乐园设施。它支持自定义模型、动画、通过告示牌实现自动化,并拥有一个庞大的 API,允许通过插件进行功能扩展。
快速链接
- Jenkins Dev Builds / Source on GitHub / Javadocs / Discord
- 官方 Wiki: https://wiki.traincarts.net/p/TrainCarts
- 获取帮助请加入 Discord: https://discord.gg/wvU2rFgSnw
重要须知
- 本插件需要 BKCommonLib 作为前置。
- 请勿使用非常旧的插件版本搭配旧版 Minecraft。TrainCarts 和 BKCommonLib 的最新版本通常向下兼容旧版 Minecraft。
自定义火车
通过附件编辑器,你可以完全自定义火车的外观。在 Blockbench 中创建自定义矿车模型,并在游戏中乘坐。通过将模型的多个部分添加为独立的(盔甲架)物品模型,可以实现大型模型。TrainCarts 会为你处理动画,并将所有部件作为一个整体移动。
动画支持
对于自定义乘坐体验,火车可以完全动画化。这意味着你可以拥有开关的门、旋转的车厢,甚至可以创建摩天轮、旋转椅和旋转木马等主题公园设施!
演示资源包
TrainCarts 提供了一个演示资源包,其中包含一些火车和过山车模型。你可以直接使用这些模型,无需自己动手制作。
- 下载地址或
server.properties配置信息请访问: packs.traincarts.net - 火车头和车厢由 Nullblox 制作,彩色过山车车厢由 Maxi 制作。
生成火车
新模型绑定在金镐的耐久值上。你可以通过以下方式生成这些火车:
- 使用生成告示牌。
- 使用火车生成箱物品:
/train chest [name] - 在附件编辑器中创建。可通过
/train model search查找可用的物品。
可生成的火车名称包括
loco- 生成不带动画的火车头carr/carg/carb- 生成红/绿/蓝色车厢(无动画)loco_anim- 生成带轮子和活塞动画的火车头carr_anim/carg_anim/carb_anim- 生成带轮子动画的红/绿/蓝色车厢ferris- 动画摩天轮,使用spin动画控制(警告:非常卡顿)spinner- 动画旋转椅,有 3 个可控动画 (spin,turn,arm)rolr/rolg/rolb- 带 4 个座位的过山车车厢
已保存的火车配置
资源包压缩文件中的 _assets/traincarts/saved_train_properties/tcdemo.yml_ 包含了已保存的火车配置。
当资源包在 server.properties 中配置好后,此文件会被 TrainCarts 自动检测,其中的火车将通过 /savedtrain list 等命令可用。
如果此机制失效(例如合并资源包时),请手动操作
- 解压出
tcdemo.yml并放置于plugins/Train_Carts/savedTrainModules/tcdemo.yml - 运行命令
/train globalconfig reload --savedtrainproperties
通常情况下无需此操作。
物理特性
火车不仅仅是沿着轨道移动或受限于 Minecraft 原版的矿车物理。它们通过重力物理、轨道切换和贴合轨道的轮子进行实时模拟。
新速度限制
火车可以移动得比通常的 0.4 格/刻快得多。默认(可配置)的最大速度限制为 5 格/刻(300 公里/小时!)。
保持区块加载
可以设置火车保持区块加载。这样它们就相当于移动的区块加载器,能保持自身及周围小区域被加载和动画化。无论是否有玩家在附近,它们都能自主运行。
等待机制
火车可以在前方有其他火车或互斥区域被占用时,自动减速或完全停止。可以设置加速度和/或减速度,使火车能逼真地停车和启动以避开障碍物。
其他属性
还有许多其他属性可以改变火车的行为,并且还在不断增加。
- 倾斜、重力和摩擦力:创建逼真的过山车体验,或完全关闭这些效果。
- 碰撞:改变生物是否自动进入,或玩家与火车碰撞时会发生什么。
- 玩家进出:控制玩家能否进入或离开你的火车。
- 改变乘客的视距(仅限 Paper 服务器)。
- 标签:为火车打上标签,使其在铁路网络中按路线行驶,或在途中对其执行特殊操作。
告示牌动作
沿轨道放置的告示牌可用于控制火车执行各种动作。改变火车属性、发车、创建车站或自动切换道岔。通过可扩展的 API,一切皆有可能。
路径寻找
通过路径寻找功能,可以让火车网络变得生动起来,火车能够自动前往 Minecraft 世界中的各个目的地。
命令
所有可以通过告示牌动作完成的事情,甚至更多,都可以通过命令来实现。
选择器支持
- 使用
@ptrain选择器,可以将火车的乘客作为参数用于其他(非 TrainCarts)命令。 - 使用
@train选择器,可以同时对多个火车执行操作。可以通过立方体区域、距离、设置的属性等多种方式选择火车。
特色
本插件使用 Cloud Command Framework 来处理命令。如果你对 TrainCarts 的命令自动补全、建议和帮助菜单的质量印象深刻,并希望在自己的插件中实现,请查看 Incendo 的 Cloud!
扩展插件
TrainCarts 提供了 API,允许第三方扩展插件功能。主要支持添加新的轨道类型、新的附件类型和自定义动作告示牌。
- TC-Hangrail:使火车悬浮在铁栅栏下方,以及其他种类方块的下方/上方(作者:TeamBergerhealer)。
- TC-Coasters:在空中铺设轨道,无需实际的轨道方块(作者:TeamBergerhealer)。
- SmoothCoasters:Minecraft 客户端 Fabric 模组,如果安装,可以平滑盔甲架动画并改善第一人称摄像机视角。
- TCTicketShop:通过告示牌交互购买火车票(作者:DefinitlyEvil)。
- LightAPI:为内置的 Light 附件提供支持。(对于 MC 1.17.1 及以下版本,请使用此分支)。
- TCJukebox:使用 MCJukebox 为火车内的玩家播放音乐(作者:melerpe)。
- TC-Portals:以逼真的方式在服务器之间传送火车(作者:J0schlZ)。
- TC-Destinations:跨服务器火车目的地分页和有用的可点击命令(作者:J0schlZ)。
- TrainCartsDestinationSelector:添加可点击的告示牌,让玩家可以选择火车目的地。
- Traincarts AdvancedSigns:添加额外的告示牌类型,对过山车设施特别有用。
- TCAnimatronics:使用 TrainCarts 告示牌播放 Animatronics 动画。
常见问题解答
当一些玩家乘坐火车时,火车出现故障,玩家的矿车卡在原地不动。
> NoCheatPlus 认为玩家在作弊,因为矿车在以非预期的方式移动。矿车被传送回有效状态,导致了这些奇怪的故障。要修复此问题,请在 NoCheatPlus 配置中将以下项设置为 false:
> ```yaml
> checks
> moving
> vehicle
> enforcelocation: false
> ```
我在 Minecraft 1.16 上,玩家可以通过按 Shift 键从 playerexit=false 的火车中出来。
> 很遗憾,Minecraft 客户端存在一个漏洞,导致服务器无法取消玩家离开载具。更新到 Minecraft 1.17+ 将修复此问题。另请参阅:SPIGOT-5891。
当玩家在附近时,火车能到达目的地。没人在附近时,它们就不动了。
> 启用火车的 keep chunks loaded 属性。
我创建了一个自动生成器,但火车在附近某个地方堆积起来了。
> 启用火车的 keep chunks loaded 属性。否则,当没有玩家在附近时,火车会在同一地点被卸载。
当我离开火车时,火车消失了。
> 如果你的服务器上安装了 CraftBook,这个插件确实可以做到这一点。请在 CraftBook 配置 中关闭此功能。
支持作者
如果你非常喜欢我的作品并想给予一些回报,欢迎通过下方的 PayPal 按钮向我捐赠一小笔款项。非常感谢!