跳转至

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 版本。

怎么确认枪包加载成功

  1. 进游戏后打开 创造模式物品栏,搜你枪的 id / 名字,能搜到 = 索引(index)读到了;
  2. 拿在手里,有模型有贴图 = display + 模型贴图路径对了;
  3. 右键能开枪、有音效 = 数据(data)与 tacz_sounds 都对上了;
  4. 服务端 logs/latest.log 里搜 tacz,加载报错会打印在这里(没有输出也可能是没读到,先检查目录层级)。

这个教程的推荐路线

先抄 → 再改 → 再画
① 复制默认枪包(tacz/tacz_default_gun)当模板,改 namespace + 改一把枪的名字/数值 → 能开火
② 换贴图、换音效、改 display 里的参数(缩放、开镜倍率、HUD)→ 手感像样
③ 最后才动模型与动画(Blockbench),把外形换成自己的设计

💡 别跳过第 ① 步。99% 的"枪不显示/白模/动画不播"都是目录层级或引用路径写错——先用能跑通的模板确认环境没问题,再逐步替换。

常见误解速查

误解 事实
"枪包是模组,要编译" 不用,纯 JSON + 素材
"枪包能加新玩法机制" 不能,只能改数据与表现(要机制请写 addon mod,或看 scripts/*.lua 状态机能力)
"放 resourcepacks/ 里就行" 不行,只认 tacz/
"单人好使就行" 多人要在服务端也放一份,且版本一致
"改完数值不用重启" 客户端要重进游戏;服务端要重启(或让玩家重连)