天境工具

基本信息

天境工具共 20 件 = 5 个阶级 × 3 种类型(镐 / 斧 / 锹)。没有锄。全部在 ItemsAether.initialization() 中注册,用 ItemAetherTool 的 5 个子类。

阶级 类 ToolMaterial 修复材料 注册行
天根木 ItemSkyrootTool WOOD — ItemsAether.java:148、:151、:154
圣石 ItemHolystoneTool STONE — ItemsAether.java:158、:162、:165
紫晶 ItemZaniteTool IRON 紫晶石 ItemsAether.java:170、:173、:176
重力晶 ItemGravititeTool EMERALD — ItemsAether.java:180、:184、:187
女武神 ItemValkyrieTool EMERALD — ItemsAether.java:192、:196、:199
注册名 中文名 类型 伤害倍率
aether_legacy:skyroot_pickaxe 天根木镐 PICKAXE 2.0
aether_legacy:skyroot_axe 天根木斧 AXE 3.0
aether_legacy:skyroot_shovel 天根木锹 SHOVEL 1.0
aether_legacy:holystone_pickaxe 圣石镐 PICKAXE 2.0
aether_legacy:holystone_axe 圣石斧 AXE 3.0
aether_legacy:holystone_shovel 圣石锹 SHOVEL 1.0
aether_legacy:zanite_pickaxe 紫晶镐 PICKAXE 2.0
aether_legacy:zanite_axe 紫晶斧 AXE 3.0
aether_legacy:zanite_shovel 紫晶锹 SHOVEL 1.0
aether_legacy:gravitite_pickaxe 重力晶镐 PICKAXE 2.0
aether_legacy:gravitite_axe 重力晶斧 AXE 3.0
aether_legacy:gravitite_shovel 重力晶锹 SHOVEL 1.0
aether_legacy:valkyrie_pickaxe 女武神镐 PICKAXE 2.0
aether_legacy:valkyrie_axe 女武神斧 AXE 3.0
aether_legacy:valkyrie_shovel 女武神锹 SHOVEL 1.0

伤害倍率来源:ItemsAether.java:148、:151、:154(天根木),其余同构。倍率传入 ItemAetherTool 构造的 damage 参数(ItemAetherTool.java:26-27)。

功能

采集等级

ItemAetherTool.getHarvestLevel(ItemAetherTool.java:43-51)覆写了原版逻辑:当原版返回 -1(即该方块未设置采集等级)且工具类型与 toolClass 匹配时,回退到 this.toolMaterial.getHarvestLevel()。

因此五个阶级实际对应原版 ToolMaterial 的采集等级:

阶级 ToolMaterial 采集等级 耐久 攻击加成 附魔加成
天根木 WOOD 0 无法核实 无法核实 无法核实
圣石 STONE 1 无法核实 无法核实 无法核实
紫晶 IRON 2 无法核实 无法核实 无法核实
重力晶 EMERALD 3 无法核实 无法核实 无法核实
女武神 EMERALD 3 无法核实 无法核实 无法核实

采集等级由 ToolMaterial.getHarvestLevel() 给出,模组未覆写,上表可由源码确证。耐久、攻击加成、附魔加成来自原版 net.minecraft.item.Item.ToolMaterial 枚举,该类不在 mirror/ 中(已用 os.listdir('/Users/evlos/a/mirror') 核对:363 个目录中无 Minecraft / Forge 1.7.10 反编译源码),故标注为「无法核实」。模组只把 ToolMaterial 常量透传给 ItemTool 父类,未对这三项做任何覆写。

重力晶与女武神工具共用 ToolMaterial.EMERALD,因此两者的基础耐久与攻击加成完全相同,阶级差异只体现在附魔与各自的特殊类上。

分级采集判定

EnumAetherToolType.PICKAXE.canHarvestBlock(EnumAetherToolType.java)为镐单独实现了分级判定,替代原版硬编码:

目标方块 所需采集等级
zanite_ore、zanite_block、icestone ≥ 1
gravitite_ore、enchanted_gravitite ≥ 2
aerogel == 3
Blocks.obsidian == 3
Material.rock / iron / anvil 任意
红石/青金/铁/金/绿宝石矿石与块 按原版分级

注意:icestone(冰石,采集等级镐 1)与 zanite_ore(紫晶矿,镐 1)同档,圣石工具(ToolMaterial.STONE,等级 1)即可采集。

正确方块上的挖掘速度

EnumAetherToolType 为三种工具各定义了一个 toolBlockSet(EnumAetherToolType.java):

  • 镐:原版石质方块 + 天境的 holystone、holystone_brick、mossy_holystone、enchanter、incubator、ambrosium_ore、icestone、aerogel、carved_stone、angelic_stone、hellfire_stone、sentry_stone、light_angelic_stone、light_hellfire_stone
  • 锹:原版泥土类 + aether_dirt、aether_grass、aercloud、enchanted_aether_grass、quicksoil
  • 斧:原版木质类 + skyroot_log、golden_oak_log、skyroot_planks、chest_mimic

在正确方块上的效率固定为 efficiencyOnProperMaterial = 4.0F(EnumAetherToolType.java),其他方块为 1.0F。镐与斧还额外对 Material.iron/anvil/wood/plants/vine 走 efficiencyOnProperMaterial。

紫晶工具的特殊耐久反馈

ItemZaniteTool 会在耐久低于阈值时发出提示(ItemZaniteTool.java:32-38),按剩余耐久分 5 段:

区间 距最大耐久的差值
第 1 段 0 – 50
第 2 段 51 – 110
第 3 段 111 – 200
第 4 段 201 – 239
第 5 段 240 以上

ItemZaniteSword 实现了同样的分段逻辑(ItemZaniteSword.java:44-50),并按耐久比例放大伤害(ItemZaniteSword.java:69)。

修复

ItemZaniteTool 的 ToolMaterial.IRON 修复材料为 zanite_gemstone(紫晶石)。

数值

数值名 值 来源
镐伤害倍率 2.0 ItemsAether.java:148 等
斧伤害倍率 3.0 ItemsAether.java:151 等
锹伤害倍率 1.0 ItemsAether.java:154 等
正确方块挖掘效率 4.0 EnumAetherToolType.efficiencyOnProperMaterial
错误方块挖掘效率 1.0 EnumAetherToolType.getStrVsBlock
气凝胶所需等级 == 3 EnumAetherToolType.PICKAXE.canHarvestBlock
黑曜石所需等级 == 3 同上
创造标签 AetherCreativeTabs.tools ItemAetherTool.java:38

合成配方

工具合成配方定义在资源包 assets/aether_legacy/recipes/ 下,按 5 个阶级分别组织。天根木棍通过物品字典 stickWood 注册(AetherRegistries.java:349)。

相关条目