工具工作站(Tool Stations)
Tinkers’ Construct 的 8 个工作方块。全部在 tools/TinkerTools.java:251-280 注册,注册名原样保留大写,与 TinkerWorld 的点号风格(slime.gel)并存于同一 mod 内。
基本信息
| 属性 | 值 |
|---|---|
| 模组 | tconstruct |
| 注册代码 | tools/TinkerTools.java:251-280 |
| 注册方块数 | 8 |
| TileEntity 类 | 5(5 个都只服务于 ToolStationBlock) |
8 个注册方块
| 注册名 | 字段(TinkerTools) |
实际类 | ItemBlock | 未本地化名 |
|---|---|---|---|---|
ToolStationBlock |
toolStationWood |
tconstruct.tools.blocks.ToolStationBlock |
ToolStationItemBlock |
— |
ToolForgeBlock |
toolForge |
ToolForge |
MetadataItemBlock |
— |
CraftingStation |
craftingStationWood |
CraftingStation |
默认 | — |
CraftingSlab |
craftingSlabWood |
tconstruct.tools.blocks.CraftingSlab |
CraftingSlabItemBlock |
— |
FurnaceSlab |
furnaceSlab |
FurnaceSlab(Material.rock) |
默认 | FurnaceSlab |
HeldItemBlock |
heldItemBlock |
tconstruct.tools.blocks.EquipBlock(Material.wood) |
默认 | Frypan |
BattleSignBlock |
battlesignBlock |
BattlesignBlock(Material.wood) |
默认 | Battlesign |
CraftedSoil |
craftedSoil |
tconstruct.world.blocks.SoilBlock |
CraftedSoilItemBlock |
TConstruct.Soil,脚步声 soundTypeGravel |
⚠️
HeldItemBlock的未本地化名是Frypan,TileEntity 也是FrypanLogic(TinkerTools.java:245,275-276)。注册名与类名/资源名三处都不一样,是这一族的命名特例。 ⚠️CraftedSoil双重setBlockName:TinkerTools.java:248先setBlockName("TConstruct.Soil")。源码注释写着// TODO: Untwine this。
ToolStationBlock 的 14 个 metadata
这一个方块承载了 5 种工作站的全部功能,createNewTileEntity(tools/blocks/ToolStationBlock.java:179-188)按 metadata 分派:
| metadata | TileEntity | 功能 | GUI id(getGui,:191-197) |
|---|---|---|---|
| 0 | ToolStationLogic |
工具站 | 0 |
| 1 / 2 / 3 / 4 | PartBuilderLogic |
部件制作器 ×4 种木种 | 1 |
| 5 | PatternChestLogic |
图案柜 | 6 |
| 6 / 7 / 8 / 9 | PartChestLogic |
部件柜 ×4 种木种 | 6(md 6)/ 2 |
| 10 / 11 / 12 / 13 | StencilTableLogic |
模板桌 ×4 种木种 | 3 |
| 其它 | null |
不可用 | — |
对应 5 个 TileEntity 注册(TinkerTools.java:263-267):
| 注册名(TE id) | 类 |
|---|---|
ToolStation |
ToolStationLogic |
PartCrafter |
PartBuilderLogic |
PatternHolder |
PatternChestLogic |
PartHolder |
PartChestLogic |
PatternShaper |
StencilTableLogic |
ToolStationBlock 的 OreDictionary 名
TinkerTools.java:252-260 共 9 条 registerOre,把 1 个方块的 9 个 metadata 映射到 4 个逻辑名:
| OreDict 名 | metadata |
|---|---|
tconstructToolStation |
0 |
tconstructPartBuilder |
1、2、3、4 |
tconstructPatternChest |
5 |
tconstructStencilTable |
10、11、12、13 |
metadata 6–9(
PartChestLogic)没有 OreDict 名。
数值
| 属性 | 值 | 来源 |
|---|---|---|
| 注册方块数 | 8 | TinkerTools.java:251-280 |
ToolStationBlock 有效 metadata |
14(0–13) | ToolStationBlock.java:180-186 |
| 其余 7 个方块的 metadata | 多为单变体 | 未在 preInit 见到变体初始化 |
| TileEntity 数 | 5 | TinkerTools.java:263-267 |
| TileEntity 总注册数(全 mod) | 16 | TinkerTools 5 + TinkerSmeltery 7 + TinkerArmor 1 + TinkerMechworks 1 + 另见分类页 |
交互
| 方块 | 右击行为 |
|---|---|
ToolStationBlock md 0 |
打开工具站 GUI(维修 / 重铸 / 换手柄) |
ToolStationBlock md 1–4 |
打开部件制作器 GUI |
ToolStationBlock md 5 |
打开图案柜 |
ToolStationBlock md 6–9 |
打开部件柜 |
ToolStationBlock md 10–13 |
打开模板桌 |
ToolForgeBlock |
打开工具熔炉 GUI |
CraftingStation |
3×3 合成 + 9 个工具词条格 |
CraftingSlab |
半高工作台 |
FurnaceSlab |
半高熔炉,TileEntity 为 FurnaceLogic(TConstruct.Furnace) |
HeldItemBlock |
打开展品 GUI,渲染手持工具 |
BattleSignBlock |
插在地上渲染小兵模型 |
合成配方
本族的配方分散在 TinkerTools.addRecipes() 与 TinkerWorld 的 addRecipes() 中,每个 metadata 一条(needsMetaRecipes 机制)。本页不逐条罗列;可复现的检索命令:
cd mirror/TinkersConstruct
grep -n "toolStationWood\|craftingStationWood\|craftingSlabWood\|toolForge\|furnaceSlab\|heldItemBlock\|battlesignBlock\|craftedSoil" \
src/main/java/tconstruct/tools/TinkerTools.java
相关条目
- Tool Part - 部件制作器做的东西
- SmelteryBlock - 熔炉区主体
- SearedSlab - 另半砖家族
- Smeltery Village - 上述方块生成的村庄建筑
源码
tconstruct/tools/TinkerTools.java、tconstruct/tools/blocks/ToolStationBlock.java,git 8f6e2496f7(tag 1.14.113-GTNH)。