AE2 Stuff

[!INFO] Git Commit: 0b96244 | Updated: 2026-10-01

AE2 Stuff(内部 modid ae2stuff)是 Applied Energistics 2 的附属模组,由 bdew 编写(Scala + 少量 Java)。它给 AE2 网格补上 4 台机器与 3 件工具:把「样板编码」「压印」「晶体催生」「无线接入」四件事从 AE2 原版的限制里解放出来,并附带一个客户端网络可视化工具。

本条目只描述 1.7.10 / Forge 10.13.4.1614 这一版。mod 的 mcmod.info 全部是 ${modId} / ${modName} 占位符,真实 modid 只能从 src/main/scala/net/bdew/ae2stuff/AE2Stuff.scala:46 的 final val modId = "ae2stuff" 读出。

定位

  • 附属对象:Applied Energistics 2。硬依赖在 AE2Stuff.scala:39 声明为 required-after:appliedenergistics2
  • 源码构成:63 个源文件,其中 62 个是 Scala(src/main/scala/),仅 1 个 Java(Config.java)
  • 加载顺序:preInit 读 tuning 配置并注册机器/物品 → init 注册 GUI、网络包、WAILA 回调 → postInit 补注册 AE2 升级模块并处理配方
  • 网络频道:bdew.ae2stuff(AE2Stuff.scala:47)
  • 无世界生成、无实体、无附魔、无指令

方块列表

全部 4 个方块都实现 CoFHAPI 的 IDismantleable,可用 AE2 扳手或 BuildCraft 扳手拆除并返还物品(misc/BlockWrenchable.scala)。材质统一为 MapColor.ironColor(misc/MachineMaterial.scala)。

  • 样板编码台 - 手动编码 3×3 配方的方块,消耗 1 AE/t 待机;meta 0 离线 / meta 1 在线
  • 晶体催生仓 - AE 驱动的 27 槽晶体生长器,3 张速度卡;默认周期仅 1 tick
  • 高级压印器 - 4 槽压印器,5 张速度卡;支持 AE2 原版压印配方(含 Press 类)
  • 无线接入器 - 34 个 meta 变体(16 色 × 客户端 / 客户端);配对工具绑定后无线连入 AE2 网格

物品列表

配置与按键

数值

所有机器平衡数值集中在 src/main/resources/assets/ae2stuff/config/tuning.cfg,可用 config/AE2Stuff/overrides/ 覆盖。共 4 段 15 个键。

机器 Enabled IdlePower CycleTicks CyclePower PowerCapacity
Encoder Y 1 AE/t — — —(无内部储能)
Grower Y 0 1 100 AE 10000 AE
Inscriber Y 0 100 1000 AE 5000 AE
Wireless Y 1 AE/t + 距离项 — — —(无内部储能)

无线接入器的距离功耗公式(machines/wireless/TileWireless.scala:123-125):

power = PowerBase + PowerDistanceMultiplier * dist * ln(dist² + 3)   (AE/t)
PowerBase = 1,PowerDistanceMultiplier = 0.1,dist 为两接入器的欧氏距离

配方

默认配方在 config/recipes.cfg(6 条),另有一批 NBT 清理 / meta 转换配方硬编码在 Recipes.scala(35 条)。config/recipes.cfg 支持 B:(方块)、I:(物品)、M:(AE2 材质)、P: / C:(AE2 部件 / 染色部件)四种栈引用简写。

产物 配方
样板编码台 无序:合成台 + OD:itemIlluminatedPanel + M:calcProcessor
晶体催生仓 3×3:四角 + 中心为 AE2 Quartz Growth Accelerator,十字为漏斗 / 箱子
高级压印器 3×3:I H I / P S P / I H I(铁锭 + 漏斗 + M:engProcessor + AE2 压印器)
无线设置工具 无序:M:calcProcessor + M:wireless + AE2 Network Tool
无线接入器 3×3:F P F / I W I / F P F(M:purifiedFluixCrystal + 计算处理器 + 铁锭 + M:wireless)
网络可视化工具 3×3:P A P / F F F(计算处理器 + OD:itemIlluminatedPanel + 纯净福鲁伊克斯水晶)
高级无线设置工具 无配方(见条目页)

OD:itemIlluminatedPanel 指 EnderIO 的 itemIlluminatedPanel;AE2 Stuff 不硬依赖 EnderIO,但默认配方引用了它。

依赖

硬依赖(AE2Stuff.scala:38-40):

  • Applied Energistics 2(required-after:appliedenergistics2)— 不在本 wiki 收录范围
  • bdlib(required-after:bdlib@[1.9.4.109,))— bdew 的 1.7.10 支持库,承担注册、GUI、网络与 wrench 抽象
  • gtnhlib(required-after:gtnhlib@[0.6.5,))— 只用到 ConfigurationManager 与 SyncedKeybind

软依赖(代码里探测但不强制):

  • BuildCraft — BuildCraftAPI|tools 存在时注册 BC 扳手手柄(compat/WrenchRegistry.scala:38-39)
  • Waila — 通过 FMLInterModComms 注册回调(AE2Stuff.scala:95-99),非 WAILA 时无 WAILA 行
  • gregtech — Loader.isModLoaded("gregtech_nh") 为真时,可视化工具额外画出 GT 的 MTEHatchCraftingInputME 代理仓(items/visualiser/ItemVisualiser.scala:155-182)
  • CoFHAPI(cofh.api.block.IDismantleable)— 不在本 wiki 收录范围;缺失时方块仍可正常放置/破坏,只是不能被 wrench 拆除

已知源码缺陷

  1. 晶体催生仓的速度卡无效:machines/grower/TileGrower.scala:62-68 的循环体每次都对原始 stack 调用 triggerGrowth(stack),只保留最后一次结果 ns。插 3 张速度卡会按 CyclePower × (1+3) = 400 AE 扣电,但生长步数与 0 张卡时相同(1 步)
  2. zh_CN 缺 2 个键:lang/zh_CN.lang 缺 item.ae2stuff.AdvWirelessKit.name(en_US 有,de_DE 也有),中文环境下该物品显示为英文键名
  3. 高级无线设置工具无获取途径:默认 recipes.cfg 只给了 WirelessKit 的配方,Recipes.scala:11-14 那条无序配方只能把已有物品的 NBT 清空