Item Recipes

基本信息

属性 值
注册类 net.mcft.betterstorage.misc.Recipes
方法 addItemRecipes(),src/main/java/net/mcft/betterstorage/misc/Recipes.java:180-206
物品配方数 6 条
RecipeSorter 注册 5 条,见下

来源:src/main/java/net/mcft/betterstorage/misc/Recipes.java。

RecipeSorter 注册

本 mod 的自定义配方在 registerRecipeSorter() 中注册(Recipes.java:44-52):

排序名 类别 配方类
betterstorage:drinkinghelmetrecipe SHAPED DrinkingHelmetRecipe
betterstorage:keyrecipe SHAPED KeyRecipe
betterstorage:lockrecipe SHAPED LockRecipe
betterstorage:dyerecipe SHAPELESS DyeRecipe
betterstorage:lockcolorrecipe SHAPELESS LockColorRecipe

来源:Recipes.java:46-50。

钥匙(2 条)

src/main/java/net/mcft/betterstorage/misc/Recipes.java:183-188。

初始钥匙(KeyRecipe.createKeyRecipe(".o", ".o", " o", 'o', Items.gold_ingot, '.', Items.gold_nugget)):

.o
.o
 o
字符 物品
o 金锭
. 金粒

修改钥匙 ID(KeyRecipe.createKeyRecipe("k", 'k', new ItemStack(BetterStorageItems.key))):单格配方,把已有钥匙的 NBT ID 复制到新钥匙。

源码注释:// TODO: Add support for ore dictionary gold ingots / nuggets.(Recipes.java:183)——该配方使用原版 Items.gold_ingot / Items.gold_nugget,不走物品字典。

锁(2 条)

LockRecipe.createLockRecipe()(src/main/java/net/mcft/betterstorage/item/recipe/LockRecipe.java:28-36,ItemStack[] 数组逐行展开):

 G
GKG
GIG
字符 物品
G 金锭
I 铁锭
K 钥匙,接受 OreDictionary.WILDCARD_VALUE(任意 NBT 钥匙)

成品锁复制钥匙的 NBT ID(LockRecipe.getCraftingResult,LockRecipe.java:19-25:ItemBetterStorage.getID(crafting.getStackInSlot(4)) 取中心格钥匙的 ID 写入成品)。

染色配方由 LockColorRecipe.createLockColorRecipe() 注册(Recipes.java:195)。

钥匙环

GameRegistry.addShapedRecipe(Recipes.java:200-201):

...
. .
...
字符 物品
. 金粒

Drinking Helmet

DrinkingHelmetRecipe(Recipes.java:204;实现见 src/main/java/net/mcft/betterstorage/item/recipe/DrinkingHelmetRecipe.java:15-21,3×1 形状):

P H P
字符 物品
P 药水(Items.potionitem,WILDCARD_VALUE)
H 已有的 Drinking Helmet(WILDCARD_VALUE)

成品把两侧药水写回 NBT(DrinkingHelmetRecipe.getCraftingResult,:24-37)。

全局染料配方

GameRegistry.addRecipe(new DyeRecipe())(Recipes.java:39)——在 init 阶段无条件注册,不受任何开关控制。实现见 src/main/java/net/mcft/betterstorage/item/recipe/DyeRecipe.java。

排序名 betterstorage:dyerecipe,类别 SHAPELESS(Recipes.java:50)。

无配方的物品

以下物品没有合成配方(在 Recipes.java 全文搜索对应字段名 0 命中):

物品 搜索字段 命中数
Master Key masterKey 0
Present Book presentBook 0
Slime in a Bucket slimeBucket 0

获取途径:

  • Slime in a Bucket:空桶左键点击史莱姆(src/main/java/net/mcft/betterstorage/proxy/CommonProxy.java:301-308)
  • Present Book:圣诞活动发放(src/main/java/net/mcft/betterstorage/misc/ChristmasEventHandler.java:53-85)
  • Master Key:无法从源码确证

相关条目