AE2 Pattern Generator 是一个专为 Minecraft 1.7.10 (如 GregTech New Horizons 等注重复杂合成的模组环境) 开发的实用辅助模组。 其核心功能在于基于可配置的过滤系统与平衡机制,将 GregTech 机器合成配方批量导出为标准的 AE2 编码样板。
可按机器 RecipeMap(如 assembler、implosion_compressor)批量扫描配方,并转换为 AE2 Processing Pattern。物品输入/输出与流体输入/输出都在同一流程内处理。
生成前可通过多层过滤减少冗余:
- 矿辞正则匹配: 对输入/输出的矿物词典条目做正则筛选。
- 黑名单过滤: 按规则排除指定输入或输出。
- 强制替换: 按配置将指定材料统一映射(例如
ingotCopper->dustCopper)。 - 严格电压匹配: 只保留与目标电压层级(如
HV、EV)一致的配方。
所有筛选输入框都支持从 NEI 直接拖拽物品进行填充。拖入后会先按默认优先级自动写成显式语法;如果该物品同时存在多种可用信息,输入框右侧会出现一个轻量切换按钮,可在 ID / 矿辞 / 显示名 之间切换。
生成请求会先校验 Blank Pattern 库存,再执行扣除。支持优先从已绑定的 ME 网络取材,不足时回退到玩家库存。数量不足会直接拒绝请求并给出提示。
Preview Count 与 Generate 现在都只读取服务端持久化配方缓存。第一次使用、重启后,或模组/配置发生变化后,需要先在主界面点击 Cache / 构建缓存 按钮。缓存构建会在后台执行,并通过聊天栏返回进度和统计信息。
生成结果先写入服务端虚拟仓储,不直接落地。可在 GUI 中查看、删除、清空,再批量导出到目标容器(箱子、AE2 接口等)。
支持与 AE2 网络无线绑定。完成绑定后,可在生成时直接使用网络内空白样板,减少手动物料搬运。
- 引入新的持久化配方缓存方式,首次使用、重启后或模组/配置发生变化后,可在主界面手动构建或刷新缓存。
Preview Count与Generate统一改为基于服务端缓存执行,避免每次请求都重新扫描大型配方表。- Forge 配置文件生成时改为中英文双语注释,便于整合包、服务端和玩家共同维护。
- 缓存构建会返回进度与统计信息,便于确认当前缓存是否可用以及定位问题。
- 建立统一 Forge 配置类
- 继续考虑更多的平衡性调整
| 交互方式 | 功能说明 |
|---|---|
| 右键(对空气) | 打开主配置终端 — 填写设备 ID、正则过滤规则、指定电压等并提交生成请求。 |
| Shift + 右键(对空气) | 打开存储管理器 — 翻阅并管理当前存储在虚拟节点的样板数据。 |
| Shift + 右键(对方块) | 方块检测 / 条件导出 — 优先检测目标方块(含 GT 主方块配方信息);若目标为可写入容器,则将虚拟样板批量导出到该容器。 |
此外,玩家可将光标悬停在物品上按下 Shift 键调出操作提示。系统同样提供用于控制台执行或 OP 自动化触发的命令节点:/patterngen。
首次使用、重启后,或模组 / 配置发生变化后,请先在主界面点击 Cache / 构建缓存,待缓存完成后再使用 Preview Count 或 Generate。
在生成样板前,你可以通过多层过滤快速缩小目标配方。
本模组的匹配机制统一遵循以下规则:
- 默认不区分大小写
- 默认包含匹配(类似
find,不是整串全等) - 留空或填
*视为不启用该条件 - 多个过滤条件是 AND 关系:必须全部通过才会保留配方
以下这些字段现在完全共用同一套匹配逻辑:
- 输出筛选
- 输入筛选
- NC 筛选
- 输入排除
- 输出排除
必须使用括号明确标注类型:
| 语法 | 含义 | 示例 |
|---|---|---|
[id] |
按物品 ID 匹配,忽略 meta | [8119] |
[id:meta] |
按物品 ID + meta 精确匹配 | [8119:12] |
(regex) |
仅按矿辞匹配 | (dustCopper) |
{regex} |
仅按显示名匹配 | {Copper Dust} |
* |
关闭该字段的筛选 | * |
支持在同一字段中写多个显式 token,之间可用空格、,、; 或 | 分隔:
[8119] [8119:12](dustCopper)|(dustTin){铜粉} {Copper Dust}
正则只对对应类型生效:
( ... )只查矿辞,{ ... }只查显示名。
统一显式语法的目的之一是避免在大配方表中过度解析物品信息:
[id]/[id:meta]只比较 ID 和 meta,不查矿辞,不取显示名。(regex)只查询矿辞。{regex}才会解析显示名。
这样可以显著降低在 GTNH 大型配方表中使用筛选器时的卡顿风险。
dustCopper铜粉8119:12
以上写法在这 5 个筛选字段里都不会参与匹配。如果要生效,必须改写成:
(dustCopper){铜粉}[8119:12]
- 机制上支持中文匹配:
{...}内部使用 Java 正则,对中文字符可正常匹配。 - 实际命中取决于服务端语言环境:过滤在服务端执行,使用服务端拿到的显示名文本。
- 若服务端显示名不是中文,你输入
{铜粉}可能匹配不到。 - 需要跨环境稳定匹配时,优先使用 矿辞 或
[id] / [id:meta]。
以下 5 个筛选字段都支持把 NEI 里的物品直接拖到输入框内:
- 输出筛选
- 输入筛选
- NC 筛选
- 输入排除
- 输出排除
拖入后会按以下优先级自动写入当前输入框:
- 有
id且有meta时,填入[id:meta] - 只有
id时,填入[id] - 没有可用
id但有矿辞时,填入(矿辞) - 上述都没有时,填入
{显示名}
如果该物品还同时具备其他可用来源,右侧切换按钮会保留这些候选项:
- 左键切换到下一个来源
- 右键切换到上一个来源
这样既保留了拖拽即填充的速度,也允许你在默认值不合适时快速改成矿辞或显示名。 本方法适用于单个物品进行过滤,当需要使用正则时,更推荐手动填写。
- 从 Releases 页面获取最新的构建产物 (
.jar文件)。 - 将其放置于客户端或服务端的
mods路径下后启动应用。
本项目基于 RetroFuturaGradle (RFG) 系统开发:
# 增量构建类文件
./gradlew classes
# 执行代码风格标准化 (修复 CI 潜在报错)
./gradlew spotlessApply
# 全量构建发布版本
./gradlew build编译产物将被输出至 build/libs 目录下。
- 新增: 引入新的持久化配方缓存方式,主界面新增
Cache/构建缓存工作流。 - 优化:
Preview Count与Generate统一改为读取服务端缓存,首次使用、重启后或模组 / 配置变化后需先构建或刷新缓存。 - 优化: 缓存构建会输出进度与统计信息,便于确认缓存状态。
- 优化: 生成的 Forge 配置文件注释改为中英文双语说明。
- 说明: 如遇任何 bug,请前往 GitHub Issues 提交反馈。
- 优化: NEI 拖拽来源切换按钮的文字改为在按钮区域内居中显示,切换来源时更易读。
- 修复:
Preview Count按钮恢复为预览筛选结果数量,不再误触发实际生成请求。 - 优化: 调整筛选器执行顺序并复用物品匹配缓存,降低大配方表筛选时的重复开销。
- 新增: 所有筛选输入框支持从 NEI 直接拖拽物品填充,自动转换为统一显式语法。
- 新增: 拖拽填充时会优先写入
[id:meta]/[id],无可用 ID 时回退为(矿辞)或{显示名}。 - 优化: README 与 release 说明补充了 NEI 拖拽填充的使用方式。
- 修复: 修复无冲突样板生成请求在 GUI 中被重复触发,避免首次生成成功后又立刻提示仓储中已有样板。
- 优化: GUI 与 tooltip 中的筛选文案统一改为“所有筛选字段”,并同步显式语法说明。
- 优化: README 的筛选规则说明与当前实现保持一致,明确所有筛选字段共用统一显式语法。
- 修复: 修复
gt.recipe.furnace与gt.recipe.microwave无法读取到配方的问题(GT 动态配方不再被getAllRecipes()漏掉)。 - 优化: 配方表匹配新增兼容
smelting等 NEI transfer id,支持通过熔炉常用标识检索到对应 GT 配方表。 - 优化: 配方表匹配新增旧版
RecipeMap标识兼容(legacyIdentifier)以提升历史配置可用性。
- 修复: 修复
Shift + 右键打开存储界面时服务端崩溃 (NoClassDefFoundError: net/minecraft/client/gui/GuiScreen)。 - 修复: 将存储详情界面的客户端逻辑下沉到
ClientProxy,避免服务端路径加载客户端类。 - 兼容: 确认客户端与服务端同时安装时可正常打开 GUI 101/102,不再触发侧别加载错误。
- 重构: 重构冲突配方选择界面,优化冲突配方的批量展示与交互流程。
- 修复: 修复滚轮滚动导致的空指针异常 (NPE) 闪退。
- 修复: 修复高分辨率/放大字体下标题自动换行的问题。
- 优化: 全面引入 GTNH ModularUI (v1.3.1) 框架重构所有 GUI。
- 优化: 按钮现在具有标准的 Minecraft 三维边框贴图。
- 新增: 交互式配方冲突选择功能 — 当多个配方产出同一产物时,现在会弹出 GUI 供玩家手动挑选。
- 新增: 下拉框滚动支持 — 电压选择界面现在支持鼠标滚轮滚动并带有视觉指标条。
- 优化: 完善了 AE2 现代风格界面体验与代码逻辑重构。
- 新增: 无线提取功能支持 — 可通过 ME 安全终端绑定网络并自动从网络中提取空白样板。
- 优化: 适配 GTNH 版 AE2 rv3 API 兼容性,优化代码结构与异常处理。
- 修复: 修复液滴样板为负数的错误
- 修复: 电压等级过滤算法边界值错误,EU 值为 33, 129, 513 等边界值时会被错误归类
- 新增: 补全 GTNH 完整电压等级支持 (UHV, UEV, UIV, UMV, UXV)
- 优化: 电压等级计算算法改用阈值递增方式,确保边界值正确匹配
- 新增矿辞替换规则配置文件支持
- 新增电压等级精确过滤功能
- 优化 GUI 界面显示
- 新增虚拟仓储系统
- 新增样板预览与详情查看
- 新增批量导出到容器功能
- 初始版本发布
- 支持批量编码 GT 配方为 AE2 样板
- 支持矿物词典正则过滤
- 支持黑名单过滤
本项目依据 MIT License 许可协议开源发布。