Celestial Wand Core

基本信息

属性 值
注册名 ThaumicMachina:wandCore
类 ItemWandCore(继承 TMItem)
subtype 数 1(types = {"celestial"},item/wand/rod/ItemWandCore.java:14)
metadata 0 名称 wandCore.celestial(getUnlocalizedName 追加 . + types[damage])
setHasSubtypes true
setNoRepair true
最大耐久 0(setMaxDamage(0) —— 永不损坏)
堆叠上限 未调用 setter —— 默认 64
附带类 WandCoreCelestialUpdate(实现 IWandRodOnUpdate)
配方数 0
可用性 不可用(详见下方源码缺陷)

预期行为(WandCoreCelestialUpdate.onUpdate)

该类实现 Thaumcraft 的 IWandRodOnUpdate,意图是让「天穹杖芯」在使用时缓慢自动注入 Vis:

AspectList list = wand.getAllVis(stack);
for (Aspect aspect : list.getAspects()) {
    if (list.getAmount(aspect) <= 1000 || player.worldObj.rand.nextInt(100) > 10) continue;
    wand.consumeVis(stack, player, aspect, 100, false);
}

数值:仅当某要素存量 > 1000 时,以每 tick 10% 概率消耗 100 点该要素。

数值

数值 值
subtype celestial(唯一)
最大耐久 0(setMaxDamage(0))
可修复 否(setNoRepair())
堆叠上限 64(默认值)
onUpdate 门槛 要素存量 > 1000
onUpdate 触发概率 每 tick rand.nextInt(100) <= 10(约 11/100)
onUpdate 消耗量 100 / 要素
符号 consumeVis(..., false) —— 第 6 参为 isVisBonus

交互

触发 行为
拾取 / 丢弃 标准 Item 行为
作为法杖核心 WandRodRegistry 中无对应条目 → 不能装进法杖
右键 无

源码缺陷

  • rodCelestial 声明后从未赋值(core/TMObjects.java:34):public static WandRod rodCelestial; 无任何写入点。
  • WandCoreCelestialUpdate 从未被注册。全仓无 WandRodRegistry.addWandRod / registerWandRod 调用,因此 IWandRodOnUpdate.onUpdate 永不触发,上表的行为完全无效。
  • ItemWandCore 自身从不作为法杖核心使用:getUnlocalizedName 依赖 stack.getItemDamage() 作 subtype 下标,但没有任何代码把本物品的 meta 0 映射为 WandRod。
  • 无配方:全仓 GameRegistry.addRecipe 调用数为 0。
  • lang 缺条目:assets/thaumicmachina/lang/en_US.lang 没有 item.wandCore.celestial.name,游戏内显示为原始 key。
  • registerIcons 硬编码混合大小写前缀(item/wand/rod/ItemWandCore.java:29):registerIcon("ThaumicMachina:" + types[i]) → ThaumicMachina:celestial,而磁盘目录是 assets/thaumicmachina/textures/items/;对比 TMItem.registerIcons(item/TMItem.java:35)同样用混合大小写,而 TMBlock.registerBlockIcons(block/TMBlock.java:40)用小写 —— 同一仓内两种写法并存。
  • 这与整个 mod 的定位矛盾:WandCoreCelestialUpdate / ItemWandCore 是一套完整的天穹杖芯实现,但缺少注册与配方,属于未完成代码。

相关条目

  • Charge Buffer - 实际生效的法杖改装(已实现)
  • 研究树 - 研究树中无 WAND_CORE 分支,佐证该物品未接入内容