OpenModularTurrets

[!INFO] Git Commit: d68cad3 | Updated: 2026-10-02

Open Modular Turrets(OMT)是一个 GTNH 1.7.10 的防御向自动化模组,核心是一套「能源底座 + 可换炮塔头」的可扩展防御体系。玩家先造 5 个等级的 Turret Base(炮塔底座),底座吃 RF、装弹药、装升级件与附加件;10 种 Turret Head(炮塔头) 贴附在底座任意一面,按底座等级分 Tier 1 – Tier 5 逐级解锁。每个底座支持六面挂载,等级只向上兼容 —— Tier 5 底座可以挂全部 10 种炮塔。

模组注册 36 个方块 + 35 个物品 + 27 个 TileEntity + 5 个实体 + 12 个网络封包 + 7 个 GUI ID + 1 条指令。方块分四类:炮塔底座(5)、炮塔头(10)、扩展器(10)、围栏与硬墙(10),外加曲柄(1)。物品分四类:弹药(5)、升级件(5)、附加件(7)、炮塔部件(16)。

设计上有两个值得注意的点。其一,炮塔的射程、伤害、射速、精度、耗能全部在配置文件里,不在代码里硬编码 —— 10 种炮塔各对应一个 TurretSetting 结构与一个配置分类。而每种炮塔的 Enabled 开关直接包住方块注册,把某炮塔关掉等于它在世界里彻底消失。其二,底座只进电不出电(extractEnergy 恒返回 0),所有 RF 都只能被炮塔自身消耗,这让它在自动化产线上既是储能点又是消耗点。

modid 与目录名一致:openmodularturrets(源码 ModInfo.ID = "GRADLETOKEN_MODID",经 gradle.properties 的 gradleTokenModId 替换为 modId = openmodularturrets)。仓库存根目录名 OpenModularTurrets 是驼峰,与 modid 无对应关系。jar 内只有 1 个 @Mod 类(openmodularturrets.ModularTurrets),不存在多模组共用 jar 的情况。

硬依赖只有 CoFH Energy API(curse.maven:cofh-lib-220333:2388748,dependencies.gradle 中以 implementation 声明)。@Mod(dependencies=...) 里列的 7 个模组全是 after: 软依赖,纯净 Forge 下也能加载 —— 此时只剩 5 个底座、10 个围栏硬墙、35 个物品可用,10 种炮塔因无对应部件材料而降级。

本模组不使用 ModularUI2。它的 GUI 是手写的 GuiContainer + 自绘贴图(textures/gui/configure.png 等),grep -rn 'modularui|ModularUI' --include=*.java --include=*.gradle --include=*.properties . 全仓 0 命中。

模组自带一套内嵌 wiki 文本(assets/openmodularturrets/wiki/{en_US,en_GB},各 12 个 block 说明文件),本条目中的炮塔行为描述以其为佐证之一,但所有数值均取自源码,未采信 wiki 中的任何数字。

方块列表

  • Turret Base - 5 个等级的炮塔底座,提供 RF 储能、3×3 供弹区、升级/附加件槽与权限体系;六面可挂炮塔
  • Turret Heads - 10 种可配置炮塔头(Disposable / Potato / Gun / Incendiary / Grenade / Relativistic / Rocket / Teleporter / Laser / Rail Gun),含全部射程伤害耗能数值表
  • Expanders - 10 个扩展器方块,动力版给底座追加 RF 容量,库存版追加 9 格空间
  • Fences & Hard Walls - 10 个纯建筑方块(栅栏 × 5 + 硬墙 × 5),无 TileEntity,配方产出各 16 个
  • Basic Turret Base Crank - Tier 1 底座的唯一无 RF 供能手段,每次右键注入 50 RF

物品列表

  • Ammo - 5 种可合成弹药;另含 2 个仅作投射物渲染贴图、0 配方的已注册物品
  • Upgrades - 5 种升级件,按堆叠数线性加成射程/射速/精度/效率/散射
  • Addons - 7 种附加件(伤害放大/太阳能/红石反应堆/回收/伪装 + 条件注册的潜势转换器/序列端口)
  • Turret Parts - 16 个合成中间件(Sensor/Barrel/Chamber 各 × 5 + IO Bus),并记录 2 个从未注册的死类

TileEntity 列表

实体列表

  • Projectiles - 5 个已注册实体 + 2 个未注册投射物类 + 2 种伤害源(普通/穿甲)

GUI 列表

  • Turret Base GUI - 7 个 GUI ID:5 个底座界面 + 配置面板 + 库存扩展器界面;含 12 个网络封包的对照表

配置列表

  • Config - 约 60 个配置键、9 个分类、10 组炮塔数值、1 条 /omtchangeowner 指令;含 2 个无读取者的死配置

配方列表

  • Recipe System - 6 套配方处理器与 auto 选择逻辑,加上约 61 条与已加载模组无关的固定配方

世界生成列表

  • 地牢战利品注入 - 3 个方块以权重 15 注入下界要塞的 3 种箱子池,受 Should we generate dungeon loot? 整体开关控制

集成列表

  • CoFH Energy - 唯一硬依赖,EnergyStorage / IEnergyHandler 的使用范围
  • Compatibility Mods - 8 个被探测模组 + Waila / NEI 的 @Optional 钩子 + 7 个仅编译用的开发期依赖