列车附加包生成器
双击运行,无需 Python。填写参数 → 选择保存路径 → 一键生成 ZIP。
下载 Windows 版 (.exe)下载客户端,离线一键生成行为包与资源包。
面向创作者 · 需配合宇创领航控制器主包使用
双击运行,无需 Python。填写参数 → 选择保存路径 → 一键生成 ZIP。
下载 Windows 版 (.exe)手机端离线生成,与桌面版相同逻辑。支持导出到系统文件夹。
下载 Android 版 (.apk)Windows 或 Android,离线可用
系列前缀、地板 Y 高度、注册 Y 偏移、受电弓、四节车厢
装入行为包 + 资源包,配合主包游玩
以下内容为附加包模板技术说明,供其他创作者查阅。点击章节展开。
本工具基于开源模板「轨道交通列车附加包(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
| 不含 | 说明 |
|---|---|
textures/entity/*.png | 生成器从主包自动复制;可自定义路径 |
functions/*/ani/ | 已废弃,灯光由主包 Python 触发 |
| 车身独立动画文件 | 中间/车尾引用车头 animation_base |
| ani3~15、mode3~33 | 已裁剪,与主包 UI 对齐 |
16 条动画引用、8 个 animation_controllers(含 tilt_common):
车门动画名不可改,骨骼名可自定(见 animation.readme.txt)。
动画名不可改,骨骼可在 Blockbench 中替换(见 *.animation.readme.txt)。
指车厢地板相对实体模型原点向上多少方块,不是世界坐标 Y。主包「列车地板」功能用此值把玩家放到正确高度。默认 1.2;7001 模板四节通常相同,填全局即可。
若某节模型 pivot 不同,可在该节单独填覆盖值。不同附加包仅当模型地板高度与 7001 不一致时才需改,否则保持 1.2。
附加包注册时会在最近玩家头顶向上偏移 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_1~mytrain_4,实体 JSON、模型、贴图 PNG 同步改名。
基础为倾斜 4 条 + 车门 4 条;勾选受电弓后额外保留 sdgq/sdgl + controller8。
yclh: → <addon_id>:ani/ mcfunction| 字段 | 说明 |
|---|---|
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「模型」按钮
主包只认 JSON 内 addon_id 字段;生成器会三处统一,建议保持一致。
自用可不改;发布或多包共存须改命名空间和/或 entity_short,生成器一次性同步 entities、entity、models、注册 JSON。
不同 addon_id 与 identifier;UI 显示「显示名 (1/N 点击切换)」;同一编组只能选同一附加包。
请下载最新 exe / apk(v1.0.5)后使用。
请下载最新 exe / apk(v1.0.4)后使用;旧版生成的附加包可能缺少 floor_y 或受电弓配置。
生成器中的「地板高度 floor_y」就是此前所说的 Y 坐标数值,单位是方块。
从实体模型原点(pivot)沿竖直方向到车厢地板面的距离。主包开启「列车地板」后,会把玩家放到该高度,避免悬空或陷地。
1.2 即可,四节留空用全局。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 开源;控制器主包未开源,分发请注明需安装主包。