Applied KubeJS

Applied KubeJS

为整合包开发者提供的强大AE2 ↔ KubeJS桥接模组,添加了可脚本化的AE2配方、网络监控、存储/合成事件、设备检查,以及可选的ME合成任务自动化。

工具

Applied KJS (AE2 × KubeJS 桥接)

一个面向整合包开发者的强大 AE2 ↔ KubeJS 桥接模组,添加了可脚本化的 AE2 配方、网络监控、存储/合成事件、设备检查,以及可选的 ME 合成任务自动化。

Applied KJS 是一个面向 Applied Energistics 2 (AE2) 和 KubeJS 的桥接模组,让整合包开发者能够以深度可脚本化的方式访问 AE2 系统,而无需为每个整合包编写专门的 Java 附加模组。

如果你想在 KubeJS 中构建以 AE2 为核心的进度系统、自动化、诊断、警报或配方全面改造,这个模组正是为此工作流而打造的。

Wiki 页面可在此处找到!(即将推出,你可以在此查看我的拉取请求。你也可以在此查看 wiki 页面的原始代码。)


此模组添加的内容

✅ 面向 KubeJS 的 AE2 配方脚本辅助工具

通过脚本创建和管理 AE2 配方 JSON,包括针对常见 AE2 配方类型的辅助工具,例如:

  • 充能器配方
  • 压印器配方(包括压印模板式配置)
  • 转化配方
  • 熵变配方(加热/冷却行为)
  • 物质炮弹药行为条目

还包括以下实用工具:

  • 安全地构建配方 JSON
  • 验证和字符串化配方 JSON
  • 从 KubeJS 添加/移除 AE2 配方
  • 按输出、类型或 JSON 匹配模式移除配方(适用于大型整合包的全面改造)

✅ 暴露给 JS 的 AE2 键包装器(物品/流体)

以 KubeJS 友好的对象形式处理 AE2 风格的物品/流体键。

这使以下操作更加容易:

  • 解析 AE2 物品/流体标识符
  • 比较键(精确/模糊匹配)
  • 读取 ID/模组 ID/显示名称
  • 以类似 AE2 的方式格式化数量
  • 将键数据序列化为 JSON,用于日志、UI 或调试

非常适合需要以清晰方式理解 AE2 存储/合成数据的脚本。


✅ ME 网络(网格)监控 API

通过脚本检查和追踪 AE2 网络。

该桥接可以暴露网格摘要和网络状态,以便你围绕以下内容构建自定义逻辑:

  • 网络在线/离线状态
  • 能量存储和使用情况
  • 控制器/频道状态
  • 节点数量
  • CPU 数量
  • 请求/合成数量
  • 存储摘要信息

这对于以下场景尤其有用:

  • 进度系统
  • 自定义任务
  • 服务器诊断
  • 自动化触发器
  • 管理员工具和警报

✅ 面向 AE2 活动的 KubeJS 事件(服务端)

直接在脚本中对 AE2 事件做出反应。

事件类别示例包括:

网络生命周期 / 状态

  • 网络创建 / 移除
  • 网络变化
  • 网络能量状态变化

存储追踪

  • 存储增量变化(物品/流体数量变化)
  • 阈值跨越事件(自定义监视触发器)

合成生命周期

  • 请求合成
  • 合成任务开始/完成/停止
  • 合成卡住检测事件

玩家交互 / 进度钩子

  • 终端打开事件
  • 玩家里程碑事件(用于教程/任务进度)

这可以实现高度动态的整合包逻辑,例如:

  • 当 ME 系统断电时警告玩家
  • 当库存达到阈值时触发任务
  • 当 CPU 卡住时记录日志或通知管理员
  • 当玩家首次与 AE2 终端交互时解锁指南章节

✅ 存储阈值监视

为特定的 AE2 物品/流体注册监视(可选限定到特定网格),并在存储数量跨越阈值时做出反应。

非常适合:

  • 低库存警报
  • 自动化进度检查
  • 软自动化触发器
  • 整合包健康监控 / 仪表板

✅ 可选的脚本化 AE2 合成请求 API(高级)

通过脚本规划并可选地提交 AE2 合成任务。

这可用于:

  • 模拟/规划 ME 合成请求
  • 检查所需字节和任务详情
  • 查看规划中缺失/使用/产出的物品
  • 提交任务(当提供有效的请求者上下文时)
  • 追踪/取消已提交的任务

对于想要脚本控制的 AE2 自动化逻辑的高级整合包来说,这是一个强大的功能。

