YCLH ADDON STUDIO · v1.0.5

列车附加包生成器

下载客户端,离线一键生成行为包与资源包。
面向创作者 · 需配合宇创领航控制器主包使用

创作者须知 · 上架前请备案 所有创作者均可使用本工具制作宇创领航轨道交通附加包,须提交备案并通过后方可上架网易我的世界。免费附加包宇创领航不收取费用;付费附加包需支付创作研发费,模组收益归创作者所有。若备案为免费却私自付费发布,宇创领航有权停止该创作者使用本工具并要求赔偿。
Windows · Desktop

列车附加包生成器

双击运行,无需 Python。填写参数 → 选择保存路径 → 一键生成 ZIP。

下载 Windows 版 (.exe)
Android · Mobile

Addon Builder

手机端离线生成,与桌面版相同逻辑。支持导出到系统文件夹。

下载 Android 版 (.apk)
1

下载客户端

Windows 或 Android,离线可用

2

填写并生成

系列前缀、地板 Y 高度、注册 Y 偏移、受电弓、四节车厢

3

备案后发布

装入行为包 + 资源包,配合主包游玩

📖 创作者手册

以下内容为附加包模板技术说明,供其他创作者查阅。点击章节展开。

模板是什么 · 前置条件

本工具基于开源模板「轨道交通列车附加包(7001 默认四节编组)」克隆生成独立的 BP + RP。控制器主包闭源,玩家必须同时安装主包与你的附加包才能运行。

默认实体:yclh:yclh7001_1(车头)~ _4(车尾)。生成器会自动改命名空间、UUID、文件名,避免多附加包冲突。

模板目录结构
behavior_pack_yclh_default/
├── data/yclh_addons/yclh_default.json   ★ 主包扫描注册
├── entities/          yclh7001_1~4.json
├── animation_controllers/  yclh7001_1_controller.json
└── functions/
    ├── tick.json → register(每 10 tick 节流)
    ├── yclh7001/    列车运行 mcfunction ×6
    └── yclh_addons/ 注册自检 mcfunction ×4

resource_pack_yclh_default/
├── entity/ + models/entity/   各 4 个 json
├── animations/yclh7001_1.animation.json   ★ 仅车头一份
└── animation_controllers/yclh7001_1_controller.json

模板 intentionally 不含

不含说明
textures/entity/*.png生成器从主包自动复制;可自定义路径
functions/*/ani/已废弃,灯光由主包 Python 触发
车身独立动画文件中间/车尾引用车头 animation_base
ani3~15、mode3~33已裁剪,与主包 UI 对齐
动画与实体分工

车头 yclh7001_1

16 条动画引用、8 个 animation_controllers(含 tilt_common):

open/close 四门 ani1 / ani2 mode1 / mode2 speed_meter notch wiper revinv tilt_common

车门动画名不可改,骨骼名可自定(见 animation.readme.txt)。

受电弓(可选,默认车头 + 第 2 节启用)

sdgq 升起 sdgl 降落 controller8 / ct8

动画名不可改,骨骼可在 Blockbench 中替换(见 *.animation.readme.txt)。

地板 Y 高度 floor_y(生成器「地板高度」)

车厢地板相对实体模型原点向上多少方块,不是世界坐标 Y。主包「列车地板」功能用此值把玩家放到正确高度。默认 1.2;7001 模板四节通常相同,填全局即可。

若某节模型 pivot 不同,可在该节单独填覆盖值。不同附加包仅当模型地板高度与 7001 不一致时才需改,否则保持 1.2。

注册 Y 偏移 headloc_y_offset(多包共存必看)

附加包注册时会在最近玩家头顶向上偏移 N 格 summon 一只 yclh:yclh_headloc 作为数据载体(never_despawn),再贴上 yreg.* 标签供主包扫描。生成器字段名 headloc_y_offset,默认模板为 36(即 execute at @p positioned ~ ~36 ~)。

每个附加包必须填不同的整数(如 30、33、36、39、42…)。与已有附加包重复会导致选择器 r=1,c=1 串台、注册冲突或车型错乱。发布前请在备案/交流群确认未被占用。

系列前缀自动命名

填写系列前缀(如 mytrain)后,四节实体短名自动变为 mytrain_1mytrain_4,实体 JSON、模型、贴图 PNG 同步改名。

车身 / 车尾 yclh7001_2~4

基础为倾斜 4 条 + 车门 4 条;勾选受电弓后额外保留 sdgq/sdgl + controller8

生成器自动完成的工作
  • manifest 四个 UUID 重生;BP 依赖新 RP
  • 命名空间 yclh:<addon_id>:
  • 文件名同步自定义:实体、模型、贴图 PNG、车头动画/控制器
  • 注册 JSON、register 广播按 display 与 visual_length 更新
  • 裁剪车身/车尾 RP 未用动画;删除 legacy ani/ mcfunction

