Tinkers Mechworks
[!INFO] Git Commit:
6274195| Updated: 2026-10-01
Tinkers Mechworks 是 GTNH 1.7.10 的 红石自动化 / 方块搬运模组(MODID = TMechworks)。它不是 Tinkers’ Construct 的工具或材料附属:全模组 5 个方块 + 2 个物品,核心是 4 种用红石触发的「红石机器」(Drawbridge 伸缩桥 4 个变体 + Igniter 点火器),以及一套跨区块、跨维度的 Signal Bus 信号总线网络(总线 + 终端 + 线轴)。它从 Tinkers’ Construct 借的只有材料锭与工具部件作为配方原料,以及 TCon 手册页面。
源码根:/Users/evlos/a/mirror/TinkersMechworks/;包名:tmechworks;资源域 tmechworks。
| 维度 | 内容 |
|---|---|
| 模组 ID | TMechworks(混合大小写,实测自 Repo.modId) |
| 名称 | Tinkers Mechworks |
| Minecraft | 1.7.10 |
| Forge | 10.13.4.1614(required-after:Forge@[10.13.0.1208,]) |
| TinkersConstruct 依赖 | 1.14.58-GTNH(compile) |
| Mantle 依赖 | 0.5.1(compile,TCon 的底层库) |
| 硬依赖声明 | required-after:TConstruct + required-after:Mantle |
| 方块 / 物品 | 5 / 2(方块含 4 个 RedstoneMachine meta) |
| GUI | 2(drawbridgeID = 0、advDrawbridgeID = 1) |
| 网络包 | 1(PacketDrawbridge,discriminator 0) |
| 命令 | 1(/tmech_blockInfo,OP 级 2) |
| 配方 | 11 |
| 配置项 | 1(drawbridge.blacklist 字符串列表) |
| 条目数 | 20(8 方块 / 2 物品 / 1 多方块 / 9 机制) |
方块列表
- Drawbridge -
redstoneMachinemeta 0;每 5 tick 伸/缩 1 格,最大 15 格,用FakePlayerLogic放置方块 - Igniter -
redstoneMachinemeta 1;红石点燃/熄灭正前方 1 格的火 - Advanced Drawbridge -
redstoneMachinemeta 2;16 槽 + 伪装(camo)槽,GUI ID 1 - Long Drawbridge -
redstoneMachinemeta 3;同 Drawbridge 但maxExtension = 64 - Signal Bus - 信号总线方块,是本 mod 唯一的多方块成员,可任意方向拼接
- Signal Terminal - 信号终端,6 面独立通道,接收总线信号并按面输出红石
- Mesh Filter - 薄板过滤方块,8 个 subFilter 槽,本模组实际启用 5 种
- Dynamo - 空实现:只有发光(lightLevel 1.0)与外观,
DynamoLogic是空类
物品列表
- Length Wire - 8 个一组的线材,Signal Bus / Spool 的配方原料
- Spool of Wire - 耐久 256 的「无线」工具:右键终端设目标、右键总线消耗曼哈顿距离
多方块结构
- Signal Bus 网络 - 本 mod 唯一的多方块:无固定尺寸、无控制器,由
MultiblockBaseLogic按placedSides邻接图自动聚合
机制与设置
- 过滤网类型 - 5 种 subFilter 的通过规则(empty / wide / slat / mesh / fine)
- Drawbridge 放置规则 - 137 条
PlacementType白名单,但运行时完全未被读取 - Drawbridge GUI - GUI ID 0/1、容器槽位、5 个方向按钮(缺东)与「伸出时禁装填」
- 方块物品形态 - 4 个
ItemBlock、subtype 命名与 tooltip(方向字符串与逻辑错位) - 信号系统接口 -
ISignalBusConnectable/ISignalTransceiver+ 手持 Spool 时的 tether 覆盖渲染 - Fake Player - Drawbridge 放置方块时使用的
FakePlayerLogic(UUID 为 null) - 网络管线 -
PacketPipeline+ 唯一的PacketDrawbridge(13 字节,C2S 单向) - 配置文件 - 唯一的
drawbridge.blacklist+ 3 项不可关闭的硬编码黑名单 - 命令行 -
/tmech_blockInfo调试方块(Z 坐标打印错成 posX)
跨条目交叉引用
- 渲染注册(
client/ClientProxy.registerRenderer()):4 个ISimpleBlockRenderingHandler(MachineRender/SignalBusRender/SignalTerminalRender/FilterRender)+ 1 个 TESR(DynamoLogic→DynamoSpecialRender)+ 1 个物品渲染器(Dynamo→DynamoItemRender)。5 个方块全部走自定义渲染,无一个是普通方块模型。 - 创意标签页:
TabTools(lib/util/TabTools.java)继承CreativeTabs,图标为 Signal Terminal。getTabIconItem()返回null并带// TODO TAKE CARE OF THIS,实际靠覆写 Forge 的getIconItemStack()生效。 - RedstoneMachine 的 4 个 meta 共享同一个方块 ID:
TMechworks:redstoneMachinemeta 0/1/2/3 分别对应 4 个不同 TE 与 4 组不同贴图与 2 个 GUI。见 Drawbridge。 - Signal Bus 三件套:Signal Bus(总线)→ Signal Terminal(终端)→ Spool of Wire(跨维度连接工具)。终端必须先归属到某个总线才能工作。
- Drawbridge 的方块支持面由 Drawbridge 放置规则 的 110 项白名单决定,不在白名单的方块会被烧掉(
GTFO)。 - Mesh Filter 的 8 个槽只用了 5 个,subFilter 索引 0-4 由 过滤网类型 定义,索引 5-7 永远为 null。
- 配方全部集中在
MechRecipes.registerAllTheThings(),其中// Dynamo Recipes是空注释 —— Dynamo 与 Mesh Filter 都没有配方。
第三方模组集成
- Tinkers’ Construct 1.14.58-GTNH(
compile,硬依赖)—— 仅作原料与 API 宿主,不新增任何工具/材料/部件TConstructRegistry.getItemStack取 6 种材料锭作 subFilter 图标与配方料:ingotAluminumBrass/ingotBronze/ingotCopper/ingotAluminum/ingotAlumite/ingotCobalt/ingotArditeTConstructRegistry.getItem取blankPattern(空 pattern)与heavyPlate(大板)作配方料TinkerWorld.slimePad/TinkerWorld.bloodChannel是唯二进入 Drawbridge 放置白名单的 TCon 方块(且该白名单当前未生效,见 Drawbridge 放置规则)ToolCore/ToolPart被 mesh 过滤网用作「过滤掉 TCon 工具部件」的判据TinkerSmeltery.lavaTank/lavaTankNether被硬编码进黑名单(不可配置,见 配置文件)tinker:compressed_alubrass贴图被 Dynamo 借用- TCon 物品本体说明见 tinkersconstruct,本条目不复述
- Mantle 0.5.1(
compile,硬依赖)—— 本 mod 的结构性基座mantle.blocks.abstracts.InventoryBlock/InventoryLogic:RedstoneMachine、DrawbridgeLogic、AdvancedDrawbridgeLogic的父类;getGuiContainer由本 mod 覆写mantle.blocks.iface.IActiveLogic/IFacingLogic:红石激活与朝向契约mantle.common.network.AbstractPacket+PacketPipeline的 codec 基类MantleClientRegistry.registerManualLargeRecipe:2 条 TCon 手册配方(drawbridge / igniter)mantle.world.CoordTuple/CoordTuplePair/WorldHelper/BlockUtils/ComparisonHelper/ClientRegistry/FakePlayer- Mantle 未收录于本 wiki,仅作依赖说明
与同族 5 个仓的区别(重点)
/Users/evlos/a/mirror/ 下有 5 个 Tinker 相关仓,本条目只覆盖 TinkersMechworks,其余均已在或不在本 wiki 收录范围:
| 仓 | modid | 定位 | 是否收录 |
|---|---|---|---|
TinkersMechworks |
TMechworks |
红石自动化 / 方块搬运(本条目) | ✅ 本分类 |
TinkersConstruct |
TConstruct |
本体:工具、材料、熔炉、史莱姆岛 | ✅ tinkersconstruct |
Tinkers-Defense |
tconstructdefense |
防御扩展:GTNH 专属金属 | ✅ tinkers-defense |
TinkersGregworks |
tconstructgregtech |
TCon × GregTech 5 纯兼容层 | ✅ tinkersgregworks |
ThaumicTinkerer |
ThaumicTinkerer |
Thaumcraft × TCon 附魔 | ❌ 未收录于本 wiki(brief 误称已建 thaumictinkerer) |
判定「是不是同一个 mod」的三条硬证据:
- modid 不同:本 mod 是
TMechworks(lib/Repo.java:5实读),与TConstruct/tconstructdefense/tconstructgregtech/ThaumicTinkerer全部不同。 - 源码树无 TCon 工具代码:本仓 66 个 Java 文件中没有
ToolMaterial/ToolPart/IToolStats/MeltingRecipe等 TCon 工具体系类;TCon 全部以只读引用形式出现(TConstructRegistry.getItem、TinkerWorld.slimePad、ToolCore instanceof等)。 - 依赖方向相反:本 mod
compileTCon(dependencies.gradle),但 TCon 不依赖本 mod;本 mod 不新增任何工具、材料、矿物或合金。
与 Tinkers’ Construct 本体的实际耦合面(很窄,全部是只读):
- 6 个材料锭 +
blankPattern+heavyPlate作为配方原料(MechRecipes11 条配方全部依赖) - 2 个方块进放置白名单(
slimePad/bloodChannel,但白名单当前未生效) - 2 个类名进过滤网
instanceof链(ToolCore/ToolPart) - 2 个熔岩罐进硬编码黑名单
- 1 张贴图被借用(
tinker:compressed_alubrass) - 2 条 TCon 手册配方(
registerManualLargeRecipe)
因此:本 mod 与 TCon 本体的关系 ≈ 「一个用 TCon 铝黄铜造零件的独立自动化 mod」,而不是 TCon 的功能扩展。理解这一点可避免把它归入 TCon 工具体系。