Addons

基本信息

属性 值
注册名 openmodularturrets:addonDam / :addonSolar / :addonReactor / :addonRecycler / :addonConcealer / :addonPotentia / :addonSerialPort
数量 7 种(5 种无条件注册,2 种按模组条件注册)
物品类 openmodularturrets.items.addons.DamageAmpAddonItem / SolarPanelAddonItem / RedstoneReactorAddonItem / RecyclerAddonItem / ConcealerAddonItem / PotentiaAddonItem / SerialPortAddonItem,共同父类 AddonItem
最大堆叠 1(AddonItem.java:13)
安装位置 底座的 AddonSlot(槽位 9、10)
创造标签 ModularTurrets.modularTurretsTab(AddonItem.java)

功能

附加件装入底座的 AddonSlot(Tier 1 无附加件槽;Tier 2 – Tier 5 各 2 个),为整座炮塔提供被动增益。

逐种效果

附加件 效果(取自模组自带 lang) 相关配置
Addon - Damage Boost “Adds a health based percentage damage boost to each shot.” 无独立配置项
Addon - Solar Generator “Generates ___ RF/t in sunlight.” addons/solar(默认 10 RF/tick)
Addon - Redstone Reactor “Generates ___ RF per ___ redstone dust in Ammo inventory.” addons/redstone(默认 1550 RF)
Addon - Recycler “Adds a chance for a turret to not use ammo, as well as a chance to generate ammo, per shot.” addons/recycler(同一键被读两次,见下方「配置键冲突」)
Addon - Turret Concealer “Visually conceals turrets inside turret base if no target is present.” 无
Addon - Potentia Converter “Converts piped Potentia into RF (__ RF per unit). Adds an internal Potentia capacity of ___. Adding Ordo vis through a network multiplies RF conversion rate x10.” ModCompatibility/Potentia Addons' RF conversion ratio per 1 essentia(默认 500)、ModCompatibility/How much essentia the Potentia Addon can store(默认 20)
Addon - Serial Port “Enables OpenComputers and ComputerCraft compatibility.” 见下方条件注册

配置来源:ConfigHandler.java:233-241(solar / redstone / recycler)与 :291-295(potentia)。

太阳能发电的结算在炮塔的逐 tick 流程中调用 TurretHeadUtil.updateSolarPanelAddon(base)(TurretHead.java:253)。

回收附加件的概率判定在 TurretHeadUtil 的供弹逻辑中:chance > getRecyclerNegateChance() 且 chance < (getRecyclerNegateChance() + getRecyclerAddChance()) 时调用 base.decrStackSize(i, -1) 生成弹药(即堆叠 +1),否则 decrStackSize(i, 1) 正常消耗(TurretHeadUtil.java:630-641)。

伪装附加件通过 TurretHead.concealmentChecks() 生效(TurretHead.java:254),配合底座的 shouldConcealTurrets 字段(TurretBase.java:62)。

条件注册

附加件 注册条件
Addon - Potentia Converter ModCompatibility.ThaumcraftLoaded(Items.java:98-102)
Addon - Serial Port ModCompatibility.ComputercraftLoaded || ModCompatibility.OpenComputersLoaded(Items.java:105-108)

未满足条件时该物品不注册,连 lang 条目(item.addonPotentia.name / item.addonSerialPort.name)也不生效。其余 5 种无条件注册。

数值

数值名 值
每格最大堆叠 1
附加件槽位数(Tier 1) 0
附加件槽位数(Tier 2 – 5) 2(槽位 9、10)
太阳能发电量 10 RF/tick(addons/solar)
红石反应堆发电量 1550 RF(addons/redstone,按供弹区红石粉数量计)
回收免耗弹概率 10%(getRecyclerNegateChance)
回收生成弹概率 声明默认 5%(getRecyclerAddChance),但见下方配置键冲突
潜势转换比 500 RF / 1 essentia
潜势内置容量 20 essentia

来源:ConfigHandler.java:233-241、:291-295;槽位分布见 TurretBaseTierFiveContainer.java:31-32。

配置键冲突(已核实):ConfigHandler.java:239 与 :241 用完全相同的分类与键名读取配置,只有默认值不同:

recyclerNegateChance = config.get("addons", "recycler", 10, "Recycler ammo use negation % chance").getInt();
recyclerAddChance   = config.get("addons", "recycler",  5, "Recycler ammo add % chance").getInt();

Forge 1.7.10 的 Configuration.get(category, key, default, comment) 在同一 category+key 已被读取后会返回既有 Property,因此第二次调用的默认值 5 不会生效,两个字段实际取同一个值。表中的 10% / 5% 是源码里声明的默认值,不是运行时必然得到的值。本条按源码原文记录,不做推测性修正。

交互

触发 行为
放入 AddonSlot 逐 tick 生效,永久生效,无消耗
放入普通槽位 被当作普通物品存放,不产生任何效果
堆叠 不可能 —— 堆叠上限 1

合成配方

5 种通用附加件有固定配方(与已加载模组无关),逐种布局不同:

Addon - Solar Generator(RecipeHandler.java:171-186)

AAA
CBC
DED
字符 物品
A 玻璃板
B 青金石块
C 红石粉
D 铁锭(物品字典 ingotIron)
E IO Bus

Addon - Redstone Reactor(RecipeHandler.java:188-201)

CAC
ABD
CAC
字符 物品
A 铁锭(ingotIron)
B 末影之眼
C 下界石英
D IO Bus

Addon - Damage Boost(RecipeHandler.java:203-212)

AAA
B B
AAA
字符 物品
A 铁锭(ingotIron)
B 末影珍珠

Addon - Recycler(RecipeHandler.java:214-227)

ABA
BCD
ABA
字符 物品
A 金锭(ingotGold)
B 岩浆膏
C 末影箱
D IO Bus

Addon - Turret Concealer(RecipeHandler.java:229-242)

ABA
BCD
ABA
字符 物品
A 铁锭(ingotIron)
B 下界石英
C 箱子
D IO Bus

Addon - Potentia Converter 与 Addon - Serial Port 无通用配方 —— 二者只能通过 ThaumcraftRecipeHandler(RecipeHandler.java:359-361)与 ComputerRecipeHandler(RecipeHandler.java:363-366)获得,详见 配方系统。

相关条目