跳到正文
烈焰甘蔗Wiki

MrCrayfish’s Furniture Mod 兼容

事实基准:harvestcraft-1.3.14-GTNH.jar(MC 1.7.10 / Forge 10.13.4.1614)CFR 0.152 反编译源码。

触发方式与安全性

属性 值 来源
依赖 modid cfm HarvestCraft.java:129
不使用 Loader.isModLoaded 由配置项控制 HarvestCraft.java:128
配置键 ItemRegistry.enablemrcrayfishcompatibility ItemRegistry.java:996
配置分类 / 默认值 general / true 配置:通用
注入方式 FMLInterModComms.sendMessage("cfm", "register", "<方法名字符串>") HarvestCraft.java:129
传递的字符串 "com.pam.harvestcraft.CrayfishCompatibility.registerRecipes" HarvestCraft.java:129
注入目标方法 public static void registerRecipes(IRecipeRegistry registry) CrayfishCompatibility.java:15
调用时机 init()(FMLInitializationEvent),经 sendIMCMessages() HarvestCraft.java:116,128-130
CfM 未安装 IMC 目标 modid 不存在,消息被丢弃,安全 —

注意:本模组只发一条 IMC 消息,内容是一个方法名字符串。真正调用 CrayfishCompatibility.registerRecipes 的是 CfM 侧(它按 "<类名>.<方法名>" 反射调用)。本模组不保证 CfM 存在时反射一定成功,也不做失败兜底。

注入的配方:92 条

CrayfishCompatibility.registerRecipes(CrayfishCompatibility.java:15-386)为 CfM 的 IRecipeRegistry 注册 92 条配方。

92 是用集合运算核对的:registry.registerRecipe(...) 的字面调用点 92 处,完整解析出的配方块 92 个 —— 两者相等,无遗漏、无重复。

家电 条数 registerRecipe 的第一个参数
oven(烤箱) 46 "oven"
microwave(微波炉) 45 "microwave"
toaster(烤面包机) 1 "toaster"
合计 92 —

每条配方的结构固定:

RecipeVariables <var> = new RecipeVariables();
<var>.addValue("input", (Object)new ItemStack(<输入>));
<var>.addValue("output", (Object)new ItemStack(<产物>));
registry.registerRecipe("<家电>", <var>);

RecipeVariables 与 IRecipeRegistry 均来自 com.mrcrayfish.furniture.api(CrayfishCompatibility.java:6-7)。

完整配方清单(92 条)

oven —— 46 条

