Turret Parts
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | openmodularturrets:sensorOne – :sensorFive、:barrelTierOne – :barrelTierFive、:chamberTierOne – :chamberTierFive、:ioBus |
| 数量 | 16 种(Sensor × 5 + Barrel × 5 + Chamber × 5 + IO Bus × 1) |
| 物品类 | openmodularturrets.items.SensorTierOneItem … SensorTierFiveItem、BarrelTierOneItem … BarrelTierFiveItem、ChamberTierOneItem … ChamberTierFiveItem、IOBusItem |
| 物品栏 | 全部为纯 Item,无 TileEntity、无 GUI、无 RF 需求 |
| 创造标签 | ModularTurrets.modularTurretsTab |
功能
这 16 个物品是炮塔的合成中间件,本身不进入游戏世界,也没有任何独立行为。它们的唯一作用是作为 Turret Heads、Turret Base、Expanders、Upgrades、Addons 的配方材料。
IO Bus 是出现频率最高的部件:几乎所有扩展器、升级件与四个附加件的配方都要求 1 个 IO Bus。它自身配方(RecipeHandler.java:448-459):
A
BBB
C
| 字符 | 物品 |
|---|---|
A |
金锭(ingotGold) |
B |
红石粉 |
C |
铁锭(ingotIron) |
Sensor / Barrel / Chamber 三条升级链的等级对应关系可以从配方结构读出(VanillaRecipeHandler.java:15-180):每个高一级的部件都以低一级同种部件为核心材料外包一层。
部件等级与炮塔等级是两套独立编号。部件链的 Tier 2 – 5 配方只在 6 套配方处理器中提供(
VanillaRecipeHandler中 16 处引用,另有 ThermalExpansion / EnderIO / Mekanism 各 8 处),走 配方系统;只有 Tier 1 的 Barrel / Chamber / Sensor 配方是固定的(RecipeHandler.java:50-83)。
数值
| 物品 | 名称(en_US.lang) | Tier 1 配方是否存在 |
|---|---|---|
ioBus |
IO Bus | 是(固定) |
barrelTierOne |
Barrel (Tier 1) | 是(固定) |
barrelTierTwo – barrelTierFive |
Barrel (Tier 2) – (Tier 5) | 否(走处理器) |
chamberTierOne |
Chamber (Tier 1) | 是(固定) |
chamberTierTwo – chamberTierFive |
Chamber (Tier 2) – (Tier 5) | 否(走处理器) |
sensorTierOne |
Sensor (Tier 1) | 是(固定) |
sensorTierTwo – sensorTierFive |
Sensor (Tier 2) – (Tier 5) | 否(走处理器) |
这些物品全部不携带数值属性(SensorTierOneItem / BarrelTierOneItem / ChamberTierOneItem / IOBusItem 四个类只调用 setUnlocalizedName + setCreativeTab + registerIcons)。
交互
| 触发 | 行为 |
|---|---|
| 放入物品栏 | 无特殊行为 |
| 放入底座槽位 | 会被当作普通物品存放 —— TurretBase.isItemValidForSlot 无条件 return true(TurretBase.java:679-681) |
| 玩家手持 | 无特殊行为 |
注意:底座的
AddonSlot/UpgradeSlot有类型过滤,因此部件不能装进附加件槽或升级槽(这两个容器类位于client/gui/customSlot/)。
合成配方
Tier 1 固定配方(RecipeHandler.java:50-83)
Barrel (Tier 1)
AAA
B
AAA
| 字符 | 物品 |
|---|---|
A |
圆石 |
B |
木板(plankWood) |
Chamber (Tier 1)
AAA
BC
AAA
| 字符 | 物品 |
|---|---|
A |
圆石 |
B |
木板(plankWood) |
C |
红石粉 |
Sensor (Tier 1)
A
ABA
A
| 字符 | 物品 |
|---|---|
A |
红石粉 |
B |
木板(plankWood) |
这三条配方在源码中有注释说明其用意:“Tier 1 static recipes (Because they shouldn’t use expensive mod items, only redstone, cobblestone and planks)”(
RecipeHandler.java:49)。
Tier 2 – 5 配方
由 配方系统 的处理器提供。VanillaRecipeHandler 中 Barrel 全部使用布局 AAA / ␣B␣ / AAA(VanillaRecipeHandler.java:15-64),Chamber 与 Sensor 另用各自布局(:65-180)。
未注册的死代码
以下两个类存在但从未注册,不构成游戏内容:
| 类 | 状态 | 证据 |
|---|---|---|
openmodularturrets.items.ContainmentChamberItem |
从未 new,无 registerItem,lang 中无 item.containmentChamber.name |
grep -rn 'ContainmentChamber' --include=*.java src/ 仅命中类定义自身(ContainmentChamberItem.java:12,14,17,23)与 Names.java:95 的常量声明 |
openmodularturrets.items.EnergeticBarrelItem |
从未 new,无 registerItem,lang 中无 item.energeticBarrel.name |
grep -rn 'EnergeticBarrel' --include=*.java src/ 仅命中类定义自身(EnergeticBarrelItem.java:12,14,17,23)与 Names.java:96 的常量声明 |
Items.init()(共 35 次 GameRegistry.registerItem)中不含这两项。
相关条目
- Turret Base - 部件的最大消费者
- Turret Heads - 直接使用 Barrel / Chamber 部件
- Recipe System - Tier 2 – 5 部件配方由哪套处理器提供