表单字段(exe / apk 相同)

字段说明
addon_id全模组唯一,小写字母开头
display生成 UI 车系名
series_prefix替换模板 yclh7001 串;同步实体短名为 前缀_1~_4
floor_y地板 Y 高度(方块),默认 1.2;全局填写,可每节覆盖
headloc_y_offset玩家头顶向上偏移格数 summon headloc,默认 36;每包唯一
has_pantograph每节是否启用受电弓(sdgq/sdgl + ct8)
贴图四节各复制独立 PNG(yclh7001_1~_4 → 你的实体名.png)
entity_short实体短名 → 输出文件名
visual_length车长(方块),头尾 32.0、中间 28.75
animation_base仅车头填写,中间/车尾自动继承

输出 ZIP 解压后,分别复制 behavior_pack_* / resource_pack_* 到网易版对应目录。

注册与自检流程
tick.json → register.mcfunction(节流)
  └─ 每 10 tick → register_body
       ├─ tellraw 欢迎语
       ├─ check_main 检测主包(约 3 秒)
       └─ session 变化 → do_register(headloc + yreg 标签)

车型注册:主包扫描 behavior_packs/*/data/yclh_addons/*.json
  → 读取 addon_id / display / cars[] → 生成 UI「模型」按钮
命名规则 FAQ

addon_id 与文件夹名必须一致吗?

主包只认 JSON 内 addon_id 字段;生成器会三处统一,建议保持一致。

实体 yclh7001_1 必须改吗?

自用可不改;发布或多包共存须改命名空间和/或 entity_short,生成器一次性同步 entities、entity、models、注册 JSON。

多附加包共存

不同 addon_id 与 identifier;UI 显示「显示名 (1/N 点击切换)」;同一编组只能选同一附加包。

v1.0.5 更新说明
  • 注册 Y 偏移 headloc_y_offset:生成器可填玩家头顶 summon 高度,自动写入 do_register.mcfunction 与注册 JSON
  • 多包冲突提示:表单与手册强调每附加包偏移值不可重复
  • v1.0.4:floor_y、受电弓、系列前缀同步、四张贴图

请下载最新 exe / apk(v1.0.5)后使用。

v1.0.4 更新说明
  • 地板 Y 高度 floor_y:生成器表单一键设置,写入注册 JSON,无需手改
  • 受电弓:按节勾选,自动保留升起/降落动画与控制器
  • 系列前缀:填写后实体名、贴图、模型文件自动同步为 XXX_1~XXX_4
  • 四张贴图:修复仅生成 2 张的问题,四节各有一张默认贴图

请下载最新 exe / apk(v1.0.4)后使用;旧版生成的附加包可能缺少 floor_y 或受电弓配置。

地板 Y 高度怎么填?

生成器中的「地板高度 floor_y」就是此前所说的 Y 坐标数值,单位是方块

含义

从实体模型原点(pivot)沿竖直方向到车厢地板面的距离。主包开启「列车地板」后,会把玩家放到该高度,避免悬空或陷地。

要不要每个附加包不同?

  • 模型基于 7001 模板、地板高度相近 → 全局填 1.2 即可,四节留空用全局。
  • 自建模型、地板明显偏高/偏低 → 进游戏试「列车地板」,微调全局 floor_y(如 1.0~1.5)。
  • 某一节 pivot 特殊 → 仅在该节「本节 floor_y」单独填,其余用全局。

与 visual_length 的区别

visual_length水平方向车长(编组间距);floor_y竖直方向地板高度,两者互不影响。

常见问题
现象排查
未检测到控制器主包未安装或未启用主包
生成 UI 无车型BP 未启用;注册 JSON 缺失/错误
命名冲突addon_id 或 entity type 重复
列车不动cars[] 缺少 role: head
编组脱钩visual_length 与模型实际长度不符
生成 UI 无车型 / 注册失败检查 headloc_y_offset 是否与其他附加包重复;默认 36
地板模式悬空/陷地调整 floor_y;默认 1.2,模型不同可试 1.0~1.5
受电弓不升降对应节未勾选受电弓;或动画文件缺少 sdgq/sdgl
只有 2 张贴图请使用 v1.0.4 及以上客户端重新生成
多余 ani/*.mcfunction使用最新客户端,会自动删除

模板 MIT 开源;控制器主包未开源,分发请注明需安装主包。

📚 附加包信息库

📞 工作室联系

  • 快手:宇创领航工作室
  • 抖音:宇创领航工作室
  • 微信公众号:宇创领航工作室
  • B站:宇创领航工作室
  • 官方 QQ 群:686257409