注入与消耗品
基本信息
| 属性 | 值 |
|---|---|
| 覆盖范围 | 除透镜 / 焦点 / wand 配件外的其余注册物品 |
| 注册区间 | common/ThaumicHorizons.java:638-639、:651-686 |
物品总数(本模组 GameRegistry.registerItem 全部) |
45 |
列表
「语言键」取自 en_US.lang;「研究」列为 研究列表 中的研究 id,无对应研究者为 —。
魂魄 / 灵魂容器
| 注册名 | 名称 | 类 | 语言键 | 研究 |
|---|---|---|---|---|
soulJar(方块物品) |
Jarred %CRITTER | BlockSoulJarItem |
item.jarredSoul.<meta>.name |
etherealShard |
spawnerEgg |
(生物刷怪蛋,兼总注册) | ItemSpawnerEgg |
— | wispSpawn |
eggIncubated |
Incubated Egg | ItemEggIncubated |
item.eggIncubated.name |
alchIncubation |
inkEgg |
Tenebrous Egg | ItemInkEgg |
item.inkEgg.name |
— |
goldEgg |
Golden Egg | ItemGoldEgg |
item.goldEgg.name |
— |
inkEgg 额外注册为矿物词典 dyeBlack(common/ThaumicHorizons.java:664:OreDictionary.registerOre("dyeBlack", itemInkEgg)),是本模组唯一的一处矿物词典注册。堆叠上限:inkEgg 16、goldEgg 16(common/items/ItemInkEgg.java:23、ItemGoldEgg.java:23)。
注射器与注射
| 注册名 | 名称 | 类 | 语言键 | 研究 |
|---|---|---|---|---|
syringeInjection |
Injection | ItemSyringeInjection |
item.injection.<meta>.name |
essentiaInjection |
syringeEmpty |
Warded Syringe | ItemSyringeEmpty |
item.syringeEmpty.name |
— |
syringeBlood |
Blood Syringe | ItemSyringeBlood |
item.syringeBlood.<meta>.name |
— |
syringeBloodSample |
Blood Sample | ItemSyringeBloodSample |
item.syringeSample.name |
— |
injector |
Injector | ItemInjector |
item.injector.name |
injector |
corpseEffigy |
Corpse Effigy | ItemCorpseEffigy |
item.corpseEffigy.name |
cloneVillager |
nutrients |
Nutrient Mix | ItemNutrients |
item.nutrients.name |
incarnationVat |
注册名与变量名不一致一处:itemSyringeHuman(common/ThaumicHorizons.java:568)注册名是 syringeBlood(:654),类为 ItemSyringeBlood,语言键 item.syringeBlood.*。变量名 Human 属命名遗留。
ItemSyringeInjection 的关键参数(common/items/ItemSyringeInjection.java:42-49):setHasSubtypes(true)、setMaxStackSize(1)、getMaxItemUseDuration 返回 8 tick。
ItemInjector 设 setMaxDamage(1000)(common/items/ItemInjector.java:34),是本模组唯一有非零耐久的注入类物品。ItemCorpseEffigy 堆叠上限 1(common/items/ItemCorpseEffigy.java:15)。
注射器 GUI ID 6(common/CommonProxy.java:88-90 → ContainerInjector / GuiInjector)。
傀儡 / 生物
| 注册名 | 名称 | 类 | 语言键 | 研究 |
|---|---|---|---|---|
golemPowder |
Golem Animation Powder | ItemGolemPowder |
(无 item.* 条目) |
golemPowder |
golemPlacer |
Animated Golem | ItemGolemPlacer |
item.golemPlacer.name |
golemPowder |
Golemancy Bell TH |
Golemancer’s Bell_TH | ItemGolemBellTH |
item.GolemBellTH.name |
alternateGolemBell |
boatGreatwood |
Greatwood Boat | ItemBoatGreatwood |
item.boatGreatwood.name |
greatwoodBoat |
boatThaumium |
Thaumium Boat | ItemBoatThaumium |
item.boatThaumium.name |
thaumiumBoat |
meatTH |
Unidentifiable Meat | ItemMeat |
item.meatTH.name |
meatGrowth |
meatCookedTH |
Unidentifiable Cooked Meat | ItemMeatCooked |
item.meatcookedTH.name |
meatGrowth |
meatNuggetTH |
Unidentifiable Meat Nugget | ItemMeatNugget |
item.meatnuggetTH.name |
fleshLeather |
Golemancy Bell TH 是全模组唯一带空格的注册名(common/ThaumicHorizons.java:672),其完整注册名为 ThaumicHorizons:Golemancy Bell TH;语言键却是 item.GolemBellTH.name。该物品注册后立即写入 TC4 全局配置:ConfigItems.itemGolemBell = itemGolemBellTH;(:673),直接覆盖了 Thaumcraft 原版的 Golemancer’s Bell 物品槽。这正是 alternateGolemBell 配置项存在的理由——当设为 false 时不注册这条替代配方(见 配置 与 研究列表)。
ItemGolemPowder 堆叠上限 64(common/items/ItemGolemPowder.java:32),ItemGolemBellTH 堆叠上限 1(:39)。
平面世界道具
| 注册名 | 名称 | 类 | 语言键 | 研究 |
|---|---|---|---|---|
keystoneTH |
Planar Keystone | ItemKeystone |
item.keystoneTH.name |
planarKeystone |
planarConduit |
Planar Conduit | ItemPlanarConduit |
item.conduit.name |
pocketPlane |
voidPutty |
Void Putty | ItemVoidPutty |
item.voidPutty.name |
voidPutty |
ItemKeystone 堆叠上限 1(common/items/ItemKeystone.java:31),ItemVoidPutty 堆叠上限 16(ItemVoidPutty.java:23)。ItemPlanarConduit 的语言键是 item.conduit.name(不含 Planar 前缀,与注册名 planarConduit 不对应)。
食物 / 消耗品
| 注册名 | 名称 | 类 | 语言键 | 研究 |
|---|---|---|---|---|
chocolate(方块物品) |
Block of Chocolate | BlockChocolate 的 ItemBlock |
tile.ThaumicHorizons_chocolate.name |
— |
barChocolate |
Chocolate Bar | ItemBarChocolate |
item.chocolate.name |
— |
bucketChocolate |
Chocolate Milk Bucket | ItemBucketChocolate |
item.chocolateMilk.name |
— |
iceCream |
Chocolate Ice Cream | ItemIceCream |
item.icecream.name |
— |
suicidePill |
Suicide Injection | ItemSuicidePill |
item.suicidePill.name |
— |
amuletMirror |
Mirrored Amulet | ItemAmuletMirror |
item.amuletMirror.name |
mirrorAmulet |
ItemBucketChocolate 堆叠上限 1(common/items/ItemBucketChocolate.java:26)。ItemAmuletMirror 实现 Baubles 的 IBauble(common/items/ItemAmuletMirror.java:28-29),setMaxDamage(0)(:43),可作饰品佩戴。
调试 / 作弊物品
| 注册名 | 名称 | 类 | 语言键 | 说明 |
|---|---|---|---|---|
infusionCheat |
Creature Infusion | ItemInfusionCheat |
item.infusion.name |
直接执行生物注入的调试物品 |
infusionSelfCheat |
— | ItemInfusionSelfCheat |
(无独立条目) | 对自身执行的注入调试物品 |
nodeCheat |
Node Opener | ItemNodeCheat |
item.nodeCheat.name |
把任意 TC4 TileNode 转成 Planar Vortex |
dummy / dummyVat |
— | ItemDummy / ItemDummyVat |
— | 占位物品 |
ItemNodeCheat 是本模组唯一调用 setUnlocalizedName 的物品(common/items/ItemNodeCheat.java:32,传入 "nodeCheat")。其 onItemUse 逻辑(ItemNodeCheat.java:34-46):若目标方块的 TileEntity 是 TC4 的 TileNode,先 getAspectsBase() 取要素,再把该位置替换为 ThaumicHorizons.blockVortex,把要素复制给新的 TileVortex,最后返回 tco.cheat = true 标记作弊模式。
ItemInfusionCheat 依赖本模组自己的 CreatureInfusionRecipe 与 EntityInfusionProperties(common/lib/),并同时处理 EntityGolem / EntityGolemBase / INpc / IMerchant / EntityPlayer 等多种目标类型(导入见该类头部)。
功能:透镜以外物品的通用机制
大量物品重写了 getUnlocalizedName(ItemStack) 以实现按 meta 变名。实测 getUnlocalizedName 且带 ItemStack 参数的共 38 处行命中,分布为:
common/items/下 32 处,分布于 32 个物品类:ItemAmuletMirror、ItemBarChocolate、ItemBoatGreatwood、ItemBoatThaumium、ItemBucketChocolate、ItemCorpseEffigy、ItemCrystalWand、ItemDummyVat、ItemEggIncubated、ItemGoldEgg、ItemGolemBellTH、ItemGolemPlacer、ItemGolemPowder、ItemIceCream、ItemInjector、ItemInkEgg、ItemKeystone、ItemLensAir、ItemLensCase、ItemLensEarth、ItemLensFire、ItemLensOrderEntropy、ItemLensWater、ItemMeat、ItemMeatCooked、ItemMeatNugget、ItemNutrients、ItemPlanarConduit、ItemSuicidePill、ItemSyringeBlood、ItemSyringeEmpty、ItemVoidPutty。common/blocks/下 3 个方块物品类共 6 行:BlockCrystalItem.java:22-23、BlockCloudItem.java:22-23、BlockVortexItem.java:22-23,每个类各 2 行(方法声明 +super调用)。
方块物品的写法统一为 return super.getUnlocalizedName() + "." + stack.getItemDamage();(见 common/blocks/BlockCrystalItem.java:22-23),对应语言键 item.focusIllumination.<meta>.name、tile.ThaumicHorizons_crystal.<meta>.name 这类按 meta 展开的条目。
6 个透镜全部重写了 getUnlocalizedName(ItemStack)(ItemLensAir/ItemLensCase/ItemLensEarth/ItemLensFire/ItemLensOrderEntropy/ItemLensWater),但它们走的是 ILens 接口的字符串键(见 法杖配件与透镜),与方块物品的 meta 后缀是两种不同机制。
合成配方
本模组不注册原版工作台配方。相关配方全部经 Thaumcraft 4 API 产出,另加 2 个自定义 RecipeSorter 条目:forge:focusilluminationdye(common/items/crafting/RecipesFocusIlluminationDyes.java,提供 16 色照明焦点染料配方)与 forge:voidputty(common/items/crafting/RecipeVoidPuttyRepair.java,虚空腻子修补),均声明于 common/ThaumicHorizons.java:775-784。
熔炼方面只有 1 条:itemMeat → itemMeatCooked,并通过 ThaumcraftApi.addSmeltingBonus 让产出额外掉落 itemMeatNugget(common/ThaumicHorizons.java:789-790)。
本模组另有 6 条无序矿物词典配方(shapelessOreDictRecipe,:4008),其中 3 条产出 TC4 的 ConfigItems.itemTripleMeatTreat,材料为糖 + 本模组的肉粒 + TC4 的猪/牛/鱼用肉粒(:803-809)。