# 变量名 输入 产物
1 bread ItemRegistry.doughItem Items.field_151025_P(SRG 未解析)
2 toast Items.field_151025_P(SRG 未解析) ItemRegistry.toastItem
3 roastedpumpkinseeds Items.field_151080_bb(SRG 未解析) ItemRegistry.roastedpumpkinseedsItem
4 grilledmushroomred Blocks.field_150337_Q(SRG 未解析) ItemRegistry.grilledmushroomItem
5 grilledmushroombrown Blocks.field_150338_P(SRG 未解析) ItemRegistry.grilledmushroomItem
6 mutton ItemRegistry.muttonrawItem ItemRegistry.muttoncookedItem
7 calamari ItemRegistry.calamarirawItem ItemRegistry.calamaricookedItem
8 grilledasparagus ItemRegistry.asparagusItem ItemRegistry.grilledasparagusItem
9 ricecake ItemRegistry.riceItem ItemRegistry.ricecakeItem
10 tea ItemRegistry.tealeafItem ItemRegistry.teaItem
11 popcorn ItemRegistry.cornItem ItemRegistry.popcornItem
12 bakedsweetpotato ItemRegistry.sweetpotatoItem ItemRegistry.bakedsweetpotatoItem
13 coffee ItemRegistry.coffeebeanItem ItemRegistry.coffeeItem
14 grilledeggplant ItemRegistry.eggplantItem ItemRegistry.grilledeggplantItem
15 raisins ItemRegistry.grapeItem ItemRegistry.raisinsItem
16 grilledmushroom ItemRegistry.whitemushroomItem ItemRegistry.grilledmushroomItem
17 toastedcoconut ItemRegistry.coconutItem ItemRegistry.toastedcoconutItem
18 vanilla ItemRegistry.vanillabeanItem ItemRegistry.vanillaItem
19 roastedchestnut ItemRegistry.chestnutItem ItemRegistry.roastedchestnutItem
20 anchovy ItemRegistry.anchovyrawItem Items.field_151101_aQ(SRG 未解析)
21 bass ItemRegistry.bassrawItem Items.field_151101_aQ(SRG 未解析)
22 carp ItemRegistry.carprawItem Items.field_151101_aQ(SRG 未解析)
23 catfish ItemRegistry.catfishrawItem Items.field_151101_aQ(SRG 未解析)
24 charr ItemRegistry.charrrawItem Items.field_151101_aQ(SRG 未解析)
25 eel ItemRegistry.eelrawItem Items.field_151101_aQ(SRG 未解析)
26 grouper ItemRegistry.grouperrawItem Items.field_151101_aQ(SRG 未解析)
27 herring ItemRegistry.herringrawItem Items.field_151101_aQ(SRG 未解析)
28 mudfish ItemRegistry.mudfishrawItem Items.field_151101_aQ(SRG 未解析)
29 perch ItemRegistry.perchrawItem Items.field_151101_aQ(SRG 未解析)
30 snapper ItemRegistry.snapperrawItem Items.field_151101_aQ(SRG 未解析)
31 tilapia ItemRegistry.tilapiarawItem Items.field_151101_aQ(SRG 未解析)
32 trout ItemRegistry.troutrawItem Items.field_151101_aQ(SRG 未解析)
33 tuna ItemRegistry.tunarawItem Items.field_151101_aQ(SRG 未解析)
34 walleye ItemRegistry.walleyerawItem Items.field_151101_aQ(SRG 未解析)
35 clam ItemRegistry.clamrawItem ItemRegistry.clamcookedItem
36 crab ItemRegistry.crabrawItem ItemRegistry.crabcookedItem
37 crayfish ItemRegistry.crayfishrawItem ItemRegistry.crayfishcookedItem
38 frog ItemRegistry.frograwItem ItemRegistry.frogcookedItem
39 octopus ItemRegistry.octopusrawItem ItemRegistry.octopuscookedItem
40 scallop ItemRegistry.scalloprawItem ItemRegistry.scallopcookedItem
41 shrimp ItemRegistry.shrimprawItem ItemRegistry.shrimpcookedItem
42 snail ItemRegistry.snailrawItem ItemRegistry.snailcookedItem
43 turtle ItemRegistry.turtlerawItem ItemRegistry.turtlecookedItem
44 turkey ItemRegistry.turkeyrawItem ItemRegistry.turkeycookedItem
45 rabbit ItemRegistry.rabbitrawItem ItemRegistry.rabbitcookedItem
46 venison ItemRegistry.venisonrawItem ItemRegistry.venisoncookedItem

microwave —— 45 条