重要: 出于安全/控制考虑,合成请求 API 在服务器配置中默认禁用。整合包开发者必须手动启用。


✅ AE2 设备检查辅助工具

检查指定位置处与 AE2 相关的方块实体/设备,并为脚本或管理员工具读取有用的状态。

根据设备不同,这可能包括以下信息:

  • 类/类型名称
  • 位置/维度
  • 活动 / 供能状态
  • 驱动器/箱子存储摘要信息
  • 所连接的网格摘要

适用于:

  • 调试命令
  • 管理员脚本
  • 任务验证
  • 游戏内诊断工具

✅ 进度里程碑钩子(AE2 感知)

该桥接包含用于玩家进度和教程流程的里程碑式钩子。

这使得构建整合包引导逻辑变得容易,例如:

  • 首次登录里程碑
  • 首次 AE2 合成里程碑
  • 控制器合成里程碑
  • 合成终端 / 分子装配机里程碑
  • 其他 AE2 进度检查点

非常适合:

  • FTB Quests / 自定义任务书
  • 游戏内教程系统
  • 基于解锁的进度整合包

✅ 调试命令和数据转储

包含可选的(服务端、权限受控的)管理员/调试命令支持,用于收集统计数据、网格摘要和诊断转储。

非常适合:

  • 整合包开发
  • 多人游戏故障排除
  • 在脚本化设置中分析 AE2 行为

为什么整合包开发者可能需要这个

Applied KJS 帮助你构建通常需要编写自定义 Java 集成模组才能实现的系统,例如:

  • AE2 感知的进度脚本
  • 动态配方再平衡
  • 库存监控和警报
  • 脚本化自动化控制
  • 自定义诊断仪表板
  • 管理员支持工具
  • 与 ME 活动绑定的事件驱动玩法

如果你已经大量使用 KubeJS,这将为你提供一种更加深入的方式,将 AE2 集成到你的整合包逻辑中。


示例用例

  • 任务门控: 检测玩家首次打开终端的时间并解锁教程章节。
  • 自动化安全: 当 ME 网络断电或合成 CPU 卡住时提醒管理员。
  • 资源管理: 当赛特斯石英库存低于阈值时触发事件。
  • 配方大改整合包: 完全通过 KubeJS 替换/调整 AE2 机器配方。
  • 进度整合包: 在关键 AE2 组件被合成时授予里程碑。

配置(服务端)

该桥接被设计为可根据整合包/服务器需求进行配置。
典型选项包括针对以下领域的开关和限制:

  • 网络事件
  • 存储事件
  • 合成事件
  • 终端事件
  • 进度钩子
  • 调试命令
  • 合成请求 API
  • 扫描间隔 / 追踪限制
  • 事件刷屏保护 / 节流
  • 日志详细程度
  • 维度过滤器 / 允许列表

建议:从默认设置开始,然后仅在你的脚本需要时启用高级功能(尤其是合成请求 API)。


需求 / 兼容性

  • Minecraft: 1.20.1(此处显示的是 Forge 构建)
  • 需要: Applied Energistics 2 (AE2)
  • 需要: KubeJS
  • 加载器: Forge(此项目页面/构建目标)

请务必查看 Files 标签页和更新日志,以获取适合你整合包的正确模组版本和依赖版本。


给脚本作者的说明

此模组主要面向服务端整合包逻辑和整合包开发者脚本工作流。

一般来说:

  • 使用启动脚本来注册可复用的辅助工具/常量(如果需要)
  • 使用服务端脚本来处理 AE2 事件、监控、阈值和自动化逻辑
  • 仅当你使用的构建/版本提供了特定的面向客户端的集成时,才使用客户端脚本

权限与整合包使用

你可以将此模组包含在整合包中,但须遵守该项目的许可证/权限条款。
请参阅该项目的仓库/许可证页面以了解确切的使用权利。


问题报告 / 反馈

报告问题时,请包含:

  • Minecraft 版本
  • 加载器/版本(Forge)
  • AE2 版本
  • KubeJS 版本
  • Applied KJS 版本
  • 日志和复现步骤
  • 相关的 KubeJS 脚本(如适用)

这可以大大加快集成问题的调试速度。


太长不看

Applied KJS 将 AE2 变成了一个可供 KubeJS 驱动的整合包脚本化的系统 —— 让你能够构建配方、响应 ME 事件、监控网格、检查设备,以及(可选地)自动化 AE2 合成流程,同时大幅减少自定义 Java 工作量。