Container Recipes
基本信息
| 属性 | 值 |
|---|---|
| 注册类 | net.mcft.betterstorage.misc.Recipes |
| 方法 | addTileRecipes(),src/main/java/net/mcft/betterstorage/misc/Recipes.java:55-178 |
| 调用于 | FMLInitializationEvent 阶段(src/main/java/net/mcft/betterstorage/BetterStorage.java:81) |
| 方块配方数 | 12 条配方方法分支 |
来源:src/main/java/net/mcft/betterstorage/misc/Recipes.java。
功能
本 mod 全部方块的合成配方。每条配方都被对应方块的启用开关包裹(if (BetterStorageTiles.xxx != null)),关闭某方块会同时移除其配方。
存储木箱
ShapedOreRecipe(Recipes.java:58-67):
o/o
/ /
o/o
| 字符 | 物品 |
|---|---|
o |
木板(plankWood) |
/ |
木棍(stickWood) |
强化箱子(每材质 1 条)
遍历 ContainerMaterial.getMaterials(),对每种材质生成 1 条配方(Recipes.java:70-74)。共 8 条(iron / gold / diamond / emerald / copper / tin / silver / zinc)。
ContainerMaterial.getReinforcedRecipe(Blocks.chest, reinforcedChest)(src/main/java/net/mcft/betterstorage/tile/ContainerMaterial.java:83-96):
o#o
#C#
oOo
| 字符 | 物品 |
|---|---|
C |
原版箱子 |
# |
原木(logWood) |
o |
该材质锭 |
O |
该材质方块 |
steel 材质因 ingot / block 为 null 而被跳过(ContainerMaterial.java:84),不生成配方。
储物柜(2 条)
ShapedOreRecipe × 2(Recipes.java:78-97):
ooo ooo
o | | o
ooo ooo
| 字符 | 物品 |
|---|---|
o |
木板(plankWood) |
| |
陷阱门(Blocks.trapdoor) |
强化储物柜(每材质 1 条)
同强化箱子的 8 条(Recipes.java:100-105),C 位改为 储物柜 而非箱子,形状与材质布局不变。
盔甲架
GameRegistry.addShapedRecipe(Recipes.java:109-119):
i
/i/
s
| 字符 | 物品 |
|---|---|
s |
石质台阶(Blocks.stone_slab, meta 0) |
i |
铁锭 |
/ |
木棍 |
背包
GameRegistry.addShapedRecipe(Recipes.java:122-132),产出 BetterStorageItems.itemBackpack:
#i#
#O#
###
| 字符 | 物品 |
|---|---|
# |
皮革 |
O |
羊毛 |
i |
金锭 |
纸板箱
ShapedOreRecipe(Recipes.java:135-143),前置:tile.cardboardBox 与 item.cardboardSheet 均启用:
ooo
o o
ooo
| 字符 | 物品 |
|---|---|
o |
纸板片(sheetCardboard) |
合成台
ShapedOreRecipe(Recipes.java:146-163):
B-B
PTP
WCW
| 字符 | 物品 |
|---|---|
B |
石砖(Blocks.stonebrick) |
- |
轻质压力板(Blocks.light_weighted_pressure_plate) |
P |
活塞(Blocks.piston) |
T |
工作台(Blocks.crafting_table) |
W |
木板(plankWood) |
C |
存储木箱;若木箱被禁用则回退为原版箱子(Recipes.java:163 三元表达式) |
礼物
PresentRecipe(Recipes.java:166-169)——3×3 由装满物品的纸板箱 + 8 个外围羊毛构成,详见 礼物。
同时注册 PresentRemoveNametagRecipe 为合成台配方(Recipes.java:168),用于移除礼物上的名牌。
燧石块(2 条)
Recipes.java:172-176:
合成(有序):
ooo
ooo
ooo
| 字符 | 物品 |
|---|---|
o |
燧石 |
逆合成(无序):燧石块 → 9 个燧石。
无方块配方的项
以下已注册方块没有合成配方(在 Recipes.java 全文搜索对应字段名 0 命中):
| 方块 | 搜索字段 | 命中数 |
|---|---|---|
| Locked Iron Door | lockableDoor |
0 |
| Ender Backpack | itemEnderBackpack |
0 |
获取途径无法从源码确证。