# 变量名 输入 产物
1 microwavebread ItemRegistry.doughItem Items.field_151025_P(SRG 未解析)
2 microwavetoast Items.field_151025_P(SRG 未解析) ItemRegistry.toastItem
3 microwaveroastedpumpkinseeds Items.field_151080_bb(SRG 未解析) ItemRegistry.roastedpumpkinseedsItem
4 microwavegrilledmushroomred Blocks.field_150337_Q(SRG 未解析) ItemRegistry.grilledmushroomItem
5 microwavegrilledmushroombrown Blocks.field_150338_P(SRG 未解析) ItemRegistry.grilledmushroomItem
6 microwavemutton ItemRegistry.muttonrawItem ItemRegistry.muttoncookedItem
7 microwavecalamari ItemRegistry.calamarirawItem ItemRegistry.calamaricookedItem
8 microwavegrilledasparagus ItemRegistry.asparagusItem ItemRegistry.grilledasparagusItem
9 microwavericecake ItemRegistry.riceItem ItemRegistry.ricecakeItem
10 microwavewater ItemRegistry.freshwaterItem ItemRegistry.boiledwaterItem
11 microwavepopcorn ItemRegistry.cornItem ItemRegistry.popcornItem
12 microwavebakedsweetpotato ItemRegistry.sweetpotatoItem ItemRegistry.bakedsweetpotatoItem
13 microwavegrilledeggplant ItemRegistry.eggplantItem ItemRegistry.grilledeggplantItem
14 microwaveraisins ItemRegistry.grapeItem ItemRegistry.raisinsItem
15 microwavegrilledmushroom ItemRegistry.whitemushroomItem ItemRegistry.grilledmushroomItem
16 microwavetoastedcoconut ItemRegistry.coconutItem ItemRegistry.toastedcoconutItem
17 microwavevanilla ItemRegistry.vanillabeanItem ItemRegistry.vanillaItem
18 microwaveroastedchestnut ItemRegistry.chestnutItem ItemRegistry.roastedchestnutItem
19 microanchovy ItemRegistry.anchovyrawItem Items.field_151101_aQ(SRG 未解析)
20 microbass ItemRegistry.bassrawItem Items.field_151101_aQ(SRG 未解析)
21 microcarp ItemRegistry.carprawItem Items.field_151101_aQ(SRG 未解析)
22 microcatfish ItemRegistry.catfishrawItem Items.field_151101_aQ(SRG 未解析)
23 microcharr ItemRegistry.charrrawItem Items.field_151101_aQ(SRG 未解析)
24 microeel ItemRegistry.eelrawItem Items.field_151101_aQ(SRG 未解析)
25 microgrouper ItemRegistry.grouperrawItem Items.field_151101_aQ(SRG 未解析)
26 microherring ItemRegistry.herringrawItem Items.field_151101_aQ(SRG 未解析)
27 micromudfish ItemRegistry.mudfishrawItem Items.field_151101_aQ(SRG 未解析)
28 microperch ItemRegistry.perchrawItem Items.field_151101_aQ(SRG 未解析)
29 microsnapper ItemRegistry.snapperrawItem Items.field_151101_aQ(SRG 未解析)
30 microtilapia ItemRegistry.tilapiarawItem Items.field_151101_aQ(SRG 未解析)
31 microtrout ItemRegistry.troutrawItem Items.field_151101_aQ(SRG 未解析)
32 microtuna ItemRegistry.tunarawItem Items.field_151101_aQ(SRG 未解析)
33 microwalleye ItemRegistry.walleyerawItem Items.field_151101_aQ(SRG 未解析)
34 microclam ItemRegistry.clamrawItem ItemRegistry.clamcookedItem
35 microcrab ItemRegistry.crabrawItem ItemRegistry.crabcookedItem
36 microcrayfish ItemRegistry.crayfishrawItem ItemRegistry.crayfishcookedItem
37 microfrog ItemRegistry.frograwItem ItemRegistry.frogcookedItem
38 microoctopus ItemRegistry.octopusrawItem ItemRegistry.octopuscookedItem
39 microscallop ItemRegistry.scalloprawItem ItemRegistry.scallopcookedItem
40 microshrimp ItemRegistry.shrimprawItem ItemRegistry.shrimpcookedItem
41 microsnail ItemRegistry.snailrawItem ItemRegistry.snailcookedItem
42 microturtle ItemRegistry.turtlerawItem ItemRegistry.turtlecookedItem
43 microturkey ItemRegistry.turkeyrawItem ItemRegistry.turkeycookedItem
44 microrabbit ItemRegistry.rabbitrawItem ItemRegistry.rabbitcookedItem
45 microvenison ItemRegistry.venisonrawItem ItemRegistry.venisoncookedItem

toaster —— 1 条

# 变量名 输入 产物
1 toastertoast Items.field_151025_P(SRG 未解析) ItemRegistry.toastItem

未解析的 SRG 名(本机无 MCP 映射表)

SRG 名 出现位置 语义佐证
Items.field_151025_P CrayfishCompatibility.java:20,22(bread / toast) 由 doughItem 产出、又能产出 toastItem;PamFoodRecipes.java:56-57 另有 addSmelting(doughItem → field_151025_P) 与 (field_151025_P → toastItem)。即面包。
Items.field_151080_bb :26 产出 roastedpumpkinseedsItem(烤南瓜籽)→ 南瓜种子。
Blocks.field_150337_Q :30 与 field_150338_P 同产物 grilledmushroomItem;本文件把两者命名为 grilledmushroomred / grilledmushroombrown → 红色蘑菇 / 棕色蘑菇。
Blocks.field_150338_P :34 同上 → 棕色蘑菇。
Items.field_151101_aQ 30 处(15 条鱼 × oven/microwave) 输入输出都是它自己,即"烤熟鱼";OvenRecipes.java:53 有 addSmeltingRecipe(fishtype → Items.field_151101_aQ, fishtype 的 meta) → 烤鱼(带 meta,代码里刻意保留 func_150976_a() 变体 meta)。

以上"推定"来自变量名与上下文,不是 MCP 映射表。

源码缺陷 / 观察

位置 问题
CrayfishCompatibility.java:87-89 oven 段的 vanilla 配方是 input = vanillaItem → output = vanillaItem,即输入与输出相同。若原意是"香草荚 → 香草荚"(无意义)或写错了输入,源码无法区分。(鱼类配方不是"输入=输出":30 条鱼类配方的输入是本模组的 ItemRegistry.<鱼>rawItem,输出才是 Items.field_151101_aQ。)
HarvestCraft.java:129 注入靠方法名字符串反射,未装 CfM 时消息被丢弃(安全),装了 CfM 但反射失败时无任何异常处理。

兄弟维度

浏览全部模组