教程
本站的参考页面一次只讲一个文件、一个字段或一个 API。这些教程正好相反:每一篇都从空数据包开始,最后得到能在游戏里看着它跑起来的东西,这样你在逐个查字段之前,先看清这些表是如何拼在一起的。
示例包
所有教程都在扩展同一个位于 example 命名空间下的小型内容包,每一篇都假定前面的页面已经完成。整组教程结束时,它长这样:
text
data/example/
├── mxt/
│ ├── element/common.json Element named by the qi aura
│ ├── element/fire.json Element for the fire spirit root
│ ├── resource/qi.json The stored value
│ ├── aura/qi.json The aura the value carries, and its realm chain entry
│ ├── realm_stage/qi_condensation.json Realm chain
│ ├── realm_stage/foundation.json
│ ├── realm_stage/core_formation.json
│ ├── cultivate_action/meditation.json What the player does to absorb aura
│ ├── aura_zone/common_land.json Where the aura is
│ ├── aura_zone/misty_valley.json A denser zone (aura environment tutorial)
│ ├── block_aura/spirit_stone_ore.json Blocks that emit aura
│ ├── item_aura/spirit_stone.json Items that act as cultivation fuel
│ ├── spirit_root/fire_root.json Granted by a pill
│ ├── technique/azure_breath.json
│ ├── ability/qi_bolt.json An active ability
│ ├── ability/qi_recovery.json A triggered ability
│ ├── item_quality/common.json Quality tiers
│ ├── item_quality/refined.json
│ ├── item_binding/qi_pill.json Bindings attach rules to real items
│ ├── item_binding/root_pellet.json
│ ├── pill_binding/qi_pill.json
│ ├── weapon_binding/spirit_sword.json
│ └── technique_binding/azure_manual.json
├── tags/mxt/item_quality/group/pill.json Quality groups
├── tags/mxt/item_quality/group/weapon.json
└── (kubejs/startup_scripts/mxt_items.js) The items themselves, registered by KubeJS教程列表
| 教程 | 你会搭建 | 什么时候读 |
|---|---|---|
| 定义灵气与境界 | 一个元素、一个灵气数值、一条线性境界链、一个修炼行为和一个最小的灵气区域——核心修炼循环。 | 你想让玩家能够修炼并突破。 |
| 搭建灵气环境 | 分层灵气区域、方块灵气、物品燃料、噪声、波动、雾效和 HUD 条。 | 基础循环已经跑通,你想让世界参与进来。 |
| 用 KubeJS 创建物品并绑定它们 | 由脚本注册的真实物品,加上四张绑定表、品质层级,以及让它们有玩法意义的配方。 | 你需要自己的丹药、武器或手册。 |
| 添加技能 | 一个主动技能、一个触发技能,以及授予它们的方式。 | 你想给玩家一个花灵气的地方。 |
约定
- 命名空间。 所有示例都使用
example。把它改成你自己整合包或内容包的 ID,并保持文件的 ID 与它们之间的引用同步。 - 文件位置。 数据包文件放在
data/<namespace>/mxt/<registry>/<path>.json下;标签放在data/<namespace>/tags/...下。完整列表见 动态注册表。 - 生效方式。 MiXianTu 的数据表是原版数据包注册表,Minecraft 在世界加载时读取它们,所以
/reload不会重新读取。修改数据包文件后,请退回标题界面重新打开世界(或重启服务器)。/reload只会刷新配方、战利品表、进度、函数和 KubeJS 服务端脚本。用 KubeJS 注册新物品或方块同样需要重启游戏。 - 坏文件会挡住世界。 没有上一份快照可以退回:只要有定义解码失败,世界就会一直加载不了,直到该文件被修好。日志会给出文件名和 Codec 错误,所以要留一份正在编辑的文件的最后可用副本。
- 校验。
/mxt registries validate报告注册表数量、条目总数以及校验是否通过,/mxt registries list打印每个注册表 ID 及其条目数量。其余命令列在命令里。 - 版本。 这些页面跟随模组的
1.0-alpha.2版本,该版本仍在开发中,数据包格式尚未冻结;字段变化时,参考页面也会随之更新。
接下来读什么
- 数据包开发总览 —— 文件位置、ID、Holder 引用、停用标签与错误报告,如果你还没读过。
- 数据包示例 —— 同样的形状,写成短小独立的片段。
- KubeJS API 参考 —— 第三篇教程里用到的脚本对象。