01. 枪包是什么:不是模组,是「内容包」¶
一句话定义¶
枪包(Gunpack)= 资源包(assets/)+ 数据包(data/)的合体,用来给 TaCZ(Timeless and Classics Zero / 永恒枪械工坊:零) 添加新枪、新弹药、新配件、新方块与配方。
它不是模组:不需要写 Java、不需要 Gradle、不需要编译。你写的全是 JSON 和素材文件,改完丢进文件夹就能生效。
和一堆"包"的关系¶
| 名字 | 是什么 | 谁来加载 | 枪包和它的关系 |
|---|---|---|---|
| 枪包 Gunpack | TaCZ 专属的内容包(数据+资源) | TaCZ 本体 | 就是本章的主角 |
| 资源包 Resource Pack | 原版机制,改贴图/模型/音效/语言 | Minecraft | 枪包自带一份资源包的内容(assets/),但由 TaCZ 读取,不用也不能放进 resourcepacks/ |
| 数据包 Data Pack | 原版机制,改配方/进度/函数等 | Minecraft | 枪包的 data/ 与之形似但不是原版数据包,TaCZ 的配方类型(tacz:gun_smith_table_crafting)只被 TaCZ 识别 |
| 模组 Mod | Java 代码,能加机制 | Forge/Fabric | 枪包改不了机制,只能改数据与表现;要加新机制得写 addon mod |
⚠️ 最常见的误区:把枪包丢进
resourcepacks/或datapacks/。它只认tacz/目录。
枪包里能放哪几类东西¶
| 类型 | 说明 | 对应目录(<ns> = 你的命名空间) |
|---|---|---|
| 枪 guns | 主要用途,含数值、模型、动画、音效 | data/<ns>/index/guns、data/<ns>/data/guns、assets/<ns>/… |
| 弹药 ammo | 枪的"子弹类型",可被多把枪共用 | index/ammo、assets/<ns>/display/ammo |
| 配件 attachments | 瞄具、枪口、握把、弹匣等,需枪上声明可用槽位 | index/attachments、data/attachments、assets/… |
| 方块 blocks | 枪包自带的装饰/功能方块 | index/blocks、data/blocks、assets/… |
| 配方 recipes | 枪械工作台/普通合成配方 | data/<ns>/recipes/… |
| 标签 tags | 限制"哪些枪能装哪些配件"等 | data/<ns>/tacz_tags/… |
放在哪里¶
| 环境 | 路径 | 说明 |
|---|---|---|
| 客户端 | .minecraft/tacz/ |
放 zip 或文件夹都行;单人游戏只需要这里 |
| 服务端 | <服务器根目录>/tacz/ |
多人游戏必须两边都装,否则枪不生效或被拒 |
| 整合包 | overrides/tacz/ |
打包整合包时把枪包按这个路径放进去 |
| 自动同步 | AutoModPack 配置里加 tacz/** |
客户端进服自动下载枪包 |
版本一致性:客户端与服务端的枪包必须一致(至少枪的 id 与关键数值一致)。只改一边会出现"伤害对不上""客户端提示缺枪包"等怪现象。
Minecraft 版本:枪包格式跟随 TaCZ 本体版本走——1.20.1 的枪包不能直接给 1.21 用(模型/动画格式与字段都可能变)。下载别人枪包时先看它标的 MC 版本。
怎么确认枪包加载成功¶
- 进游戏后打开 创造模式物品栏,搜你枪的 id / 名字,能搜到 = 索引(
index)读到了; - 拿在手里,有模型有贴图 =
display+ 模型贴图路径对了; - 右键能开枪、有音效 = 数据(
data)与tacz_sounds都对上了; - 服务端
logs/latest.log里搜tacz,加载报错会打印在这里(没有输出也可能是没读到,先检查目录层级)。
这个教程的推荐路线¶
先抄 → 再改 → 再画
① 复制默认枪包(tacz/tacz_default_gun)当模板,改 namespace + 改一把枪的名字/数值 → 能开火
② 换贴图、换音效、改 display 里的参数(缩放、开镜倍率、HUD)→ 手感像样
③ 最后才动模型与动画(Blockbench),把外形换成自己的设计
💡 别跳过第 ① 步。99% 的"枪不显示/白模/动画不播"都是目录层级或引用路径写错——先用能跑通的模板确认环境没问题,再逐步替换。
常见误解速查¶
| 误解 | 事实 |
|---|---|
| "枪包是模组,要编译" | 不用,纯 JSON + 素材 |
| "枪包能加新玩法机制" | 不能,只能改数据与表现(要机制请写 addon mod,或看 scripts/*.lua 状态机能力) |
| "放 resourcepacks/ 里就行" | 不行,只认 tacz/ |
| "单人好使就行" | 多人要在服务端也放一份,且版本一致 |
| "改完数值不用重启" | 客户端要重进游戏;服务端要重启(或让玩家重连) |