样板接口

基本信息

属性 值
注册名 neenergistics:pattern_interface
英文名 Pattern Interface
中文名 样板接口
方块类 com.github.vfyjxf.nee.block.BlockPatternInterface(继承 AE2 AEBaseTileBlock)
TileEntity com.github.vfyjxf.nee.block.tile.TilePatternInterface(继承 AE2 AENetworkInvTile)
材质 Material.iron(BlockPatternInterface.java:28)
TileEntity 注册名 neenergistics.tile.pattern_interface(CommonProxy.java:57)
AE2 特性 EnumSet.of(AEFeature.Core)
GUI ID NEEGuiHandler.PATTERN_INTERFACE_ID

源码注释一句话概括用途(TilePatternInterface.java:69):「An ME interface for storing temporary patterns.」

功能

它是 AE2「ME 接口」的变体,但不是存储物品,而是存储样板。工作方式:

  1. 玩家在 NEI 里查到一个配方,用本 mod 的叠加层把配方转成 ME 样板并送过来
  2. 界面把接收到的样板暂存进方块的 9 格 patterns 库存
  3. 玩家再手动把这些样板取出、塞进真正的样板终端

因此它是「NEI → AE2 样板」转换链上的中转站,让玩家不用在 NEI 和终端之间来回切换。源码里的大量 PacketNEIPatternRecipe / PacketSlotStackChange 往返就是为此服务。

同时它也是一个 ICraftingProvider(TilePatternInterface.java:72)——接口里放的样板会被 AE2 网格当成可执行的加工请求。

数值

数值名 值 来源
待机功耗 30 AE/t TilePatternInterface.java:94 setIdlePowerUsage(30D)
网格标记 GridFlags.REQUIRE_CHANNEL TilePatternInterface.java:93 — 必须独占一个频道
网格库存 gridInv 10 格(9 + 1),单叠上限 1 TilePatternInterface.java:86-87
样板库存 patterns 9 格 TilePatternInterface.java:88
弹出库存 ejectInv 9 格 TilePatternInterface.java:89
侧面数组 9 个({0..8}) TilePatternInterface.java:74
轮询 workStarted 9 个 boolean TilePatternInterface.java:83
tick 速率 TickRates.Interface 的 min/max(AE2 接口类默认 40 tick) TilePatternInterface.java:123

REQUIRE_CHANNEL 是本方块最重要的平衡点:它和 AE2 各类接口一样要吃一个频道。

交互

触发 行为
右键 打开 GUI(NEEGuiHandler.openGui,BlockPatternInterface.java:45)
潜行 + 右键 返回 false,让潜行行为穿透(BlockPatternInterface.java:38-40)——不吞事件

配方

唯一配方,ShapedOreRecipe(CommonProxy.java:84-99):

符号 物品 AE2 定义
a 空白样板 materials.blankPattern()
b 样板终端 parts.patternTerminal()
c ME 接口 blocks.iface()
d 合成监控器 blocks.craftingMonitor()
e 智能缆(透明) parts.cableSmart().stack(AEColor.Transparent, 1)
a b a
c d c
e e e

所有 5 个材料都走 maybeStack(1).isPresent() 判空,缺任何一个就传 null 给 ShapedOreRecipe(CommonProxy.java:66-99),配方在缺件时不匹配而非崩。

已知注意点

TilePatternInterface 用 ReflectionHelper(:66)反射访问 AE2 内部类,因此在非 GTNH 修补版 AE2 上可能不兼容——这正是 dependencies 把 AE2 下限钉在 rv3-beta-754-GTNH 的原因(NotEnoughEnergistics.java:37)。