From f5040d7abff913fda325064f9045e06d1ee0d724 Mon Sep 17 00:00:00 2001 From: GaLi Date: Thu, 4 Dec 2025 11:07:39 +0800 Subject: [PATCH] guide --- .../devices/assembler_matrix_upload_core.md | 31 ++++ .../devices/crafting_accelerator.md | 43 ++++++ .../devices/entity_speed_ticker_part.md | 95 ++++++++++++ .../devices/network_pattern_controller.md | 39 +++++ .../devices/wireless_transceiver.md | 48 ++++++ .../_zh_cn/introduction/features/features.md | 143 ++++++++++++++++++ .../ae2guide/_zh_cn/introduction/index.md | 22 +++ .../items/assembler_matrix_plus_cores.md | 31 ++++ .../_zh_cn/introduction/items/channel_card.md | 48 ++++++ .../introduction/items/entity_speed_card.md | 43 ++++++ .../items/infinity_biginteger_cell.md | 30 ++++ .../items/virtual_crafting_card.md | 39 +++++ .../devices/assembler_matrix_upload_core.md | 31 ++++ .../devices/crafting_accelerator.md | 44 ++++++ .../devices/entity_speed_ticker_part.md | 98 ++++++++++++ .../devices/network_pattern_controller.md | 39 +++++ .../devices/wireless_transceiver.md | 50 ++++++ .../introduction/features/features.md | 141 +++++++++++++++++ .../ae2guide/introduction/index.md | 24 +++ .../items/assembler_matrix_plus_cores.md | 30 ++++ .../introduction/items/channel_card.md | 53 +++++++ .../introduction/items/entity_speed_card.md | 47 ++++++ .../items/infinity_biginteger_cell.md | 36 +++++ .../items/virtual_crafting_card.md | 45 ++++++ .../ae2guide/picture/eformula1.png | Bin 0 -> 16211 bytes .../ae2guide/picture/eformula2.png | Bin 0 -> 13625 bytes .../ae2guide/picture/entity_speed_ticker.png | Bin 0 -> 25073 bytes .../picture/network_pattern_controller.png | Bin 0 -> 47715 bytes .../structure/entity_speed_ticker.snbt | 11 ++ 29 files changed, 1261 insertions(+) create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/assembler_matrix_upload_core.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/crafting_accelerator.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/entity_speed_ticker_part.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/network_pattern_controller.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/wireless_transceiver.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/features/features.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/index.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/assembler_matrix_plus_cores.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/channel_card.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/entity_speed_card.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/infinity_biginteger_cell.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/virtual_crafting_card.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/assembler_matrix_upload_core.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/crafting_accelerator.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/entity_speed_ticker_part.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/network_pattern_controller.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/wireless_transceiver.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/introduction/features/features.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/introduction/index.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/assembler_matrix_plus_cores.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/channel_card.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/entity_speed_card.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/infinity_biginteger_cell.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/virtual_crafting_card.md create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/picture/eformula1.png create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/picture/eformula2.png create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/picture/entity_speed_ticker.png create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/picture/network_pattern_controller.png create mode 100644 src/main/resources/assets/extendedae_plus/ae2guide/structure/entity_speed_ticker.snbt diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/assembler_matrix_upload_core.md b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/assembler_matrix_upload_core.md new file mode 100644 index 0000000..24983d9 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/assembler_matrix_upload_core.md @@ -0,0 +1,31 @@ +--- +navigation: + parent: introduction/index.md + title: 装配矩阵上传核心 + position: 8 + icon: extendedae_plus:assembler_matrix_upload_core +categories: + - extendedae_plus devices +item_ids: + - extendedae_plus:assembler_matrix_upload_core +--- + +# 装配矩阵上传核心 + + + +装配矩阵上传核心是一个功能模块,它为装配矩阵添加了从样板编码终端自动接收并上传样板的能力。 + +## 功能概述 + +将此核心安装到装配矩阵后,当您在样板编码终端中编码**合成样板**、**锻造台样板**或**切石机样板**时,终端将能够自动将这些样板上传至装配矩阵的存储中,无需手动转移。 + +## 版本历史与重要变更 + +- **版本 1.4.3**:此物品被添加至游戏中。 +- **重要变更**:在 **1.4.3 版本之前**,装配矩阵**无需**此核心即具备自动上传上述样板的功能。 +- **当前要求**:从 **1.4.3 版本开始**,您必须为装配矩阵安装此核心,才能启用自动上传功能。 + +> **请注意此次版本变更是破坏性的**。如果您从旧版本更新到 1.4.3 或更高版本,需要为您正在使用的每个装配矩阵手动添加此核心,以恢复自动上传功能。 + +> **注意**:此核心仅影响从**样板编码终端**到**装配矩阵**的**样板自动上传**功能。它不影响将处理样板上传到**样板供应器**的逻辑。 \ No newline at end of file diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/crafting_accelerator.md b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/crafting_accelerator.md new file mode 100644 index 0000000..bac6fa7 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/crafting_accelerator.md @@ -0,0 +1,43 @@ +--- +navigation: + parent: introduction/index.md + title: 并行处理单元 + position: 4 + icon: extendedae_plus:1024x_crafting_accelerator +categories: + - extendedae_plus devices +item_ids: + - extendedae_plus:4x_crafting_accelerator + - extendedae_plus:16x_crafting_accelerator + - extendedae_plus:64x_crafting_accelerator + - extendedae_plus:256x_crafting_accelerator + - extendedae_plus:1024x_crafting_accelerator +--- + +# 并行处理单元 +本模组新增了五种更高阶的并行处理单元,它们是原版并行处理单元的压缩升级版本,提供了更强的并行处理能力。 + + + + + + + + + + +## 合成配方 +### 4x并行处理单元 + + +### 16x并行处理单元 + + +### 64x并行处理单元 + + +### 256x并行处理单元 + + +### 1024x并行处理单元 + diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/entity_speed_ticker_part.md b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/entity_speed_ticker_part.md new file mode 100644 index 0000000..8f4ec67 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/entity_speed_ticker_part.md @@ -0,0 +1,95 @@ +--- +navigation: + parent: introduction/index.md + title: 实体加速器 + position: 5 + icon: extendedae_plus:entity_speed_ticker +categories: + - extendedae_plus devices +item_ids: + - extendedae_plus:entity_speed_ticker +--- + +# 实体加速器 +实体加速器通过消耗应用能源2(AE2)网络中的能量,为前方一格方块实体提供运行加速,其功能与“加速火把”类似。 + + + + + +## 工作机制 +1. **启用条件**:必须在加速器中插入“****”才能激活加速功能 +2. **加速效果**:最高可为方块实体提供**1024倍**的加速倍率 +3. **能量供应**:加速过程持续消耗AE网络能量。当AE能量不足时,加速功能将自动暂停直至能量恢复。如安装Applied Flux模组,网络磁盘中存在FE能量且AE能量不足时,可消耗磁盘存储的FE能量继续加速(优先级可配置) +4. **配置选项**:可通过配置文件调整基础能耗、设置实体黑名单,以及为特定实体配置独立的能量消耗倍率 + +![实体加速器界面](../../picture/entity_speed_ticker.png) + +## 能量消耗机制 + +### 基础能量计算 + +实体加速器的能量消耗由基础配置值 `baseCost` 和目标加速倍率共同决定。 + +令: +- \( M \) = 目标加速倍率(2, 4, 8, ..., 1024) +- \( B \) = 基础能量配置值(默认512) +- \( L \) = log_2(M) + +**基础能量消耗公式:** + +![eformula1](../../picture/eformula1.png) + +**基础能耗参考表(baseCost = 512)** + +| 加速倍率 | 基础能量消耗(AE) | +| -------- | ------------------ | +| 2 | 256 | +| 4 | 1,024 | +| 8 | 2,048 | +| 16 | 8,192 | +| 32 | 16,384 | +| 64 | 65,536 | +| 128 | 131,072 | +| 256 | 524,288 | +| 512 | 268,435,456 | +| 1024 | 2,147,483,648 | + +### 能量卡节能效果 + +安装能量卡可有效降低设备能耗,节能效果随卡数量增加而提升,但存在边际递减效应。 + +令 \( N \) = 安装的能量卡数量 + +**能耗比例公式:** +![eformula1](../../picture/eformula2.png) + +**能量卡节能效果表:** + +| 能量卡数量 | 节能效果 | 实际能耗比例 | +| ---------- | -------- | ------------ | +| 0 | 0% | 100% | +| 1 | 10% | 90% | +| 2 | 14.5% | 85.5% | +| 3 | 17.15% | 82.85% | +| 4 | 19.0% | 81.0% | +| 5 | 20.21% | 79.79% | +| 6 | 21.15% | 78.85% | +| 7 | 21.9% | 78.1% | +| ≥8 | 50% | 50% | + +### 最终能耗计算 + +**最终能量消耗公式:** + +**finalPower = basePower × energyRatio** + +**计算示例:** + +- 目标加速倍率:64倍 +- 安装能量卡:3张 +- 基础能耗:65,536 AE +- 能耗比例:82.85% +- **最终能耗**:65,536 × 0.8285 ≈ 54,267AE + +> 实际能耗可能因实体类型配置而有所调整 diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/network_pattern_controller.md b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/network_pattern_controller.md new file mode 100644 index 0000000..d7aaba7 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/network_pattern_controller.md @@ -0,0 +1,39 @@ +--- +navigation: + parent: introduction/index.md + title: 样板供应器状态控制器 + position: 3 + icon: extendedae_plus:network_pattern_controller +categories: + - extendedae_plus devices +item_ids: + - extendedae_plus:network_pattern_controller +--- + +# 样板供应器状态控制器 + + + +样板供应器状态控制器是一个中央控制单元,允许您通过一个统一的界面,批量管理网络中所有样板供应器的工作模式。 + +## 用户界面与操作 + +![样板供应器状态控制器界面](../../picture/network_pattern_controller.png) + +控制器UI提供以下控制选项: + +### 模式切换 +- **切换阻挡模式**:全局启用或禁用所有样板供应器的“阻挡模式” +- **切换高级阻挡**:全局切换“高级阻挡模式” +- **切换智能翻倍**:全局启用或禁用“智能翻倍”功能 + +### 批量操作 +- **全部开启**:一键开启网络中所有样板供应器的上述三个功能 +- **全部关闭**:一键关闭网络中所有样板供应器的上述三个功能 + +## 使用方法 +1. 将**样板供应器状态控制器**放置在您的ME网络中 +2. 右键点击控制器打开配置界面 +3. 根据您的管理需求,点击相应的按钮即可全局调整所有样板供应器的状态 + +> **注意**:该控制器影响网络中**所有**样板供应器。如需对单个供应器进行独立配置,仍需直接在该供应器的界面中进行操作。 \ No newline at end of file diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/wireless_transceiver.md b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/wireless_transceiver.md new file mode 100644 index 0000000..155066e --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/devices/wireless_transceiver.md @@ -0,0 +1,48 @@ +--- +navigation: + parent: introduction/index.md + title: 无线收发器 + position: 1 + icon: extendedae_plus:wireless_transceiver +categories: + - extendedae_plus devices +item_ids: + - extendedae_plus:wireless_transceiver +--- + +# 无线收发器 + + +无线收发器是一种高级无线AE设备,它融合了无线连接器的便捷性与量子环的跨维度能力,能够将ME网络的频道以无线方式远程传输至多个地点。 + +## 工作机制 + +### 基本概念 +无线收发器采用**一主多从**的架构: +- **主端 (Master)**: 连接至提供频道的源ME网络 +- **从端 (Slave)**: 放置在需要频道的位置,从一个主端接收频道。**一个主端可以为多个从端提供频道** + +### 跨维度传输 +支持跨维度传输频道,传输的前提是**主端与从端所在的区块均必须保持加载状态** + +## 操作指南 + +### 模式与频率设置 + +- **空手右键**: 切换设备的**主从模式** +- **Shift + 右键**: **增加**设备的配对频率 +- **Shift + 左键**: **减少**设备的配对频率 +- **手持扳手左键**: 快捷调整无线收发器的频率 +- **扳手右键**: **锁定**设备当前的工作模式与频率,防止意外更改 +- **石英切割刀**: 可为无线收发器重命名。重命名后,从端的Jade将显示其所连接的主端名称,便于识别和管理 + +### 所有权与安全 (v1.4.4+) + +自版本 1.4.4 起,无线收发器支持绑定所有权,以增强安全性与频道隔离。 +- **默认归属**: 1.4.4 版本前放置的无线收发器将被视为**公用**设备。 +- **自动绑定**: 1.4.4 及之后版本,玩家放置的无线收发器在放下时即会自动绑定到该玩家。 +- **FTB Teams 支持**: 设备可绑定至FTB队伍。**不同队伍或玩家的无线收发器,即使频率相同,也无法互通**,实现了频道隔离。 + +> **重要更新提示** +> 如果您从旧版本更新至 1.4.4 或更高版本,请务必注意: +> - 破坏掉旧的**公共主端**后,您需要将对应的**从端挖下并重新放置**,以完成其所有权的绑定,否则将无法连接。 diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/features/features.md b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/features/features.md new file mode 100644 index 0000000..8928d2e --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/features/features.md @@ -0,0 +1,143 @@ +--- +navigation: + title: 辅助功能总览 + parent: introduction/index.md + position: 0 +categories: + - extendedae_plus features +--- + +# 模组功能总览 + +## 一、样板供应器增强 + +以下功能若无特殊说明,默认仅支持 **AE2 样板供应器** 与 **ExtendedAE 扩展样板供应器**。 + +### 1、智能阻挡模式 + +在 AE2 原有阻挡机制基础上进行了强化。 当相同样板的相同配方材料持续发配时,可避免配方串联造成的并行浪费。 (支持 AdvancedAE 系列供应器) + +> 需开启原版阻挡功能。 + +
+ +### 2、智能倍增模式 + +在 AE2 下单操作中自动计算一次性发配所需的全部材料。 该机制等效于玩家手动将样板翻倍至对应数量的效果。 (支持 AdvancedAE 系列供应器) + +可通过配置文件自定义以下选项: +- 翻倍上限 +- 多样板供应器轮询发配(提升并发与分摊效率) +- 最小收益因子 + +**示例:** + +样板:1 圆石 + 2 熔岩 → 1 石头 + +下单 1000 石头时,系统一次性发配 1000 圆石与 2000 熔岩。 + +**额外配置:** + +可在样板供应器左侧输入框手动设定单样物品的发配上限 + +例:样板 1 圆石 + 2 熔岩 → 1 石头,限制 64,则下单 1000 石头时单次发配仅 32 圆石与 64 熔岩。 + +支持类型:物品、流体、Mek 化学品。 + +
+ +### 3、手动倍增按钮 + +在样板供应器 GUI 内提供倍增控制按钮,玩家可快速设定样板倍数,无需重复编辑。 + +--- + +## 二、AE2 相关功能 + +### 1、快捷操作增强 + +- **中键拉取方块:** 鼠标中键点击任意方块时,若 AE 网络中有库存,将自动将该方块拉取至手上(需携带无线终端)。 +- **自动填充空白样板:** 打开样板编码终端时,系统将自动填充 AE 网络中的空白样板至槽位。 + +
+ +### 2、合成监控界面强化 + +- **Shift + 点击 材料:** 快速打开对应机器界面。 + +- **Shift + 右键 材料:** 打开对应供应器 UI,并高亮对应样板槽位。同时在世界中高亮目标供应器位置。 + +- **Shift + 点击 取消按钮:** 自动将缺失材料添加至 JEI 书签。 + +
+ +### 3、样板编码终端增强 + +- **上传功能:** 可通过上传按钮直接将样板上传至对应机器的样板供应器。JEI 拉取的处理配方可识别对应机器名称,并自动搜索匹配供应器。 自动搜索采用映射表。可在上传界面添加映射键。 +- **快捷清空:** 右键点击上传搜索框可快速清空输入内容。 + +
+ +### 4、样板数量显示与命名优化 + +- 在 AE2 与 ExtendedAE 的样板管理终端及样板供应器中,添加“样板制作数量”显示。 +- 样板供应器的 UI 标题将显示玩家自定义名称。 + +
+ +### 5、 AE 性能优化 + +- 新增配置项 **合成暂停检查阈值**(默认值:100000)。 该项用于调节 AE 在构建合成计划时的线程 Sleep 行为, 对大量样板的合成计划可显著提升计算速度。 + +
+ +### 6、石英切割刀功能扩展 + +- **Shift + 右键 方块或 AE 部件:** 复制其名称。 支持复制 **格雷大型机器** 的不同处理配方子名称。 + +--- + +## 三、ExtendedAE 增强功能 + +### 1、样板快速上传功能 + +- **自动检测装配矩阵:** + 若网络中存在装配矩阵,则样板编码终端完成的合成、锻造台、切石机样板将自动上传。 若已有相同样板,系统将自动检测并返还,避免重复上传。(需要在点击编码按钮的时候按下shift) + +
+ +### 2、配置属性: + + 可通过配置文件调整扩展样板供应器的样板槽位数倍率。 + +
+ +### 3、终端交互强化 + +- **搜索高亮:** 为 ME 扩展样板管理终端增加搜索高亮功能(18x18 边框 + 彩虹流转高亮)。 + +--- + +## 四、JEI 与 AE2 深度联动 + +### 1、双向交互增强 + +- **Shift + 左键(JEI → AE 网络):** 若 AE 网络中有该物品,将直接取出至玩家手上;若缺失,则自动跳转至下单界面。 +> 需携带无线终端(饰品槽亦可)。 + +- **中键点击JEI界面物品:** 若 AE 网络存在该物品的自动化合成方案,将自动跳转至下单界面。 + +
+ +### 2、 JEI 与终端同步操作 + +- **F 键:** 将 JEI 中的物品名称同步至 AE2 搜索栏与 ExtendedAE 扩展样板管理界面。 +- **样板优先匹配:** 编写样板时优先匹配 JEI 书签靠前的物品。 + + +--- +## 五、其他改进与实用功能 + +### 样板信息显示 + +- 在编码完成的样板上显示编写者信息: `由 <玩家名> 编写` \ No newline at end of file diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/index.md b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/index.md new file mode 100644 index 0000000..e4f158b --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/index.md @@ -0,0 +1,22 @@ +--- +navigation: + title: Extendedae_plus Introduction + position: 60 +--- +# Extendedae_plus 指南 + +欢迎使用 **Extendedae_plus**。这是一个基于 Applied Energistics 2 (AE2) 的附属模组,在 ExtendedAE 的基础上进行了功能增强,聚焦于「样板供应器」的改进与玩家体验优化,并可与多种 AE2 扩展生态(如 AAE等)共存。 它提供更灵活、可控的样板执行行为,以及更直观、友好的 GUI 交互。 + +## 指南目录 + +### 功能特性 + + +### 设备介绍 + + +### 物品介绍 + + +如需更详细的开发/构建与排错说明, 请在此处报告: +[ExtendedAE_Plus GitHub](https://github.com/GaLicn/ExtendedAE_Plus) diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/assembler_matrix_plus_cores.md b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/assembler_matrix_plus_cores.md new file mode 100644 index 0000000..851c093 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/assembler_matrix_plus_cores.md @@ -0,0 +1,31 @@ +--- +navigation: + parent: introduction/index.md + title: 超级装配矩阵核心 + position: 12 + icon: extendedae_plus:assembler_matrix_speed_plus +categories: + - extendedae_plus items +item_ids: + - extendedae_plus:assembler_matrix_pattern_plus + - extendedae_plus:assembler_matrix_crafter_plus + - extendedae_plus:assembler_matrix_speed_plus +--- + +# 超级装配矩阵核心 + + + + + + + +装配矩阵新增三种「超级核心」,用于在原版装配矩阵核心的基础上进一步强化能力。 +它们的作用可以类比 ExtendedAE 原版装配矩阵核心 + +- **超级装配矩阵样板核心**:;每个核心提供 72 个样板槽位。 +- **超级装配矩阵合成核心**:每个核心可同时运行 32 个合成任务。 +- **超级装配矩阵速度核心**:提供相当于普通速度核心5倍的加速效果。 + + + diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/channel_card.md b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/channel_card.md new file mode 100644 index 0000000..4eb0de0 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/channel_card.md @@ -0,0 +1,48 @@ +--- +navigation: + parent: introduction/index.md + title: 频道卡 + position: 2 + icon: extendedae_plus:channel_card +categories: + - extendedae_plus items +item_ids: + - extendedae_plus:channel_card +--- + +# 频道卡 + + + +频道卡是一种功能升级卡,它将的从端功能浓缩为一张卡片。将其安装到支持的AE设备后,该设备即可直接连接到同频率的无线收发器主端,无需使用线缆。 + +## 功能与使用 + +### 基本功能 +- **无线连接**:插入频道卡的AE设备会自动寻找并连接至**相同频率**的无线收发器主端,从而接入其提供的ME网络频道。 +- **调整频率**: + - **手持频道卡右键**:**增加**卡片自身的频率。 + - **手持频道卡Shift+右键**:**减少**卡片自身的频率。 + +### 所有权绑定 (v1.4.4+) +- **绑定操作**:手持频道卡**Shift+左键**(无需对准方块),即可将其绑定到你的队伍或个人UUID。 +- **绑定要求**:**必须完成绑定后**,频道卡才能成功连接到同样绑定了所有权的无线收发器。 + +### 支持设备 +频道卡可以安装到以下AE设备(及其对应的ExtendedAE扩展版本)中,使其获得无线连接能力。安装后,设备将自动尝试连接至同频率的无线收发器主端。 + +- +- +- +- +- + +## 工作流程 + +1. 确保已有一个设置好频率和模式的无线收发器**主端**接入源ME网络。 +2. 手持频道卡,通过**Shift+左键**完成所有权绑定。 +3. 手持频道卡**右键**或**Shift+右键**调整至所需频率。 +4. 将频道卡安装到目标AE设备(如ME接口)中。 +5. 该设备将自动连接到同频率且所有权匹配的无线收发器主端。 + +> **注意**:频道卡与无线收发器主端必须在**频率**和**所有权**(v1.4.4+)上都匹配,才能建立连接。 \ No newline at end of file diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/entity_speed_card.md b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/entity_speed_card.md new file mode 100644 index 0000000..dd5a24b --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/entity_speed_card.md @@ -0,0 +1,43 @@ +--- +navigation: + parent: introduction/index.md + title: 实体加速卡 + position: 6 + icon: extendedae_plus:entity_speed_card +categories: + - extendedae_plus items +item_ids: + - extendedae_plus:entity_speed_card +--- + +# 实体加速卡 + + + + + + + + +实体加速卡是一种升级组件,可插入中,为其提供不同级别的加速能力。加速卡的等级直接决定了实体加速器所能达到的**最大加速倍率上限**。 + +## 加速卡等级与效果 + +实体加速器最多可同时放入**4张**加速卡。最终的加速倍率为所有插入加速卡的**基础倍率相乘**,但**不能超过**当前装配的**最高等级加速卡**所规定的最大速率上限。 + +| 加速卡类型 | 基础加速倍率 | 单卡最大速率上限 | +| :--- | :--- | :--- | +| 实体加速卡 (x2) | 2倍 | 8倍 | +| 实体加速卡 (x4) | 4倍 | 64倍 | +| 实体加速卡 (x8) | 8倍 | 256倍 | +| 实体加速卡 (x16) | 16倍 | 1024倍 | + +> **混合插入规则**:当插入不同等级的加速卡时,总倍率为所有卡基础倍率的乘积,但最终结果不能超过其中**最高级单卡的最大速率上限**。 +> +> **示例**:同时插入1张 **x2卡** 和3张 **x4卡**。 +> +> - 计算倍率:2 × 4^3 = 128 +> - 最高级单卡为 **x4卡**,其上限为 **64倍**,因此**最终加速倍率为64倍** + +## 合成配方 + \ No newline at end of file diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/infinity_biginteger_cell.md b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/infinity_biginteger_cell.md new file mode 100644 index 0000000..4013c6d --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/infinity_biginteger_cell.md @@ -0,0 +1,30 @@ +--- +navigation: + parent: introduction/index.md + title: "吞噬万籁的寂静" + position: 7 + icon: extendedae_plus:infinity_biginteger_cell +categories: + - extendedae_plus items +item_ids: + - extendedae_plus:infinity_biginteger_cell +--- + +# 吞噬万籁的寂静 + + + +“吞噬万籁的寂静”是一种终极的ME存储磁盘,它提供了无限的物品种类支持与无限的存储容量。 + +## 功能特性 + +- **无限类型**:**不限制**可存储的物品种类数量。 +- **无限容量**:存储容量为 **BigInteger** 级别,理论上是无限的。 +- **显示限制**:受AE2系统自身界面显示的限制,在ME终端中最大显示存储量为 **9.2E (9,223,372,036,854,775,808)**,但**实际上可以继续向其中存入物品**,远超此显示数值。 +- **广泛兼容**:能够存储通过附属模组(如Applied Flux、Applied Mekanistics等)接入AE2系统的各类资源(如FE、Mek化学品、魔源等)。存储这些资源需要安装对应的附属模组。 + +## 数据安全与恢复 + +此磁盘包含一项数据安全保障机制: +- 使用指令 `/eap give_infinity_disks` 可以获得存档中存储数据对应的磁盘副本。 +- 此功能作为**保底手段**,可在原始磁盘意外丢失的情况下**恢复存储数据**。 \ No newline at end of file diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/virtual_crafting_card.md b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/virtual_crafting_card.md new file mode 100644 index 0000000..2c7fa06 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/_zh_cn/introduction/items/virtual_crafting_card.md @@ -0,0 +1,39 @@ +--- +navigation: + parent: introduction/index.md + title: 虚拟合成卡 + position: 3 + icon: extendedae_plus:virtual_crafting_card +categories: + - extendedae_plus items +item_ids: + - extendedae_plus:virtual_crafting_card +--- + +# 虚拟合成卡 + + + + + +虚拟合成卡是一种样板供应器专用升级卡,让“最后一次发配”瞬间结束,为无需产物返回的任务提供自动结束的效果。 + +## 功能与效果 + +- **自动结束**:当供应器准备投递最后一批、且配方不需要把产物送回 ME 网络时,会立刻宣告任务完成。 +- **释放队列**:无需等待产物返回动作,合成存储器立即空出,可供后续调度。 +- **单卡限制**:每台样板供应器(含扩展版本)仅能安装 1 张。 + + +## 场景示例 + +| 场景 | 效果 | +| :--- | :--- | +| 多方块结构建造 | 建材发配到指定位置后自动结束,无需等待返回确认 | +| 手动合成辅助 | 将非自动化材料发配到箱子,方便手动取用后自动结束任务 | +| 自动化产线材料补充 | 为自动化产线补充消耗品后自动结束 | + + +## 合成配方 + + diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/assembler_matrix_upload_core.md b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/assembler_matrix_upload_core.md new file mode 100644 index 0000000..9f10316 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/assembler_matrix_upload_core.md @@ -0,0 +1,31 @@ +--- +navigation: + parent: introduction/index.md + title: Assembler Matrix Upload Core + position: 8 + icon: extendedae_plus:assembler_matrix_upload_core +categories: + - extendedae_plus devices +item_ids: + - extendedae_plus:assembler_matrix_upload_core +--- + +# Assembler Matrix Upload Core + + + +The **Assembler Matrix Upload Core** is a functional module that adds the ability for an Assembler Matrix to automatically receive and upload patterns from the Pattern Encoding Terminal. + +## Feature Overview + +When installed in an Assembler Matrix, patterns created in the Pattern Encoding Terminal — including **crafting patterns**, **smelter patterns**, or **stonecutter patterns** — are automatically uploaded into the Assembler Matrix storage without manual transfer. + +## Version History & Important Changes + +- **Version 1.4.3**: This item was added to the game. +- **Important Change**: Prior to **version 1.4.3**, Assembler Matrices **did not require** this core to automatically upload the above patterns. +- **Current Requirement**: Starting from **version 1.4.3**, you must install this core in an Assembler Matrix to enable automatic upload. + +> **Warning:** This is a breaking change. When updating from older versions to 1.4.3 or higher, you need to manually install this core in each Assembler Matrix you use to restore automatic upload functionality. + +> **Note:** This core only affects the **automatic upload of patterns from the Pattern Encoding Terminal to the Assembler Matrix**. It does not affect the logic for uploading processing patterns to **Pattern Providers**. diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/crafting_accelerator.md b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/crafting_accelerator.md new file mode 100644 index 0000000..ce6bb90 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/crafting_accelerator.md @@ -0,0 +1,44 @@ +--- +navigation: + parent: introduction/index.md + title: Parallel Processing Unit + position: 4 + icon: extendedae_plus:1024x_crafting_accelerator +categories: + - extendedae_plus devices +item_ids: + - extendedae_plus:4x_crafting_accelerator + - extendedae_plus:16x_crafting_accelerator + - extendedae_plus:64x_crafting_accelerator + - extendedae_plus:256x_crafting_accelerator + - extendedae_plus:1024x_crafting_accelerator +--- + +# Parallel Processing Unit + +This mod introduces five higher-tier **Parallel Processing Units**, which are compressed upgrades of the vanilla units, providing significantly enhanced parallel processing capabilities. + + + + + + + + + +## Crafting Recipes + +### 4x Parallel Processing Unit + + +### 16x Parallel Processing Unit + + +### 64x Parallel Processing Unit + + +### 256x Parallel Processing Unit + + +### 1024x Parallel Processing Unit + diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/entity_speed_ticker_part.md b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/entity_speed_ticker_part.md new file mode 100644 index 0000000..4481cf8 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/entity_speed_ticker_part.md @@ -0,0 +1,98 @@ +--- +navigation: + parent: introduction/index.md + title: Entity Accelerator + position: 5 + icon: extendedae_plus:entity_speed_ticker +categories: + - extendedae_plus devices +item_ids: + - extendedae_plus:entity_speed_ticker +--- + +# Entity Accelerator + +The **Entity Accelerator** consumes energy from the AE2 network to accelerate block entities in the front block space, functioning similarly to a “Speed Torch”. + + + + + +## Operating Mechanism + +1. **Activation Requirement:** The accelerator must contain at least one **** to enable acceleration. +2. **Acceleration Effect:** Can accelerate block entities up to **1024×**. +3. **Energy Supply:** Acceleration continuously consumes AE network energy. When AE energy is insufficient, acceleration automatically pauses until energy is restored. + - If the *Applied Flux* mod is installed, FE energy stored in network disks can be consumed to continue acceleration when AE energy is insufficient (priority configurable). +4. **Configuration Options:** Base energy consumption, entity blacklist, and per-entity energy multiplier can be adjusted via the config file. + +![Entity Accelerator Interface](../../picture/entity_speed_ticker.png) + +## Energy Consumption Mechanism + +### Base Energy Calculation + +The energy consumption of the Entity Accelerator is determined by the base configuration value `baseCost` and the target acceleration multiplier. + +Let: +- \( M \) = target multiplier (2, 4, 8, ..., 1024) +- \( B \) = base energy config (default 512) +- \( L \) = log₂(M) + +**Base energy consumption formula:** + +![eformula1](../../picture/eformula1.png) + +**Base Energy Reference Table (baseCost = 512)** + +| Multiplier | Base Energy (AE) | +|------------|----------------| +| 2 | 256 | +| 4 | 1,024 | +| 8 | 2,048 | +| 16 | 8,192 | +| 32 | 16,384 | +| 64 | 65,536 | +| 128 | 131,072 | +| 256 | 524,288 | +| 512 | 268,435,456 | +| 1024 | 2,147,483,648 | + +### Energy Card Efficiency + +Installing Energy Cards reduces power consumption. The effect increases with the number of cards but has diminishing returns. + +Let \( N \) = number of installed energy cards + +**Energy Ratio Formula:** +![eformula1](../../picture/eformula2.png) + +**Energy Card Efficiency Table:** + +| Number of Cards | Efficiency | Actual Energy Ratio | +|----------------|------------|------------------| +| 0 | 0% | 100% | +| 1 | 10% | 90% | +| 2 | 14.5% | 85.5% | +| 3 | 17.15% | 82.85% | +| 4 | 19.0% | 81.0% | +| 5 | 20.21% | 79.79% | +| 6 | 21.15% | 78.85% | +| 7 | 21.9% | 78.1% | +| ≥8 | 50% | 50% | + +### Final Energy Calculation + +**Final Power Formula:** + +**finalPower = basePower × energyRatio** + +**Calculation Example:** + +- Target Multiplier: 64× +- Energy Cards Installed: 3 +- Base Energy: 65,536 AE +- Energy Ratio: 82.85% +- **Final Energy Consumption:** 65,536 × 0.8285 ≈ 54,267 AE + +> Actual energy consumption may vary depending on entity-specific configuration. \ No newline at end of file diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/network_pattern_controller.md b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/network_pattern_controller.md new file mode 100644 index 0000000..4bb3dbc --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/network_pattern_controller.md @@ -0,0 +1,39 @@ +--- +navigation: + parent: introduction/index.md + title: Pattern Provider Status Controller + position: 3 + icon: extendedae_plus:network_pattern_controller +categories: + - extendedae_plus devices +item_ids: + - extendedae_plus:network_pattern_controller +--- + +# Pattern Provider Status Controller + + + +The **Pattern Provider Status Controller** is a central control unit that allows you to manage the working modes of all pattern providers in your network through a single unified interface. + +## User Interface & Operations + +![Pattern Provider Status Controller Interface](../../picture/network_pattern_controller.png) + +The controller UI provides the following control options: + +### Mode Switching +- **Toggle Blocking Mode:** Globally enable or disable "Blocking Mode" for all pattern providers. +- **Toggle Advanced Blocking:** Globally switch "Advanced Blocking Mode." +- **Toggle Smart Multiplication:** Globally enable or disable the "Smart Multiplication" feature. + +### Batch Operations +- **Enable All:** One-click to enable all three features for every pattern provider in the network. +- **Disable All:** One-click to disable all three features for every pattern provider in the network. + +## How to Use +1. Place the **Pattern Provider Status Controller** in your ME network. +2. Right-click the controller to open the configuration interface. +3. Click the corresponding buttons to adjust the status of all pattern providers globally according to your management needs. + +> **Note:** This controller affects **all** pattern providers in the network. To configure individual providers separately, you must still use the UI of each provider. diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/wireless_transceiver.md b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/wireless_transceiver.md new file mode 100644 index 0000000..9e1b6e7 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/devices/wireless_transceiver.md @@ -0,0 +1,50 @@ +--- +navigation: + parent: introduction/index.md + title: Wireless Transceiver + position: 1 + icon: extendedae_plus:wireless_transceiver +categories: + - extendedae_plus devices +item_ids: + - extendedae_plus:wireless_transceiver +--- + +# Wireless Transceiver + + + +The **Wireless Transceiver** is an advanced wireless AE device that combines the convenience of wireless connectors with the cross-dimensional capabilities of Quantum Rings, allowing ME network channels to be transmitted wirelessly to multiple locations. + +## Operating Mechanism + +### Basic Concept +The Wireless Transceiver uses a **master-slave** architecture: +- **Master:** Connected to the source ME network providing the channel. +- **Slave:** Placed where the channel is needed, receiving it from a master. **One master can serve multiple slaves.** + +### Cross-Dimensional Transmission +Supports cross-dimensional channel transmission. +**Requirement:** Both master and slave chunks must remain loaded. + +## Operation Guide + +### Mode & Frequency Settings + +- **Right-click empty hand:** Toggle the device's **Master/Slave mode**. +- **Shift + Right-click:** **Increase** the device’s pairing frequency. +- **Shift + Left-click:** **Decrease** the device’s pairing frequency. +- **Hold Wrench + Left-click:** Quickly adjust the transceiver’s frequency. +- **Wrench + Right-click:** **Lock** the current mode and frequency to prevent accidental changes. +- **Quartz Cutter:** Rename the transceiver. The slave’s Jade UI will display the connected master’s name for easier identification and management. + +### Ownership & Security (v1.4.4+) + +Starting from version 1.4.4, the Wireless Transceiver supports ownership binding for enhanced security and channel isolation: +- **Default Ownership:** Transceivers placed before 1.4.4 are considered **public devices**. +- **Automatic Binding:** From 1.4.4 onward, newly placed transceivers automatically bind to the player who placed them. +- **FTB Teams Support:** Devices can be bound to FTB teams. **Transceivers from different teams or players cannot communicate even if frequencies match**, ensuring channel isolation. + +> **Important Update Notice:** +> When updating from an older version to 1.4.4 or later: +> - If the old **public master** is removed, you must break and replace the corresponding **slave devices** to complete ownership binding, otherwise they will fail to connect. \ No newline at end of file diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/introduction/features/features.md b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/features/features.md new file mode 100644 index 0000000..32a0486 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/features/features.md @@ -0,0 +1,141 @@ +--- +navigation: + title: Feature Overview + parent: introduction/index.md + position: 0 +categories: + - extendedae_plus features +--- + +# Mod Feature Overview + +## I. Pattern Provider Enhancements + +Unless otherwise stated, the following features support **AE2 Pattern Providers** and **ExtendedAE Pattern Providers** only. + +### 1. Smart Blocking Mode + +Enhanced based on AE2’s original blocking mechanism. When identical pattern materials are continuously dispatched, this prevents waste caused by concurrent recipe execution. (Supports AdvancedAE series providers) + +> Requires the original blocking feature to be enabled. + +
+ +### 2. Smart Multiplication Mode + +Automatically calculates the total materials required for a crafting order in AE2. +This mechanism is equivalent to manually duplicating the pattern to the corresponding quantity. (Supports AdvancedAE series providers) + +Configurable options include: +- Maximum multiplication limit +- Multi-pattern provider polling dispatch (improves concurrency and distribution efficiency) +- Minimum yield factor + +**Example:** + +Pattern: 1 Cobblestone + 2 Lava → 1 Stone + +When ordering 1000 Stone, the system dispatches 1000 Cobblestone and 2000 Lava at once. + +**Additional Configuration:** + +Manually set the single-item dispatch limit in the left input box of the pattern provider. + +Example: Pattern 1 Cobblestone + 2 Lava → 1 Stone, limit 64; ordering 1000 Stone will dispatch only 32 Cobblestone and 64 Lava at a time. + +Supported types: Items, Fluids, Mekanism chemicals. + +
+ +### 3. Manual Multiplication Button + +A multiplication control button is added in the pattern provider GUI, allowing players to quickly set pattern multipliers without repeated editing. + +--- + +## II. AE2 Related Features + +### 1. Enhanced Quick Operations + +- **Middle-click to pull blocks:** Middle-clicking any block will automatically pull it from the AE network if available (requires a wireless terminal). +- **Auto-fill blank patterns:** Opening the Pattern Encoding Terminal automatically fills empty patterns from the AE network into slots. + +
+ +### 2. Crafting Monitoring Interface Enhancements + +- **Shift + Click Material:** Quickly opens the corresponding machine interface. +- **Shift + Right-click Material:** Opens the corresponding provider UI and highlights the matching pattern slot. The target provider is also highlighted in the world. +- **Shift + Click Cancel Button:** Automatically adds missing materials to JEI bookmarks. + +
+ +### 3. Pattern Encoding Terminal Enhancements + +- **Upload Feature:** Directly upload patterns to the corresponding machine’s pattern provider via the upload button. JEI-pulled recipes detect the machine name and automatically search for matching providers. Automatic search uses a mapping table; mapping keys can be added in the upload interface. +- **Quick Clear:** Right-click the upload search box to clear input quickly. + +
+ +### 4. Pattern Quantity Display & Naming Optimization + +- Adds “Pattern Craft Quantity” display in AE2 and ExtendedAE pattern management terminals and providers. +- Pattern provider UI title displays player-customized names. + +
+ +### 5. AE Performance Optimization + +- New config option **Crafting Pause Threshold** (default: 100000) adjusts AE’s thread sleep behavior during crafting plan calculation, significantly improving speed for large crafting plans. + +
+ +### 6. Quartz Cutter Function Extension + +- **Shift + Right-click Block or AE Component:** Copies its name, supporting copying of sub-recipe names from large GregTech machines. + +--- + +## III. ExtendedAE Enhancements + +### 1. Fast Pattern Upload + +- **Auto-detect Assembly Matrix:** If an assembly matrix exists in the network, patterns completed in the Pattern Encoding Terminal (for crafting, smelting, or cutting) are automatically uploaded. Existing identical patterns are detected and returned, avoiding duplicates.(The Shift key must be pressed when clicking the encoding button.) + +
+ +### 2. Configurable Properties + +- Extendable pattern provider slot multipliers can be adjusted via the config file. + +
+ +### 3. Terminal Interaction Enhancements + +- **Search Highlight:** Adds a search highlight feature to ExtendedAE pattern management terminals (18x18 border + rainbow flow highlight). + +--- + +## IV. Deep JEI & AE2 Integration + +### 1. Bidirectional Interaction + +- **Shift + Left-click (JEI → AE Network):** Pulls the item directly if available in AE network; if missing, jumps to ordering interface. +> Requires a wireless terminal (can also be in accessory slot). + +- **Middle-click JEI item:** If an automated crafting plan exists in AE, jumps to ordering interface. + +
+ +### 2. JEI & Terminal Synchronization + +- **F Key:** Syncs the JEI item name to AE2 search bar and ExtendedAE pattern management interface. +- **Pattern Priority Matching:** Prioritize JEI bookmarks when writing patterns. + +--- + +## V. Other Improvements & Utilities + +### Pattern Information Display + +- Shows author information on completed patterns: `Written by ` \ No newline at end of file diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/introduction/index.md b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/index.md new file mode 100644 index 0000000..cc6dec7 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/index.md @@ -0,0 +1,24 @@ +--- +navigation: + title: Extendedae_plus Introduction + position: 60 +--- +# Extendedae_plus GuideME + +Welcome to **Extendedae_plus**. +This is an add-on mod for Applied Energistics 2 (AE2), built upon **ExtendedAE** with enhanced functionality. It focuses on improving the **Pattern Provider** and optimizing player experience, while maintaining compatibility with multiple AE2 extension ecosystems (such as AAE, etc.). +It provides more flexible and controllable pattern execution behavior, along with a more intuitive and user-friendly GUI. + +## Guide Index + +### Features + + +### Devices + + +### Items + + +For detailed development/build instructions or troubleshooting, please report here: +[ExtendedAE_Plus GitHub](https://github.com/GaLicn/ExtendedAE_Plus) diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/assembler_matrix_plus_cores.md b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/assembler_matrix_plus_cores.md new file mode 100644 index 0000000..52b57e8 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/assembler_matrix_plus_cores.md @@ -0,0 +1,30 @@ +--- +navigation: + parent: introduction/index.md + title: Assembler Matrix Plus Cores + position: 12 + icon: extendedae_plus:assembler_matrix_speed_plus +categories: + - extendedae_plus items +item_ids: + - extendedae_plus:assembler_matrix_pattern_plus + - extendedae_plus:assembler_matrix_crafter_plus + - extendedae_plus:assembler_matrix_speed_plus +--- + +# Assembler Matrix Plus Cores + + + + + + + +The Assembler Matrix gains three **“Plus Cores”**, which further enhance its capabilities on top of the original cores. +Their roles are analogous to the original ExtendedAE Assembler Matrix cores, but with greatly increased stats: + +- **Assembler Matrix Pattern Core+**: each core provides **72 pattern slots**. +- **Assembler Matrix Craft Core+**: each core can run **32 crafting jobs in parallel**. +- **Assembler Matrix Speed Core+**: provides **5× the effect of a regular speed core** for the matrix. + + diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/channel_card.md b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/channel_card.md new file mode 100644 index 0000000..9be198f --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/channel_card.md @@ -0,0 +1,53 @@ +--- +navigation: + parent: introduction/index.md + title: Channel Card + position: 2 + icon: extendedae_plus:channel_card +categories: + - extendedae_plus items +item_ids: + - extendedae_plus:channel_card +--- + +# Channel Card + + + +The **Channel Card** is an upgrade card that encapsulates the slave-end functionality of the into a compact form. +When installed into compatible AE devices, it allows them to connect directly to a wireless transceiver master of the same frequency — no cables required. + +## Function & Usage + +### Basic Features +- **Wireless Connection**: + AE devices equipped with a Channel Card will automatically search for and connect to a **wireless transceiver master** operating on the **same frequency**, gaining access to its ME network channels. +- **Frequency Adjustment**: + - **Right-click while holding the card**: **Increase** its frequency. + - **Shift + Right-click**: **Decrease** its frequency. + +### Ownership Binding (v1.4.4+) +- **Binding Operation**: + Hold the Channel Card and **Shift + Left-click** (without targeting a block) to bind it to your **team** or **personal UUID**. +- **Binding Requirement**: + The card **must be bound** before it can connect to a wireless transceiver master with matching ownership. + +### Supported Devices +The Channel Card can be installed into the following AE devices (and their ExtendedAE variants) to grant them wireless connectivity. Once installed, the device will automatically attempt to connect to a wireless transceiver master of the same frequency. + +- +- +- +- +- + +## Workflow + +1. Ensure a wireless transceiver **master** with the desired frequency and mode is connected to the source ME network. +2. Hold the Channel Card and **Shift + Left-click** to complete ownership binding. +3. Adjust the card’s frequency using **Right-click** or **Shift + Right-click**. +4. Install the Channel Card into the target AE device (e.g., ME Interface). +5. The device will automatically connect to the wireless transceiver master with the same frequency and matching ownership. + +> **Note**: +> Both the Channel Card and the wireless transceiver master must have **matching frequency** and **ownership** (v1.4.4+) to successfully establish a connection. \ No newline at end of file diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/entity_speed_card.md b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/entity_speed_card.md new file mode 100644 index 0000000..522a1be --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/entity_speed_card.md @@ -0,0 +1,47 @@ +--- +navigation: + parent: introduction/index.md + title: Entity Speed Card + position: 6 + icon: extendedae_plus:entity_speed_card +categories: + - extendedae_plus items +item_ids: + - extendedae_plus:entity_speed_card +--- + +# Entity Speed Card + + + + + + + + +The **Entity Speed Card** is an upgrade component that can be inserted into the to provide various levels of acceleration. +The card’s tier directly determines the **maximum acceleration multiplier limit** that the Entity Accelerator can achieve. + +## Card Tiers & Effects + +An Entity Accelerator can hold up to **4 speed cards** simultaneously. +The final acceleration multiplier equals the **product of all inserted cards’ base multipliers**, but it **cannot exceed** the **maximum speed limit** defined by the **highest-tier card** installed. + +| Card Type | Base Multiplier | Maximum Speed Limit (per card) | +| :--- | :--- | :--- | +| Entity Speed Card (x2) | ×2 | ×8 | +| Entity Speed Card (x4) | ×4 | ×64 | +| Entity Speed Card (x8) | ×8 | ×256 | +| Entity Speed Card (x16) | ×16 | ×1024 | + +> **Mixed Insertion Rule**: +> When mixing cards of different tiers, the total multiplier is the product of all base multipliers, but the final result **cannot exceed** the **maximum speed limit** of the highest-tier card installed. +> +> **Example**: Insert one **x2 card** and three **x4 cards**. +> +> - Calculated multiplier: 2 × 4³ = 128 +> - Highest-tier card: **x4**, with a limit of **×64** +> - **Final acceleration multiplier = ×64** + +## Crafting Recipe + \ No newline at end of file diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/infinity_biginteger_cell.md b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/infinity_biginteger_cell.md new file mode 100644 index 0000000..450a2c1 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/infinity_biginteger_cell.md @@ -0,0 +1,36 @@ +--- +navigation: + parent: introduction/index.md + title: "Devourer of Cosmic Silence" + position: 7 + icon: extendedae_plus:infinity_biginteger_cell +categories: + - extendedae_plus items +item_ids: + - extendedae_plus:infinity_biginteger_cell +--- + +# Devourer of Cosmic Silence + + + +**Devourer of Cosmic Silence** is an ultimate ME storage disk that provides truly infinite item-type support and storage capacity. + +## Features + +- **Infinite Types**: + There is **no limit** to the number of item types it can store. +- **Infinite Capacity**: + Storage capacity is based on the **BigInteger** data type, effectively making it limitless. +- **Display Limitation**: + Due to AE2’s interface constraints, the ME terminal can display a maximum stored value of **9.2E (9,223,372,036,854,775,808)**. + However, the disk **continues to accept items** far beyond this displayed number. +- **Broad Compatibility**: + Capable of storing various resources integrated into AE2 via add-on mods (such as *Applied Flux*, *Applied Mekanistics*, etc.), including FE, Mekanism chemicals, Ars Nouveau mana, and more. + Storing these resources requires the corresponding add-on mod to be installed. + +## Data Security & Recovery + +This disk includes a built-in data protection mechanism: +- Use the command `/eap give_infinity_disks` to obtain a copy of the disk corresponding to the saved storage data in the current world. +- This serves as a **failsafe measure**, allowing you to **recover stored data** if the original disk is accidentally lost. \ No newline at end of file diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/virtual_crafting_card.md b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/virtual_crafting_card.md new file mode 100644 index 0000000..2708b9e --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/ae2guide/introduction/items/virtual_crafting_card.md @@ -0,0 +1,45 @@ +--- +navigation: + parent: introduction/index.md + title: Virtual Crafting Card + position: 3 + icon: extendedae_plus:virtual_crafting_card +categories: + - extendedae_plus items +item_ids: + - extendedae_plus:virtual_crafting_card +--- + +# Virtual Crafting Card + + + + + +The Virtual Crafting Card is a specialized upgrade for Pattern Providers that instantly completes the "final dispatch" for tasks where the products don't need to be returned to storage. + +## Features and Effects + +- **Auto-Complete**: Instantly marks a task as complete when the provider is about to dispatch the final batch and the recipe doesn't require returning products to the ME network. +- **Queue Release**: Frees up the crafting memory immediately without waiting for product return, allowing for subsequent scheduling. +- **Single Card Limit**: Only 1 card can be installed per Pattern Provider (including extended versions). + +## Usage Scenarios + +| Scenario | Effect | +| :--- | :--- | +| Multiblock Construction | Materials are automatically marked as delivered once dispatched to the target location, no need to wait for return confirmation | +| Manual Crafting Aid | Non-automatable materials (like Nether Stars, enchanted books, etc.) are dispatched to a chest near the crafting table, automatically completing the task after manual collection | +| Bulk Block Placement | Directly dispatches large quantities of building blocks to the hotbar, auto-completing after placement | +| Automated Production Line Supply | Automatically completes after replenishing consumables (like furnace fuel, experience bottles, etc.) for automated production lines | + +## Supported Devices + +- +- +- +- + +## Crafting Recipe + + diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/picture/eformula1.png b/src/main/resources/assets/extendedae_plus/ae2guide/picture/eformula1.png new file mode 100644 index 0000000000000000000000000000000000000000..1ac5eae32e352c0c8593a6739d3363ba6ad138a8 GIT binary patch literal 16211 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 F{|9g$Ip+WX literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/picture/eformula2.png b/src/main/resources/assets/extendedae_plus/ae2guide/picture/eformula2.png new file mode 100644 index 0000000000000000000000000000000000000000..2fc7888f14140b77ca83f0aa1f33fda5b134f451 GIT binary patch literal 13625 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/extendedae_plus/ae2guide/picture/network_pattern_controller.png b/src/main/resources/assets/extendedae_plus/ae2guide/picture/network_pattern_controller.png new file mode 100644 index 0000000000000000000000000000000000000000..86973fd9fd2fb770a79becedeb758b7b310a287c GIT binary patch literal 47715 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