Minecraft Backpack Mod
[!INFO] Git Commit:
eb101cc| Updated: 2026-10-02
Minecraft Backpack Mod(仓库内显示名 Backpack Edited for ModdedNetwork)是一个 纯物品背包模组:提供多档容量、可染色、可附魔的背包物品,以及一个可随身携带的 工作台背包。
- modid:
Backpack(首字母大写,非全小写) - 资源域:
backpack(全小写,与 modid 大小写不一致) - 名称:
Backpack Edited for ModdedNetwork - 包根:
de.eydamos.backpack(主包)+de.eydamos.guiadvanced(自带 GUI 框架) - 版本:
GRADLETOKEN_VERSION(构建期常量替换,源码中无字面版本号) - 目标版本: Minecraft 1.7.10 / Forge 10.13.4.1614
- 依赖: 仅
mod_MinecraftForge(mcmod.info中dependencies唯一一项) - 上游: Eydamos 的 Backpacks mods 系列(mcmod.info credits 标注
(Backpacks *-1.2.5)MightyPork)
⚠️ 本模组不注册任何方块、TileEntity、实体、附魔、药水效果或成就 ——
GameRegistry.registerBlock / registerTileEntity / registerEntity 在全仓零调用。
全部内容由 4 个物品承载。
关键命名陷阱
| 项 | 值 | 说明 |
|---|---|---|
| 分类名 | minecraft-backpack-mod |
目录名,不是 modid |
| 仓库目录 | Minecraft-Backpack-Mod |
三者互不相同 |
| modid | Backpack |
大写 B |
| 资源域 | backpack |
小写,与 modid 大小写不一致 |
| 物品注册名 | boundLeather / tannedLeather |
驼峰,非下划线 |
mcmod.info |
全部为 ${modId} 等占位符 |
必须从源码实读 |
物品标识符形如 Backpack:boundLeather,跨模组引用时大小写敏感。
源码结构
| 包 | 职责 |
|---|---|
de.eydamos.backpack |
@Mod 主类 Backpack(仅 preInit/init/postInit 三个阶段) |
…item |
4 个物品 + 自定义创造标签 TabBackpacks |
…recipes |
RecipeHelper 注册静态配方 + 3 条自定义 IRecipe |
…factory |
AbstractFactory 的 5 个子类,负责实例化容器与 GUI |
…gui / …gui.tab |
5 个界面类 + 3 个标签页类 |
…inventory |
InventoryBackpack / InventoryCraftingGrid / InventoryPickup 等 |
…inventory.container / …inventory.slot |
4 个容器 + 4 种槽位限制 |
…network |
10 条消息(6 条 C→S、4 条 S→C),通道名 Backpack |
…handler |
事件、按键、存档文件、GUI 标签页 |
…saves |
BackpackSave(按背包 UUID)/ PlayerSave(按玩家 UUID) |
…util |
BackpackUtil / EnchUtils / NBT 工具 |
de.eydamos.guiadvanced |
仓库自带的通用 GUI 框架(窗口、表单、机器部件) |
物品
- 背包 - 主体物品,metadata 编码 3 tier × 17 色 + 末位,共 52 变体
- 工作台背包 - 2 个变体(metadata 17 / 217),可内嵌 3×3 合成
- 捆绑皮革 - 绳 + 皮革,升级树第一级
- 鞣制皮革 - 捆绑皮革冶炼所得,升级树第二级
配方
- 背包染色配方 - 48 个固定形状配方 + 3 个无色基础配方
- 背包升级配方 - 8 鞣制皮革环绕,tier +100
- 背包染色(自由重组) - 形状无关的 1 包 + 1 染色剂
- 智能工作台背包配方 - 打上
intelligent中转标记 - 捆绑皮革合成 - 8 绳 + 1 皮革;含唯一熔炼配方
界面
- 高级容器界面 -
guiadvanced框架与 5 个工厂 - 个人槽界面 - 额外穿戴槽,死亡不掉落
- 配置界面 -
guiFactory入口,无运行时设置 - Backpacks 创造标签 - 54 个可见变体
设定
- Backpack 配置 - 17 个配置项,
CATEGORY_GENERAL - 个人背包快捷键 - 默认
KEY_NONE,潜行分派 - 消息协议 - 通道
Backpack,10 条消息
已知源码缺陷
| # | 位置 | 问题 |
|---|---|---|
| 1 | ConfigurationBackpack.java:104 |
allowSoulbound 的 get(..., true, ...).getBoolean(false) 双重默认值相反 |
| 2 | ItemBackpackBase.java:200 vs BackpackSave.java:99 |
槽位 tooltip 硬编码 36 + tier*27(36/63/90),与配置默认 27/36/54 全部不符 |
| 3 | BackpackSave.java:88-95 |
getSize 缺 tier == 1 分支,metadata 117(可合成)返回 0 格 |
| 4 | ItemBackpackBase.java:80-101 |
onItemUse 整段被注释,注释中的 Constants.GUI_ID_COMBINED 常量并不存在 |
| 5 | Constants.java:47-48 |
NBT.RECIPES / NBT.RECIPE 声明后全仓零引用 |
| 6 | ItemLeather.java:41 |
icons[1] 仅在非本类实例上可达,实际不可达 |
| 7 | TabBackpacks.java:10 |
iconItemStack 字段声明后从未使用 |
| 8 | ConfigurationBackpack.java:26 |
PLAY_OPEN_SOUND 声明初值 false,实际由 playSound 覆写为 true |
外部依赖
本模组只硬依赖 Forge。mcmod.info 的 dependencies 仅有 mod_MinecraftForge。
下列为软依赖 / 可选集成,均通过反射或 @Optional.Interface 处理,
缺失时不影响运行:
| 依赖 | 集成方式 | 缺失时行为 |
|---|---|---|
| NEI | ClientProxy.addNeiSupport 反射 codechicken.nei.api.API |
catch 后仅打 INFO 日志,NEISupport 保持 false |
| NoHotbarNeeded | @Optional.Interface(iface = "…ActivatableFromInventoryServerSide", modid = "nohotbarneeded") |
由 Forge 跳过 activateFromInventory |
| Airship Mod | 配置项 airshipModCompatibility 手动开启 |
默认关闭,配方不含箱子 |
| EnderIO | EnchUtils.isSoulBook 经 isBookEnchantable |
仅影响灵魂绑定附魔 |
以上均不在本 wiki 的收录范围(relation.md 无对应行),故不建分类。