Leek(可食用作物)
事实基准:
harvestcraft-1.3.14-GTNH.jar(MC 1.7.10 / Forge 10.13.4.1614)CFR 0.152 反编译源码。
基本信息
| 属性 | 值 | 来源 |
|---|---|---|
| 注册名 | harvestcraft:leekItem |
ItemRegistry.java:1911 |
| 显示名 | Leek |
en_US.lang:295 |
| Java 类 | ItemPamSeedFood |
ItemRegistry.java:1074 |
| 字段 | ItemRegistry.leekItem |
ItemRegistry.java 字段声明 |
| 创造标签 | tabHarvestCraft2(HarvestCraft Crops) |
ItemRegistry.java:1074 |
| 条件注册 | 否,无条件注册 | ItemRegistry.java:1911 |
| 属性 | 值 | 来源 |
|---|---|---|
| 最大堆叠 | 64(未覆写,Item 默认) |
ItemPamSeedFood 未调用 func_77625_d |
| 耐久度 | 无 | 无 setMaxDamage 调用 |
| 可食用 | 是 —— 继承 ItemFood |
ItemPamSeedFood.java:19 |
| 饥饿值恢复 | cropfoodRestore(配置项 cropfoodRestore,默认 1) |
ItemRegistry.java:912(配置默认值) |
| 饱和度 | config.cropsaturationRestore(默认 0.6) |
ItemRegistry.java:913 |
狼食物(isWolfFood) |
恒为 false —— 构造器把它写死(ItemPamSeedFood.java:25) |
ItemPamSeedFood.java:25 |
| 可种植 | 是 —— 实现 IPlantable |
ItemPamSeedFood.java:20 |
| 种植出的方块 | BlockRegistry.pamleekCrop | pamleekCrop |
ItemRegistry.java:1074 |
| 要求土壤方块 | field_150458_ak |
ItemRegistry.java:1074 |
种植行为(ItemPamSeedFood.java:30-52)
EnumPlantType=Crop(ItemPamSeedFood.java:72的默认值)- 总开关:配置
enablecropitemsasseeds,默认true(ItemRegistry.java:923);关闭后右键完全不响应。 - 必须点击方块的顶面(
par7 != 1直接return false)。 - 陆生分支:要求点击处是本物品的
soilId、且y+1可放置,作物种在y+1(ItemPamSeedFood.java:44-48)。
关联的种子物品
- 种子:leekseedItem
- 反向配方:leekseedItem 无序合成 1 个本物品(
PamFoodRecipes.java:38-40的PamCropItems[i] → PamSeeds[i]循环,受配置enablecroptoseedRecipe门控,默认true)
作为材料被使用
下列合成台配方把本物品列为材料。分两类:经矿词典名匹配的,与把本物品以 Item 实例直接引用的。两者都是集合关系,已按 (来源, 产物) 去重。
经矿词典名匹配
| 来源 | 产物 | 命中的矿词典名 | 同一配方中的其它矿词典材料 |
|---|---|---|---|
PamFoodRecipes.java:186 |
stockItem |
listAllveggie |
烹饪锅(toolPot) |
PamFoodRecipes.java:490 |
mixedsaladItem |
listAllveggie |
foodSaladdressing、砧板(toolCuttingboard) |
PamFoodRecipes.java:500 |
gardensoupItem |
listAllveggie |
foodStock、烹饪锅(toolPot) |
PamFoodRecipes.java:563 |
leekbaconsoupItem |
cropLeek |
cropPotato、listAllheavycream、listAllporkcooked、烹饪锅(toolPot) |
PamFoodRecipes.java:626 |
chikorollItem |
cropLeek |
cropCabbage、cropCarrot、cropOnion、foodDough、foodOliveoil、listAllchickencooked、烹饪锅(toolPot) |
PamFoodRecipes.java:732 |
veggiestripsItem |
listAllveggie |
foodSalt、listAllspice、烤盘(toolBakeware) |
PamFoodRecipes.java:761 |
potatoandleeksoupItem |
cropLeek |
cropPotato、cropSpiceleaf、foodBlackpepper、foodStock、listAllheavycream、烹饪锅(toolPot) |
PamOtherRecipes.java:147 |
veggiebaitItem |
listAllveggie |
— |
矿词典(OreDictionary)
本物品注册进以下矿词典名。注意方向:注册进矿词典只代表本物品可被当作这些名字的材料使用,不代表它拥有这些名字对应的其他物品。
| 矿词典名 | 注册位置 |
|---|---|
cropLeek |
PamFoodOreDictionaryRegistry.java:243 |
listAllveggie |
PamFoodOreDictionaryRegistry.java:244 |
获取方式
**源码中没有任何配方、机器加工或熔炼把本物品列为产物。**这不是数据缺失,而是本 jar 的客观事实 —— 它的来源是下面这条路径:
| 来源 | 证据 |
|---|---|
收割 pamleekCrop 作物方块 | pamleekCrop |
BlockPamCrop.func_149650_a |
补充:leekItem 可在 Market 购买(
MarketItems按ItemRegistry.PamSeeds[]/ 各分类数组批量登记)。
源码缺陷
getPlantMetadata恒返回 0(ItemPamSeedFood.java:79-81),所有ItemPamSeedFood作物只使用 meta 0。- 构造函数签名收了
int amount, float saturation, boolean isWolfFood, …四个语义参数,但实际只用了前两个,isWolfFood在:25被替换成字面量false—— 调用方无法通过构造参数改变它。
相关条目
- 家族汇总:Pam Seed Food