跳到正文
烈焰甘蔗Wiki

Lemon(食物)

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

基本信息

属性 值 来源
注册名 harvestcraft:lemonItem ItemRegistry.java:1965
显示名 Lemon en_US.lang:422
Java 类 ItemFood ItemRegistry.java:1178
字段 ItemRegistry.lemonItem ItemRegistry.java 字段声明
创造标签 tabHarvestCraft2(HarvestCraft Crops) ItemRegistry.java:1178
条件注册 否,无条件注册 ItemRegistry.java:1965
属性 值 来源
最大堆叠 64(未覆写,Item 默认) ItemFood 未覆写
耐久度 无 无 setMaxDamage 调用
饥饿值恢复 cropfoodRestore ItemRegistry.java:1178(构造器第 1 参数)
饱和度 cropsaturationRestore(推定) 配置键同名,默认 0.6f —— 依据见下方说明
狼食物(isWolfFood) false CFR 输出的末位实参字面量 —— 依据见下方说明
食用动作 吃(eat) —— 继承 ItemFood 默认,未覆写 getItemUseAction ItemRegistry.java:1178

作为材料被使用

下列合成台配方把本物品列为材料。分两类:经矿词典名匹配的,与把本物品以 Item 实例直接引用的。两者都是集合关系,已按 (来源, 产物) 去重。

经矿词典名匹配

来源 产物 命中的矿词典名 同一配方中的其它矿词典材料
PamFoodFishingCraftRecipes.java:17 fishdinnerItem cropLemon foodFlour、foodMayo、煎锅(toolSkillet)
PamFoodFishingCraftRecipes.java:24 fishdinnerItem cropLemon foodFlour、foodMayo、煎锅(toolSkillet)
PamFoodFishingCraftRecipes.java:31 fishdinnerItem cropLemon foodFlour、foodMayo、煎锅(toolSkillet)
PamFoodFishingCraftRecipes.java:38 fishdinnerItem cropLemon foodFlour、foodMayo、煎锅(toolSkillet)
PamFoodFishingCraftRecipes.java:45 fishdinnerItem cropLemon foodFlour、foodMayo、煎锅(toolSkillet)
PamFoodFishingCraftRecipes.java:52 fishdinnerItem cropLemon foodFlour、foodMayo、煎锅(toolSkillet)
PamFoodFishingCraftRecipes.java:59 fishdinnerItem cropLemon foodFlour、foodMayo、煎锅(toolSkillet)
PamFoodFishingCraftRecipes.java:66 fishdinnerItem cropLemon foodFlour、foodMayo、煎锅(toolSkillet)
PamFoodFishingCraftRecipes.java:73 fishdinnerItem cropLemon foodFlour、foodMayo、煎锅(toolSkillet)
PamFoodFishingCraftRecipes.java:80 fishdinnerItem cropLemon foodFlour、foodMayo、煎锅(toolSkillet)
PamFoodFishingCraftRecipes.java:87 fishdinnerItem cropLemon foodFlour、foodMayo、煎锅(toolSkillet)
PamFoodRecipes.java:187 fruitsaladItem listAllfruit 砧板(toolCuttingboard)
PamFoodRecipes.java:284 lemonaideItem cropLemon 榨汁机(toolJuicer)
PamFoodRecipes.java:285 lemonbarItem cropLemon foodDough、listAllsugar、烤盘(toolBakeware)
PamFoodRecipes.java:286 fishdinnerItem cropLemon foodFlour、foodMayo、listAllfish、煎锅(toolSkillet)
PamFoodRecipes.java:287 lemonsmoothieItem cropLemon 榨汁机(toolJuicer)
PamFoodRecipes.java:288 lemonmeringueItem cropLemon foodDough、listAllheavycream、listAllsugar、烤盘(toolBakeware)
PamFoodRecipes.java:289 candiedlemonItem cropLemon listAllsugar、烤盘(toolBakeware)
PamFoodRecipes.java:290 lemonchickenItem cropLemon foodButter、listAllchicken、烤盘(toolBakeware)
PamFoodRecipes.java:363 peasandceleryItem cropLemon cropCelery、cropPeas、foodBlackpepper、搅拌盆(toolMixingbowl)
PamFoodRecipes.java:385 fruitcrumbleItem listAllfruit foodButter、foodFlour、foodGroundcinnamon、烤盘(toolBakeware)
PamFoodRecipes.java:444 lemonyogurtItem cropLemon foodPlainyogurt
PamFoodRecipes.java:488 fruitpunchItem listAllfruit listAllsugar、榨汁机(toolJuicer)
PamFoodRecipes.java:507 lemonjellyItem cropLemon listAllsugar、深锅(toolSaucepan)
PamFoodRecipes.java:539 lemonlimesodaItem cropLemon foodBubblywater、foodLimejuice、listAllsugar、烹饪锅(toolPot)
PamFoodRecipes.java:554 honeylemonlambItem cropLemon foodHoneydrop、foodMustard、listAllmutton、烤盘(toolBakeware)
PamFoodRecipes.java:555 honeylemonlambItem cropLemon foodMustard、listAllmutton、烤盘(toolBakeware)
PamFoodRecipes.java:562 ovenroastedcauliflowerItem cropLemon cropCauliflower、cropGarlic、foodOliveoil、烤盘(toolBakeware)
PamFoodRecipes.java:587 citrussaladItem listAllcitrus cropLettuce、砧板(toolCuttingboard)
PamFoodRecipes.java:634 pavlovaItem cropLemon cropStrawberry、listAllegg、listAllheavycream、listAllsugar、烤盘(toolBakeware)
PamFoodRecipes.java:635 pavlovaItem cropLemon cropStrawberry、listAllegg、listAllheavycream、listAllsugar、烤盘(toolBakeware)
PamFoodRecipes.java:665 mincepieItem listAllfruit foodButter、foodDough、listAllbeefcooked、listAllnut、烤盘(toolBakeware)
PamOtherRecipes.java:148 fruitbaitItem listAllfruit —

