ExtraBees 杂项物品
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | ExtraBees:misc(只有一个注册名) |
| 变种方式 | ItemStack 的 damage 值 = 枚举 ordinal()(0-29) |
| 数量 | 30 种 |
⚠️ 已订正(重大:注册名机制写错):原文把
ironDust、goldDust、dyeRed、diamondShard等 30 个字符串当成各自的注册名,并单列一节声称「所有染料通过 OreDictionary 注册为dyeRed,dyeYellow等」。前半句错:它们是枚举构造参数name,只用于 i18n 键与图标路径。binnie/core/item/ItemMisc.java:20-27只注册一次:setUnlocalizedName("misc"); registerItem(this, getUnlocalizedName().substring(5)); // → "misc"30 个变种共用一个
Item,靠 damage =ordinal()区分(ItemMisc.java:47-49)。游戏内不存在ExtraBees:ironDust这个资源名,/give @p ExtraBees:ironDust无效。✅ 原文 30 个枚举名、
name串、分类归属与顺序经逐条复核全部正确(extrabees/core/ExtraBeeItems.java:22-53),包括易错的UraniumDust("radioactiveDust")(枚举名与 name 串不同名,原文抓对了)。
30 种变种(damage = ordinal())
金属/矿物粉尘(16 种,damage 6-21)
| damage | 枚举名 | name |
|---|---|---|
| 6-21 | IronDust … CyaniteDust |
ironDust, goldDust, silverDust, platinumDust, copperDust, tinDust, nickelDust, leadDust, zincDust, titaniumDust, tungstenDust, radioactiveDust(UraniumDust), coalDust, yelloriumDust, blutoniumDust, cyaniteDust |
宝石碎片(5 种,damage 1-5)
DiamondShard(diamondShard)、EmeraldShard(emeraldShard)、RubyShard(rubyShard)、SapphireShard(sapphireShard)、LapisShard(lapisShard)
染料 / 粘土粉(8 种,damage 22-29)
RedDye(dyeRed)、YellowDye(dyeYellow)、BlueDye(dyeBlue)、GreenDye(dyeGreen)、WhiteDye(dyeWhite)、BlackDye(dyeBlack)、BrownDye(dyeBrown)、ClayDust(clayDust)
- 特殊(1 种,damage 0)
ScentedGear(scentedGear)
❌ 已订正(删除编造配方):原文断言「香氛齿轮: 蜜蜂匠人工作台配方(蜂蜜+蜂蜡+花粉+齿轮)」。全 Binnie 源码(803 个 java 文件)内
scentedGear/ScentedGear只在枚举声明ExtraBeeItems.java:25出现 1 次,不存在任何配方注册。原文的配方描述是凭空捏造的,已删除。
已复核的原文断言
- ✅ 合成配方正确:
postInit()(ExtraBeeItems.java:100+)对每个metalString != null的粉尘注册「4 个dust<Metal>→ 1 个本粉尘」的无序配方;PlatinumDust特殊处理,还接受dustPlatinumMetallicPowder×2 补足(:112-117)。原文「4 个粉尘 → 1 个对应锭或 1 个煤/钻石等」方向正确(准确说是产出本粉尘)。 - ✅ 青金石碎片 → 青金石染料正确:
postInit()注册4 × LapisShard → Items.dye(1, 4)(ExtraBeeItems.java:102-103)。原文「9 个青金石碎片 → 1 个青金石染料」的数量 9 是错的,应为 4。 - ✅ OreDictionary 断言基本正确,但有 2 处偏差(原文写在
init()里,不在构造函数,容易漏看):ExtraBeeItems.init()(:91-99)确实注册了dyeRed/dyeYellow/dyeBlue/dyeGreen/dyeBlack/dyeWhite/dyeBrown。但——- 只有 7 种染料,原文写「所有染料」会让人以为含
ClayDust(clayDust未注册进任何dye*)。 - 注册的物品是
ItemStack(ExtraBees.misc, 1, ordinal()),不是独立资源名ExtraBees:dyeRed。
- 只有 7 种染料,原文写「所有染料」会让人以为含
创造栏可见性(原文未写)
isActive()(ExtraBeeItems.java:190-195)对 16 种粉尘做条件判定:只有当 OreDictionary 里存在 ingot<Metal> 或 dust<Metal> 时才显示在创造栏;CoalDust 例外恒显示。宝石碎片与染料无此限制。故「30 种全部可见」不成立——实际可见数取决于已装 mod 提供的金属。
统一注册
- i18n 键格式:
extrabees.item.<name>(无.name后缀,ExtraBeeItems.java:216-218)——与 Botany/Genetics 的格式不一致,见 ExtraTrees 杂项物品 的说明 - 取得物品:
ExtraBeeItems.X.get(n)→new ItemStack(ExtraBees.misc, n, X.ordinal())
源码引用
- 枚举:
binnie/extrabees/core/ExtraBeeItems.java - 注册机制:
binnie/core/item/ItemMisc.java - 实现接口:
IItemMisc