开始之前
开始之前
注意
文档尚在施工中
基础知识
类似于原版的数据包、TaCZ的枪械包,永无止境载具支持载具包系统,可基于数据驱动来快速追加载具,无需修改模组本体代码
载具包有模板概念,只有模组本体或附属已预先实现的模板才可用于载具包制作(可以理解为换皮)
目前官方已实现了轮式、履带式、旋翼机式、固定翼式模板,未来的更新中还会引入更多的模板,如船只等

安装本模组并启动客户端,当前客户端版本的根目录下会新增一个limitless_vehicle文件夹,其用于存放载具包
注意
载具包仅会在客户端启动的早期阶段被扫描与加载,所以进入游戏后再追加新载具包的操作是无效的
热重载机制
在载具包的开发过程中,大部分资源都可以通过/ywzj_vehicle reload命令完成热重载,无需重启游戏


游戏中重载模型与贴图
关于命名空间
命名空间ID(资源路径) 是一个原版Minecraft概念,它是一种用来指明和标识游戏中特定对象而避免潜在的歧义和冲突的方式
命名空间ID可以用一个用冒号 : 分隔的字符串表示,其中前半部分是 命名空间,后半部分是 路径
例如 minecraft:apple 中,minecraft 是 命名空间,apple 是 路径
游戏内部的许多对象,比如物品id、方块id等都是以命名空间ID的形式表示的,就像是上文提到的minecraft:apple
在资源包和数据包中,文件的路径和文件名也可以映射为一个特定的 命名空间ID,这样可以方便地引用这些文件内容
关于这一点,具体使用方法会在用到的时候详细说明
制作一个新的载具包时,你需要为你的载具包起一个全新的 命名空间,并且你应该确保它足够独特而不会轻易与其他人冲突。
关于 命名空间ID 的详细说明,请参考: Minecraft Wiki: 命名空间ID
关于资源文件
资源文件指载具包中一切贴图、模型、声音等资产文件
在目前的版本中,载具包的相当于一个原版资源包和数据包的结合体,这意味着载具包可以使用原版资源包和数据包的全部功能
- 载具包 可以引用Minecraft原版/模组/资源包等以传统资源包形式加载的部分资源,比如贴图、音效和语言文件
- 目前载具包的模型资源 仅支持基岩版模型格式
如果你熟悉原版资源包和数据包的结构,那么你应该能够很快上手载具包的制作
警告
请尽量避免放置冗余文件,尤其是格式错误的冗余文件,比如错误命名的贴图、模型,或是为了方便编写放置的各类模板文件,比如一个残缺的配方
游戏无法猜测你是否需要这些文件,它们很可能因为意外加载而发生问题
这也往往是部分载具包不解压就无法使用的原因之一
关于JSON文件
载具包的大部分配置文件都是以 JSON 格式存储的。
介于JSON文件有较为严格的语法要求,如果你不熟悉JSON文件的书写规范,建议你先简单学习一下JSON的基本语法。
提示
我们强烈推荐使用 VSCode 或其他等支持 JSON 语法高亮的编辑器来编辑 JSON 文件,以避免因为书写错误导致的问题。
许多载具包配置文件带有双斜杠//开头的行,那些是注释,游戏读取文件时会自动忽略这些行
关于贴图
警告
你可以自行决定贴图的分类和路径,但是不要把大量高清贴图塞到textures/item/或是textures/block/及其子目录下!
这些路径是原版atlas图集合并的源目录,它们会自动合并到图集中,如果你塞了太多高清贴图,游戏可能因为超出图集大小上限而发生资源包重载错误!
