Blackberry(可食用作物)
事实基准:
harvestcraft-1.3.14-GTNH.jar(MC 1.7.10 / Forge 10.13.4.1614)CFR 0.152 反编译源码。
基本信息
| 属性 | 值 | 来源 |
|---|---|---|
| 注册名 | harvestcraft:blackberryItem |
ItemRegistry.java:1945 |
| 显示名 | Blackberry |
en_US.lang:341 |
| Java 类 | ItemPamSeedFood |
ItemRegistry.java:1038 |
| 字段 | ItemRegistry.blackberryItem |
ItemRegistry.java 字段声明 |
| 创造标签 | tabHarvestCraft2(HarvestCraft Crops) |
ItemRegistry.java:1038 |
| 条件注册 | 否,无条件注册 | ItemRegistry.java:1945 |
| 属性 | 值 | 来源 |
|---|---|---|
| 最大堆叠 | 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.pamblackberryCrop | pamblackberryCrop |
ItemRegistry.java:1038 |
| 要求土壤方块 | field_150458_ak |
ItemRegistry.java:1038 |
种植行为(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)。
关联的种子物品
- 种子:blackberryseedItem
- 反向配方:blackberryseedItem 无序合成 1 个本物品(
PamFoodRecipes.java:38-40的PamCropItems[i] → PamSeeds[i]循环,受配置enablecroptoseedRecipe门控,默认true)
获取方式(源码中登记的配方)
压制机(Presser)
| 来源 | 配方 |
|---|---|
PresserRecipes.java:23 |
作为原料被加工为:blackberryjuiceItem、fruitbaitItem |
作为材料被使用
下列合成台配方把本物品列为材料。分两类:经矿词典名匹配的,与把本物品以 Item 实例直接引用的。两者都是集合关系,已按 (来源, 产物) 去重。
经矿词典名匹配
| 来源 | 产物 | 命中的矿词典名 | 同一配方中的其它矿词典材料 |
|---|---|---|---|
PamFoodRecipes.java:187 |
fruitsaladItem |
listAllfruit |
砧板(toolCuttingboard) |
PamFoodRecipes.java:385 |
fruitcrumbleItem |
listAllfruit |
foodButter、foodFlour、foodGroundcinnamon、烤盘(toolBakeware) |
PamFoodRecipes.java:449 |
blackberryjuiceItem |
cropBlackberry |
榨汁机(toolJuicer) |
PamFoodRecipes.java:450 |
blackberrycobblerItem |
cropBlackberry |
foodDough、listAllsugar、烤盘(toolBakeware) |
PamFoodRecipes.java:451 |
blackberrysmoothieItem |
cropBlackberry |
榨汁机(toolJuicer) |
PamFoodRecipes.java:452 |
blackberryyogurtItem |
cropBlackberry |
foodPlainyogurt |
PamFoodRecipes.java:488 |
fruitpunchItem |
listAllfruit |
listAllsugar、榨汁机(toolJuicer) |
PamFoodRecipes.java:502 |
blackberryjellyItem |
cropBlackberry |
listAllsugar、深锅(toolSaucepan) |
PamFoodRecipes.java:665 |
mincepieItem |
listAllfruit |
foodButter、foodDough、listAllbeefcooked、listAllnut、烤盘(toolBakeware) |
PamOtherRecipes.java:148 |
fruitbaitItem |
listAllfruit |
— |
矿词典(OreDictionary)
本物品注册进以下矿词典名。注意方向:注册进矿词典只代表本物品可被当作这些名字的材料使用,不代表它拥有这些名字对应的其他物品。
| 矿词典名 | 注册位置 |
|---|---|
listAllberry |
PamFoodOreDictionaryRegistry.java:335 |
listAllfruit |
PamFoodOreDictionaryRegistry.java:336 |
cropBlackberry |
PamFoodOreDictionaryRegistry.java:337 |
源码缺陷
getPlantMetadata恒返回 0(ItemPamSeedFood.java:79-81),所有ItemPamSeedFood作物只使用 meta 0。- 构造函数签名收了
int amount, float saturation, boolean isWolfFood, …四个语义参数,但实际只用了前两个,isWolfFood在:25被替换成字面量false—— 调用方无法通过构造参数改变它。
相关条目
- 家族汇总:Pam Seed Food