矿词典(OreDictionary)

本物品注册进以下矿词典名。注意方向:注册进矿词典只代表本物品可被当作这些名字的材料使用,不代表它拥有这些名字对应的其他物品。

矿词典名 注册位置
cropLemon PamFoodOreDictionaryRegistry.java:470
listAllfruit PamFoodOreDictionaryRegistry.java:471
listAllcitrus PamFoodOreDictionaryRegistry.java:472

获取方式

**源码中没有任何配方、机器加工或熔炼把本物品列为产物。**这不是数据缺失,而是本 jar 的客观事实 —— 它的来源是下面这条路径:

来源 证据
破坏/收割 pamLemon 方块 | pamLemon BlockPamFruit.func_149650_a

源码缺陷 / 备注

  1. ⚠️ 构造器实参个数与 ItemFood 签名不符。 ItemRegistry.java:1178 写的是 new ItemFood(cropfoodRestore, false) —— 只有 2 个实参,而 1.7.10 原版 ItemFood 的构造器是 ItemFood(int amount, float saturation, boolean isWolfFood),需要 3 个。Java 不允许这样编译。
    • 本仓库不含原版 Minecraft 源码、也不含 MCP 映射表,因此无法判定缺的是哪一参,也无法判定这是 mod 的源码错误还是 CFR 0.152 的反编译产物(ItemRegistry.java:1001 附近有 CFR 的 「Opcode count of 13216 triggered aggressive code reduction」注释)。
    • 本条目的三个字段中:饥饿值 = cropfoodRestore 是直读;狼食物 = false 是 CFR 输出的末位实参,推定为直读;饱和度 = cropsaturationRestore(默认 0.6f)是推定,依据见上表。
    • 📌 CFR 0.152 在这条 ItemFood 路径上丢了中间实参。判定依据三条: ① 1.7.10 的 ItemFood 只有 (int,float,boolean) / (int,float,boolean,Block),无 2 参构造器; ② 同一个参数 cropsaturationRestore 在 ItemPamSeedFood 调用(ItemRegistry.java:1034、:1038-1044)里 CFR 正常显示为第 2 实参 ⇒ 是路径特异性的解码缺陷,不是源码如此; ③ 全仓 501 处 new ItemFood 中唯这 34 处是 2 参,异常点唯一且集中。
    • 要真正直读需列出 invokespecial 之前 ldc 的常量索引(本机只有 JRE 无 javap),尚未做到。
    • 这不是孤例:全仓库共有 34 处 new ItemFood(cropfoodRestore, false) 两参调用,全部是果树/坚果/香料类物品(杏仁、杏、牛油果、香蕉、腰果、樱桃、栗、肉桂、椰、椰枣、火龙果、榴莲、无花果、葡萄柚、柠檬、青柠、枫糖浆、芒果、肉豆蔻、橄榄、橙、木瓜、桃、梨、山核桃、辣椒柿子、开心果、李子、石榴、杨桃、香草豆、胡桃、鹅莓)。

相关条目

浏览全部模组