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

获取途径无法从源码确证。

相关条目