施法聚焦(Focus)

基本信息

属性 值
物品数量 10(普通系 7 + KAMI 系 3)
普通系基类 thaumic.tinkerer.common.item.foci.ItemModFocus(继承 Thaumcraft ItemFocusBasic)
KAMI 系基类 thaumic.tinkerer.common.item.kami.foci.ItemModKamiFocus
注册位置 TTRegistry.preInit(),TTRegistry.java:71-77(普通)与 TTRegistry.java:100-102(KAMI)
注册门槛 普通系 shouldRegister() 恒 true(ItemModFocus.java:61-63);KAMI 系为 ConfigHandler.enableKami(ItemModKamiFocus.java:148-150)
创造标签 是(ItemModFocus.shouldDisplayInTab() 返回 true)

10 个聚焦全部是法杖聚焦(wand focus),安装到法杖后改变右键行为。两者共用同一套 hasOrnament() / hasDepth() 图标叠加机制(ItemModFocus.java:44-50)。

功能

聚焦 排序前缀 每次使用消耗 说明
Focus of Deflect TTDF ORDER 8 + AIR 4 弹射投射物;含黑名单,见下
Focus of Dislocation TTDL ENTROPY 500 + ORDER 500 + EARTH 100 位移方块,分 3 档定价
Focus of Ender Chest — ENTROPY 100 + ORDER 100 末影箱接口,加载 EnderStorage 时排序键改走兼容层
Focus of Flight TTFL AIR 15 创造飞行,受 ConfigHandler.enableFlight 控制
Focus of Healing TTHE EARTH 45 + WATER 45 治疗玩家
Focus of Smelting TTEF FIRE 45 + ENTROPY 12 熔炼目标方块
Focus of Telekinesis TTTE AIR 5 + ENTROPY 5 远程抓取方块实体
Focus of Kami Recall TTKCR AIR 4000 + EARTH 4000 + ORDER 4000 KAMI 系
Focus of Shadowbeam TTKSH 全部可配置 KAMI 系;定价与伤害见下
Focus of XP Drain TTKXP 运行时填充 KAMI 系;每 tick 计费

要素常量来源:各类的 private static final AspectList visUsage 字段(ItemFocusDeflect.java:51、ItemFocusDislocation.java:62-67、ItemFocusEnderChest.java:42、ItemFocusFlight.java:40、ItemFocusHeal.java:40、ItemFocusSmelt.java:31、ItemFocusTelekinesis.java:41、ItemFocusRecall.java:42-43、ItemFocusShadowbeam.java:40-41)。

数值

Focus of Dislocation 的三档定价

同一个聚焦按目标类型使用不同的 AspectList(ItemFocusDislocation.java:62-67):

目标 要素消耗
普通方块 ENTROPY 500 + ORDER 500 + EARTH 100
TileEntity 方块 ENTROPY 2500 + ORDER 2500 + EARTH 500
刷怪笼 ENTROPY 10000 + ORDER 10000 + EARTH 5000

该聚焦可位移的方块受 ConfigHandler.blockBlacklist(配置键 Focus of Dislocation Blacklist)限制,默认排除 avaritiaddons:CompressedChest 与 avaritiaddons:InfinityChest(ConfigHandler.java 中 blockBlacklist 定义处)。

Focus of Shadowbeam 的可配置定价

Shadowbeam 是唯一把全部要素消耗暴露到配置的聚焦(ItemFocusShadowbeam.java:40-42):

数值 配置键 默认值
ORDER 消耗 ordo vis cost 25
ENTROPY 消耗 perditio vis cost 25
AIR 消耗 aer vis cost 15
基础伤害 shadowbeam base damage 8

对应字段 ConfigHandler.visShadowbeamOrder / visShadowbeamEntropy / visShadowbeamAir / baseDamageShadowbeam,全部在 配置:KAMI 与暗影束 中列出。

Focus of XP Drain

ItemFocusXPDrain.java:35 将 visUsage 声明为空的 new AspectList()(非 static final),且覆写 isVisCostPerTick() 返回 true。实际扣费在别处按运行时状态填充,本类的 visUsage 字段本身不含静态定价。

交互

  • Focus of Deflect 黑名单:ItemFocusDeflect.DeflectBlacklist(ItemFocusDeflect.java:50)在 TTCommonProxy.postInit() → ItemFocusDeflect.setupBlackList()(TTCommonProxy.java:194)中填充,先无条件加入 EntityExpBottle,再在 LoadedMods.bloodMagicLoaded 为真时调用 BloodMagic.setupClass() 追加 WayofTime.alchemicalWizardry.common.entity.projectile.EntityParticleBeam(compat/BloodMagic.java:13)。该类名是字符串反射引用;已核对它在 mirror/BloodMagic 仓中确实存在(WayofTime/alchemicalWizardry/common/entity/projectile/EntityParticleBeam.java)。
  • Focus of Ender Chest:getSortingHelper() 在 LoadedMods.enderStorageLoaded 为真时改用 EnderStorageFunctions.getSortingHelper(stack)(ItemFocusEnderChest.java:79-81)。
  • Focus of Dislocation:排序键额外拼接 getUniqueKey(stack),用于区分 NBT 中记录的目标方块名与 meta(ItemFocusDislocation.java:171)。
  • KAMI 系共同行为:onPlayerStoppedUsingFocus() 覆写为空实现(ItemModKamiFocus.java:142-145),onFocusBlockStartBreak() 返回 false(ItemModKamiFocus.java:152-154),canApplyUpgrade() 对所有升级类型返回 true(ItemModKamiFocus.java:156-158)。

合成配方

ItemModFocus.getRecipeItem() 统一返回 null(ItemModFocus.java:71-73),即 10 个聚焦的配方不由本模组通过 TTRegistry 注册。TTRegistry.init() 只在 getRecipeItem() != null 时才注册配方(TTRegistry.java:152-157),因此这些聚焦没有本模组自带的合成配方;实际获取途径无法从本仓库核实。

相关条目