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:无法从源码确证