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 是一套完整的天穹杖芯实现,但缺少注册与配方,属于未完成代码。
相关条目