跳到正文
烈焰甘蔗Wiki

Tool Part

⚠️ 原文错误最严重的条目:注册名 tconstruct:toolPart 在本 mod 中不存在;材料属性表 19 行中 17 行的数值是编造的。

基本信息

属性 值
注册名 tconstruct:toolPart 不存在 — 见下方「已订正 1」
实际形态 每个部件是独立的 DynamicToolPart 物品,各有注册名
上游注册 API TConstructRegistry.addToolMaterial(id, name, harvestLevel, durability, miningspeed, attack, handleModifier, reinforced, stonebound, style, primaryColor)

已订正 1(注册名不存在):原文「注册名 tconstruct:toolPart」错误。 源码中没有任何地方注册名为 toolPart 的物品。tconstruct/tools/items/ToolPart.java 这个类文件虽然存在,但从未被实例化——唯一的引用是被注释掉的一行:

// TinkerTools.pickaxeHead = new ToolPart("_pickaxe_head",

证据:TinkerTools.java:357(行首 //)。 实际所有工具部件都用 DynamicToolPart 分别注册,例如 TinkerTools.java:359-382:

变量 构造参数名 注册名
toolRod ToolRod TConstruct:ToolRod
pickaxeHead PickaxeHead TConstruct:PickaxeHead
shovelHead ShovelHead TConstruct:ShovelHead
hatchetHead HatchetHead TConstruct:HatchetHead
swordBlade SwordBlade TConstruct:SwordBlade
binding Binding TConstruct:Binding
toughRod ToughRod TConstruct:ToughRod
toughBinding ToughBinding TConstruct:ToughBinding
largePlate LargePlate TConstruct:LargePlate
knifeBlade KnifeBlade TConstruct:KnifeBlade
frypanHead FrypanHead TConstruct:FrypanHead
signHead SignHead TConstruct:SignHead
chiselHead ChiselHead TConstruct:ChiselHead
scytheBlade ScytheBlade TConstruct:ScytheBlade
broadAxeHead LumberAxeHead TConstruct:LumberAxeHead
excavatorHead ExcavatorHead TConstruct:ExcavatorHead
largeSwordBlade LargeSwordBlade TConstruct:LargeSwordBlade
hammerHead HammerHead TConstruct:HammerHead

每个部件是「一种材料 × 一个形状」的组合,用 metadata 区分材料 ID。

⚠️ 已订正 2:材料属性表整体作废

原文 19 行材料表中,17 行的耐久/挖掘速度/攻击/握持修正全是编造的合理数字。实际数值见下表(证据:TinkerTools.registerMaterials(),TinkerTools.java:1440-1572)。

参数顺序为 addToolMaterial(id, name, harvestLevel, durability, miningspeed, attack, handleModifier, reinforced, stonebound, ...)。

材料 挖掘等级 耐久 挖掘速度 攻击 握持修正 强化 石缚
Wood 1 97 350 0 1.0 0 0
Stone 1 131 400 1 0.5 0 1
Iron 2 250 600 2 1.3 1 0
Flint 1 171 525 2 0.7 0 0
Cactus 1 150 500 2 1.0 0 −1(Spiny 刺棘)
Bone 1 200 400 1 1.0 0 0
Obsidian 3 89 700 2 0.8 3 0
Netherrack 2 131 400 1 1.2 0 1
Slime 0 500 150 0 1.5 0 0
Paper 0 30 200 0 0.3 0 0
Cobalt 4 800 1400 3 1.75 2 0
Ardite 4 500 800 3 2.0 0 2(Mossy 长苔)
Manyullyn 5 1200 900 4 2.5 0 0
Copper 1 180 500 2 1.15 0 0
Bronze 2 550 800 2 1.3 1 0
Alumite 4 700 800 3 1.3 2 0
Steel 4 750 1000 4 1.3 2 0
BlueSlime 0 1200 150 0 2.0 0 0
PigIron 3 250 600 2 1.3 1 0

原文错值 → 正确值(逐项)

| 材料 | 原文耐久 | 正确 | 原文挖掘 | 正确 | 原文攻击 | 正确 | 原文握持 | 正确 | |------|---------|------|---------|------|---------|------|---------|------|--------| | Wood | 10 | 97 | 2.00 | 350 | 0.50 | 0 | 0.50 | 1.0 | | Stone | 60 | 131 | 4.00 | 400 | 1.00 | 1 | 0.50 | 0.5 | | Iron | 250 ✓ | 250 | 6.00 | 600 | 2.00 | 2 | 1.00 | 1.3 | | Flint | 100 | 171 | 3.50 | 525 | 1.50 | 2 | 0.60 | 0.7 | | Cactus | 150 ✓ | 150 | 4.00 | 500 | 1.50 | 2 | 0.65 | 1.0 | | Bone | 200 ✓ | 200 | 4.50 | 400 | 1.75 | 1 | 0.70 | 1.0 | | Obsidian | 300 | 89 | 5.00 | 700 | 2.50 | 2 | 0.80 | 0.8 | | Netherrack | 150 | 131 | 3.50 | 400 | 1.75 | 1 | 0.60 | 1.2 | | Slime | 300 | 500 | 3.50 | 150 | 1.25 | 0 | 1.25 | 1.5 | | Paper | 15 | 30 | 2.00 | 200 | 0.50 | 0 | 0.30 | 0.3 | | Cobalt | 500 | 800 | 9.00 | 1400 | 3.50 | 3 | 1.00 | 1.75 | | Ardite | 600 | 500 | 5.00 | 800 | 3.00 | 3 | 1.00 | 2.0 | | Manyullyn | 800 | 1200 | 7.00 | 900 | 4.00 | 4 | 1.10 | 2.5 | | Copper | 170 | 180 | 5.50 | 500 | 1.75 | 2 | 0.85 | 1.15 | | Bronze | 350 | 550 | 7.00 | 800 | 2.50 | 2 | 0.90 | 1.3 | | Alumite | 550 | 700 | 8.00 | 800 | 3.25 | 3 | 0.95 | 1.3 | | Steel | 600 | 750 | 7.00 | 1000 | 3.00 | 4 | 1.00 | 1.3 | | Blue Slime | 400 | 1200 | 4.00 | 150 | 1.75 | 0 | 1.25 | 2.0 | | Pig Iron | 450 | 250 | 6.00 | 600 | 2.75 | 2 | 1.10 | 1.3 |

已订正 3:原文整表遗漏「挖掘等级(harvestLevel)」列。这是 TConstruct 最核心的概念之一:MiningSpeed 只影响挖掘速度,能否挖动某方块由 HarvestLevel 决定。Manyullyn 的 5 级是全表最高。 已订正 4:原文遗漏 reinforced(强化等级)与 stonebound(石缚值)两列。Ardite 的 stonebound = 2 即自带长苔(Mossy),Cactus 的 -1 即自带刺棘(Spiny)。

⚠️ 幻觉模式规避提示:TConstruct 是上游库,会为 Thaumcraft 等 mod 注册额外材料。例如 MaterialID.Thaumium(harvestLevel 3, 耐久 400, 速度 700, 攻击 2, 握持 1.3)仅在检测到 Thaumcraft 时才注册(TinkerTools.java:1367-1370),不是 TConstruct 自有材料,故未列入上表。

属性如何进入成品工具

ToolBuilder(ToolBuilder.java:205-268)在合成时把部件材料属性写入 NBT:

NBT 字段 计算式 证据
MiningSpeed headMat.toolSpeed()(直接取头部材料速度值,不除 100) ToolBuilder.java:247
HarvestLevel headMat.harvestLevel() ToolBuilder.java:248
Attack attack / heads + item.getDamageVsEntity(null),若 attack % heads != 0 则 attack++ ToolBuilder.java:216-217
TotalDurability durability / heads * (0.5 + heads * 0.5) * modifier * item.getDurabilityModifier() ToolBuilder.java:215
Modifiers item.getModifierAmount()(修饰槽位数) ToolBuilder.java:269
Unbreaking buildReinforced(head, handle, accessory, extra) ToolBuilder.java:265
Shoddy buildShoddy(head, handle, accessory, extra) ToolBuilder.java:266

其中 heads 是头部部件数量(双头工具如伐木斧为 2),modifier 是各握持类部件 handleDurability() 之和经 modifier *= (0.5 + handles*0.5); modifier /= handles; 归一后的结果(ToolBuilder.java:210-213)。

⚠️ 源码文档不一致(mod 自身缺陷):addToolMaterial 的 javadoc 写「miningspeed — Base mining speed, divided by 100 in use」(TConstructRegistry.java:222),但 ToolBuilder.java:247 把 headMat.toolSpeed() 原值写入 NBT,未做除 100。注释与实现不一致。

⚠️ Modifier 基类不在本仓:getToolSpeedInBlocks()(把 MiningSpeed 换算为方块/刻)等最终换算逻辑位于外部 Mantle 库的 Modifier 类中,本仓库无 Modifier.java,故「MiningSpeed NBT 值 → 实际挖掘速度」的除数无法在本仓核实。

部件类型

  • 头部部件 — 挖掘/攻击部分(镐头、铲头、斧头、剑刃、矛刃、镰刀刃等)
  • 握持/附件部件 — 手柄(toolRod)、强化手柄(toughRod)、绑定物(binding)、强化绑定物(toughBinding)、大板(largePlate)

原文「板材 — 用于工具绑定和加固」表述含糊;源码中 binding(绑定)与 toughBinding(强化绑定)是两个独立部件物品,非泛称「板材」。

制作

工具部件通过液态金属 + 模具(Cast)在浇注台浇铸,或用木模板(Pattern)在工具台/部件构建台压制。

已订正:原文写「在浇铸台(../block/CastingChannelBlock)浇铸」——链接指向错误。CastingChannelBlock 是浇注通道,不是浇注台。真正的浇注台是 TConstruct:SearedBlock 的 CastingTableLogic,而本 wiki 当前无对应条目,按规范不写失效链接,此处仅以纯文本标注。

相关条目

浏览全部模组