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 合成
  • 捆绑皮革 - 绳 + 皮革,升级树第一级
  • 鞣制皮革 - 捆绑皮革冶炼所得,升级树第二级

配方

界面

设定

已知源码缺陷

# 位置 问题
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 无对应行),故不建分类。