跳到正文
烈焰甘蔗Wiki

ExtraTrees 杂项物品

基本信息

属性 值
注册名 ExtraTrees:misc(只有一个注册名)
变种方式 ItemStack 的 damage 值 = 枚举 ordinal()(0-5)
数量 6 种,其中创造栏可见 5 种

⚠️ 已订正(重大:注册名机制写错):原文把 carpentryHammer、sawdust、bark 等当成各自的注册名。错的——它们是枚举构造参数 name,只用于 i18n 键和图标路径。binnie/core/item/ItemMisc.java:20-27 只注册一次:

setUnlocalizedName("misc");
registerItem(this, getUnlocalizedName().substring(5));   // → "misc"

6 个变种共用一个 Item,靠 damage = ordinal() 区分(ItemMisc.java:47-49)。游戏内不存在 ExtraTrees:carpentryHammer 这个资源名。

✅ 原文 6 个枚举名与顺序经复核完全正确(extratrees/item/ExtraTreeItems.java:13-19)。

6 种变种(damage = ordinal())

damage 枚举名 name(仅 i18n/图标用) 创造栏可见 说明
0 CarpentryHammer carpentryHammer 否 木匠锤
1 Sawdust sawdust 是 锯末
2 Bark bark 是 树皮
3 ProvenGear provenGear 是 验证齿轮
4 WoodWax woodWax 是 木蜡
5 GlassFitting glassFitting 是 玻璃配件

已复核正确的原文断言

⚠️ 已订正(该断言正确,保留并给出证据):原文「CarpentryHammer 的 isActive() 返回 false,表示该物品不激活(不可见)」完全正确:

public boolean isActive() { return this != ExtraTreeItems.CarpentryHammer; }  // ExtraTreeItems.java:52-54

ItemMisc.getSubItems 只把 isActive() 为 true 的加入创造栏(ItemMisc.java:33-37),所以木匠锤仍可通过合成/代码取得,但不进创造栏。

⚠️ 补充(原文未写清的「不可见」含义):不是「未注册」也不是「无资源」,它照样占用 damage 0,只是创造栏不列出。

统一注册

  • 实例化:ExtraTrees.itemMisc = new ItemMisc(Tabs.tabArboriculture, ExtraTreeItems.values())
  • 取得物品:ExtraTreeItems.X.get(n) → new ItemStack(ExtraTrees.itemMisc, n, X.ordinal())(ExtraTreeItems.java:56-58)
  • i18n 键格式:extratrees.item.<name>(无 .name 后缀,ExtraTreeItems.java:43-45)

⚠️ mod 自身缺陷(i18n 键格式不一致):同一套 ItemMisc 机制下,四个枚举的 i18n 键格式不统一—— botany.item.<n>.name(BotanyItems.java:54)、genetics.item.<n>.name(GeneticsItems.java:54)带 .name; extratrees.item.<n>(ExtraTreeItems.java:44)、extrabees.item.<n>(ExtraBeeItems.java:217)不带。翻译文件需分别处理。

源码引用

  • 枚举:binnie/extratrees/item/ExtraTreeItems.java
  • 注册机制:binnie/core/item/ItemMisc.java
  • 实现接口:IItemMisc
浏览全部模组