From 397b69ea2adbdc08b7adcfe76231d9c7065bd2fa Mon Sep 17 00:00:00 2001 From: ChuijkYahus <94828194+ChuijkYahus@users.noreply.github.com> Date: Sat, 20 Dec 2025 21:08:26 +0800 Subject: [PATCH 1/3] =?UTF-8?q?CrazyAE2Addons=20pre=EF=BC=9A=E5=88=9D?= =?UTF-8?q?=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ae2guide/_zh_cn/crazyae2addons_index.md | 37 -- .../_zh_cn/crazyguide/ampere_meter.md | 23 -- .../_zh_cn/crazyguide/auto_builder.md | 61 ---- .../crazyguide/auto_builder_language.md | 212 ----------- .../_zh_cn/crazyguide/auto_enchanter.md | 53 --- .../crazyguide/chunky_fluid_p2p_tunnel.md | 21 -- .../crazyguide/circuited_pattern_provider.md | 30 -- .../ae2guide/_zh_cn/crazyguide/cpu_prio.md | 54 --- .../_zh_cn/crazyguide/crafting_scheduler.md | 38 -- .../_zh_cn/crazyguide/crazy_calculator.md | 27 -- .../crazyguide/crazy_emitter_multiplier.md | 44 --- .../crazyguide/crazy_pattern_modifier.md | 29 -- .../crazyguide/crazy_pattern_multiplier.md | 25 -- .../crazyguide/crazy_pattern_provider.md | 43 --- .../_zh_cn/crazyguide/data_extractor.md | 112 ------ .../_zh_cn/crazyguide/data_variables.md | 75 ---- .../_zh_cn/crazyguide/display_monitor.md | 187 ---------- .../ae2guide/_zh_cn/crazyguide/ejector.md | 32 -- .../_zh_cn/crazyguide/energy_exporter.md | 31 -- .../_zh_cn/crazyguide/energy_interface.md | 30 -- .../crazyguide/energy_storage_multiblock.md | 52 --- .../_zh_cn/crazyguide/entity_ticker.md | 27 -- .../_zh_cn/crazyguide/entropy_cradle.md | 43 --- .../crazyguide/extracting_p2p_tunnels.md | 43 --- .../crazyguide/impulsed_pattern_provider.md | 27 -- .../crazyguide/mob_annihilation_plane.md | 24 -- .../_zh_cn/crazyguide/mob_export_bus.md | 27 -- .../ae2guide/_zh_cn/crazyguide/mob_farm.md | 57 --- .../_zh_cn/crazyguide/mob_formation_plane.md | 39 -- .../_zh_cn/crazyguide/nbt_export_bus.md | 53 --- .../_zh_cn/crazyguide/nbt_storage_bus.md | 56 --- .../ae2guide/_zh_cn/crazyguide/nokia3310.md | 75 ---- .../_zh_cn/crazyguide/penrose_sphere.md | 69 ---- .../_zh_cn/crazyguide/redstone_emitter.md | 38 -- .../_zh_cn/crazyguide/redstone_terminal.md | 49 --- .../crazyguide/reinforced_matter_condenser.md | 48 --- .../ae2guide/_zh_cn/crazyguide/research.md | 89 ----- .../crazyguide/round_robin_item_p2p_tunnel.md | 13 - .../_zh_cn/crazyguide/samsung_galaxy_s6.md | 70 ---- .../_zh_cn/crazyguide/signalling_interface.md | 33 -- .../_zh_cn/crazyguide/spawner_extractor.md | 46 --- .../_zh_cn/crazyguide/stone_cutter_recipes.md | 20 -- .../_zh_cn/crazyguide/variable_terminal.md | 30 -- .../ae2guide/_zh_cn/crazyguide/view_cells.md | 62 ---- .../_zh_cn/crazyguide/wormhole_tunnel.md | 40 --- .../ae2guide/_zh_cn/img/script2.png | Bin 100660 -> 0 bytes .../ae2guide/_zh_cn/img/script3.png | Bin 101113 -> 0 bytes .../ae2guide/crazyae2addons_index.md | 40 --- .../ae2guide/crazyguide/ampere_meter.md | 23 -- .../ae2guide/crazyguide/auto_builder.md | 62 ---- .../crazyguide/auto_builder_language.md | 212 ----------- .../ae2guide/crazyguide/auto_enchanter.md | 53 --- .../crazyguide/chunky_fluid_p2p_tunnel.md | 21 -- .../crazyguide/circuited_pattern_provider.md | 30 -- .../ae2guide/crazyguide/cpu_prio.md | 54 --- .../ae2guide/crazyguide/crafting_scheduler.md | 38 -- .../ae2guide/crazyguide/crazy_calculator.md | 27 -- .../crazyguide/crazy_emitter_multiplier.md | 44 --- .../crazyguide/crazy_pattern_modifier.md | 31 -- .../crazyguide/crazy_pattern_multiplier.md | 29 -- .../crazyguide/crazy_pattern_provider.md | 44 --- .../ae2guide/crazyguide/data_extractor.md | 115 ------ .../ae2guide/crazyguide/data_variables.md | 75 ---- .../ae2guide/crazyguide/display_monitor.md | 193 ---------- .../ae2guide/crazyguide/ejector.md | 33 -- .../ae2guide/crazyguide/energy_exporter.md | 36 -- .../ae2guide/crazyguide/energy_interface.md | 30 -- .../crazyguide/energy_storage_multiblock.md | 53 --- .../ae2guide/crazyguide/entity_ticker.md | 27 -- .../ae2guide/crazyguide/entropy_cradle.md | 44 --- .../crazyguide/extracting_p2p_tunnels.md | 45 --- .../crazyguide/impulsed_pattern_provider.md | 27 -- .../crazyguide/mob_annihilation_plane.md | 24 -- .../ae2guide/crazyguide/mob_export_bus.md | 27 -- .../ae2guide/crazyguide/mob_farm.md | 57 --- .../crazyguide/mob_formation_plane.md | 39 -- .../ae2guide/crazyguide/nbt_export_bus.md | 53 --- .../ae2guide/crazyguide/nbt_storage_bus.md | 56 --- .../ae2guide/crazyguide/nokia3310.md | 76 ---- .../ae2guide/crazyguide/penrose_sphere.md | 69 ---- .../ae2guide/crazyguide/redstone_emitter.md | 38 -- .../ae2guide/crazyguide/redstone_terminal.md | 49 --- .../crazyguide/reinforced_matter_condenser.md | 48 --- .../ae2guide/crazyguide/research.md | 90 ----- .../crazyguide/round_robin_item_p2p_tunnel.md | 13 - .../ae2guide/crazyguide/samsung_galaxy_s6.md | 71 ---- .../crazyguide/signalling_interface.md | 33 -- .../ae2guide/crazyguide/spawner_extractor.md | 46 --- .../crazyguide/stone_cutter_recipes.md | 20 -- .../ae2guide/crazyguide/variable_terminal.md | 30 -- .../ae2guide/crazyguide/view_cells.md | 62 ---- .../ae2guide/crazyguide/wormhole_tunnel.md | 40 --- .../crazyae2addons/ae2guide/img/script2.png | Bin 144395 -> 0 bytes .../crazyae2addons/ae2guide/img/script3.png | Bin 129340 -> 0 bytes .../crazyae2addons/lang/en_us.json | 333 +++++++++++++++++- .../crazyae2addons/lang/zh_cn.json | 333 +++++++++++++++++- 96 files changed, 640 insertions(+), 4647 deletions(-) delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyae2addons_index.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ampere_meter.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder_language.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_enchanter.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/chunky_fluid_p2p_tunnel.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/circuited_pattern_provider.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/cpu_prio.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crafting_scheduler.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_calculator.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_emitter_multiplier.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_modifier.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_multiplier.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_provider.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/data_extractor.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/data_variables.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/display_monitor.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ejector.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_exporter.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_interface.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_storage_multiblock.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entity_ticker.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entropy_cradle.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/extracting_p2p_tunnels.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/impulsed_pattern_provider.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_annihilation_plane.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_export_bus.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_farm.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_formation_plane.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_export_bus.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_storage_bus.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nokia3310.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/penrose_sphere.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_emitter.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_terminal.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/reinforced_matter_condenser.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/research.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/round_robin_item_p2p_tunnel.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/samsung_galaxy_s6.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/signalling_interface.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/spawner_extractor.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/stone_cutter_recipes.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/variable_terminal.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/view_cells.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/wormhole_tunnel.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/img/script2.png delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/img/script3.png delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyae2addons_index.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ampere_meter.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder_language.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_enchanter.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/chunky_fluid_p2p_tunnel.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/circuited_pattern_provider.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/cpu_prio.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crafting_scheduler.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_calculator.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_emitter_multiplier.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_modifier.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_multiplier.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_provider.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/data_extractor.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/data_variables.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/display_monitor.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ejector.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_exporter.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_interface.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_storage_multiblock.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entity_ticker.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entropy_cradle.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/extracting_p2p_tunnels.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/impulsed_pattern_provider.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_annihilation_plane.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_export_bus.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_farm.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_formation_plane.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_export_bus.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_storage_bus.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nokia3310.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/penrose_sphere.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_emitter.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_terminal.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/reinforced_matter_condenser.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/research.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/round_robin_item_p2p_tunnel.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/samsung_galaxy_s6.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/signalling_interface.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/spawner_extractor.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/stone_cutter_recipes.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/variable_terminal.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/view_cells.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/wormhole_tunnel.md delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/img/script2.png delete mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/img/script3.png diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyae2addons_index.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyae2addons_index.md deleted file mode 100644 index 6ad3e13a8876..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyae2addons_index.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -navigation: - title: Crazy AE2 Addons - position: 120 ---- - -# Crazy AE2 Addons - -Crazy AE2 Addons以多种方式拓展了应用能源2(Applied Energistics 2)的功能——模组引入了高级自动化设备、数据处理方式,以及网络控制方块。Crazy AE2 Addons的所有机制均以原版AE2的机制为基础,所添加的*绝大多数*方块均需在ME网络中运作。模组还加入了一系列实用功能。 - ---- - -# 需要帮助?加入我的[Discord](https://discord.com/invite/mWy8AVRtwz)服务器吧 - ---- - -# 想让AE2处理概率产出的配方?参见[脉冲样板供应器](crazyguide/impulsed_pattern_provider.md) - ---- - -# 特性 - -## 合成与样板 - - - -## 监测与自动化 - - - -## 能量与物品运输 - - - -## 生物存储 - - \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ampere_meter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ampere_meter.md deleted file mode 100644 index 3209dc5fdaeb..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ampere_meter.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 电流表 - icon: crazyae2addons:ampere_meter -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:ampere_meter ---- - -# 电流表 - - - -电流表的功能相对简单:能显示两端间能量的传输量。使用时,此设备需与两个使用能量的方块相邻。右击电流表可进行设置。 - -界面中央有一个箭头按钮,点击可切换能量输入和输出端。可以来回翻转箭头并观察数字的变化以进行测试。界面中的主要数据是在若干刻内统计出的平均传输率,测量Forge能量(FE)时显示格式为`10k FE/t`,测量格雷科技(GregTech)的能量时则类似`4A (LuV)`。它还可充当二极管,用于阻断相反方向的能量流动。 - -## 兼容性 - -- 对任意使用Forge能量的机器有效。 -- 安装格雷科技时,还可测量EU电流和电压。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder.md deleted file mode 100644 index c88f179f5274..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 自动建筑机 - icon: crazyae2addons:auto_builder -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:auto_builder ---- - -# 自动建筑机 - -# [如何编程](auto_builder_language.md) - - - -自动建筑机是应用能源2(AE2)驱动的可编程建筑机器人。它会从特制的**建筑机样板**中读取数据,并照指示放置或移除方块。 - ---- - -## 工作原理 - -1. **为样板编码** - - 对两个位置使用建筑机样板以选择角落(右击选择第一个角落,Shift右击选择第二个)。 - - 右击空气以将结构复制并存入物品。 - - 范围内的所有方块都会被扫描,从而制成建筑机样板。 - -2. **编辑样板(可选)** - - 手持建筑机样板Shift右击可打开一个文本编辑器GUI。 - - 可在其中调整延时,或是加入重置、移除、循环、宏等命令。 - - 右侧的数字是各命令间的延时,以刻计(默认20刻,合1秒),设为0可让其以最高速度运转。 - -3. **放入样板** - - 将样板放入**自动建筑机**方块。 - - 同一时刻只可放入一个样板。 - - 可以通过自动方式向其中放入和从中取出样板。 - -4. **提供能量和物品** - - 将自动建筑机连接至ME网络。 - - 确保ME网络存储中有足够的建筑材料。 - - 自动建筑机会在开始执行前抽取**当次所需的全部能量**。 - - 支持合成卡。 - -5. **触发建筑** - - 向顶部提供红石信号以开始建筑。 - - 建筑机会**基于其自身朝向**执行指令。 - - **预览模式**会实时显示方块影像,在开始操作前可作参考。 - - 搭建完毕后,建筑机会向各面发出一个短红石脉冲。 - - 加速卡可加快其工作速度。 - ---- - -## 关键特性 - -- **相对性**:结构会基于建筑机的朝向进行搭建 -- **预览模式**:在预定要放置和移除方块的位置实时显示方块预览影像 -- **能量预支**:程序开始时就将消耗整段程序所需的能量,能量不足便不会启动 -- **放置方块附带回收**:拆下的方块会返回ME网络存储 -- **完全与AE2的存储和供能系统集成** -- **操作可使用红石控制** diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder_language.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder_language.md deleted file mode 100644 index a37f8d5781f1..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder_language.md +++ /dev/null @@ -1,212 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 自动建筑机编程语言 - icon: crazyae2addons:builder_pattern -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:builder_pattern ---- - -# 自动建筑机编程语言:完整教程 - -自动建筑机(AutoBuilder)语言可用于指示可编程的建筑机,让它执行移动、放置方块、破坏方块、等待等许多动作,且语言的语法简练、对宏友好。 - ---- - -## 程序结构 - -每则自动建筑机程序都可分为2或3个部分,各部分间使用管道符号(“|”)连接: - -方块映射 | 宏 | 主程序 - -可以跳过宏部分: - -方块映射 | 主程序 - -### 方块映射 - -定义可以使用的方块,并为其分配数字ID。语法为: - -0(minecraft:stone),1(minecraft:dirt),2(minecraft:oak_planks) - -每项的语法为: - -\<数字\>(\<方块ID\>) - -方块ID**不得**包含NBT数据,但允许包含方块状态,例如: - -0(minecraft:oak_log\[axis=y\]) - -### 宏(可选) - -宏是可重复使用的代码段,使用方括号定义: - -\[宏名\](指令) - -示例: - -\[stairs\](P(0)D) \[floor\](3{P(1)R}) - -主程序中可由以下方式使用: - -\[floor\]\[stairs\] - -### 程序代码 - -指定实际的逻辑。可以直接使用指令,也可使用循环、宏、方块放置等。 - ---- - -## 指令参考文档 - -### 移动 - -| 代码 | 意义 | -| ---- | ------------ | -| U | 向上移动 | -| D | 向下移动 | -| F | 向前移动 | -| B | 向后移动 | -| L | 向左移动 | -| R | 向右移动 | -| H | 返回起始点 | -| X | 清除(破坏) | - -实际移动方向的基准是**自动建筑机的当前朝向**,而不是东南西北等世界基本方位。 - -每次移动都会将建筑机的游标向该方向移动**1格**。 - ---- - -### 放置方块 - -P(n) - -放置方块映射中定义的方块。例如: - -P(0) - -会放置ID为0的方块,如minecraft:stone。 - ---- - -### 破坏方块 - -X - -破坏当前位置的方块。 - ---- - -### 循环 - -3{ ... } - -将大括号中间的内容重复**3遍**。 - -示例: - -4{P(1)R} - -放置方块1并向右移动,重复4次。 - -循环可嵌套。 - -示例: - -2{3{P(1)F}U} - -放置后向前移动,重复3次,然后向上移动。将此动作序列重复2次。 - ---- - -### 等待 - -Z(n) - -等待n个Minecraft刻(20刻 = 1秒)。 - -示例: - -P(0)Z(40)P(1) - -放置方块0,等待2秒,放置方块1。 - ---- - -### 回到起始点 - -H - -令建筑机返回其启动位置。 - ---- - -### 宏 - -需在“宏”部分中定义,再在程序中通过以下形式使用: - -[宏名] - -宏中可以包含其他宏、循环等。 - -示例: - -\[stairStep\](P(0)U F) - ---- - -## 示例 - -### 1. 以一条线放置3格石头 - -0(minecraft:stone) | P(0)F P(0)F P(0)F - -功能一致,换用循环: - -0(minecraft:stone) | 3{P(0)F} - ---- - -### 2. 破坏后重建 - -0(minecraft:oak_planks) | X Z(20) P(0) - -破坏方块,等待1秒,放置橡木木板。 - ---- - -### 3. 搭建阶梯 - -0(minecraft:oak_planks) | 5{P(0)U F} - -向上方和前方搭建5个阶梯。 - ---- - -### 4. 返回原点 - -0(minecraft:stone) | 4{P(0)F} H - -搭建向前延伸4格的小路,然后返回起点。 - ---- - -### 5. 使用宏 - -0(minecraft:stone),1(minecraft:dirt) | \[line\](3{P(0)F}) \[top\](U \[line\]) | \[line\]\[top\]\[line\] - -- 定义“线”/“line”,也即向前3格的石头小路。 -- 定义“上方”/“top”,也即在上方1格处搭建同样的“线”。 - ---- - -## 错误处理 - -本语言是一种严格语言: - -- 在P(n)中使用方块映射内不存在的ID -> 错误。 -- 括号({}、()、[])错配 -> 错误。 -- 宏无限递归 -> 错误。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_enchanter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_enchanter.md deleted file mode 100644 index 3aae93717eac..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_enchanter.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 自动附魔器 - icon: crazyae2addons:auto_enchanter -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:auto_enchanter ---- - -# 自动附魔器 - - - -自动附魔器是能独立运作的附魔机器,会使用ME网络中的经验碎片自动为书和工具附魔。它的附魔方式类似于原版Minecraft和神化(Apotheosis)。此设备必需放置在标准附魔台设施下方2格处,且其附魔能力取决于书架的数目。 - -## 使用方法 - -1. **放置自动附魔器** - - 此设备必须放置在附魔台下方2格处。 - - 和原版一样,在附魔台周围放置书架,以提高附魔等级。 - -2. **放入物品** - - 输入槽:放入需附魔的物品(工具、武器、书)。 - - 青金石槽:放入青金石(附魔必需品)。 - - 输出槽:经过附魔的物品会送到此处。 - -3. **前置需求** - - 需要ME系统中存有经验碎片。 - - 经验消耗根据书架计算。 - -4. **选择附魔选项** - - 在GUI内,挑选三项附魔选项之一(1到3级)。 - - 点击相应按钮选择选项。 - - GUI会显示预期的经验消耗。 - -5. **自动化** - - 打开或关闭**自动供应青金石**:自动从网络中补充青金石。 - - 打开或关闭**自动供应书**:自动从网络中补充书。 - -## 神化支持 - -如果同时安装有神化: -- 自动附魔器会自动扫描周围所有书架的特殊属性,如位阶、量子化、阿卡那、魔咒线索,同时可出产宝藏型魔咒。 - -## 行为总概 - -- 如启用,可自动补充输入物品和青金石。 -- 会消耗网络中的经验碎片(1 碎片 = 10 经验)。 -- 只在其上方2格处存在有效附魔台时运作。 -- 会基于原版Minecraft或神化附魔机制产出附魔书和附魔的物品。 -- 可以消耗网络中的物品。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/chunky_fluid_p2p_tunnel.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/chunky_fluid_p2p_tunnel.md deleted file mode 100644 index 526f3a02b736..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/chunky_fluid_p2p_tunnel.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 批次流体P2P - icon: crazyae2addons:chunky_fluid_p2p_tunnel -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:chunky_fluid_p2p_tunnel ---- - -# 批次流体P2P通道 - -批次流体P2P通道是一类线缆子部件,能按固定体积的批次发送流体。在积攒到所配置批次大小(以毫桶计)前,此通道不会进行发送。积攒足量流体之后,它会向链接的输出端发送所配置数量的流体,且会向各个输出端依次输出,保证各端均衡。 - -## 使用方法 - -1. **放置子部件**:将批次流体P2P通道放置在ME线缆上,也可朝向连接至储罐或流体机器的接口。 -2. **配置批次大小**:空手右击通道以打开其设置。输入需发送的批次大小(以毫桶计,例如`1000`为1桶),并点击“保存”/“Save”。 -3. **进行链接**:使用内存卡链接输出端。 -4. **填充后发送**:流体进入通道后,如果体积满足批次设置,通道即会向队列中的下一个输出端发送单批次的流体。如果体积不足,则什么都不会发生。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/circuited_pattern_provider.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/circuited_pattern_provider.md deleted file mode 100644 index 46be388d6e01..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/circuited_pattern_provider.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 电路样板供应器 - icon: ae2:pattern_provider -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:circuit_upgrade_card ---- - -# 电路样板供应器 - -# 只会在安装有格雷科技(GregTech)时出现。 - -# **此方块本身已被删除,它的功能现可用任意一种样板供应器实现!** - -电路样板供应器是AE2样板供应器的平替。它有一项额外功能:在其中使用带有“circuit”标签(由疯狂样板修改工具设置)时,样板供应器会在合成之前,将该编号的编程电路载入所有与之相连的格雷科技机器。 - -- 可与接口接存储总线协同运作(存储总线必须带有电路升级卡)。 -- 可与Modern AE2 Additions的样板P2P通道协同运作。 -- 可与上述两种体系的各种组合协同运作。 - -## 使用方法 - -1. **放置方块**:将电路样板供应器连接至ME网络,和普通的样板供应器一样即可。 -2. **准备样板**:使用疯狂样板修改工具为样板分配电路ID(1到32)。 -3. **打开界面**:右击电路样板供应器放入样板,也可进行管理。 -4. **进行合成**:请求合成时,样板供应器在将原材料批次发送给相连的机器前,会先将机器的编程电路槽设置为样板中指定的编程电路。 -5. **坐享其成**:无需再手动放置编程电路——所有格雷科技机器每次都能自动正确取用。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/cpu_prio.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/cpu_prio.md deleted file mode 100644 index 412cdd357e7f..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/cpu_prio.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: CPU优先级 - icon: crazyae2addons:cpu_prio_tuner -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:cpu_prio_tuner ---- - -# 合成CPU优先级 - -在**应用能源2(Applied Energistics 2,AE2)**中,如果ME网络中有多个**合成CPU**,那么通常来说ME系统会为合成任务自动分配CPU。默认情况下,这种挑选过程相对来说比较随意——哪个CPU当前正好空闲,就让哪个CPU来处理任务。 - -某些情况下,这种挑选方式会产生预期之外的结果;尤其是需要CPU优先完成自身任务时,或是需防止CPU中物品被其他合成任务“夺取”时。 - ---- - -## 为什么需要优先级? - -安装此附属后,每个合成CPU都可分配一个**优先级**。 - -* **高优先级**的CPU会在低优先级CPU之前收到所需物品。 -* 如果有两个CPU在等待同种物品,**高优先级**的会首先拿到。 -* 可借此控制网络中CPU竞争物品的方式。 - -此特性在如下情况中很有用处: - -* 需要一台‌**“主要”CPU**‌来处理重要配方,优先于其他小型CPU。 -* 需要**分离任务**(如避免自动合成CPU干扰批量合成CPU)。 -* 希望合成工作流更可控,而非完全依赖于随机分配。 - ---- - -## 如何设置CPU优先级 - -1. 合成并手持**CPU优先级调整器**(用于配置CPU结构优先级的工具)。 -2. 右击需配置的**合成CPU结构**中的方块。 -3. 对应的配置界面会打开。 -4. 在优先级输入框中输入数字: - * 数字越大,**优先级越高**。 - * 数字越小或越负,**优先级越低**。 -5. 按下**保存/Save**。 - -新设置的优先级会直接存储在CPU结构中。可按此步骤为其他CPU设置优先级。 - ---- - -## 提示 - -* 如果所有CPU的优先级都一致,那么挑选方式就会和AE2原版一致——随机分配。 -* 主要CPU使用**较大的正数**,次要的使用**负数或较小的正数**。 -* 可随意修改CPU的优先级,而无需破坏或重新进行搭建。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crafting_scheduler.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crafting_scheduler.md deleted file mode 100644 index 83e8ee6e5908..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crafting_scheduler.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 合成规划器 - icon: crazyae2addons:crafting_scheduler -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:crafting_scheduler ---- - -# 合成规划器 - - - -合成规划器是可被红石触发的合成方块,激活时可向系统递交合成任务。可用它以红石自动化特定的合成请求。 - ---- - -## 使用方法 - -1. **放置方块** - - 将其连接至ME网络。 - - 确保其能访问到至少1个可用的CPU。 - -2. **放入需合成的物品** - - 打开其GUI。 - - 在槽位中选择需要合成的物品。 - -3. **设置数量** - - 输入每次触发需合成的数量。 - - 应在文本框内输入,并使用绿色按钮确认。 - -4. **红石触发** - - 给予一次红石脉冲。 - -5. **可重复使用** - - 如果CPU空闲,则每次脉冲都会触发一次合成任务。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_calculator.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_calculator.md deleted file mode 100644 index 17c63729dc1e..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_calculator.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 疯狂计算工具 - icon: crazyae2addons:crazy_calculator -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:crazy_calculator ---- - -# 疯狂计算工具 - - - -疯狂计算工具是一件便携工具,会打开GUI计算器。 - -## 使用方法 - -1. **手持使用** - - 手持右击打开其GUI。 - -2. **输入表达式** - - 可以使用加法、减法、乘法、除法、括号。例如:2k*(1/3m)+12g(2k为2000,3m为3 000 000,12g为12 000 000 000) - -3. **计算结果** - - 按下按钮,即会在下方给出计算结果。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_emitter_multiplier.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_emitter_multiplier.md deleted file mode 100644 index 0ed9cbe991f5..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_emitter_multiplier.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 疯狂发信器倍增工具 - icon: crazyae2addons:crazy_emitter_multiplier -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:crazy_emitter_multiplier ---- - -# 疯狂发信器倍增工具 - - - -疯狂发信器倍增工具是一种手持工具,可用来设置或倍增ME网络中任意**标准发信器**的信号阈值,操作便捷。 - -无需再手动输入数字了,这件工具能快速倍增或是直接替换发信器的阈值。 - ---- - -## 使用方法 - -### 1. 打开GUI -- 手持物品右击。 -- 打开的界面中有: - - 一个**文本框**,可供输入数或数学表达式(如`100`、`2*64`、`1k`)。 - - 一个**勾选框**,用于切换“倍增”/“Multiply”和“设置”/“Set”模式。 - - 一个确认按钮,用于保存。 - -### 2. 设置模式 -- **设置/Set**:直接将输入的数赋给发信器。 -- **倍增/Multiply**:倍增发信器的阈值,倍数为所给数。 - -### 3. 对标准发信器使用 -- 手持配置完成的疯狂发信器倍增工具潜行右击任意标准发信器。 -- 发信器的阈值会按保存的模式和数进行更新。 - ---- - -## 特性 - -- 支持数学表达式和单位(`1k = 1000`、`2*64`,等等)。 -- 只对AE2的标准发信器有效。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_modifier.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_modifier.md deleted file mode 100644 index f26a33d1813f..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_modifier.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 疯狂样板修改工具 - icon: crazyae2addons:crazy_pattern_modifier -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:crazy_pattern_modifier ---- - -# 疯狂样板修改工具 - - - -疯狂样板修改工具是一件用途很多的物品,可用来调整AE2的处理样板。 - -可以选择忽略NBT——原本的样板会要求材料携带特定魔咒或物品标签,改后变成可接受任意匹配的物品。 - -还可向样板编入特定配置的电路ID,以供电路样板供应器和格雷科技(GregTech)的机器使用。 - -## 使用方法 - -手持疯狂样板修改工具右击可打开其界面。对样板供应器方块右击时,会同时打开供应器的界面。界面中只有单个槽位,用于放置处理样板。由两个按钮用于修改设置: - -- **忽略NBT**:点击NBT按钮可让样板忽略或匹配NBT标签。启用后,可在不指定具体魔咒的情况下合成附魔书等物品。 -- **设置电路**:如果安装有格雷科技,可在下方的文本框中输入一个数(1到32),点击确认可为样板分别该配置的编程电路。 - -调整配置的过程中,界面会显示当前的配置模式(如“当前:忽略NBT”/“Current: ignore NBT”或“选择5号编程电路”/“Selected circuit 5”)。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_multiplier.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_multiplier.md deleted file mode 100644 index 49abd3091fac..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_multiplier.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 疯狂样板倍增工具 - icon: crazyae2addons:crazy_pattern_multiplier -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:crazy_pattern_multiplier ---- - -# 疯狂样板倍增工具 - - - -疯狂样板倍增工具是一种便捷工具,能轻松修改处理样板中的材料数量,无需重新手动制作。可借此将输入和输出均乘以任意正数。可以设置上限,倍增工具不会倍增在其之上的样板。也可以批量修改所有样板的电路号。 - -乘数输入框支持数学表达式,如`2*(3+1)`。 - -## 使用方法 - -1. **打开GUI**: 手持疯狂样板倍增工具右击打开其界面。其中有36个槽位和一个标记为“乘数”/“Multiplier”的输入框。 -2. **设置乘数**:在输入框中输入用于修改的乘数。比如`2`对应翻倍,`0.5`对应减半,还可用`1k`对应1000倍。 -3. **应用于样板**:点击确认按钮。倍增工具会将槽位中的所有样板的原材料和产物数量乘以乘数。 -4. **潜行点击支持**:对任意容器(如样板供应器和箱子)潜行右击,可将最后一次使用的乘数作用于该容器中的所有样板。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_provider.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_provider.md deleted file mode 100644 index bcf41ae5a879..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_provider.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 疯狂样板供应器 - icon: crazyae2addons:crazy_pattern_provider -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:crazy_pattern_provider - - crazyae2addons:crazy_upgrade ---- - -# 疯狂样板供应器 - - - -疯狂样板供应器是应用能源2(AE2)样板供应器的扩展版本,具有动态的可扩展性。破坏时会保留所有设置和内容物。 - ---- - -## 重要特性 - -- **可扩展的样板容量** - - 开始时为72(8x9)个样板槽。 - - 用疯狂升级右击可增加9个槽位。 - - 槽位数没有上限,加到9999个样板槽也没关系。 - -- **可滚动的GUI** - - 界面中会显示当前的样板槽数。 -- **悬停文本** - - 界面中会显示供应器当前的容量和已经放入的样板个数。 ---- - -## 使用方法 - -1. **放置方块** - - 与标准的AE2样板供应器类似,需连接至ME网络。 - -2. **放入已编码的样板** - -3. **升级以增加槽位数** - - 对方块使用疯狂升级以增加样板容量。 - - 界面会自动更新。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/data_extractor.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/data_extractor.md deleted file mode 100644 index bdad584d5fae..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/data_extractor.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 数据提取器 - icon: crazyae2addons:data_extractor -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:data_extractor - - crazyae2addons:player_data_extractor ---- - -# 数据提取器与玩家数据提取器指南 - -本指南会介绍在应用能源2(AE2)网络中使用**数据提取器**和**玩家数据提取器**的方法。这些部件可读取外部数据,并将其送至**ME数据控制器**。此后,该数据会以变量的形式存在,供自动化和逻辑设施使用。 - ---- - -## 数据提取器 - -**数据提取器**专长于从直接相邻的方块和方块实体中读取信息。 - -### 可读取的数据 - -* **物品管理器(Item handler)数据** - - * `percentFilled` – 已填充的物品栏槽位的百分比占比。 -* **流体管理器(Fluid handler)数据** - - * `fluidPercentFilled` – 流体容器(tank)的填充程度。 - * `fluidAmount` – 当前流体的储量。 - * `fluidCapacity` – 容器的容量。 -* **能量管理器(Energy handler)数据** - - * `storedEnergy` – 当前FE的储量。 - * `energyCapacity` – FE容器的最大容量。 -* **方块状态(Block state)数据** - - * `blockName` – 方块的名称。 - * `isAir` – 方块是否是空气。 - * `isSolid` – 方块是否是固体方块。 - * `redstonePower` – 相邻方块的红石信号强度。 - * `blockLight` / `skyLight` – 方块处的光照等级。 - * `blockHardness` – 摧毁所需时间。 - * `blockExplosionResistance` – 爆炸抗性。 - * `blockState:property` – 任意方块状态属性(如朝向)。 - -* **安装有ComputerCraft Tweaked时功能更强** - * 相当于CC电脑,且可从外围设备中读取信息。 - -### 使用方法 - -1. 面向读取目标**放置子部件**。 -2. **右击**打开GUI。 -3. 点击**拉取**/**Fetch**以侦测目标所有可用的变量。 -4. 使用箭头按钮浏览可用变量。 -5. 选择其一,为其分配**变量名**。 -6. 设置**延时**(两次更新的间隔刻数)。 -7. 选定的值会以所给名称发送至**ME数据控制器**。 - ---- - -## 玩家数据提取器 - -**玩家数据提取器**的功能与前者类似,但它会从玩家中读取,而非方块。 - -### 可读取的数据 - -* `playerName` – 玩家的名称。 -* `playerHealth` / `playerMaxHealth` – 当前生命值和最大生命值。 -* `playerDistance` – 与提取器的距离。 -* `playerIsSneaking` – 玩家是否在潜行。 -* `playerIsSprinting` – 玩家是否在疾跑。 -* `playerYaw` – 玩家的水平旋转角度。 -* `playerPitch` – 玩家的垂直旋转角度。 - -### 使用方法 - -1. **将子部件放置**于网络。 -2. 放置时,其会自动将放置者识别为目标。 -3. 打开GUI以查看可用变量。 -4. 点击**拉取**/**Fetch**以刷新列表。 -5. 选择其一,为其分配**变量名**。 -6. 设置**延时**以控制更新频率。 -7. 所选数据会发送至**ME数据控制器**。 - -默认情况下,提取器会搜寻**距离最近的玩家**。在**玩家模式**下,其会选定特定的UUID(放置它的玩家)。 - ---- - -## GUI控制(两者均适用) - -* **拉取**/**Fetch** – 刷新可用变量。 -* **箭头(< >)** – 滚动变量界面。 -* **按钮(0–3)** – 选择列出的变量。 -* **所选**/**Selected** – 显示当前选中的变量。 -* **变量名** – 变量命名文本框(必须为ASCII字符,且会被转换为大写)。 -* **延时** – 更新间隔,以刻计。 -* **保存(+)** – 保存设置。 - ---- - -## 实用示例 - -* 对某流体储罐放置**数据提取器**。 -* 拉取变量,选择`fluidAmount`。 -* 将变量名设为`&WATER_LEVEL`。 -* 此后即可在**ME数据控制器**中使用`&WATER_LEVEL`进行自动化。 - ---- - -这两种提取器都是强大的工具。它们能在AE2网络和**实时世界信息与玩家数据**间建立联系,以便进行高水平的自动化、状态监测,也可借此搭建功能自定的逻辑设施。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/data_variables.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/data_variables.md deleted file mode 100644 index ee4f8534167e..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/data_variables.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 数据变量 - icon: crazyae2addons:data_processor -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:data_processor - - crazyae2addons:dataflow_pattern ---- - -# 数据变量(Lua触发器) - -数据变量能对AE2网络中变量的变化做出相应反应,此能力来自存储于物品中的小型Lua脚本。监测的变量变化时,脚本会立刻执行,以此更新其他变量,或控制脚本提及的红石发信器。 - ---- -## 前置条件 -- **ME数据控制器** – 存储网络中的所有变量。 -- **数据处理器** – 在变量变化时执行Lua脚本。 - -> 变量是**字符串**。 - ---- -## 快速入门 -1. **选择触发器**:在**数据处理器**的UI中,将**所监测变量**/**Watched variable**设置为需监测变量的名称(大小写敏感)。 -2. **输入Lua脚本**:将写有脚本的物品(Lua样板)放入处理器。 -3. **实现处理器**:脚本中**必须**定义: - - `onVariable(name, value)` – 每次所监测变量变化时调用。若缺失此函数,即不会进行更新。 - ---- -## Lua API(脚本中可用) -- `setVar(name, value)` – 设置或更新网络数据库中名为`name`的整型变量。 -- `setEmitter(name, state)` – 将所提及的红石触发器打开或关闭(**on**/**off**)。 -- `toggleEmitter(name)` – 反转所提及红石触发器的状态。 - -**注意事项** -- `name`可以是任意的字符串标签(如`"smelter"`、`"gate_A"`)。 -- 脚本中变量的变化会**层级传递**:其他监测这些变量的数据处理器也会调用它们的`onVariable`。 -- 除非知道自己在做什么,否则不要回写**正在监测**的变量——不然会产生循环。 - ---- -## 示例 - -### 1) 阈值控制:在value > 10时驱动发信器 -![Script1](../img/script1.png) - -### 2) 在变化时切换(检测任意边沿) -![Script2](../img/script2.png) - -### 3) 复制和处理:导出新变量 -![Script3](../img/script3.png) - -### 4) 布尔门限:将整数视作布尔值 -![Script4](../img/script4.png) - ---- -## 行为与提示 -- **触发时间**:`onVariable`会在所监测变量的值更新时立刻被调用(包括初始赋值)。 -- **命名**:命名触发器和变量名时保持一致,使用有描述性的名称(如`reactor_enable`、`ore_count`)。 -- **前后链接**:创建变量供其他处理器监测,以此搭建逻辑管线。 -- **安全**:使用限制条件和卫语句来避免值迅速来回切换(如只在达到某阈值时触发)。 - ---- -## 问题检修 -- **什么都没发生** → 确保脚本中**定义**了`onVariable(name, value)`,**所监测名称**会进行严格匹配,并确保**ME数据控制器**已连接网络且有供能。 -- **预期外的循环** → 可能是写入了正在监测的变量,或是在前后链接的处理器中触发了循环。 -- **发信器无反应** → 检查用到的发信器`name`。检查相应的红石设备是否已连接网络,且名称一致。 - ---- -## API参考(速查表) -- `onVariable(name, value)` – **必须存在**的入口。会在所监测变量的值更新时触发。 -- `setVar(name, value)` – 向网络写入整型变量。 -- `setEmitter(name, state)` – 将所提及红石发信器打开/关闭。 -- `toggleEmitter(name)` – 反转所提及红石发信器的状态。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/display_monitor.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/display_monitor.md deleted file mode 100644 index 49a47d2a118f..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/display_monitor.md +++ /dev/null @@ -1,187 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 显示监视器 - icon: crazyae2addons:display_monitor -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:display_monitor ---- - -# 显示监视器——用户指南 - -![显示监视器](../img/display.png) - -这篇指南会介绍Crazy AE2 Addons中**显示监视器**子部件的安装、配置、文本格式化、多方块搭建等的方法。 - ---- - -## 显示监视器是什么 - -显示监视器是可以放置在线缆某一面上的平板型应用能源2(AE2)子部件。激活后,它可以渲染文本(支持简单的格式和颜色),也可**监控ME数据控制器中的变量**以实时显示其值。 - -**能耗:**空闲能耗极少(约1 AE/t)。监视器只有在**接受供能并启用**时才会进行渲染。 - ---- - -## 快速入门 - -1. 将显示监视器**放置**在线缆上。 -2. **右击**打开**显示菜单**。 -3. 文本框内可输入显示信息(见下方格式化代码)。示例: - - **系统在线**&nl* 合成进行中&nl* 库存:&s^minecraft:iron_ingot -4. **应用/保存**。监视器会在有能量供应时显示文本。 - ---- - - -## ME库存组件(库存自动计数) - -可以使用特殊组件显示**ME库存中物品当前的数量**: - -**语法** - -`&s^命名空间:物品` -`&s^命名空间:物品%N` - -* `&s^minecraft:oak_log`:显示ME网络中该物品的总量。 -* `%N`可选,用于缩放显示量;缩放比为**10^N**,有舍入: - - * `%1` → 十 - * `%2` → 百 - * `%3` → 千 - * `%4` → 万,以此类推。 - -**示例** - -| 组件 | 意义 | 示例值(假设网络中有64个) | -| --------------------------- | --------------------- | --------------------------- | -| `&s^minecraft:oak_log` | 精确数值 | `64` | -| `&s^minecraft:oak_log%1` | amount / 10(舍入) | `6` | -| `&s^minecraft:oak_log%2` | amount / 100(舍入) | 120 → `1`,150 → `2` | -| `&s^minecraft:iron_ingot%3` | amount / 1000(舍入) | 小于500为`0`,大于等于为`1` | - -> 可以连用库存组件和颜色等其他格式化代码,示例: -> `&b101010&cE0E0E0**Logs:** &s^minecraft:oak_log%3 k` - -## 文本格式化速查表 - -显示监视器的文本框内可以使用多种简单的文本格式。 - -### 换行 - -* 在需换行处按下Enter或输入&nl。 - -### 行内样式(类Markdown) - -* `**粗体**` → 粗体 -* `*斜体*` → 斜体 -* `__下划线__` → 下划线 -* `~~删除线~~` → 删除线 - -### 颜色 - -* **文本颜色**:`&cRRGGBB`(十六进制) - * 示例:`&cFF0000`会让其后方的文本变为红色,直至再次更改颜色或换行。 -* **背景颜色**:`&bRRGGBB`(十六进制) - * 示例:`&b001122`会将面板的整个背景变为不透明的深蓝色。 - * 背景颜色在显示监视器阵列中全局有效(文本中任意一处设置即可)。 - -### 项目号与缩进 - -* 行首为`* `或`- `代表项目点号`•`。 -* 行首有任意数量个`>>`代表缩进记号。 - ---- - -## 变量(实时值) - -在文本中使用`&名称`可显示**实时变量**。监视器会自动监控各变量,并显示**ME数据控制器**最新推送的值。 - -* 语法: `&`后跟字母/数字/下划线(如`&A1`)。 -* 变量名对**大小写敏感**。 -* 网络中需存在**Crazy AE2 Addons的ME数据控制器**,需有足够的变量容量,并且数据流(节点)需能产生对应的值。 - -**示例** - -&b101010&cE0E0E0**库存**&nl -铁:&iron&nl -金:&gold&nl -电路板:&circuits - -> 修改文本或网络/控制器的状态发生变化时,监视器会自动监控变量或解除对变量的监控。 - ---- - -## 字号和自动缩放 - -* **自动缩放**:将字号设为**0**(或保留默认值)。文本会缩放至填满所有可用区域。 -* **固定字号**:将字号设为**正数**,各监视器中文本都会使用该字号。 - -> 固定字号的文本若无法完全显示,则会进行截断。应使用`&nl`换行或缩小字号。 - ---- - -## 监视器墙(连接模式) - -墙面上(朝向东/西/南/北)的多个监视器可连接成**单个巨型显示监视器**。 - -### 需求 - -* 所有显示监视器必须: - - * 处于**同一个墙面**(同侧面/朝向)。 - * **有能量供应且启用**。 - * 启用**连接模式(Linked Mode)**(需在各监视器的菜单中切换)。 -* 监视器应当形成**实心长方形**(无间隙和缺口)。 -* **天花板和地板**监视器(上/下)**不会**连接成墙,而只会各自显示。 - -### 渲染原理 - -* 监视器墙中只有**一个**监视器实际渲染文本,其余的只会提供显示空间。 -* 渲染器会在内部选定**原点**位置(通常是监视器墙的**左上角**)。 -* 向**该监视器**输入文本,即可在整面墙中渲染(自动缩放会识别整面墙)。 - -> 如果编辑后未能显示文本,应尝试编辑长方形**左上角**的监视器。 - -### 搭建步骤 - -1. 在墙面上按长方形放置监视器。 -2. 向其后方的线缆供能。 -3. 启用各面板的**连接模式**。 -4. 打开**左上角**监视器的界面,编辑文本和字号。 - ---- - -## 放置与朝向 - -* 放置在墙上(东/西/南/北):文本遵循墙面的朝向。文本的渲染方向固定。 -* 放置在地板/天花板上(上/下):监视器会使用放置时玩家的**朝向**,破坏后更改玩家朝向再放置即可更改。 - ---- - -## 提示与问题检修 - -* **未显示文本**:确保监视器**有能量供应且启用**;对于监视器墙而言,应编辑长方形**左上角**的监视器。 -* **变量显示为`&名称`**:网络中无**ME数据控制器**,或变量容量耗尽,或变量尚未建立。正确设置控制器或节点即可,监视器会自动进行监控。 -* **监视器墙未连接**:检查是否每个监视器的**连接模式**都已启用,是否所有监视器处于**同一个墙面**,形状是否是无空隙的**长方形**。 -* **文本被截断**:切换至**自动缩放(0字号)**,或减小所固定的字号。较长的行可用`&nl`换行。 - ---- - -## 参考表(所有组件) - -* `&nl`:换行 -* `&cRRGGBB`:文本颜色(影响后续文本) -* `&bRRGGBB`:背景颜色(影响整个面板) -* `&名称`:变量占位符(接受字母/数字/下划线) -* 行首为`* `或`- `:项目点号`•` -* 行首为`>>`(可重复出现):缩进 -* `**粗体**`、`*斜体*`、`__下划线__`、`~~删除线~~` -* `&s^命名空间:物品`:ME网络物品计数 -* `&s^命名空间:物品%N`:ME网络物品计数,按10^N缩放,带舍入 - ---- - -祝建筑愉快!如果对其他的格式化组件有想法和意见建议,欢迎来Discord分享(链接见Wiki主页),以便考虑在将来的版本里把它们加入游戏。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ejector.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ejector.md deleted file mode 100644 index b9113cf90e95..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ejector.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 弹出器 - icon: crazyae2addons:ejector -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:ejector ---- - -# 弹出器 - - - -弹出器是一类自动化方块,可向其前方的方块输出物品、流体或其他资源,仅需使用红石脉冲触发。 - ---- - -## 使用方法 - -1. **放置弹出器** - - 面朝弹出的目标机器放置。 - -2. **进行设置** - - 打开其GUI,设定应当发送的资源。 - - 可以使用处理样板加载设置。 - - 支持合成卡。 - -3. **使用红石触发** - - 向弹出器发送红石脉冲。 - - 合成需发送的物品时纹理会变化。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_exporter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_exporter.md deleted file mode 100644 index eee0dcf5fe6a..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_exporter.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 能源输出器 - icon: crazyae2addons:energy_exporter -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:energy_exporter ---- - -# 能源输出器 - -能源输出器是一类线缆子部件,能让ME网络向其面对的机器和存储方块输出Forge能量(FE)或格雷科技能量(EU)。它会自动抽取网络中的能量向外部输出。 - -## 使用方法 - -1. **放置子部件**:将能源输出器放置在ME线缆上,面朝接受能量的方块。 -2. **打开GUI**:右击子部件打开其设置界面。 -3. **安装升级**: - - **速度卡**:指数式增加能源传输率。 - - 默认传输率为1FE/t(无升级卡),最高为整型上限的FE/t(6张升级卡)。 -4. **格雷科技(GregTech)支持**: - - 向槽位中放入电池可切换至格雷科技EU模式。 - - 输出的电压由电池等级决定,如低压(LV)、中压(MV)、高压(HV)等。 - - 必须使用锂电池。 -5. **界面输出**: - - 界面中会显示当前的传输率。 - - 在格雷科技模式下,还会显示电压和电流。 - -能源输出器会根据放入的电池和目标机器的功能自适应输出FE或EU。输出时此设备会遵守能量转换率,且不会使得网络耗能过量——网络中能量少于33%时便不会输出。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_interface.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_interface.md deleted file mode 100644 index 2d1c5a9df3a2..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_interface.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 能量接口 - icon: crazyae2addons:energy_interface -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:energy_interface ---- - -# 能量接口 - -**能量接口**是能将ME网络所存AE能量暴露为Forge能量(Forge Energy,FE)的被动线缆子部件。 - ---- - -## 工作原理 - -- 从FE系统看来,它相当于一个电池。 -- 可抽取的能量取决于ME网络当前的能量水平。 -- 抽取限制为: - - 不多于AE总容量的**30%**。 - - 不多于500MFE,取两者中较小者。 -- 能量抽取会经过**2 FE = 1 AE**换算。 -- 也可向其**送入**能量,换算方法同样为FE至AE为2:1。 - ---- - - diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_storage_multiblock.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_storage_multiblock.md deleted file mode 100644 index a778b7df980b..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_storage_multiblock.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 能源仓库多方块结构 - icon: crazyae2addons:energy_storage_controller -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:energy_storage_controller - - crazyae2addons:energy_storage_frame - - crazyae2addons:energy_storage_port - - crazyae2addons:energy_storage_1k - - crazyae2addons:energy_storage_4k - - crazyae2addons:energy_storage_16k - - crazyae2addons:energy_storage_64k - - crazyae2addons:energy_storage_256k - - crazyae2addons:dense_energy_storage_1k - - crazyae2addons:dense_energy_storage_4k - - crazyae2addons:dense_energy_storage_16k - - crazyae2addons:dense_energy_storage_64k - - crazyae2addons:dense_energy_storage_256k ---- - -# 能源仓库控制器 - - - - - -## 控制器只会将能源仓库方块用作指示,所有能量都存储于控制器内部。破坏控制器会丢失其中的所有能量! - -能源仓库是为ME系统设计的多方块能量仓储设备,可以用控制器、仓库方块、框架存下大量能量。 - -启动后,此设备可以用来存储应用能源2(AE2)的能量,相当于可接收和供应能量的能源元件等AE2电池。它还有3个能量端口,可通过它们直接将能源仓库与FE供能系统相连,以为其供能或抽出能量。 - ---- - -## 工作原理 - -- 结构搭建完成后即会启动。 -- 存储容量由结构中仓库方块的类型和数量决定。 -- 致密变种的FE储量在十亿量级。 -- 可以使用**电流表**或其他模组来监控吞吐量。 - -控制器会整合至AE2的能量网络,和能源元件类似——只不过前者的容量大得惊人。 - ---- - -## 注意事项 - -- 结构中只允许存在一个控制器。 -- 结构(控制器除外)缺损时,能量仍会留存于控制器内部,但在结构恢复前无法取用。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entity_ticker.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entity_ticker.md deleted file mode 100644 index bdf4174d8ddb..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entity_ticker.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 实体加速器 - icon: crazyae2addons:entity_ticker -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:entity_ticker ---- - -# 实体加速器 - -实体加速器是一类线缆子部件,能大幅加快它面朝的方块实体。与它相邻的机器每游戏刻会执行多次刻,从而大幅加快烧炼、机器加工等方块实体的更新。 - -## 使用方法 - -1. **放置子部件**:将实体加速器放置在ME线缆上,面朝需加速的机器或方块实体。 -2. **打开GUI**:右击子部件以查看能量消耗和更新信息。 -3. **安装升级**: - - **速度卡**:每张加速卡都会让目标方块执行刻的速度翻倍。 - - 最多可安装8张加速卡。 -4. **能量消耗**: - - 能量消耗会随速度卡数目指数式增长。 - - 基础能耗为256 FE/t,每张速度卡会让能耗变为4倍。 - -实体加速器是加快缓慢机器与设施的理想之选,但也得让ME网络准备好过硬的能量供应! \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entropy_cradle.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entropy_cradle.md deleted file mode 100644 index c8bc8dea5210..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entropy_cradle.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 熵演催变仪多方块 - icon: crazyae2addons:entropy_cradle_controller -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:entropy_cradle_controller - - crazyae2addons:entropy_cradle_capacitor - - crazyae2addons:entropy_cradle ---- - -# 熵变催变仪 - - - - - -**熵变催变仪**是一种大体积多方块结构,能积累能量和转化方块。它最多可存储**6亿FE**,完全充满后还可进行高级**方块转化**。 - ---- - -## 工作原理 - -1. **充能**: - - 充能水平会在600MFE处停止。 - - 六处电容器会随充能水平增长而逐级点亮。 - - 充满能量后,电容器会发出比较器信号。 - -2. **转化**: - - 充满时收到红石脉冲: - - 进行放电。 - - 如果内部有已知的结构配方,则将其替换为功能强大的方块(如彭罗斯框架、能源仓库组件等)。 - ---- - -## 注意事项 - -- 需供应应用能源2(AE2)能量,并提供频道。 -- 只接受AE能量充能。 -- 可用配方请参见JEI/EMI。 -- 可用建筑机自动化其配方。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/extracting_p2p_tunnels.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/extracting_p2p_tunnels.md deleted file mode 100644 index e41ed82219a9..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/extracting_p2p_tunnels.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 抽取式P2P通道 - icon: crazyae2addons:extracting_fe_p2p_tunnel -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:extracting_fe_p2p_tunnel - - crazyae2addons:extracting_item_p2p_tunnel - - crazyae2addons:extracting_fluid_p2p_tunnel ---- - -# 抽取式P2P通道 - -这些通道是标准P2P通道的变种,能够主动工作。无需向其输入物品、流体或能量,这类通道会自动从所连接的方块中**抽取**内容,并将其送至输出端。 - ---- - -## 可用类型 - -- **物品抽取P2P通道** - - 自动从所面对的容器中抽取物品送至链接的输出端,最多每刻64个物品。 - -- **流体抽取P2P通道** - - 从所面对的流体容器中抽取流体在各输出端间均分,最多每刻64桶。 - -- **FE抽取P2P通道** - - 从所面对的能量容器中抽取Forge能量(Forge Energy,FE)送至各输出端,最多可达整型上限。 - - 会根据输出端目标能接受的能量进行分流。 - ---- - -## 使用方法 - -1. **放置通道** - - 将通道放置在需抽取的位置。 - -2. **开始链接** - - 使用内存卡分配频率(先右击频率源,再右击目标)。 - -3. **链接输出端** - - 将抽取式通道与各输出端相连。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/impulsed_pattern_provider.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/impulsed_pattern_provider.md deleted file mode 100644 index fd388ae328d7..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/impulsed_pattern_provider.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 脉冲样板供应器 - icon: crazyae2addons:impulsed_pattern_provider -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:impulsed_pattern_provider ---- - -# 用AE2的手段处理概率产出配方 - -# 脉冲样板供应器 - - - -脉冲样板供应器是经过特化的合成设备,当被红石信号触发时,会发送上一次使用的样板。 - -## 使用方法 - -1. **放置方块**:与普通样板供应器一样,将脉冲样板供应器连接至ME网络即可。 -2. **打开GUI**:右击方块打开其界面。 -3. **放入样板**:向槽位内放入任意处理样板,无需特殊设置。 -4. **触发合成**:向该方块发送红石信号脉冲。每检测到一次上升沿,供应器会按上一次使用的样板再次向机器发配原料。 - -如此就可自动化**概率产出**的配方。最基础的设施如下:当机器未能成功产出目标物品时,检测该情形(例如使用[发信接口](signalling_interface.md)检测),并向供应器发送红石脉冲。供应器便会再次发配样板材料。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_annihilation_plane.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_annihilation_plane.md deleted file mode 100644 index 7d7c93a32803..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_annihilation_plane.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 生物破坏面板 - icon: crazyae2addons:mob_annihilation_plane -categories: - - Mob Storage -item_ids: - - crazyae2addons:mob_annihilation_plane ---- -# 生物破坏面板 - -生物破坏面板是一类特殊的线缆子部件,能够捕捉生物,并将其直接存入ME网络。它会瞬间移除站在它前方的生物,然后送入ME存储系统。 - -## 使用方法 - -1. **放置生物破坏面板** -2. **存储设施** - - 确保网络可以存储“生物数据”(生物存储元件)。 -3. **就这样了** - -## 重要注意事项 - -- **只对真正的生物有效**:包括友好生物和敌对生物,但对玩家和非生物实体无效。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_export_bus.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_export_bus.md deleted file mode 100644 index 56d8c88f0879..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_export_bus.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 生物输出总线 - icon: crazyae2addons:mob_export_bus -categories: - - Mob Storage -item_ids: - - crazyae2addons:mob_export_bus ---- -# 生物输出总线 - -生物输出总线是一类特殊的线缆子部件,能将ME存储系统中的生物释放出来。它的表现和常规的输出总线一致,只不过它是专为生物设计的。 - -## 使用方法 - -1. **放置生物输出总线** -2. **配置生成对象** - - 打开生物输出总线的GUI。 - - 选择希望总线输出的生物类型。可以使用刷怪蛋物品,也可从JEI中拖放。 - -3. **生成条件** - - 目标位置必须为空气。 - -## 重要注意事项 - -- **生物安全保障**:确保生成位置未被阻挡,否则总线什么都不会生成。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_farm.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_farm.md deleted file mode 100644 index 625ed87a9e36..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_farm.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 生物农场 - icon: crazyae2addons:mob_farm_controller -categories: - - Mob Storage -item_ids: - - crazyae2addons:mob_farm_wall - - crazyae2addons:mob_farm_input - - crazyae2addons:mob_farm_collector - - crazyae2addons:mob_farm_damage - - crazyae2addons:mob_farm_controller ---- - - - - - -# 生物农场控制器 - -生物农场控制器是多方块自动生物农场系统的核心组件。它会模拟击杀ME网络中所存生物的过程,并生成掉落物和经验碎片,直接存入ME系统,同时**排除**携带**NBT**或**不可堆叠**的物品。 - -## 使用方法 - -1. **搭建多方块结构** - - 按照上述模式搭建5x6x5的结构。 - -2. **为控制器供能** - - 将生物农场控制器接至启动的ME网络。 - -3. **在GUI中配置** - - 设置应处理何种生物。 - - 可选:设置用于击杀生物的物品。 - -4. **安装升级卡(可选)** - - 安装抢夺/经验/加速卡。 - ---- - -## 工作原理 - -- 农场会从ME网络中“消耗”生物。 -- 根据生物的战利品表生成掉落物,并删除所有带有NBT或不可堆叠的物品。 -- 生成经验碎片。 -- 将掉落物和经验碎片送回ME网络。 -- 伤害模块越多,击杀速度就越快。 -- 速度卡可进一步加快处理速度。(最多每秒64个生物) - ---- - -## 重要注意事项 - -- **需要正确搭建多方块结构**:生物农场结构缺损即停工。 -- **只会处理生物**:必须先使用生物破坏面板或[刷怪笼提取器](spawner_extractor.md)捕捉生物。 -- **不会真正生成生物**:没有卡顿,万事大吉。 -- **支持抢夺**:轻松增多掉落物。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_formation_plane.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_formation_plane.md deleted file mode 100644 index f1108d675a5b..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_formation_plane.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 生物成型面板 - icon: crazyae2addons:mob_formation_plane -categories: - - Mob Storage -item_ids: - - crazyae2addons:mob_formation_plane ---- -# 生物成型面板 - -生物成型面板是一类特殊的线缆子部件,能直接放出生物。它的工作方式和标准的成型面板类似,但它专门用于生成捕获的生物。和仅存入模式的存储总线比较相似,只不过只适用于生物。 - -## 使用方法 - -1. **放置面板** - - 将其放置在ME线缆上,输出面需朝向空气,生物会在该处生成。 - -2. **配置生物过滤器** - - 右击面板打开其GUI。 - - 向配置槽中放入生物键,以进行白名单过滤。 - - 安装**反相卡**后,过滤器会变为黑名单。 - -3. **安装升级卡** *(可选)* - - **容量卡**可解锁更多过滤槽。 - -4. **生成条件** - - 面板前方和**上方**的方块必须为空气。 - - 两者中有一者不符合即不会生成。 - ---- - -## 工作原理 - -- 每次ME网络收到匹配的生物时: - - 生物成型面板会检查其过滤器中是否存在该生物,以及面板优先级是否足够高。 - - 若条件符合且面板前方为空气,则面板会生成生物。 - - 一次生成最多可产生24个生物。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_export_bus.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_export_bus.md deleted file mode 100644 index 9f996e4a4bf2..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_export_bus.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: NBT输出总线 - icon: crazyae2addons:nbt_export_bus -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:nbt_export_bus ---- -# NBT输出总线 - -NBT输出总线是应用能源2(AE2)输出总线的高级版本,能**根据NBT数据**进行过滤和控制对存储空间的访问权限。 - ---- - -## 使用方法 - -1. **对容器方块放置** - - 将NBT输出总线放置到箱子、抽屉,或任意具有物品容器的方块上。 - -2. **打开配置GUI** - - 右击子部件以配置其过滤器和行为。 - - GUI中可以: - - 设置输入/输出许可 - - 切换操作过滤器 - - 配置NBT匹配表达式 - -3. **编写NBT过滤器** - - 使用文本输入区输入**NBT匹配表达式**。 - - 示例: - - {Enchantments:[{id:"minecraft:sharpness"}]} - 只匹配拥有锋利魔咒的物品 - - {display:{Name:我的剑}} - 匹配“display”标签为“Name: 我的剑”的物品 - - {\*:"value"} - 如果*任意*NBT的值为"value",则通过匹配 - - {key:!"value"} - 如果名为“key”的NBT键的值不为"value",则通过匹配 - - 支持&&、||、!、nand等逻辑表达式。 - -4. **从物品中加载NBT**‌*(可选)* - - 向对应槽位放入虚拟物品,然后按下**加载**/**Load**按钮。 - - 会自动将物品的NBT导入过滤器。 - ---- - -## 匹配系统 - -此处NBT表达式的解析器支持: - -- **通配键和通配值**:“\*” -- **与/或/与非/异或逻辑** -- **递归键匹配** -- **反选语法**:!value - -匹配表达式的物品才可由总线输出。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_storage_bus.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_storage_bus.md deleted file mode 100644 index 6fc9840793b3..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_storage_bus.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: NBT存储总线 - icon: crazyae2addons:nbt_storage_bus -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:nbt_storage_bus ---- -# NBT存储总线 - -NBT存储总线是应用能源2(AE2)存储总线的高级版本,能**根据NBT数据**进行过滤和控制对存储空间的访问权限。 - ---- - -## 使用方法 - -1. **对容器方块放置** - - 将NBT存储总线放置到箱子、抽屉,或任意具有物品容器的方块上。 - -2. **打开配置GUI** - - 右击子部件以配置其过滤器和行为。 - - GUI中可以: - - 设置输入/输出许可 - - 切换取出过滤 - - 配置NBT匹配表达式 - -3. **编写NBT过滤器** - - 使用文本输入区输入**NBT匹配表达式**。 - - 示例: - - {Enchantments:[{id:"minecraft:sharpness"}]} - 只匹配拥有锋利魔咒的物品 - - {display:{Name:我的剑}} - 匹配“display”标签为“Name: 我的剑”的物品 - - {\*:"value"} - 如果*任意*NBT的值为"value",则通过匹配 - - {key:!"value"} - 如果名为“key”的NBT键的值不为"value",则通过匹配 - - 支持&&、||、!、nand等逻辑表达式。 - -4. **从物品中加载NBT**‌*(可选)* - - 向对应槽位放入虚拟物品,然后按下**加载**/**Load**按钮。 - - 会自动将物品的NBT导入过滤器。 - -5. **升级** - - 接受1张升级卡(溢出销毁卡可销毁多余物品) - ---- - -## 匹配系统 - -此处NBT表达式的解析器支持: - -- **通配键和通配值**:“\*” -- **与/或/与非/异或逻辑** -- **递归键匹配** -- **反选语法**:!value - -若物品符合表达式,则允许被总线取出(具体取决于所选设置)。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nokia3310.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nokia3310.md deleted file mode 100644 index 99dada2ab293..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nokia3310.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 诺基亚3310 - icon: crazyae2addons:nokia_3310 -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:nokia_3310 ---- - -# 诺基亚3310——结构小帮手 - - - -**诺基亚3310**是能完整**剪切**和**粘贴**世界中建筑物的手持式小帮手设备。它的操作方法与建筑之杖类似,且完全集成于AE2的能源卡、程序存储、预览渲染系统。 - ---- - -## 工作原理 - -1. **选择角落** - - 使用诺基亚3310右击某区域相对的两个角落。 - - 第二次点击会设置结构的**原点**和朝向。 - -2. **剪切结构** - - 选定角落后,诺基亚3310会计算形成程序。 - - 基于尺寸和方块的距离**消耗FE**。 - - 移除选定区域内部的方块,将其存储为设备中的**程序**。 - -3. **粘贴结构** - - 潜行右击方块面,可将所存储结构相对该位置进行粘贴。 - - 朝向由玩家的朝向决定。 - - 粘贴需存有足量FE,否则不会进行粘贴。 - -4. **预览与菜单** - - 潜行对空气右击可打开设备的**GUI**。 - - GUI中有所存储结构的**3D预览**,可在其中翻转、旋转、镜像结构。 - - 后端采用自动建筑机的宏与程序实现。 - ---- - -## 研究集成 - -- 诺基亚3310是部分**研究配方**的必需品。 -- 要进行研究,诺基亚3310中需存有**正确的结构**。 -- 将其放入**研究站**以解锁与该结构有关的配方。 - ---- - -## 能量系统 - -- **基础容量**:200,000 FE -- **升级卡槽**:4(能源卡) -- **每张卡的增益**:+200,000 FE -- **输入速率**:最高25,000 FE/t -- 能量直接存储于物品中,其储量会以绿色的耐久度条展示。 - ---- - -## 关键特性 - -- **剪切与粘贴**整座建筑物,附带预览功能 -- **朝向取决于**玩家的朝向 -- **研究集成**:是解锁部分配方的必需品 -- **GUI内有3D预览**,且附带翻转/旋转功能 -- **安全放置**:粘贴前会先检测是否会导致碰撞 - ---- - -## 提示 - -- 剪切大型结构前务必检查FE储量。 -- 方块的距离越大,FE的消耗就越大(`距离³ / 25`)。 -- 若存储为空,粘贴前必须再次剪切。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/penrose_sphere.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/penrose_sphere.md deleted file mode 100644 index cf57e49ed81b..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/penrose_sphere.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 彭罗斯球 - icon: crazyae2addons:penrose_controller -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:penrose_controller - - crazyae2addons:penrose_frame - - crazyae2addons:penrose_coil - - crazyae2addons:penrose_port ---- - -# 彭罗斯球 - - - - - -彭罗斯球是游戏后期的多方块产能设备,其中的**超级奇点**能将**物质**转变成Forge能量(Forge Energy,FE)。是一种扩展性极强的能量源。 - ---- - -## 工作原理 - -1. **放入存储元件** - - 只接受仅装有超级奇点的**1k物品存储元件**。 - - 需放入左侧元件槽。 - -2. **放入超级奇点** - - 向右侧输入槽放入超级奇点,点击箭头可向元件存入/从元件取出。 - - 元件中超级奇点数量越多,多方块结构的能量产出量就越高。 - -3. **设置目标资源** - - 在配置槽中设定目标物品,如圆石、奇点、物质球等。 - - 决定了能量的产出量。 - -4. **自动化产能** - - 控制器每刻会消耗ME网络中的目标物品。 - - 根据元件中超级奇点的数量产出FE。 - - 可从任意彭罗斯框架处取出能量。 - - 能量端口会向相邻方块主动输出。 - -5. **升级** - - 此结构共有4级,每级都会增加1个存储元件槽。也就是说,可以放进更多奇点,产出更多能量。 - - 每级都额外让能量产出量变为2倍。 - ---- - -## 能量产出 - -- 只有1个超级奇点、接受“普通”物品作为输入时,能量产出最低,接近于零。 -- 物质球和奇点会增加输出: - - 使用物质球时:**+8x** - - 使用AE2奇点时:**+64x** -- 最大功率:约1000MFE/t(放入4个装满的元件、使用奇点作为燃料时),是通用机械(Mekanism)聚变反应堆的4倍。 - ---- - -## 注意事项 - -- 多方块结构缺损即停工。 -- 能量会存储于控制器内部。 -- 可从任意彭罗斯框架处取出能量。 -- 能量会从彭罗斯端口处主动输出。 -- 与所有基于FE的系统兼容。 -- 可以为ME系统功能,也适用于其他使用FE的事物。 - diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_emitter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_emitter.md deleted file mode 100644 index f50477ee0888..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_emitter.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 红石发信器 - icon: crazyae2addons:redstone_emitter -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:redstone_emitter ---- - -# 红石发信器 - -红石发信器是一种线缆子部件,行为与红石数字输出类似。可在红石终端内设置开关。 - ---- - -## 使用方法 - -1. **放置子部件** - - 将其放置在ME线缆上。 - -2. **命名** - - 右击打开其GUI。 - - 输入自定义名称(最多16个字符)以在网络中进行唯一标识。 - - 名称必须唯一,不允许存在相同的名称。 - -3. **发信行为** - - 开启时发出红石信号。 - - 信号强度固定为15。 - - 可在红石终端中切换开关。 - ---- - -## 注意事项 - -- 红石发信器‌**不**‌会对红石输入产生响应,此设备是仅输出的。 -- 完全集成于红石终端。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_terminal.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_terminal.md deleted file mode 100644 index 4e71a0a1411f..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_terminal.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 红石终端 - icon: crazyae2addons:redstone_terminal -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:redstone_terminal - - crazyae2addons:wireless_redstone_terminal ---- - -# 红石终端 - - - -红石终端是管理ME网络中所有红石发信器的控制面板。可在其简明的界面中按名称搜索、查看、开关红石发信器。 - ---- - -## 使用方法 - -1. **放置终端** - - 将其放置在ME线缆上。 - -2. **打开GUI** - - 右击打开。 - - 界面中会显示网络内所有已命名的红石发信器。 - -3. **按名称搜索** - - 搜索栏可按名称过滤发信器。 - -4. **分页与控制操作** - - 每页显示4个发信器。 - - 使用箭头换页。 - - 每个发信器均会显示: - - 名称 - - 当前状态(低/高) - - 切换按钮 - -5. **切换状态** - - 点击名称旁的按钮以开启或关闭发信器。 - - 发信器会在其位置产生红石信号。 - ---- - -## 注意事项 - -- 可集成为无线终端和通用终端。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/reinforced_matter_condenser.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/reinforced_matter_condenser.md deleted file mode 100644 index 45fed5def5c8..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/reinforced_matter_condenser.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 强化物质聚合器 - icon: crazyae2addons:reinforced_matter_condenser -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:reinforced_matter_condenser ---- - -# 强化物质聚合器 - - - - - - -强化物质聚合器是奇点模式物质聚合器的升级版,能将应用能源2(AE2)的普通奇点变为一种强大的物品——**超级奇点**。 - -此方块会将送入的奇点转换成能量积攒起来,其运作需要一整组64个**256k存储组件**。能量积攒到顶后,即会在输出槽产出一枚超级奇点。 - ---- - -## 使用方法 - -1. **放入一整组256k存储组件** - - 是启动此聚合器的必要条件。 - - 放入前聚合器不会接受奇点。 - -2. **放入AE2奇点** - - 聚合器会接受并积攒奇点。 - - 积攒够8192个奇点后,即产出一个超级奇点。 - -3. **输出** - - 产出的超级奇点会出现在输出槽。 - -4. **GUI信息** - - 进度条代表: - - 产出超级奇点的积攒进度。 - - 放入256k存储组件的个数。 - ---- - -## 自动化与联动 - -- 所有面都兼容各类运输物品的机器与组件。 -- 输出用机器和管道可以自动化放入奇点。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/research.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/research.md deleted file mode 100644 index 7a234b19d8d7..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/research.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 研究系统 - icon: crazyae2addons:research_station -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:research_station - - crazyae2addons:recipe_fabricator ---- - -# 研究系统 - -**研究系统**会消耗物品、能量、特殊结构以解锁高级内容和构造配方。其核心为**研究站**,且与系统相关的配方均已集成于JEI/EMI,可在其中查看。 - ---- - -## 研究站 - - - - - -- 需外部供能的多方块机器,用于**研究配方**。 -- 需供应**消耗物品**、存有正确结构的**结构小帮手(诺基亚3310)**,可以选择放入**数据驱动器**。 -- 随时间不断消耗**FE**和**研究流体**。 -- 会向数据驱动器写入一份**解锁密钥**,后续可在**配方构造器**内合成。 - ---- - -## 研究配方 - -- 各研究步骤均由特殊的配方(研究配方)给定。 -- 可在**JEI/EMI**中查看配方的所有需求和消耗,以及其解锁的对象。 -- 配方中可能包含: - - **持续时间**(完成研究所需刻数) - - **每刻耗能**和**每刻流体耗量** - - **消耗物**(研究消耗的物品) - - **所需结构**(诺基亚3310中应当存有的结构) - - **解锁密钥和标签**(研究成功后会写入驱动器) - - **稳定器**(部分高级研究所需) - ---- - -## 工作流程 - -1. **准备结构小帮手** - - 使用诺基亚3310剪切存储正确的结构。 - - 如有需要,将其放入研究站。 - -2. **放入原材料** - - 将所需的消耗物放入输入槽。 - - 放入数据驱动器。 - -3. **供应资源** - - 向储罐注入**研究流体**。 - - 提供**FE**能源(缓存上限为25,000 FE)。 - -4. **开始研究** - - 输入与有效配方对应时,研究会自动启动。 - - 可在GUI中查看研究进度。 - - 研究成功后,所存储的结构和放入的消耗品会消失,同时向驱动器写入解锁密钥。 - ---- - -## 解锁密钥与数据驱动器 - -- 密钥存储于数据驱动器。 -- 研究站会自动将密钥写入驱动器。 -- 驱动器可以复制:将存有需复制密钥的驱动器放入输入槽,再将目标驱动器放入驱动器槽,即会为目标驱动器**补齐缺失的密钥**(消耗研究流体、能量,且需等待)。 - ---- - -## 构造集成 - -- **配方构造器**的配方需对应的密钥解锁。 -- 驱动器中若无对应密钥,便不会启动构造配方。 -- 换言之,研究是高级合成的前置需求。 - ---- - -## 关键特性 - -- **JEI/EMI集成** – 所有研究/构造配方均可在配方浏览器内查看。 -- **结构校验** – 确保你扫描的结构正确无误。 -- **随时间消耗能量和流体** – 研究要有物质基础支撑。 -- **基于驱动器的解锁系统** – 研究进度可在多台机器间复制。 -- **驱动器对驱动器复制** – 合并不同驱动器的解锁密钥。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/round_robin_item_p2p_tunnel.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/round_robin_item_p2p_tunnel.md deleted file mode 100644 index 319b9f73297b..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/round_robin_item_p2p_tunnel.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 轮询物品P2P - icon: crazyae2addons:round_robin_item_p2p_tunnel -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:round_robin_item_p2p_tunnel ---- -# 轮询物品P2P通道 - -轮询物品P2P通道可保证将输入的物品均分到各输出端,就算是多次输入物品也一样。此通道和标准的物品P2P通道不同:后者会优先向距离最近的输出端发送,而前者会记录过往的发送历史,并将输入批次送至最长时间未收到物品的输出端。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/samsung_galaxy_s6.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/samsung_galaxy_s6.md deleted file mode 100644 index 0eaf47f0e3e0..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/samsung_galaxy_s6.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 三星Galaxy S6 - icon: crazyae2addons:samsung_galaxy_s6 -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:samsung_galaxy_s6 ---- - -# 三星Galaxy S6——结构小帮手 - - - -**三星Galaxy S6**是能完整**复制**和**粘贴**世界中建筑物的手持式小帮手设备。它的操作方法与建筑之杖类似,且完全集成于AE2的能源卡和合成卡,能自动合成缺失的材料。 - ---- - -## 工作原理 - -1. **连接至ME系统** - - 将设备放置到网络的无线访问点中。 - -2. **选择角落** - - 使用三星Galaxy S6右击某区域相对的两个角落。 - - 第二次点击会设置结构的**原点**和朝向。 - -3. **复制结构** - - 选定角落后,三星Galaxy S6会计算形成程序。 - - 基于尺寸和方块的距离**消耗FE**。 - - 复制选定区域内部的方块,将其存储为设备中的**程序**。 - -4. **粘贴结构** - - 潜行右击方块面,可将所存储结构相对该位置进行粘贴。 - - 朝向由玩家的朝向决定。 - - 粘贴需存有足量FE,否则不会进行粘贴。 - - 需要相连的ME系统中存有所有用到的方块。 - - 安装合成卡后,此设备会尝试合成缺失的方块。 - -5. **预览与菜单** - - 潜行对空气右击可打开设备的**GUI**。 - - GUI中有所存储结构的**3D预览**,可在其中翻转、旋转、镜像结构。 - - 后端采用自动建筑机的宏与程序实现。 - ---- - -## 能量系统 - -- **基础容量**:200,000 FE -- **升级卡槽**:4(能源卡) -- **每张卡的增益**:+200,000 FE -- **输入速率**:最高25,000 FE/t -- 能量直接存储于物品中,其储量会以绿色的耐久度条展示。 - ---- - -## 关键特性 - -- **复制与粘贴**整座建筑物,附带预览功能 -- **朝向取决于**玩家的朝向 -- **GUI内有3D预览**,且附带翻转/旋转功能 -- **安全放置**:粘贴前会先检测是否会导致碰撞 - ---- - -## 提示 - -- 剪切大型结构前务必检查FE储量。 -- 方块的距离越大,FE的消耗就越大(`距离³ / 25`)。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/signalling_interface.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/signalling_interface.md deleted file mode 100644 index 2f40edb086ac..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/signalling_interface.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 发信接口 - icon: crazyae2addons:signalling_interface -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:signalling_interface ---- - -# 发信接口 - - - -[脉冲样板供应器](impulsed_pattern_provider.md)的最佳拍档。 - -发信接口是一种智能设备,能在指定物品的数量出现变动时发出红石脉冲。它非常适合用于创建自动警报装置、门控系统,也能在事物抵达或离开存储网络时触发其他由红石信号控制的机器。 - -## 使用方法 - -1. **放置方块**:将发信接口接至ME线缆。 -2. **打开GUI**:右击打开配置界面。 -3. **配置监测物品**: - - 上排槽位是*配置槽*。可在此放入需要监测的物品。 - - 槽位旁的扳手标志可用于设定具体的阈值(比如说,可以设为在收到64个某物品时触发)。其功能与普通的接口类似,因此它也会从ME网络中取出物品放入这些槽位。 -4. **接入红石**:向设备的任意面接入红石粉或红石导线。每次追踪的物品数量超过所设阈值(或变化量达到阈值)时,发信接口即会发出短时红石脉冲。 - -## 升级 - -- **红石卡**:使得接口在监测量超阈值时发出脉冲。 -- **反相卡**:反转触发条件;也即在数量低于阈值时,或移除至少同等量时发出脉冲,而非在超过或收到时。 -- **模糊卡**:允许通配物品NBT,很适合监测带有魔咒或自定义标签的物品。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/spawner_extractor.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/spawner_extractor.md deleted file mode 100644 index d02a8c5a7973..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/spawner_extractor.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 刷怪笼提取器 - icon: crazyae2addons:spawner_extractor_controller -categories: - - Mob Storage -item_ids: - - crazyae2addons:spawner_extractor_wall - - crazyae2addons:spawner_extractor_controller ---- - -# 刷怪笼提取器 - - - - - -刷怪笼提取器是一个多方块系统,可通过真实存在的刷怪笼方块,模拟生物生成并将其直接存入ME网络。此法无需实际生成实体即可自动捕获生物,有效避免卡顿。 - -## 使用方法 - -1. **搭建多方块结构** - - 按照上述布局搭建多方块。注意要在刷怪笼周围搭建。为确保结构正确成形,角落的方块应最后放置。 - -2. **为提取器供能** - - 将刷怪笼提取器接至启动的ME网络。 - -3. **安装升级卡(可选)** - - 可用速度卡加快生物的生成速度。 - ---- - -## 工作原理 - -- 结构成形之后,其内部的刷怪笼即会被禁用。 -- 刷怪笼每20刻会向ME网络存入一些生物。 -- 控制器会读取生物类型。 -- 全程无实体生成,只有利落、可重复进行的生物捕捉。 - ---- - -## 重要注意事项 - -- **需要正确搭建多方块结构**:刷怪笼结构缺损即停工。 -- **不会真正生成生物**:没有卡顿,万事大吉。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/stone_cutter_recipes.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/stone_cutter_recipes.md deleted file mode 100644 index 2e6e9a736093..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/stone_cutter_recipes.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 切石机配方 - icon: minecraft:stonecutter -categories: - - Crafting and Patterns ---- - -# P2P通道转换配方 - -为提升灵活性、简化操作,Crazy AE2 Addons为应用能源2(AE2)及其附属的**P2P通道**新增了用于自由转换通道类型的**切石机配方**。 - ---- - -## 工作原理 - -- 将P2P通道放入**切石机**。 -- 界面中会显示所有可用通道变种的转换选项。 -- 选择转换目标然后取出产物即可,无需工作台或其他材料。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/variable_terminal.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/variable_terminal.md deleted file mode 100644 index b5d314368e01..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/variable_terminal.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 变量终端 - icon: crazyae2addons:variable_terminal -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:variable_terminal ---- - -# 变量终端 - -**变量终端**是一种简单的线缆子部件,可以查看、添加、删除**ME数据控制器**中的所有**数据变量**。 - -是调试和手动调整自动化逻辑的不二之选。 - ---- - -## 使用方法 - -1. **放置子部件**,放置到ME线缆上即可。 -2. **右击**打开界面。 -3. 可在其中: - - **浏览**所有变量,有搜索和分页功能。 - - **删除**变量(点击旁边的“X”按钮)。 - - **新增**变量,需在顶部输入栏中输入。 - -- 新增变量需要提供名称和一个整数值。 -- 变动会立即应用。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/view_cells.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/view_cells.md deleted file mode 100644 index 5a4be4d2f3b5..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/view_cells.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 更多显示元件 - icon: crazyae2addons:tag_view_cell -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:tag_view_cell - - crazyae2addons:nbt_view_cell ---- -# NBT和标签显示元件 - -**NBT显示元件**和**标签显示元件**是一类特殊的显示元件,可以放入ME终端使其只显示符合条件的物品。 - -## 工作原理 - -* 两种显示元件都有其界面,可在其中输入**自定义过滤字符串**。 -* 过滤设置保存在元件物品中,可在终端间移动且不丢失设置。 -* 放入终端后,仅会显示匹配过滤的物品。 - -## NBT显示元件 - -* 将物品的**NBT数据**与过滤表达式匹配,以此来进行过滤。 -* 可在`{ ... }`内写入SNBT片段,并可搭配逻辑运算符使用。 -* **支持的运算符:** - * `&&`、`and` → 与 - * `||`、`or` → 或 - * `^^`、`xor` → 异或 - * `!`、`not` → 非 - * `nand`、`!&` → 与非 -* 小括号`( )`可用于给表达式分组。 -* 通配符`*`可匹配任意值和任意键。 -* 示例:`{Enchantments:[{id:"minecraft:sharpness"}]}`只会匹配拥有锋利魔咒的物品。 - -## 标签显示元件 - -* 使用**Minecraft标签**过滤物品。 -* 输入标签名(如`#minecraft:wool`),终端便只会显示带有该标签的物品。 -* 支持使用`*`的**glob模式匹配**,如`#minecraft:*_logs`会匹配所有原木标签。 -* 支持逻辑运算符: - * `&&`、`||`、`^^`、`!`、`nand` -* 示例:`#minecraft:logs && !#minecraft:oak_logs` → 匹配所有原木,橡木原木除外。 - -## 界面 - -* 打开元件可进行配置: - - * 用于输入过滤表达式的文本框。 - * 如果过滤表达式过长,无法在框内完全显示,可以使用**滚动条**。 - * 按下**确认按钮**以保存过滤配置。 -* 过滤配置会立即应用于元件,配置本身也会同时存入物品。 - -## 注意事项 - -* 这些元件只会影响**终端的显示**,不会把物品移出网络,也不会阻止物品进入。 -* 多个显示元件的效果可以综合,过滤设置的应用规则与AE2优先级一致。 -* 若未设置过滤,则该元件装入与否不会产生区别。 - ---- - -NBT和标签显示元件可保持终端简洁,聚焦所需内容。无论是筛选特定种类药水,还是某标签下的全部方块,它们都能胜任。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/wormhole_tunnel.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/wormhole_tunnel.md deleted file mode 100644 index 9d417b82d590..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/wormhole_tunnel.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: 虫洞通道 - icon: crazyae2addons:wormhole_tunnel -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:wormhole_tunnel ---- - -# 虫洞P2P通道 - -虫洞P2P通道是应用能源2(AE2)中P2P系统的一类高级通道,支持双向通信、红石信号传输,并能够在多个相连通道间自动实现功能路由。 - -和普通的P2P通道不同,虫洞通道可建立**双向链接**,支持**红石信号传输**,并在与多个输出端交互时还会进行**功能合并**。 - ---- - -## 关键特性 - -- **双向链接** - - 虫洞通道可在输入端与输出端之间建立网络层面的实际连接。 - - 能量、物品和流体均可根据需要双向流通。 - -- **功能合并** - - 可将多个输出端的物品、流体与能量传输能力合并至同一接入点。 - -- **红石传输** - - 输入端可接收红石信号,并传输至所有输出端。 - - 完整支持弱信号与强信号。 - ---- - -## 示例 - -虫洞通道的用途无穷无尽,我测试的时候试过了下面的设施。 -- 跨越通道的存储总线:可在输入端放置存储总线,再在输出端放置物品/流体存储设备,存储总线即可识别并与之交互。 -- 嵌套P2P通道:可使用此类通道连接ME网络的两个部分,且通道频道内仍可继续使用P2P通道。 -- 传输通用机械(Mekanism)的热量:通用机械的其他管道也适用于虫洞通道。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/img/script2.png b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/img/script2.png deleted file mode 100644 index 51446f241699b39707a04fe186fa6c797c992945..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100660 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

S^s0z{fQ~j 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 H--7=iUr*!i diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/img/script3.png b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/img/script3.png deleted file mode 100644 index 20aba30063f5721f61616230ecf5c53d68cf7650..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101113 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

_Q>dM)B*(q0@tbB2*^5v72e@gS7j}*mf zJXLega`hw?J2~1EpFXYANi%i2(+Vz6>v7W?Zc2;Je6CL*Xm6;gdHwZE@Ba4HkNouE zFMscuPv7?AI~ITPlByMLVT6^~3&puhD4~QBO8B$keE1t+4YVL3n1~`GhlnB~%jXej z2iSpIkQhS55I2JGg#$(06e73~k-Lv$gb`DZ{} z9!f(lcV>BcQ9?Obv4m5xGU=FH-jjC*mVlcUX@tkYtx(ZTJFPjZW|<5ZjkpLGezv3x z49*HJ3Ce%6+96S8WFDbmYI__(SfBx%a2kxgQ+QCN?LwopfwZ zY)@?4oQbW|^ZTE3_1%1T-TUch@7^z}R;^l9?=Xm)VhA4qz7>>si;X*3eS$S?6D&l% zObELKqSciP9uC+-@D?nDl|5RK3}P}_S)n$52vut+lwA<5acBW7N@4q_Gildkl%rY5 zcoGR)edrFTljn)eF!a)NG{eZ0!5Kv`8U$CWWR9o`sE6z-5vxtpBni*R)R~yG;4E@yirJhdYOO+)q%uR36rN5>h6W@f*Ua*1XLW^<9bt z$21e!#{I+*|M49|SfW70;JeyT$e ziOSliXE1?pHtl?S|X!= zg=?FxZ^hETRs?85CNwv#{}oolY)E`Zx9Td?z;*SJKuhRY{mIH!Ts$v}KA}@?Xi6@* z8fJUpRa+YGXox{qWp|hWbx@!15`S~r|3#qk^%5aexk}Wbp&wuqC`-wh+;6jt{=UodhlDiPV63M?=pmRJoe_y#;(JvjOp2jRNaV0zNr zRZ;u+;VNV741PaEm$N z*&8Yx4mKTmex+~2_&|EwAQ_niL!`y9#?7RZek?M>*We+9GuStR&Dg)zwgjR8*m z_l-t|g+XcK`2|lFEr*dcB>ME z2+QAh{=3^=NOaOy&Huaae>bPu`v{t!wEbTZ)&FQwU;*PBIOV5%f4|oRFK=*RfUaij zo_U*@+rvKn_=zLsY338(D+mb2l)f-=+3H$1W4WM5eQBXbc3pv^`_+3b=wfx3hy27b zznBZttINc#XrKl!^gWVOATsuA--9a=?*{uw(4`O}M zx^yz|R{rD9=P_cdTGu;u@_%o*=NHw>pmx&_J_e^5?aoyzJlk_1l-_%5xJkO%Txz#s z)ekB(S!hBNc9#fM(P+rvI0AG2huPB@43XnWdva&J=VQCkE88+rY{3*@d&6WB2&I>< z^4=LQ0>x!e?`AW2jvwfEMYNX^6IH2((Z zq!z%liFyMP;sQ2g8x-k!Pt2H;Ffd<4-2Ee{<&xt5tw zXGy${kSda-o7ZJ2|8@M>`-ngb=&Vl|*S8++nNcLrrV6usI_4Rhv=#>^-&W`MSk6_t z;%^H9CeTA+6m)`)lZ&_vwuJdrOvT60>q3wLE!_`-SEqUi{x|krmejj?=S<+g<5K7WcMRr|VPxJaW7` z!m|x-WuAQQmuB8NQ2&KCoBQDFy&wB!rA2`{p-<=C%2nMyr@rM@uw`H}R2mAhe~2%e z`+UHwi+hfwhy-(%IEbxL2_Hr42c=j#6h7l$n2YO=z6ft^;8DKk_s8*nSz>fRO292x zusNi$i|`?G-|UHCvAo6tdXwju$i}?MMPrknU3q)a*S&)GAqvYa%<=s-T?~K)!&^)R z1KfGq6MCaD#@7MyhAbY#ypmDXYr+59D{mR_GSI*q?xTuJf>6QevRCw)wD| zw_AR?q0~`4r~T!$mt$x`0Qkm2QD}j_cDll(dZclKqd2s`!1BVX~|Pl53V9n-^QGnbc>_E(U7 zh3E_*pePVBC?;1)7HiJQ^7g!OA31G@YhG7ZJnl&+>Bjp*Ub03xJj_gu7Wz|Z-`CQ} zbg`CbR1Gh4CCI(?FHPSjza|mt4Vc`q;ZYz&ZG`$c>iJzxT6mv)pYoFKsw5~p|3+Q~ zR{kie^c)QQ_Or?#S@efl0@dO+~LQe0QtBW#w6M#natx+s)Tppi_no2iR?w$n^c&%+rk(9xx3VJI; zJC6bC7beRXqzCNf%h0pjtHyx?`m0+4|8n1r(V#ILKeroBa_#Nct=N|3LE0?yBSG@n zx#XKdB_v)S-LYfj@eS6blo(}nkq}=uwW?K@!xK}shSRK}!DPQW;bXh@5P&YgX}WoX zHRn>;yU06`(+5UQ=nx^^6_bj+dalHwN|HLfNPQ6A8&34XS#OYucULr&S!U)$Lx9Ww z3=u`8eiNYMP(>_@hMq{f>p1JQjS7S8an!CLCpkFLH~|n1fkLFm#tZ0Fo!xj}j>3{? zL5(U)Voln^4e2&tcw-`Z{icNVjn1&FvD##(B6?<1dy<^Y>;pI?P5E{YiPc@Lf@>b$ z-u97MX9&wiE0jy_)MSt>68eeDYZ)W?2-5BUK& zPK|srx29+&(OKTPFfm>i268+$u+4^BPJgTSkL^edD>^m=5DmBc0lT|fZiIAYJZ$Me z+U{?m{MQhCf3XCbd3%Ekm^og(Se|OHb#{i!deYU9I&b^+*1&?n{4>vcap2=!{>u5G z*2ct`gyj3~O!N0NRLljLDZg-a!NbHfcQEphC{KG4cc|23G5_W^$ep~VkbEeE)c^B2 zV`Y?fCo{TR^Wf-PC$}xd+{5K`?_r@YG^FQSn$*l;)p5V64DV79oIvHHEOwIey*>Mw z@w#$dyLnWs$PC-q*ghz+{$ieC52rn#=7Wb8n^_bA519%hQ>{ zv^j_C*%~o5*@|buGuLK+CtZR*%I%o`AW>1B(x-S*n351We5_BlBY3Q;h3kX`sXHPd znHeM(|H62WqZGu1trP!o^HQ%XSM-M^30*{CL7btd?jxigQ;e~Hw1*}bAy~t%&8o-V z*;N&oEv)!wpqkS8bM+Jq0yXOv=VyYhG@lCS=(&=#VVOM_t?a?p=&O+z#KNh@eBNJ`V=7(5NgJtz@o-oT2TJXoo}$@ zB|)s8l5mxar1QcYv({0Vy5Ckzqd5Z3~fJAy>s}g=)`=9NT~8p?|5MG zyv_XN&Zj9%Z3n$u(`ZCWJaI97zC@K(VCf5SFq4CE4>=$^!rZt?|Md%+< z78)v=m9x6>%(5-1IY#CFu$3DX#$Uu3Qy1fP>^^dOS3@v-Y(lec&!8&5=ZzEj3hXDs z0Ry}*UQ~;f)B2gMtzY_VSYx-X{Z4S|kH#Y5Sn4+dPZmXehO=X8qH>m14(gl_v$G}F zGVv5q=|~?e#${(QN&y>&JhFqSTg*ZlBD_qNzI%_Kt$B<3A1a_RrZU~Cgw|BO565hQ zfCtL&S4X*+=NAIrH=L_(Rk%~6gw&sB!xj< z@)w(!>H8N+wULyuVI^!hDZWi$hCYQzBYtgz$V_ux)GEMOhly;Ry57Wr!I zCttPwmif$>{LF{MAK&*^9C!_*u1DI+3mEIi^Zc_R6_Mc}4$HOUijhp-mlspIyOzg* zY`dm(p->#5FSVO8l;}?QKAcOS^@t$j2vh0?+_GxA9zxjNRJ23@aG7N_iao6_$Ft+3 zD~2?7*4iz*Bd@^yzQh#Yn4_h)FVDlvz5at425S#sJ>f`Rx`;#o&NF_O?sjPi z31!+>HPK-VZ@quX5xgOdt7WU~7%t46*Wsl+`yDUW*4sEUs-zbFhaDrP;sUuK&>Lx) zRDjK?u74Joo7+BLMgtAq3epX5=Kw@QM|RS1v_pzz=YMBn2WwB4^ui$;o_l{%SNfa4 za+DSplptc7)Yz&b?~HWDOODi|h#eFKQ z3SqEc8KgF54foAsV}o7%u0{anEc0mRcE^v&HMQ+Sn@wW)I3usSUf>^OI5o;@@?5^k zJryi@eq?A1b9DS_&4x$8u5IRDBxyJsj2f85C4`9@@SVUu{)U=y%9nOkrD2-*0(%T* zq^Wna91R)nf~JvCzMZz=q@h)NI zdR|i!fhJ^odg$`fMiYk)v`kU#C1`W0Sf+4;Fjj_T-qT!50q(ZDV#|;;QTmm7_m;?u z#8B{-Vm*bP9+)ZM!ZG~?iQNB;n~eB@qde@0$ zaaO_dSJ%Ppn(h2g$?ZcVaFNfP5JQ$wT1<=)fE$t+$t!_~(xIrCGQs_a|q?;*Eflo$o3+T9GCZjD(~cMbI+nWhwGt&oTI);?zW>RF+^i8@~Y~8SgRF> zxKzr*tk|H1+YEch#53AYa}PdY3D-AteSSvWhlD!Z-e%<9>w8U4?MeYEQ| zbB;qBK9H3VutP^bwAM3OTLI!USaaG6vWEa?dZ}#;*BBYX(X)!8>^(r^uK{Oeyo8iWEOcjzs;Fc>%;Q(q zueAmy%w6rd*kGA0H?c!%^4%F>#M2X4+R}$(ZyOdfww>I!gF_a5kP9) zUG~FxPv(Q95srEUMS%0X;o5+Ltp98-&y&r^24wx%sFyqU;TH(nLjScB@-=rugU_IM;;7 zW6((FL}ZCb;I%WgWy_x&B-U-&P0x;NilCDgiq|EUbivDhfwW5#!bdqj`(0@*4Y|Ub zouvWn=0c=m0M~EbmxE7;1uej)@k)bDsD@}_xACT!*gq2DP4tIC{t^(ftDO<3Kszpg zx_Ou!zN2a`7(xUN{Il0UR50uKH%xHW#%0O_zEhEj5pAv_I^17_gzI>N=vXAAxvL_B z{v?(>ON#H_I>;_+jHROW6^FncdrSXZMHCAD=ID9uHdQKCwUEq4WPlnbNFuk{--0*w9Vy# z>#fp#$pGT_M#)KlT8uX$MBP>MPGBKIF9MNIqZ82ymR2puvix~dC6wb`>DmX6Ke z;&7nqW|qg!ncZda2LZK=MK-UMK@=`{b}BT+FobffRoY~E1kIi%)?q0acK%15qYobP zR-V;$@<YL)dE+qoMZ4g zq>r+30AdpWu0w-?;8M7?ttR;wIej4kYkxiqUk-U+XBCxCbS`)_xNCHKmufD8ElB0S z$^nKrEwfEetrjcyA8Ed8SQKHC$OeG=EC_1oh&|X<^qVw`=aJ zflTZRYW{r{jB#?CAxe91kExRBV-%G3XI=B4BP=zDGuB?Qsa<6OMzDZRhDbEuEfGRD zLV#mMTJneE=gLDBn+@`0j#sS&E3fN5uJ4||L3Ch7472wwGd@{z2oU7a-CX79GyuH_K?}qnH_g}OJ_$GPB z4V$QzlmeDSG35`S=o~=h<--l5qjBXY8>ee4{;cwkprbT_iK;4NS|Qf>;r%{7Tozzb zFII|;5B(r8QHoS81!Ukh5cE-qG8 zzklUx+fx{QOn22u zsxcic<-fVwBaFhF+@X*qb!63%J~U3uB$RER#)+i4w+o9q>cCw_)um2Ls)rl1<-i~@ zj+##3R$#@L@OT0Pl_)$pGB)=IOA((m`|(pXX1_VqC_tfU=>G8ZMcX9yD&QiLLo;Mx zqSar)ky-Hs5|8i3p09jt$reRJcH_;J$_lg>&kHgiU5By^IHTh0c`U0QRJq=yB@mJZ zmE>%vd?YO5WytBjdbC?4Qj7Q0XApC}ML*mf(Ee~NmYq!I){yx{L2hLni9&QJ9n~s> z!sfhbQi(|O-faXtw03g~cz(OwPlA+IohBlty?DMJIx2bz_Ne+@=EjJZHIp5c*u)%s z43`2$g&)Ik-8!(se8oVU=`?t1rz8ah`X z7w2QAS=CSfB;r}@^L#&9#qF^IK1j=81}*L86dHi7*PWBlWH(8bkdwxUO|{#NglLGd zxisMd5l%x!=x^Ti&bi?kZjcG&j*JBE2iv<0b$e1M6}JHfeQIE0vJbHe!$mIHMG(iS zZ!V%60rhG?SQq4>+4qOs3Mm|l89ZR3gX&Lg7l}wvM%?7hi!-Chza3Z4)?oUAABN_g zgXR=P2@^cD>u52YM5`+%rzk(>B!C(}np}~RVfIHXXqS~{S_MOVjw1z-lP^;~aAEG8 znxQ0BmK0g;+egj#p{i!R>pKktTF(N_CtUc-#t0jxELg{|t^Edq#bqFyll7s;d|S;2PRUcr{FGu#r@^ng6E39ZF+o;Ut|+>?Hvq~x$|(GGFCvh@9O7y5r>s2 zqtNmtB$Mk=&80nYlt&>ND?J`svSf*HX1gl2$$0E<2Jp$s$`0S(-&E0t^Lj}e8!T2% zOSon9j1PU6|6_VrLNI^ts8E`4L|$CRRA^AI-t&b~s=}q$2nBvG7^}x1R+54$Egcyh z6<05yvHppBkx;l};vHF!T0LySfg2kfXW^uRO9?Bf9+9FzN#3yQWL|CO-RQxW7Zo8P zr&pNV_Cj(+MQ2HRHrQ}6vb<$&t>r){(_JUz4KANPl;|S8Yc(d9!>K737^i6v z)ecF@$GiDovqEtN+|I5+zYBc?iEp4_>6;W%I1GF+x=2lUeKNF8M<|Lc6ZD zK}7UNpYCGHRR<3TUish?$TUr-fS(DaXs9I!pHR`^T{XWW zexl-#*wy1!TgI8e5=bA_1@=;^-KhK&iCm>Y6HOY^(4b(0Z)?cVJWYoafr;%|s?e}^ z=8_<);5I4l>aO&zIfREs_Ny-CCBvz;eX_d!b1~EG4$Ls0h6J?#RMgo65gciErxtC} z%@1*}%Hx{#P7XN8b!kr9V`mQB*XN1xNvvP8pV$8gtz%8)#L!&_F2iKOvNW%F0@tC% znzZ&esUpv>LJO$!=Pq^DtkmMMJoMYu$cn$%R%&_wOK`X-|71&?YTIxkB0bCwv-UZNIJsF7}pu%UaWN-WHq$GTSS_~LpwU2?zx*v0n@!k!RZ|Tk6|i&nm*wZ(m6ZedkEUM|TI#cPDsB-hi8Sou}o9B1T( zR}{$pfzfZ0-%4({he`EyXVn|Vo)`N#vLwhA)Ee?7j_$aBEc-i?ac~kwQx9F@P-U0~ z;SMJySI`h4jmUD~z|%h_-)1J$q~~PBDaJ|wyBC5*Mn5ZPq*#cqKY?gi(WW142a}Yd z_0wAg_BL4NPoF{zK*hv0rIAE6t7+Wm1pyuS2T@rQt{xx!>?VZhiom{B#C7erf`}Mb zMjBBpYv&wtmMaUFkF0H|HqjSwtf+yL!xfR60R8t6>t(%m)znD!4{WpkDjQ68<)48w z;o+T)F&7aQviuE)fnF0cP-n14yyRKgwHo-RF9{B|eJ1wWH_h z{N@Q0p7Z+P5+O~`E(iq+QwTLu+h*UD5u0GcPj3Jq1`;I0NYfM&xHs;BLi%4}~ zjrP3Z%-c(f+XD^n#y1mQ@p<>CsqZ9bMP~={2{loJx5r3CpeSKpN6jm4XdI`}e#Ri; zf(~Kx8{&R4Qu@>V?}-g_(f`ekxya{nwx{Y8wGZB4#{W(Cul?KHq?O-$q%=z|+Hm3b zf?cpTA(;lkUJOk8X+BSvw6PT zEboK1fZy$GxL(h*KUwHZ71*fez%ciZ-EGdcwP@<6ZDOPT;|Qp^$kPS~%bbUpvhdmf zP=!Cg)h|0BJ?0ytsgIbV;9lShJ~fVK5>~Z>rK%CdmPW~NoWijSKnYG3( zVh4i4ny+sZkb3F2b`EwsWTg3VbkM~&*A#ZH>)LK0p)R!>y5_E+!Itvtf7QnDXXk+2 zkfFbF>hMc%Vs%hcdg=ZgkhJt@^HAJ#xmD%&};EEC3 zx#+D~^+!&S-PZj^>!?61wMP*)Wve zlWNcbL@nI?|RDn4inquaWw)1wpW>bHSnF%@cfowFdJ+pilp?OvT_mxSx*Y zc7Kq3w$d^a0)bF)o>IwN;Ee=8W?Mb1P|Oa>z!V@d-MKrgEHxOt@D?ph9e%QIyY6I; z`i|IK_qW&!zL1~?F`qYQ;WyUt#_ZY2)`fdNK#z_q#)CLJ6X$GKp)vXgYb35}N$27A zb!(3_;c4QX^!)pGTp*jZ=vI2NI(sAjB1O%y$hqyeS$IvH957}6)Ucb{G@&kgx*c?& zoNnJ?*Ld;_q^TE?f7n`hFL088{hek+qcf`p-1`n`tz4aLX!4bkq#*?mol zZxCE1jf=0zcN6Y%uE9OrnWx=6FzBz>OQILEJaoJ6fV3UZlMdFzr2==3%-L7MaJj(z zq^kbwN_LQ^XHHXU>DH^JLj2>;u=Eiu$i(kH)1lHGygr%DwncIpG)o(b;eRWJwTD{3;ods|B8CUH#9f1BHn0i^AG#d5Y+YcifuSOTnk z@ScplA4lPxH|T-Qv(w%DB^)0QJ57M@)_GgAZ_%ByZ?~p7jk}^Z-pCsqN4|%Cl&J?v zLXg9WlpWoSk0&`pj-p7N*KtS$k(*DUM>D4>hm~(>3sEA|{|E7bVkUq1w;`dk=7RA&_TD@vUo5>m;FJ{zClQb5Pm z!{`YWYStyM*KPWa1QwAfeiRDnPGiCGh`8#3Vp$fWYe*FmVnZr61!XG$dnc`y4p(oH z2cAY)^&@XYb-!6Ja|)4&l2m%GdLBS0H69c@EBiIGDLwU9w|3k?7QG$@2G5$0?fb3% z0xnkeusx$8vaOhys>{EiAkA|UE=@VoCjD#ZuA1=c*|KDxf9 zsCTJP7 z>9NI@0uHW}bv6H!ObJ zeJ-1V=5wt*>~zUsLQ!*!mpHStzve>4Dj4)zw7gdCz}%HjNU)T>T@~ZP=cCnyd`D(h zw?W48w<1DWz2wWo6sT>5b>mXY3_*PO$m@=87Y-Gd_a0}zeic*|$Ll#7qWXs;hTFkB z*zk{-6c0_c$kQ%Ig5S{EgG8wnrTYy)0m0w0k27(nP3_k-W&S)ieP!w5vP5nI^0*iNpCANU`6N zjTi7FpBJaFw_A{*ML|oeLLkSx#v1#(RDKB<46ez8=Mqca5nR)i`L5VAmXPNf5u4v0 zf9ES#Vgzt>OZyug_5_+LKbL2X62QdQ*cPS4U@BSolZ&YEah6!o5#>HDrTNuQtV}3q zCP66^$@!dACKSEYt<|~@o6pDsY+d97wLH3=dQ;?3`5eyh3jXC6@vxAAG8TezD3*HL za|R;UWmxk$pt9>Y>9s0A??cn)OaH2>7w$1n*K&CO4>SU~!G-(SIbL~7nK8{NX^6so zUgNSoSdSH*E_UHeRf7o7zcR?yMi?ZFF!y5ObzC}jC$~ZeHkJJ8M;V4=@*``7={r2! zOob#EJT8>^;yxV&rm`kIs;Lq4csQINDKjQpG_$>=+coSpVoD&C&NdN!6iP03Lz`2$ z-Fn|;oZ=oB?3~lxHx(P8aE>Bt55U`%SZaw~Le5UWE6~SVd}Z7uv$5&C4h%8R^MTrp zz(34N*2ObEL76j@n0?7JU!Okm7d?`2 z7XM*dqOdt1Z^zdbR9ToRxmau~TJbG__zP-_nvZ9g^H;O$8>yLVxgiG88SRLi`rK8t z^KD8<2C^YosD3*=0X%d59lk4rz>3;jPFzEfYRvXN@`G{m7zjCyyc>N*0%Z(f>L~WO z@73A~=l6;EQzWH8TsFQ!@AdGofmCBy<0Fv#@1nf{fw#U61??`*XQal$n;Kh46L_4w zKEn=6#E$AUisPSm&2Fz2_0t6i0ht`Ww2Pq%mR+o{RuC6;wT0hhP8?R3-Zxe+aaMbH z3G?uNa-gS^4xFa8J+;$d)$n_B+lQ_!C%aNWVVA%|euaiJ?3BoVLHi&gP&nd%Btuw- zw_<2zX@x-EHPu>$hr=-FSN8#xc9*ow59xtOgUFZM&l+@DIjhc-o_%_tLX15L$d(cTW6AFBCyia5adfU+!4uOMA+1ON3jP7Gsi)_SD zUTE;w-fKsmk-%jU7KI}RjlAjoy>@65#3I1$zCM?Dx`Ax(!!*+=AJFWLR;^x_n(oP9 z4tOdAtucvlMvA$1nwbv^8Uxp`a&KR@KQPp^Sx^Ls7X-m~*9pL#J1;MZNcb4NuBEQ{ ze@Eh2x8VJeq?fph|LMG017#xuPODR0%vK~T+{JXh*W>;uk1l%)%2Hz!?FlA z4x#(YlJJL4TZ&3pj%@%LYHYVv8d|PonXCcWy!CUxfK9*Wg4x+5NUUk-9CL_#(-H>R z1@YlLK`bHk9@=j~DlrUH?9fUVob+h_L?6F_`oT0bz+_M*^f_la8(%U#+jjmP8;N0B zl%<$a8p=_YShPA{qx*Cnfn6)UpWE+dRcI!mJF|YnBconzO)aM=uGH#KVskDEkavlY zke8+t3vnb~zt5%F-B7Z+fNW6(DyXgx_ToTZ8&c<@nwVZrt2!t%M^^#<=Mf!Ay3NvV*nCV%4hh#MWxYOBU8 zSL|0 zD@XPy7+vbmTNLCF*o9YpUdQ#7hk`@NW{c4p_SnOLQ4Y-JOuKjXZbg{GD9pN16E56O zUKXdz3g3AW>X=VXmWcB!zGVH1yy*>B6@{tZ5Ri96&RU?9_-llJsi_S}lNA@mk2@FD zE*Q01SYpY}n_pG@O($ZqB#&g}3xtszePy3|gpqq}*QEAk!^+D`et0_;Q*t+6v8h>0 z@wZdE(Rq?b7Oko)(x~`4RY$u&v`4`J{5{$b-Ue!h+L;{XbsF{2}Yb=wi5zR%!P?y5t5(iBT4qlyO8CBdDL1{gY6t2g0r&Vq1wg&ho7N}tX z9jGxx{?>!j%_y#f0}9gDr;8A^MzU!6_~5) zK;nlP4FR-lyhx?kpU}+8k9it1Mmkm8voCXAE>MR*%gz7$gDD=5_Tt6<<7Z76a7Lf_O(*+wuoR%FSAQaa1Ia8DYS!ig&M_Bq@1S=f#|QwDe& z&V1azqU(vRJoLUuID5}8)k|B1-CRR(eDOth>-Es=V;tCdY4Szo6n?L_>tns|xNfB#W2jPn^G8J7LpY1ULD1y{#4wh6lRKoO`->9c;E!SfLUK z2+z5>R(^G52$QP|a4bI^n_Y`HLXm){iI6kuu+zeooA$-+Qm01DT&%a|1X5+oE%RP@ zRN6j0KrCfo&(6fm(Y`rUSUDuQer(%aH{KI?9ggG2^RL)v-vGefzunYhIhyc{1lzsHKg8@P$Qi z8Tz|&8FKflhActn^|}dCX0LgKVyu`xP8s7#Ydsl8CU+NzNsGwUln*YWj{Q=0y(Faf z+&}K9m0qQ3&9~{|+8w-nBDhNJie|XJi-T5(lWp6LfsHkz9VEno@bq2g)e}PXa$f`+ z0nrf3n``AM>{tOP6DPRjr_{e?U=f2oO=(Qm_#q=T28$ zv)m3iAB6Hc={;J;G9~mzVqd)pg?j>-*pN4 z19`X}9}62Pl~>?2gr4Cq0pluNYXBK4q6hKIS|KtE_Rs83q6!zcxu{RZsC&zP#t!jc zrUk2GE+l*u846yH8OM^#L_5J$R(g-qglqSJ=&@(HWPyK)O{Xf614rNo9UGA!QA)#R z>mxt^v0(pVe}DD==gO~~47{j7iqgVF z35qn41dR9LTL?)u8Zp3c=VDlOP-V0d4GPS7s)LA(;0k$Envez@v2PPPv0Vwp#Tdv` zW-@HF+TjvBIbm>xFhT)Ghd#;u<`}XR36q zWQRm86G_5kaN;S&7k*fjpxauUU92uM)htrIZ->5Jo@e47>Ix&cw zAkfuZ_6K&96>9*Q3u$#(-V?}yQ-~}I76e_@?rt#F1-CgTGPdN4q;Fnf6wS3hR-*g? z3n~yQIlHmmt)rI@>xN9wqZvPb>K;=nCb2^&f(`rdWGg#)xjLZ#1q7~FC&BWV(O>-o1{(a zT^I)mSBK5RZ(9!iX3L#AYEN9N#sf}-WiIWCMs-tv+;Mp6BO6!YbWP{`eh@N@8in^R z>g#FY(ZH7rTa=Xe*UebCUa)|sYrUI@l&RtL!*WG$T--hrAYs>)IjJqkos251+-Nn; zyD_E9?^@SfZ2#zUV9O1RJ}PX;R4>M)a#LjuL-7u&=o)DDu4%0tIjQ%i9V3I3 zrA5VTD5v3O?VK*8pe*oHV+$RkpnyyVpuzPH6-(&IQBlA;B=DC#j}%tWNZrOXubb2pGW9uixM>$}Z4ycyOk{o1!JF74KpSAjZu@dDxVUIg)Kz8=xE&T;SzYt*ll~AW~ut#8LCmlFC{0=$4mfBg-a9(55Dl z!O~_0K0&8K<5G!>{VY(9l2P-oI9#vWq_XxL6+^Rt#Y83_!+D3h$}FB-5&-)mgg?!q z5X(dnr~FpOo~qGSWl#%OWMZ~kq7-Io$`D%Xd7c1Yjw7uiW_6v)r&V{eTzl)iDU?=E zPMV7oDep-U%3$8#feJzht_)-=STZK)d>>*pWAT@3jdu)sTN=J84t8+bX{~6yZVBc6 zDiqDdk&}_o8EfvjrDEZLzyR|@YlhX*9;OTU?k5Wvw_pXHNE@f5AP=B3DgWi$fg+%i zluj#QR6yaj))5q+j42Nb%1M)lMlSne#g`dHv5WnJt|MHcJI3yDYT1d@aI0k{SySh3 zDC^ZcVY{pz3BiY(X0h7no*R}8%lM@)By&p#sb|f=iYbb+L>33|iX(BtnEKY7AXY5F zMg$+W@aTwOF{{cWcesinOJ*v78x2L?L=525GqENZ)?SW=&J~dwl@#wYUSB@cH?+gz z@&A?2^I?0sFK;-APF?!Eol!iop7%35ut$kn)FxjF<|hdXoQ2F!xyS~T1X0}<5ph~j z@*l;gkNb(Nn;JIdtNXMS9=fqH-|T}0T)fW3o`yf4^~s+@Q3m$7Lot7k21nAWVYmf- zUp{9vQf`k_rYwj5xGBPhVvf%tqE=EUTp$}bUd2tmQVfG(9ZPX&hFONUFI0z4$w`hu+bs!`J_Ck;dN_1GWT3u;+b>0j&Nsf~@}6Sq6r@>239>YMP{s zPNE4LNd=FX3`fvB{pg`)NEkwdEG=4!DZq%7Y*Gn|0wd^vUge{^0)&wpQ!MtOuqo3` z^Ldl6m-}}U_(IV~H+6@PaXY~|ygZd&*V>W+i3kSzO#_BSbNa8PH~i%_LM|Z=rF>yL z{x{Q|zF~Fs(z|bwDh5yvL;&@(Q=E#XPP!Hjh%EdGuo6)83p14D}L8Qrp>90%#LfbyiixEHL zFHYNhe|Hizt3GC{qe8^WHNKEW7BWO_*Go@CQL=EOVvS)Wp(GZ=Ojw4IGEi}6_u;}7 z$^0Jxen5f049`9AEu0b#Y`|&%~Cg>onYCth6_K zg+P*D62chlErZlBv`H*qEg(-UzLLlV-p)fFWa$4EQRuk(0Y%9@%Tn^&#;LWBJt?F@dE-f?{dT!WkU~tH8ofS~zsy=v zVJj)O`aK4(g|>5|KuLv*y2&62iRUS|tzwnEqs6qdjoq|{@>xmV%iCMr6|Fq}cK+RZMv!{c>(y*__QNgz;CQBhJ_TH>;MOpFc2hm?(9k}Gi} z#Suy&Lof&g(7pb zO+?n4M3&MS3|7ZX*SXzg4pXU*vYD2%>onYCX#8z1Bt(oM7#(H(3EP^I>gG-DEqnJg z?b^Pkx!&(LGJG&jiRxRVUYoe6^=?{e~@@ckJJ~W6!46rrOmG-j9V0n5gXV zs23;Xi%C~psPR@cwrpwNbztkxJ#DScwRKM3hlCB7tSYRCw@*HPOdzx|;jd(@l`hUy zt`h^yw27FO<8(yDa1;a9B=1LNY!Hc25u-`2)Zu8TsBEoi-VoTb&e~R~uXPIUGJ9Q{ zf8*Y=*4?EIP1b4$=@C=Ba&N)*s$GrB29g+tQv{_WX&uQhBu(Qq3DQc!QB+=nZ)k56 z1XNE#FpR)SMy?yJqZpc?NsPiJ0?U{xxqy)(jwR!fSZFLfIXF4eH__i4>>mgZPbDW( z_%wV?5F~*zq(tB|4_k47$(<509g}c63>77H^<|xHp1qrFTk3_X65d|vEZtaHx3#9R zEzq*s+~~t9O(IXqL{waXZPD<~f-(g~RElA^$){h{YH8i)-n_50sWnjT^?Ff*LBcR) zgIvQ56j6)e2tlDFgHy6BrWlH(NkR=hu@WUzLCD6kQIyojTxEo#+R8fuELN_I*vT-8 zM5p4ZsR)ut6>lnXgP=ZKB4kUSXfza@8XX!R=pXFsyVBR+KRh-(oeWBJl+d9BMH3iJ z$ic2;lZcyH=X{W7iEOSK4<(YZP=XF7%<+^%AgvX4p{9cKxJU{|LC?4`Gf5JqWJ-)D z#AsX+qbN6py9K7SMkr~ux;EL&>jc(L;&D-qm6i|_2`QD3H!YT6T1%3IVtRt{vc@{Q zb3=LQ*45Sfn(A(EU3X`D{hb~4@9tQ4pndiBjg?LH{)!5#%}P_07(r#b&h*pO(*U{a zlF3*&K|$BWQVyQ9mfM8d3eM*yY2wCporaYKjlboB7?Js#&K@(C*?pBYtEw6rD(csk zRF>K80;88Alx(1^zEP6=E}>)uH^x}E)m2u$YSrq-wQK5E)l~WecHYe-4WxW=LcLfi zIij;A%%yf;Rdro${rbB4`l_08kI$sHN(sF}_EIb1ofBk4rN@h%~b=z7l#%g``dl<^N_RXrao<`_vedBJ{D~z*z6m z?$ghod-Zo`o_YN2)6aFkbavvzXuLZtO~!#7El>3q3)$^WM0HHmZ06j~k}~I-8e2oH zaaFnAV`oinv$MwSU*oH&byk-cDr~r$7xg4Eom!c?g@$(;P$`K@5u6ZgtiQ%k(`c=2 zbXL^3yf&K^;W*g~MO+aQd4)mUm{KI&tU$i0yJ(AtBqd`grN>=f-W{+ARyP*)Bzg?7 zuIcHa%VV)igTz!qqHccpUwC|q)C1`l8|^-O>GdPWp8frcPdxeiCk`Dta_p7M!>1dRUx;s2I(laWaA7lr|1WFQoc4Jwo-Ra<25<_Crjj23_ zV-$hwXpGXKID@e%!otxGAMdC(T563#8PA$2QbchSledUzjG&R6UN8%OF0A$##!;-3 zGnASwRW4_p-@P{AZK&|Auktrmm#nY$*H`)0RCsCv&I-TP=QdbuEXxtNOvTkQnRkEo@BiN+vn?%ZDmHmWF`%Al}sFBaaE%AA2uEM zyN~_(eGfeLtG7=5`n6Yn@Y8?&!k_JJcsGlzw+Tk0QOENJPRB76LlPv8DK^mX4}sz| zL9>ir&s^1i@9RJR@J~*E`u;aR{xAQr>&pkq-p}fr zt#TvunWdOaP#YKyufiB%hD9Qsstz-7=aNC!SD=cWO6^41_gL(NM%@vak49YJRT0ghlCqIYfj zz`DP>7r5QEx#1TNpsDwE!rf2~tiZMfa2(;Fzg zEZ_wA6T}=d+l^{zq=9CQu+$mm^pU|}AW?U1d-;36y7hnD|3ClvmyiDR|GoO~pFQ@k z@B8YJip4Gt4vH4zCToqwt0(FRYMvV#C8=8DmL3%g~%a!&qg$IM6DCVBlC@ zN9!n(!j*LyQM44C!bu&)@~kj3cdmuSVsqF%9#?6l-B=f>+OhAmU;E<2zx&5mPXF-t z&p!OmfBmCRG<VX=8f5pfN25(gQa+e)a&&+!3Z^< zt0X8*fTfz{bRc#>SSfG4T7ODUvmg$Pxh0m`?HJ--)n5CdzuNirU;f#*pM3b<9~{2- zPapl}?O*+HV_UgXK)8%Ue{lb< zJ098H@y(6v_Ll`L&dNZ^y0w9ZdSA^thpX0V@>%5dcTts5Z?YQCaA|ef(z@T&??n&bui0xcrMV3%NaTt!ym*GyPXgDlMR~H6ZsF@A8 z>ac_$JmUNS((yNUf9ZQad-O-APyD|(U;M^*|Na9XtT$I)v!?|WBw3>y)wfcm@89>y zzxu|{e)Hgow;p@rx!?TgAAa)Lt$)1(Iap`rO^VtLf{a0|-c?-3XUqQJdw=w|zxm~3 zzd3XC{-e+R<9*+{=QG<@cOpow8PpuTjzXD24W|%Vpg{uXQ-4i@nMVzD+J_aIL{St< z=ibiJA*4Zn&8h~!S_Fa@2v6;f5AOW)@BZNrp8Y=${O-3u{O70t>4V?@V&g}*2ke3g z!3~z|=PLZIs%-ryZ@cZ=U;NVtzxsn8edft;?fUr_>%V$O>-+y`|6l#$qxYZt%tOaM z@vr~6`_FC*d_bpfw#m9}z!JuMF_bT-_B8XF{S-1bs@BHtN|LM01@i&u9 z+ksajdSs>qO8J2vW#wT-3>ahLfWu@}-e@%Q0#9?wHNd!xD3#sAa>+QSLl~uQ0-`hF zFw0E2_}jgA{pY8u|Dp}q=cQ)rKwnb#;ET6^^1(0s^|N37k4OI7PrkAJKR)dGLOa(~rtvow&;^`x?Uk#z>0pu?znga*$VOqmo8cq2#&E^iu8*<=jM4xUaTxIl1nIhl2kryWQ0 zr2M+(t~|z4oB>|a6*K0_CKoNgZ+b<_Sex%!^A`_nd+_{wetG_r-+AEEUwZEc-h;HP zk^4t!w)_f#!YjyZ!g5VHa{n_%T9z8zwL(XE=P~FQL-uB&Qi6ej3K*5wl9g`+8Yvf| z{;9sbv{E2P>kZk8usm~20%=els+aGgWQv^m2$>(Eu;>6IQpAA{2&OUyoS8@9bI<~H zv!X#i`%s-ypg_qrQDrEjwjE`G0m4i(>2vY7|NQj9Pj*zh5R+2>%;xh9ENXeQ_!;U; zs{=8&_vFgpI{CS|x18Wp&TPbu%*?%dx#om{m7A9C#&l_Vgp?`8)uQD8htAL=LRr(^ z_RoLo!{7Pc|9arrM}GYML*M??gMYs13-79|_1d6FOXd^J@+NPFWe+|>N#<{VQGmaJdLZBiU0SLz2qtjX(pptAu<0-uG!I4Tvv+NjCa{D)Z!jtnp*Wpj z%HB4bX#@{5&{nqIxa0F{?)lF@{+kCMdiV!Np8C80y8m;3^ToXf>U=c_;a7TfsU(Kd zi;fb{>UA}{+UxJ!yLR6lRqGFyHa3>r(OP{E@V5tc-|@>m9e=;Eet%$9d7yPu{r@AH>;08zFY?eNMj=E-vFO(r+bS9tu}n>Kx6|DE6d$j5&AxlcUsl~4Ti>-XIM z^-n(Zm!Ew2um13%|MjV#|L@N}@poT5{H;HI=3oB!zJLDs|M=P+cYa{QhBYpimDk&@ zwnUJ-u5_Jg+n>~Z;y*s~zaM%id=JC zjDf5)l7>=ydE=^>4!}Qf`{wPN>Ram^s~wD;#Ys%DfJbqWv`YMH zdqvyE&7FG=?%3DqK3F4otSmz_7{+3RzzQC3{q~l<``>f>!FL_lb^ET3`?dr&)jPZf zR39F}2d_*`PY#4q{UIV4rAdr78CjFn!m=bfYa=Me5sZK(l(Sfk49DXs37s4jC$2<; zBO}wXK7>$&pw)$2EJ-PpLhwQ}?N%F4=y^7^(7Tef%Z+PfP%6S`vWwtd^0x3~H? zR0}SFlohX8mpJ0RBOdRc<80+o|PlQr93M?k~5&f)PjS6wr zx@PtdIY{BG(ap>g(e#Zdim?pkFxu-JYd87Zca`thU$tj{`JO$l&Sv9!7iAzZ3a-g( z6@r5DOLB~{)aY+=t>03zWq0|`1C@IZR_;4cwr96z`xeXQCT?vRY3DH}y>Keel^6!G zm@MV?4K3CkTa4Q_u?>}^z@Vra@LuUxl4p#o?f%WBYd8B_8ciGhWStQ)Qu6m%rhv-n zCQVv>LS5OWo#mbTD)$~J-@C`Vv(wtXfnQrn*;zRs_pIJ5ACr(~iZ`=*L`NeqvN(k! zxS~3v=}w&=s64%Rohe`nY;ZMoltS}&UEBOkjqKV|Xugt>c4DoV9XQOXKF9ty^}rwzM|Y*RF4DY;En>*12o$Et()7nZSB~$d)M~eJ9cer-MMM?=H~h}Yd5al z(9yna=dQiG_CPh-YT8#DS2-x2x@yw{1Q3U5XAf9wnrjq!yM50-MQSPXcE_geo7T3j z^;Ft96N$=cg>PD)&jR{S#8I7yw0oP^+RLqig`pVPQFo@(nk~fjzUBwHjtd6 z1|c}qR8N$3@~gMG8(Yd6eXdHD1A(P;AeLsTtkcxc>2GZ>Ywz%O>~wYR^={o+*4bXN zxy8P|(OB7RYU*%yKy&t%ZR;%Cyx!H|~!gN>xNw(xd)*6 zyUIJ|=3C1wyosbJ49yN~BF`LVL@bQ4 zth}kQb;l-nZ#J~lR9QJYD(U1|byW&NpO8i`ziN}WWoProEuBp@oi*HgJ0?)5D8h?R zk(`zH*ShOBu5Ihsv~9=s-Js;`+b?S=d-m_$wr6|W*4EV?HkWQ(YqIksF(aB$NknnR zAe687wr*S9zN4jiLtD9}(SkS`*@9F|zxAlx1kSt4y|%S})7JJKyLax}w@g+0z>h4aXTYVYVX{kIrDRbCe57>TvmS zOSE37&qr~brYTNO8w@(LMelHMmJ&VdVJICz5tt6cc#1Te_4Z1^;?WyyEN`M&o*-CE zqLlGnl+C}|0!*Im=>N~&cfd(io$a67@7yvocY2@Moh`GwGusQWEU+xSEwB{ny(5B( ziUoTYV@)h53b6qSh>C~}3)X0q#8_ftqit`~@4fRsXJ%1M%=aZ~KK&=2-QSA4GjmUQ z&-*^lDbI^;iP9A8$#^n;qNn2zCypNa^smny{^Yseef07>fBnNpZC%F_Y>Y5-g56?t z*^Ew;)}W&(PK}e`{%z%_ zkEGu&2-6@nza+yMT(&@2UQKB&M$&;I=G)|c`X42UDQG?6tid`ih z+O0>Tz}?ZPinB4nr#Q;9iU$uGHokGLY@9P= z%5?ZOZu*3}Ne#jJN>9Fv*MSZ!+8l{QTDs)sj#MlRSd!8k1f9vM;aC_g(mGJkaYJee z`5Ol(nMTKBDlT{RB-)x|UF|(_`7ZM6uzm$K0Ykun8#w3#QnBPI{tXgDHA!gggcoAHA!QYVM+_(*J0LK)qNt## zGEh0V|Ijfb#y6%rb7IrPQ4>cG7&9nPTVl_#3p@;I2^CM@27q2JNt=>7r@)JL9p=<0 zwL&be##&o@T935$bjM|AI{&-ql{rc@B0`(NrCVh!)4qUqqEH3U}^uV!J}*IN7weR ztu8CBs;+@vX!P)L6UI+!oHS`%(en5Ad^WIvUD}6Bs$|bt>>NjwqXCF+F^Ag$Bk~Bn65x$)1=W8M-Li3q_nOqyTB=# zF`13T@E=JJ;QRG^y6^E+j3td(+R#Ajpov*yrWZ~+EjYYBx4`R$Y}zDfJzgPLZx}Gc zH*#jlO9LvEzcn>ht=Qcmp=8gWv@WQ&5ruRDonSz-iJ}z!eTPR*v^njm)d8$*U~)Rt|LZ z8|fV~A%E25!m;U37}=0Nu*#e7wHQc|j*<|Tq1$+P3OA}$HtQ_5R@P(!}Kw z9Y(Dhr&R?@DJi)ZKPPB1J4H&$!rV1tAta5%@@ne~>KpPK z#`%Xg=8YIzIDAN8a7|WurLC~WRXr?ccw=Dn#KI8`g@em;DzdFU6Gsz76nw)&L7EIh zI7yi)DI}E*_l=ws7&|32zA4lE{F)M9uGMM*JdZSjPq|5$LMjqHQ9x*ETfSH@z*0TJ zSKk;IGbK1-T5;o);&Bs#BZdYBR%DmvSe+&TSEyJ7`$h^>MK{k0L1nXWbD307?W^mT zKcdDzsKQZLY|g2&S2SeRPskrVrD(#`P~+s{aifDH>T(B^ICEWkfnt?7jy?U;J(8m^R8w6yx~_iAz<#x% zLXXLd#UvGFO-ZK@g25sJxh3bwH5Cu?_a9X~pka7*$?y_em7lR|=}3%B0+F|Ptofxm zl>;jV4<9mW?5GKi5TZ<;GIlfo6Rh5D3s&aUjVK*5YC!+~g9<&>9^5af z3=X1cMkR+6a&L;#+H~2)p7Of#!6S!`oiJ|Fq?7d@F=0gi5w*dZLU*=-)5W560>KpJ z)XKn+K+q{U4vx0=9zPzA^>hKYo3z9k8>f*R5^eVao<_LoN4k8P0SPHZRpN3osVEqs z(eN&#At&GDC^i^eTBBBD6*-SZms4Qzm*~wtnlOO`n~KXR1$x{>>U-x^%e+a&FjQlGvjY) zAB;>vTh%-DHlNd%mlG%qgo;C@rDf&i6=mgRp|aw_;-cJu-<@TXY$C2_$c?}EwZc>GFE(rihv3f0IGHQ4o16v#G z=#4ZtM?2agaWx4z!0JSk!{YV3^8z_Vp~B)!&EZqwH>^~sGz8n@59D~WTy~dHu(BAB zeY5?TQlcp(P6#H_nj?8b{=DLn!h*`6zc@cTCp#z0AIK{T6_r9vhB~vNJX9Xa3FSL; zJqDYBJH4QpMXI|Mi87vXVE*oW?!B?FX${PbrqMp%gSA)rHXMU)%{XO<;9U=M`gC%8*0JY|*c@(Nd3`a_BWro1ej*TK3>n1MxN zyQ-`Jf{;ZKvzRR&TOeR93zE{37hkv^!De$$% z4EUDh%-1#jrKC#|We&u3F~+91`mzG~MHRu~ieO<;e!!oTmzy6b3Ko@=6ql8im6w*6 z21`SEMftuQx78_eCPL9*X;E8<)RB_ANn>!CU4Cy)L0(~~sJOJGEbT9m$18#FEeYla z1KIi6u56Fd<=`crBo!qYm06ux^5oe9<=I6QMMa^~qJol8u(-6exU96aq^K;EA1ug& z4m39({t>!F=!t@5L4PREkqw!c$j~tvhnR#C2%}T9x~=Z)w7)GX3}vdFu0UBySxI3@ zVQxXLH^*!7I<*!9#ZmZAr;nC)7Yd=qXe3zT&ei9anuAr&(kfS|*qQCJm<5AT5FIYT zUm_J&+e@lFlx#chrg%pgYjBbsmSeH{}4V1eA1+M&Ddv3s( z8#D(>?ZI*v^cp2)?&6R$kZ;d+o1I3Tfu$J&Ez&_KiR%=~&X|0L+ zI$n*^NO~%%#${Y1k(L~dr^Mhdb>s!yxlV^quQ&0O&W>C11y8Xhx7bx! zxg!W2ZZWL0JwM-)ooC4{vK2wE0c!$(8L;QVP-hZ&iuo39z#)0V2oYzkjL|RogI4%C zB^9oc3U^7VD-?1B@~nQJ$>oIbn5A+2n~g6VS`MajQD!gi^y_^AQ*J2zxJp+E>OI(Y z_;%QKn?K9sw(0G9UZO|}?~|>9P(g*O`aT+zsOQh zY7bSUKMnR|$W@eY%kdgu6F7>MqXdeYh)k=D7FcW=-e}}7JKtl}bYMhxTO@Yk1nBBQ z+EHX*Ytb5=iU|qKBpO}r+}uD}u&BH!5Xko1B^MtvkVyhVS(y>dizG3e7c4GIPNAo$ zJijOu%Jl`kdcTD>2vj0QCNKdKMx)E;%*po`6cvO}pf4>?2YNW)%Zee$387iz^Lw0b zi{8c)I!vX0SlShoXWoI5px)f)PzdZ?3bj zG&@*UkRK@YSn@2mU8^u?+X$L2g>eSj>Xz(Yr`MmA3n3G793>E)Wl$CbX`uoLRPz0< zY`4+n?F?Y3r?&h9&tVPx|E5>Nb$kAGxfw5Wv&tl0RF9kx{@F01M zc1Ak8qCE)}$62$eb-5&4j%0F)CW*IcIj2SE%9iZeg4Tx1LZSo2J9^}Ji;DN8F!g&P z=1el~Btb-y$(GLcPmdpc|I06b|M}4mK5PE$%l6|Zx?9_OTYJJ^c6A>)(t70c6Gxgm zTEem{lUhKVXi6uNRAvwJ6i`JWg}Kf)th>245ot+knq^}cm{8YA>8@iSSwwl2ekuRK z^lk!O&F3Vm-V?Cql>2=7L5DVE1x7?i zFgdexfDkykhnxNv`T^2kCkvkbI{AXko)V$ph`&XSw}#u`gbK&daT0@`kxVSd=~F2_ zB}2-S0B(Xp*ImpKAwqwQDLtK$uH((U?X9r{{1^>vzDC1}A}a{2hNbAVeo5vF>C=-8 z&FclL&zM!_@|Wg&oMlcjN3Uo|l<^~dKodqa8K+oGqhqxuozZ5tdu$Muxa>ZgVAE1O z-FL~jufYC*U7PM*5&)u4JrSMqOlh^a(WK#YdMYImJp$ILD823BWbQDykcB>Fw7DV8~Lk`BlemC#9?&7AEslm&DJe!*^H zwHi`G;;;uuSTro7*9v;h$Wd^x1oC7BGX5+MV+tksBzw8TT>!(hKG(`R^c1=jlF|0BO8vpgT(3tm5P$|rlGZSy#7kzq z(QGm5tvZdwL8r>ltiT&>dS|xPK7O+nWriaNX1;Po0DPNT@#<*>?XOWSD28P9jA%Dl-TpjpsL~$@I?XzUf#~TcPal!l7w&WS zX}y(TpuEQA>=Shv0)l0m|$eSc+M2v=^Q?O<#+UkH_jbdORAVo7I z>bzbO^#U(4tOm(e0gXh7CQdSmW_14xS`bCUXsV@j4%Xz;+8rjRPNzqVyL-w38Bd0jv9?IOqbr$c zQ$cTL)#3X;U%{}rBDZ#Re01!qH$MOD(5GL$`)SKxzUXRc4tMv&JEO6`gd@$Lceekv zy}c{klYsFOrvS-79}X>+{MG?f40T;fra>Fl+tM40x5mg!*CAhzx(?$s1O#2lpWMg( zQvRLgA6#7jNeYDVu{a?K8b`L#U+nN$bF5f4AE6RG-CwE4;_1Ue(03`aoRnj|Jw2`A zo@hdWo|r@k8fD4Ag&1b0c#qZP36}V>v&~wX#KWD+u@fhbl9K<5gj^<9c*d8~K3P+?U1K!caa3>^834>%DV^pB0XswPX z;0J2Ogc6Q-^hDcEbab}0#S$*W-(bkaWftqjlC9ls-D*40jue?5NM%3?^raes)KRQPkcd`KvaPx2SmbEuUz^#ZG{KT8 zA@?fL6zk}0DFMoltUJDF*1`T&mtV9)40Mq7c)jIRaR!`{NZG1MK+4wI8~;Q}F)45o$syzb(H8<>c*f&@ zb15+0tMD5k0`wX@1Mp5U;S>UZ8kR6vAl*!Kv?qF6+ggue-3-oXAjM)~U}Jg0=2477 zQWR4Wx%QyH9-9aRf1bTI7*vD9bxjCPC_y za~)sO5s*9vz6yh|oDy)1f~c1!Q%WM)*%Ag_N(a?~a4H;A6`HVuu_~Nhgw5!|O*UL- zWa2W`@<~fCNTB;z$lM`P#x!bzk=wglJB}-1nb%q@qRyb@h)zf1M5L#y=gaP{4qj(a zAgBkJk8O(^#p4cWSCl5^$dUqO9+$Jggk_5{4sVIHw0(69!D9l=AW}g$JtaX0e1dAS zU^GW|bS7Iq?urRilE%KT*?<4uMpK4RaV8;mw?@DEv|=trsEy>v9@S4kq~*3 z7YSAiSrtbK8mFD$;|Uz^Y>9&0n@m3CL?MF7#6 zi~@OD$r;D#6hT8s9hN&gdOI0RG$u_37+@F)FyygV^hEe*ILg960IT6rG%70`k&LX| z10v9MXI6bE2Jk#40-ER)dX8c3t?^^Wqb(d{RwMx_KS7H&#xH4kLkeQ|wl9d-Q6NVIq1y*RG2U#AT~S{|4j2HkCmxVbZmwMBTG z#aSR)v>MqV9#;}%7=mgAkW?J#1j?inSi2FonpC=1>6Md__DENIdn|4QfF%e9vUm+1 zA=UP1SM+!{(VY(TD1%-aU*I%FiDukoHEGPOoRXqP`P7j}Gy8c2-T3$c?mDw(ky*k8 z$ShJB!}%uGr7}y^nPuJ#CBrhxnCUCiYK#;Nx~zabrzp#&FOn1|7sC=qd%rr~roh+0 zSr09fRv|CKELt0oBvmqz5T`XC3wIt3!=}ei)+0R$6cV%nSsRHaJ9>b=o3zLzv^Lei zw{+SyCtzex%J`49+Lvyk8iRPEH%go!SvUbm2nK0UPYM`AuvCIlK|Ile#oOcI<88gI zU-fn#iG({8kUlc}!?!!2w^J3RH<>^*Uxm{U8c-jONTydL`|fz-k&RofTCsM~%-PeY&6+uL=Dfvom!7d;>6)dpXD%Dx zZ&saSaG}9%H9%x;ux4|CiT3()r?0#9wnujCe{mCzRSnb2f04`9pQJLxzo;G_`T|Ig?lZ zX2bQ5Jau5_#~(g;`0d*t*?i7;H^8}d*|)L z$3A@h)7N*t{K%CLUcck;Z{(w<(>GURp zq}KqWGeFfYx6Zz6(Pg`K?cV;;TX($o{KZ?YJ#AK9AP6v@7RefYhqRGoK$^cp+ z4I39MylLe%*Uj9rVc=~G3s;UPAA4H;n%gJ+>X}(L@11(_m32!SJmYj?u?dd4P7rmL zf&f2k?U^|T9~r;-+978y?>~FS zfH_Nst-gBZl>>T%HZywPx9Iees59r~Fbxf*^QNsmf5vZb8UNHBgEn7O zvbZT&zhKz3o93_m?W)UfpLOH9{#Q)2&9Bmi+(t}1CFR3^VbRkDqn)(Y1OL)d3vbx8 z^XUVB{^0jty!VIKx4*gV-0hd0wqenv#&MHJj-5MuM!;TnNfDy`bkSKT)XD1i`OkZfAzeT3un!necG&`OX8I@4aBdltHHf zFu+&cZ}$4BH|{)t$Ey!M@ysiG?|$ili??38dc(?ji)K!rJ7?~^)fXa#z?<_Wc|LEp4$&Da3<+ZMu*=T8sHi@K6}{Iz{u0e=bty^ z#=R5v{AJcte_65ZiPNt>cmBHRBj!vin>Z~rVM_71iADAGxg|wjkI`;sO%}hXsWXS> zm7RXm_y=E_cksg%2M(RS_0DD2oH=#f!XfjPR8K#%-=b?qT=nqGU2iRW>BH4eJh$ps zm&{*LH)@n6Ki@6_AX)sL#tVx!zS402vBd|DT=3RA8(-Re`sQn=ES+0FYGmb@rsC7i zEnRhg{gqG8eQ@8|&p&kb)4!U#X~m#XRe1n7HG0W5RO4NlKkeEHn;%&I#=g~WJ~sEB zD@RWmS}lSckv3{+Ee75rmaoducFBpBs#$i|Onz-ZRg$F)6``MQ+eEc_S?zo`ooO2pB+&=#PS7$u+ z@w|s#Sa8Y48Pf|JYCul$Ab!Y3@1n;>-2C?H7yf$b2cKX1*6ZhPziat*Yp1N8KX~ra zsu>&lFTZv4^^eYd@{LumzqjhCrxss*{nr?#zo?AqB^FRmL|mB&&} zo;OM&gbM~|ITu)J8F};IOCDdc|K0Qd^vTBe-`TML(KVYl&A#Z&5p(DCo6uA-VOm+! z%<>s?D`(BAXlyL$Us>q4`fQ@bguMu zE2{vNg(K0wlO~EHo=$MkAS+Neb<$;bpS|nN+YY?5=ivvQy>`I^D*~qvv*$YufMksj zNRUIU!3ERTUwh-ey*od6b=NDqw%)k@hNjSpVo>9A0wyTfhx8jcb=JC-Yp-5^_T}r= zu3G}_>t7oNTLiras+`?-f+d-sV0`=9>x#XHv2UOrAcyvPc8iPC12 z;bFZp`Xz&gEx+)L9S1hO`QiP~{ZIJ=Bp%{DlfGg)Xu4_qIgj46Wykx^-~Q2a=kL00 z=CTQ80l-)>80u^|aOBrEO}u>bS$p5P`T4^;AA01eOXl7;*RraP&$ZbBaAjAG8@l%T zg?I12cK54$pWO4>?wg*u=e%1lT6zX_J2R%wU9fcCS=X()Zu_RKPwao@;dfrX<=GwU zuRDAEq!LdE;9ldYl9I3$CIO*Pf60`!<8FBJ%$*->+x6<}TYvTD4HNHM5t!QF186|PO~M?=c+8tt{+y^G_Q8uMUA)LGk51pEB1W8X8W;KcfCJ*-NyyyVf%XWx3>#6=Tx z^D0E(GfIEcb;ynAyv37NkG*d1+8rOUlb_+lgrPE zzv(47lO2HpWs9$!aLdaZxBu~}y$Ald`513HZFlFS> z5fcXn$5hxVbBqqNfv14kQ{-w`QNHw!rPn;R_0c`A9(?GfCvX1k^~*O-tDG4GWk|=@ z1N03QQ_foSt4FSW{I!RkdhUe>ZhGN{>6=%T%^sX(76m|H+CE`mJ+Pk!246L6J<9*~ z!Qs2!IdsM5>u1a;Gv$42*OCPU%Ekss5A=?brys~$TsG;73vb=L_w`3#{b0wQz1Lr} zX41kuvYr86R|T-n2#r4foSW|4@y6rNfB3|%r*6IR%xP;%#j!?^ZE*oUX!F(fA2GUV z@szozPd#n!@X><;{XD>j9t5jZq^~$_{Q6tZefX6-pMCG?#~*+FjfyrH@AHLSV{DBqMKeKoDV}E|-=EF~&b?@bkQ~Kw+0qGF` z0e^!bh0&T_j@;qZHOm?&uAhF!x-pk6D%&v8KfQlJ-KeUW=QpgsW9+%N3}3doys5@9 zNYdq*40=u{YV_{vlKcftOHPdZF$9l38!7V zWYd%9Joo2I-#>QA+pn*9GQ;0$_);GXD%qa$>dEI%x#01&cfNK0-d9e4VdvyMHx9UJ zX<$ONC!6#5OG^hY9zXw<6<6;%`^kf=e}8D^p}nK-xU2wGK&rod#z039P(G_2@;B*6 z;BU(zf7|odOWyr(?FTQz%?Zd!ixV{2Y~bNTPznf27p zQJ1d{Hsu;CajnN>5Rt<6zsTS8diZVh`arOzuyO2)t7hHv^ztX)T(x)K>}{KdT(=~D z@nBnp!3f717;^)YhmE~>!8!Mw{_x(VuRS~E#YczUy0N6G){zTzPEq7leItAaAw`g zJ1)9&`;&)uz5T&M&+NbUhV!P)FErHwP+mVR&EMX?<;la(?0D$)U$5S=e!{wG3+G;V z+tvGDf8>KtpMCw{E8DJk;(|$6PMvnzymK~ey=UutPw)8sp3V1PdHKu{i>;xClBUKr zm!JR8o;zQ9<*{e?JpJ3N9=&?z)eEX8mg?Q;@g`6*C2QIhGdAA$>zzAacl>cr0)EP~nrWmBX zeyzjFMUwP@G z{r9f;)tO@^_b;~qFAj7$lf{N>icf!N>ejt$4?TX?D_a-*X2bBtx)KWb1nm#yZ*v~3 z-uTL#&ChPwz2*EzHZHhy=AfwyD$abMe)C5&c7Jx}-sdjbaqXH-bH~n`STX;yfw#Oo z{?WhA-uBv(%deQfpltL|kY5J*+r=Kl-`-sP;zyT!@ZrYSo?UzI)pO69FtV{ASXN@s z8s{0juIj9N8XtON!Ha)h`P9p&-+s-Kb;HLuItzli8c-$WP7N-)V)$K8PJim{MUOwb z;+~rpUAC}sUTsB%$&DNqZ!BzbHeOY6_Jd7Z_O5#V$u-YDH1D>Jqnhd~-N0{Tpug0M zC;8hb$lvxZdFH+I|Mcla@4UHw*Zs?HIHze@WB8%g#{otiLKYs3l$8MdmWL#-JU~RZ)`W9k_CZp#8 z;j0{7yY`k@cfEYgjyLvgfAH;lPk-|Aq32I4DDfDP(c24vZ<=Gs`HL_5_0|KA9sJok@0u5{7=8PE|Aa~xVDuROlkhhalYf-yE+P73 zw%d!d{A2nBXU(jfd(MD4S2Ub{<+$r^ntJc!bMHI6MxaT_@=*fw3zFU9x-GeTVPgap;|gZ$Et3tnKGk&8_znv<^@|&HC6c z<^QJqjQAUzTs#2I!hzK*uAh3xp-Uh8;K|+l-+Ss|mVi%3;OeVY8o$t!8 z$PHE(7lkSVp3-cS-+`7!1hjWo6`Z+odpaeERjBx4rkn(@&?fu}{?N8l(%h@x}ttKWrKu*p;P`tWg+6|Z9dhdZl5B~1(mM3;!a@oo;(|y{0 z80I!vSe?gY%g-w=t*-B1H)=rbkc!IE{7{Z3*W>iKd^T%#ZpG+9ORt%A^Rrhx`1Zc- zyAN+Y|IntYtNsb-*kA_s?8UTYOKzd z0Aoq>x9?8Msg;Ztvm=y~JG7#5Y`>ACN}GmcO{jGA%X0@xAnz_3yRdZJ+|bbB+0{Ab z0!eZj4LV9MlE&PjRRcH7nRoB{TlcI#xNp(ByTnX7-b?BN3|-u~mF*WQ?R@2zz!MtFt-qR?ii2iEC+Fn?RV zZP}*xHtziJ!dG8j{Q7T4JaS3Ny2-x&Stb`}au)=gLx&DsHvOW_i*~=g>Xna|?|o+K zjptUbEH{qQ3po}8gOb4hi~LQelSHjKKMypFs9ZAZf}0jS`Sij!U!ApY=hz$0t6VbL zH?q`Tl4En*t=`=$32c*jls=Qp_f12I=XgZceEeR>d?T_+~PcMw#VUeIy`wb z_R=}klP_Ak>CWFC+VkuuPwjc(u3I)PSXX7806^8yX(KM(wtV}0oA&&E_m-^(E}yey zLHV*#6DFN~-8s8o{`FfQZ9nkb<2PUUz|y)6^@AIytysNz^Q~_^x8<#;@7!|zb#un8 zE*v>#(CWn-Z@lxFN1r_W^xhZmzyGE)uUj~5MMF`2u|L;k^LlbTg~R;=myTa?<>e1P z^vFBU?fKo4+wQ;iy15OjgJ77OwHgi7Pq;uV=~3n}7E7mqV{HRwlwABs!y_M0+5O4l zJ0Dq*$=_W83?xF;C@Caznp$*(TLeaLjaa$XHRaBsSL|B)-_G_a7A&NhrMS{s;i(}a7rFMs`+(_h~`Z}U}SrZ&`=K#n9B zY(v@a&EJNsFwcFk`ofpz+_vxBZ8x8H_lmje8>+`m%UgPH^``eHZTax@t&g8~=ea94 z4jVaTVBz!&%dR>&{Jy`;xcjwbS6sDZMa}pzprB$fKjad`-)?$k_499ReE-Gsp53OG;hq{`cOe}uG3|=xpHjz!|m0}isoK3>W-cB4!*kNIBZ0)sK{y4;s%<~ zL!W8SGWh~lU#{Khv|Ei9lVpVaje`8m?xi>E>kdBf@Y5eW`t0RZHfO@iK~H|6^Bi_7b3>PFQLY^biTDlEzO z<$Ikzw-{jt==CS|y|?$VJ-6O<(Y%YN_M0^@P?hKLIqW`viK}>G$>??SH{N{f z(|dLue&Ml$kKA?LnU{_!n3oMIT?SbFQ&w$^ItikPbTz>cX zOP`y1-pkX@dT9JvS2Ub`&B(L1OjvXO_(j*$jh&xYIK-kYFlsG^%u$sew`9vSePN6VU|4j1euk0DnK zIg+W9nR76VkpRTK0%PQWmS-7_$h8S9OS33#98FLZCnk8FZD$EUrjLgAiJG801_Z^@ zFxYGL5{au{XSYNpovAAs0paFEueK|iXo=BSoTn9D%dl~yra98fU>abSSjouZ3>%9w z7`l5JiH1*fW34GFsme6yR^?=8FB2s-MoF?+wZ1%FIIhm1g z>`TU$Q6E7!awv+R8Hyk&bnabNQi()LPAaKX55V-_odF>IR1!5Q6WGND8|W8g@8*O#qr zEy>Tim1Ank)D>-Q?$+XTM?TdBc$TIWMx$XVNx-yXijtAa*1vk!IIUBVB3Mc%X?UXm zO-i1ClZ9ha1757JVy;ct>Znv+Gj=d;y<^rIgH7H!R+Ltm_00a5aS~NXkY@py@Q$IZj}3`Y<$y$tx z)xkrxW>SWHfZlO(!HuOb;JN-I!WlgR6gg2pV;iKG}edbC*@ zpF^=?SXwm>=^Uj}j0OTUgI>c+R5Hpj0`$&ZJm6x`C4l5lc)=dsJ>vi=z@8+d$jN@K zNQI?u24aK>qZHDBGrcOsp0rn#qXpgjB1Ao@HBbykr{YwiEgn4<>1=8HOH0Q`-Ek9@ zlE0F>vEJ5#=a` zmW+ZE?MhgmRLlvC0+=R6pu1cY3yApF+OFTfpeu4oITek7Sf>(ePbP#&OlBj=1Pxts zREhN{;TAcbN{~t_rY2&2w}=5nLYw*~0;n*=L{st3WVAWl(bn;o=FY>NF*BuxKbJd{ zaC;%%5~Ua!X?w6VsfV;uN3uym(h;JW;q^SP5d=n61x0c*Zdzxq&|r9<%6tl04s>lI zqZ$cNH<#>0by|w2rpY(kE$FOXQ5qgXVIE?*? z9yQsM`Z_l$_&Q4(Mvx>!!)QlgSOPjIkc5#g0fSZyU`Y&Z%zoQsQaA&WvFMl0ot)4X z6}7Sh19}slh%wqO7+1XjBv@90Sle#a@B$-u(><+t*Rfb{M{`&{0!Ud=NzjWav2X-W zbn5h&!D`exynIhsTv7fYdQXM%$;3zCM^(>SkEN9F6e?0*R^xE;wMWA& zlQ1e_no!$f!to@h#c>mclOTOhFnwwC-=y`I7SUlzjg#TCB~y+~Yj9|AiHxVB-QAr> zJKF!;+0)V`C%Z6;|N9Af%2k2rvOl zHh{8cV#zQ@3qZ6|mTZgH8OXBv9FkejYdN}4lnfS1z!)6^R4K}^9W;an>AUGzTErt= zg_E6`&Il%_B4L&2kb67Bk=~Z$(Pog=f<(kg&1BQgC^?^^tJc^4%++PYUqRX{t8z+( z=o{sR`(JT`8kbWsS%yC_TqX$&4G6`=Fcu;~86t)D0||l0c@aKT zNpz~Iu2`fq5{<|m2^4PSIP^`iSa&QOOLoUod>rser03FCAb&H^1V^(Z&f_wVftVVP z#FHJ($*wPzm=Wn6s!1i;mPlf;XgD5GG+_)fVj3eUj=@C}VAAtI`Nu8#=L_r{$aW)9 zMd^(9c7&s0yazF}R5B)m_Gq*#8c8a>Dj@(Sg))4T0tB*ris(s4wSN_nrN@J$2}xvl zNyA7SB>|0IvFa4ctmLGn&@imeo*`pG9ZzF=N#VFycOtGK2@Q!svxlglFO9(uaq}q2 zp$u)LCy|OIaAc1RCNOB+)d>6p(ic)R1hix3JJY%T_m=ch3yR`VRgEU(csQ2mZ3b}y zDYgk_vfGn97kxkng9M))z6+}sI&vNJcJubV;thebo9mlXV(r(3& zNCC+RByWHSHP(ic9ngzFYR7yt-=Q6$EAleLPpyiQOv{C4L_}3GnMx+$rS7f4ahvPOY6Nt{SfW&~H42fRo!g>;hUIo5~ zg$_p~Gy+LdG+KB$DU5`iD_XTwqrEC*P03^ehA8MIAs~w;kX$c9?1YLzFo~3`AgILu zW!C$*ukQ;MeFF~zBqBeGn$8R;V+x*83XVYoL{cnDI_DgU8z}!VMtqaf5gG(YL_xG$ zjdmrYz0uxS3^q+hD*CBJS27Zfc1Pkp5tU2A7=Woffff-Wj8-57J;@qr%B*2^1Z`yt z9ePg;$<<=mDV76?HBIS7O3SIy?ifugY?{7Oef@UwWoQWkONF7ODN0u&-W%!Yj(!G` zCO8T>ifc&v3q`wh18~qM^aV0B4t6P-mQ6$`9j%C|C`%oJ)tK`4P6|SQ3I@1Xyt%E1 zJ05l^y)@UWHOFHL%^x?jR5t*vtcEq~Om-7Aco6SRwzMajkHxw=y5h21j9n^jXvmG z4M?vd!Gdfr-SY@c!I+LT#9(KG#E+E!4MUCwy0)HpthozM9!aWz3`5*?JRx?;8Uqep zTvP$^WFpcLrrV>CVyg@mYwzuBjmLUbJf8Z2`jg*LC8VLFgaM|ZIHzbWHJY+*TG2sv zaY}b2@_Adw@e{4h%{@I)1!2Fx?}p3@UMj6{f^uu(sj}jHHFY28*jmP!W1~BE8u5 zLtG;U5;XWyPIk9TTPKX>WnT(=dVmXc1D2PT#9W@FJ(x!E5P^9@xn7jv%?E4l?klhju;%cm%j&U;b|bA7Ar>b9o{2{3Pi}mBq~1VD22v1l21njB%`2c|f^mv~@P>u8qd)?}*r*Z<%Mb=Yf&pk)%~X2* zFPTu(NHP^ors944Erps5F{*~dX-Jqc$ZY9UfXNf@)~jE*$KL$L&er*Ooh zDIyL?qz?xPjDX~@!9TtKhJkZ=FG2B=DL>m4EO7gCvb^3b zkIUzAxuM_iAfEvph}Y}#dhAZC$;9(IlHyRhE+lz|c67c;(U)GLLEm_0O(&fjJhQ}u zU~gY~NtE~jPcQ$Vnqe%9YdDJH7>wfxK_?h3R)+&V(wBBtUw`{tZkNrb6C@1dlQM<2 z{8beZ{Qp0#0P!t=1ZWwWU>FRi5Q&aOK`gAw37Nzd7)H=UfUluaiKHBfD)C4POQw*n zr3Rx}l(PlpALv7_sIQfD!j)t?-AXFeC-#S&o0+(ULCArf+EA!Lik(_p|POE{R zC(F1jqw3**vs9TW@K2C9cdKe|Qi;XlL?Rtou#ARq-)<^&M#RaCKi}OMr}o=-2Rx)1 z$RNsktT}$-Xc*EmjB2NiQO3k*bXJ|lN&_g2?9cH zOsTYk(C1j~zM$V*l;_RPLi5z^%1qmIfsx+r@Yr=O6Kl{>3`;`VoSyk8cH`ii{OSLm zf}Qg7>yqAoqbR^@P_V%{7Uy|dYtWmmPM7OjQ{L_MLAT>{*-VI?r&LWcNh&g0MNN+# z_T9YVYubLQU1R?O?D$_>g?7=DWU?(9{`5r0AOFzuhgXk&bny7`*E_<;5)c(A2_%vo zP9~1_bbs{zi4R^r`teIg|N6VuM0?mvCecI=~;$dO((k%AESA3eEmj$_}l-jj3w|4$eDOZg|u&ujk;qv%vJ8f$Cr zq&{oas$ZFtEGg+|Kty|$2z1XPE@}-rrGCN1zVQcf8#JpWPq%V$_$LVeTj*{-}v*sCcqaYAh?LD$+#lR zQFLAjn zmWk~I$_xa)V`(e(^^foR%l~+MDJ?e+86<>rilU^~iql<+nxLSH!B7S(K=mETMN5r; zH-KL^?OXNv`zNK+CP0!n%4!5VC6Z7GIM_-@6miJ!*iuU=SSl_j!W}2NkN!XQz5_gp za_fKk_T8E7yUFgR_X0@>2@sNyLg-zpAiX!~9kHNdz4ux{?26d1qheR|+Pz*CQF=&E zw%6I2`M>XM5~84&`-$J*&&TsD0XDlc@4V%l^EHo9d z48m{v`hRhwSU)R4Y~To;B4LClI`10;Q)1iun9D=#ONPLHLI@(2>&(X7oVcWvWFwQL z!A(?98sh!!{;&szSdzHd;Q}KlIU#3Y>~aXf_?YzuKX>accqWJ_G4_wnUXZaq?49N4 zV_JS^fFansBse@67%3M(BYZe0c--MYFbcgLKc6o+bf6&lJK9>$HZ?hYZ9&A#lHh@f z3vWB2J38)@@t%7SfGAnk-R5s-@VLCbAQEO_^?$7A&Jlw_!N&w43|)sT?5+qC0e*EM zW3dTPB8cv0K?H|zkRr?@W9_}q`x4;X@O-wlvb5ae*SCg9Sy&_C!YWE>HK=^)cBew6 zVMwbHQ^|!$bJW@H?PzTBI=w+K4`fszl_6P@!enrh6A34GmXt{&7QC`j09O2e1V^TVN~qUi;MUadO@MA6u|b0 z@wrPzU`qmo7VxlWJ0J0LLI{gPC{-ScyCQr?I7p#>SJ>$db^O~K20$GQNQLk+u$!RB zzJ!5@@WAs?4=yoKbe>w9ZqdajXjCRyScSME{<9(Pk1fuVjqbKn-cUHErd;?cqOTL^ zFyhpq=cXJ$tag&;RvH}@f{3%nvDiedtw^8(3OA`^1GVbTD}cCo9n$?V+alN!cSdHVB2#7 z>*Is1L2px2Q`_-Ij}J!$1%5$}ebFRf1j4bA4yTW3c7*^VHix7disKDZji6v93YuiJ z;FzHvH}7xrb+k14eH4#G5WuiyG^cZ@%t;QLJ}XgapwVDQTl0zL`VPMzd;*1CaWGth zscZz3WKha7C1Eqq#hTCl!dOI!%!}q?s1pho86OCh3owT)8xDtIGcSaL{wY#|LU$3S zh5+e5O2+?!y3k+`g`qpL=;E)^<-CGuu+!oy&P~q?L3c%0eoI$`sc@d`IybBfg`0QA z4Wa)*vFy}yuyY^kvXaFvAanvYp-W%7z|DG${Fi>)`5Ey;K!64#Lc1sIa<)2y-!`yk z-B6wS`R;%UIt%c;&mC+&<*9Fpv{JZFy!xLnA?-K&`TjWI0sZ+ufo2p1cuXRv_2#4` zM^=ViO~yr=RQ^+*X73pn*Aay6GJ&Qn@Df6z&^nB9Sr(Os3JPdA=5xg^yvHwe+n>88 zI{$@=+ldPb(H7Rvd7SPaj)0RnI&*@d~+ z9}%~mN5Z+E-SLFy-WRF+#CM~ePG8nVij`mekkGv@==oRd=6NW30l;_Ob96n+ud?2s zSoC|E&$`$m+U*C3akL)4>Kt$6ZOP5@9qKjfTUKXe10ZUK|rh3MD9@ z4$H(y3gmpP9kx!6kVuOVl)3$(CKpMm<>sJ5L&_;5<8&*}%4vfdvoH~jgpITY-OgZB zL%XwsWx;{PLMW+-&~Z{zvNg_}k*G8#*N}2p*WTI@hF*2- ze1yYuFdnhpb>?_`y|39V>j)!~pYdfeoe#iPiXsV;gnj=2`Upn^up(gD#r<>XfRkuc z5qB8aD1_)s4fEbm6lo3d3M@b(!Nw5ljUrMMWd%+mZY5Tf*O#b^ID&MVf26QGq%4kR zQVhl{vxbRRMD#=h8*FTGo@i`2-O$n09tf}~-h;86N8;4su$dqMrVha(v8m(X)bYWt zRsBD}O8=t&5&fa?8$87bAHjn4T(IekN6~y*tyI&nEFWyxW2AMs0g=nJIE$+=i9)T> zN=*#!)iroS@&=#@gn)h!jq(vzhy>Y)#}#Qj;y!iwhvOY@A4iXRcr}T388JFdjxfxf zXE`nkI4jumQNSih6zOR@{v`?UOYfs%Bj#wN-RVJ^+CvI~vxWt=0zpiK8dC+N3Kg%{ zup}Gtap6dNpuNTA_tQX3zy_;Q1+FzHb!J+v(klcV>1_!$x=(%m!nwCAzi{ zEDCc)pp{!H5n|p#4svRQmtcq#I;y}TQz%b}!9r0ET7NmBbCNors^%hmO`K~3YHrX8{P6^>V;^1hXJ7|7#PeKfbK*Vf!6t-sC)v_L(N0r zlZ(Amd)%YzqhiViFGL_Bi}GPk2>GLYyQiW3=s#VDKK8Zx1-Sz2p-FeTQDPDEY*=8! zd=y8!RlPqCb?MPUcQna=Yl=K~1yOto{|iYczp7*--Fvaq;vw)d1fiu0jZUvIn$?U9 zk+!jd>y-D@(PKwDzBuk`^G5`nc6rR&1V`x*4ztmy5#jzX6bj);+> zzpTDoN;+o&>PcOhQa^nQIzf1tAqE+i$POq9C8ZcniY_)z6fTHp&LdE%1S2J=fFV&1 z7LHWtB67`61ch`lO(Yi803AAFr2T)bf&SW=>HHnI zEMSPxx+lSK7>AC-*oc_#OTa|c5`(2dSok&zU6IgB$pVHI;kgi)M2-uFy$zmYUo{^3 z+SU$CJgDpd%21Xao&^m?QtfBRK1*Vq-{l4~4%aK!`d~>3{?Q8^V^|}y}mZlAo zXKJ%;N{ybk$_2a=5C3c=F_s{7{pozSr-SqY^Kj0H(CN@WhY;X<7_2P?ZSB@#o*X`$MyUxuqoAU6`tK2}D^FWjS!gEf|Wx^aHL__+2{cw%DQwPC+kggc7`AHrf&bPaY72z>nlfo(1)m4x!=A;w+)nOGbEiuOp@_~qyX0t$qP)9seF2F-|{B>if2 z2&n2RT;nDTim*ZHA%ebu;A?k>TAL7G5W+~X41`o_(rV-kEhPv^u$_oBMxFKTt@X!$ z`0R({$dTC9Pb!tkyc8#SN`erih!nbk#w8>82pks(1SK9H87Y zK$Q`KKta^3FmY-{T?iAQ8xNz-U=|%vMI;h2w}rScEPw;WP#G1=)u%`R)WGn7(gGa~ z6hZ(@hbb^l4yzNekti1kBB3CReCz~-B8h&}PLYg3k78$u8NSP97u$*8D*{lLBAn01 z27M90umwth>Xa0Sz;OGKrqghEc;_V{#UzoaWr1l1dq{=JNEH8bfw$P?bS|*S;|QcP z5#}OxZKw7DCmV%vwyb!*2?=2*T7W(4r^~HZ3$Nqn-NGZ+#GOFhc<$0JfbXh^m6PB7(^QI3Z4c7j8qo zYW&sjQfgF2Dly>#;0-!kfNsx*gDf}`giJz8NEkZ)`{L&dcxyy7bU{ZBG@8J`$RGf% zL7sz;fyxx9OodTW5}Jx&^%AkFoPbFrq*8&)lwd2Nktj?O3kLyYVMVLeZ#Z|NyD7?v zNEb2*0b&tx$YMz-F_TS<5hrmR#?gxLik-!|F3}c_X~8�AVCmq7o%eN=fm!MFIDU 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 E0b`u(JOBUy diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyae2addons_index.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyae2addons_index.md deleted file mode 100644 index 40de59b2bd5e..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyae2addons_index.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -navigation: - title: Crazy AE2 Addons - position: 120 ---- - -# Crazy AE2 Addons - -Crazy AE2 Addons is a mod expanding the capabilities of Applied Energistics 2 -by introducing advanced automation, data processing, and network control blocks. -Crazy AE2 Addons builds upon vanilla AE2 mechanics, requiring _almost_ all its -blocks to be part of an ME network to operate. It adds a suite of utilities. - ---- - -# Need help with the mod? Join my [Discord](https://discord.com/invite/mWy8AVRtwz) server - ---- - -# AE2 with chanced recipes? see [Impulsed Pattern Provider](crazyguide/impulsed_pattern_provider.md) - ---- - -# Features - -## Crafting and Patterns - - - -## Monitoring and Automation - - - -## Energy and Item Transfer - - - -## Mob Storage - - \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ampere_meter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ampere_meter.md deleted file mode 100644 index 4ae47dbeea3d..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ampere_meter.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Ampere Meter - icon: crazyae2addons:ampere_meter -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:ampere_meter ---- - -# Ampere Meter - - - -Ampere Meter is a simple block that shows how much energy flows from one side to the other. To use it, just place it touching two energy-using blocks. Right-click the block to configure it. - -On the screen you’ll see an arrow button in the center. Clicking that arrow swaps which side of the block is treated as the energy input and which side is the output. You can experiment by flipping the arrow and watching how the numbers change. The main number you’ll see is an average rate calculated over a few ticks, shown in a short format like `10k FE/t` for Forge Energy or `4A (LuV)` when measuring GregTech's energy. It also works like a diode, blocking any current flowing in the opposite direction. - -## Compatibility - -- Works with any Forge Energy machine. -- If GregTech is installed, it also measures EU current and voltage. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder.md deleted file mode 100644 index 335aaf1f334d..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Auto Builder - icon: crazyae2addons:auto_builder -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:auto_builder ---- - -# AutoBuilder - -# [How to program it](auto_builder_language.md) - - - -The AutoBuilder is a programmable building robot powered by AE2. -It reads a special **Builder Pattern Item** and places or removes blocks in the world based on its instructions. - ---- - -## How It Works - -1. **Create a Pattern** - - Use the Builder Pattern Item to select two corners in the world (r-click to select first corner, shift r-click to select another). - - Right click air to copy the structure and save it to the item. - - All blocks inside will be scanned and converted into a build pattern. - -2. **Edit the Pattern (Optional)** - - Shift Right-click the Builder Pattern Item to open a text editor GUI. - - You can adjust delay, add commands like resets, removals, loops, or macros. - - The number on the right is the delay added between commands in ticks (default 20 ticks or 1 sec). Set to 0 for maximum speed. - -3. **Insert Pattern** - - Place the pattern item into the **AutoBuilder** block. - - Only one pattern can be inserted at a time. - - You can use automation to insert/extract patterns out of the block. - -4. **Provide Power and Items** - - Connect the AutoBuilder to an ME network. - - All building materials must be available in the ME storage system. - - AutoBuilder withdraws the **entire energy cost upfront** before starting execution. - - Supports crafting card. - -5. **Trigger Building** - - Use a redstone signal from the top to start the program. - - The builder will execute instructions **relative to its current facing direction**. - - A **preview mode** shows ghost blocks in real time, so you can check alignment before committing. - - When finished, it emits a short redstone pulse on its sides. - - Acceleration cards make it work much faster. - ---- - -## Key Features - -- **Relativity:** Structures always align relative to the builder’s orientation -- **Preview Mode:** Real-time ghost block preview of where blocks will be placed or removed -- **Upfront Energy Cost:** Entire program energy is consumed at the beginning — if insufficient, the build won’t start -- **Block Replacement with Recycling:** Old blocks are returned into ME storage -- **Full AE2 storage and power integration** -- **Redstone-controlled execution** diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder_language.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder_language.md deleted file mode 100644 index 7f0d315c7339..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder_language.md +++ /dev/null @@ -1,212 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Auto Builder Language - icon: crazyae2addons:builder_pattern -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:builder_pattern ---- - -# AutoBuilder Programming Language – Full Tutorial - -The AutoBuilder language lets you script a programmable builder, which executes actions like moving, placing blocks, breaking blocks, waiting, and more — using a concise, macro-friendly syntax. - ---- - -## Program Structure - -Each AutoBuilder program is split into 2 or 3 parts, separated by the pipe symbol |: - -BLOCK_MAP | MACROS | MAIN_PROGRAM - -You may also skip macros: - -BLOCK_MAP | MAIN_PROGRAM - -### Block Map - -Defines what blocks can be used and assigns them numeric IDs. The syntax is: - -0(minecraft:stone),1(minecraft:dirt),2(minecraft:oak_planks) - -Each entry is: - -\(\) - -Block IDs **must not** contain NBT data, but can include blockstates for example: - -0(minecraft:oak_log\[axis=y\]) - -### Macros (optional) - -Macros are reusable blocks of code, defined using square brackets: - -\[macroName\](instructions) - -Example: - -\[stairs\](P(0)D) \[floor\](3{P(1)R}) - -In your main program, use them like: - -\[floor\]\[stairs\] - -### Program Code - -This is where your logic goes. It can use raw instructions, loops, macros, and block placement. - ---- - -## Instructions Reference - -### Movement - -| Code | Meaning | -|------|------------------| -| U | Move Up | -| D | Move Down | -| F | Move Forward | -| B | Move Backward | -| L | Move Left | -| R | Move Right | -| H | Return Home | -| X | Clear (break) | - -All directions are **relative to the AutoBuilder’s current facing orientation**, not world cardinal directions. - -Each move shifts the builder cursor by **1 block** in that direction. - ---- - -### Place Block - -P(n) - -Places a block defined in the block map. For example: - -P(0) - -Places block with ID 0, e.g. minecraft:stone. - ---- - -### Break Block - -X - -Breaks the block at the current position. - ---- - -### Loops - -3{ ... } - -Repeats the contents of the curly braces **3 times**. - -Example: - -4{P(1)R} - -Places block "1" and moves right, 4 times. - -Loops can be nested. - -Example: - -2{3{P(1)F}U} - -Repeat: 3x place + move forward, then move up. Do this sequence 2 times. - ---- - -### Wait - -Z(n) - -Waits for "n" Minecraft ticks (20 ticks = 1 second). - -Example: - -P(0)Z(40)P(1) - -Place block 0, wait 2 seconds, place block 1. - ---- - -### Return Home - -H - -Returns the builder to its starting position. - ---- - -### Macros - -Defined in the macro section, and used in the program with: - -[macroName] - -Macros can include other macros, loops, etc. - -Example: - -\[stairStep\](P(0)U F) - ---- - -## Examples - -### 1. Simple 3-block line of stone - -0(minecraft:stone) | P(0)F P(0)F P(0)F - -Same using a loop: - -0(minecraft:stone) | 3{P(0)F} - ---- - -### 2. Destroy and Rebuild - -0(minecraft:oak_planks) | X Z(20) P(0) - -Break block, wait 1 second, place oak planks. - ---- - -### 3. Build staircase - -0(minecraft:oak_planks) | 5{P(0)U F} - -Builds 5 steps upward and forward. - ---- - -### 4. Return to base - -0(minecraft:stone) | 4{P(0)F} H - -Build a path 4 blocks to the front, then return to start. - ---- - -### 5. Using Macros - -0(minecraft:stone),1(minecraft:dirt) | \[line\](3{P(0)F}) \[top\](U \[line\]) | \[line\]\[top\]\[line\] - -- Defines a "line" of stone (3 blocks to the front). -- Defines "top" as 1 layer higher with the same line. - ---- - -## Error Handling - -The language is strict: - -- P(n) with missing ID in block map -> error. -- Unbalanced brackets ({}, (), []) -> error. -- Infinite macro recursion -> error. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_enchanter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_enchanter.md deleted file mode 100644 index 8c369d544a81..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_enchanter.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Auto Enchanter - icon: crazyae2addons:auto_enchanter -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:auto_enchanter ---- - -# Auto Enchanter - - - -The Auto Enchanter is a standalone enchanting machine that automatically enchants books and tools using XP Shards from your ME network. It mimics a vanilla/apotheosis enchanting. Must be placed exactly 2 blocks under a real enchanting table setup, and the enchantment power depends on the amount of books you have. - -## How to Use - -1. **Place the Auto Enchanter** - - It must be placed under an Enchanting Table block (two blocks above). - - Surround the table with bookshelves like in vanilla to improve enchantment power. - -2. **Insert Items** - - Input slot: place an item to enchant (tool, weapon, or a book). - - Lapis slot: add lapis lazuli (required for enchanting). - - Output slot: enchanted item will appear here. - -3. **Power Requirements** - - Requires XP Shards stored in your ME network. - - XP cost is calculated based on bookshelfs. - -4. **Select Enchantment Level** - - In the GUI, choose between three enchantment levels (1–3). - - Click the respective button to select an option. - - GUI displays estimated XP cost. - -5. **Automation** - - Toggle **Auto Supply Lapis**: auto-refills lapis from the network. - - Toggle **Auto Supply Books**: auto-refills books from the network. - -## Apotheosis Support - -If Apotheosis is installed: -- The Auto Enchanter will automatically scan all nearby shelves for bonus stats like Eterna, Quanta, Arcana, and Clues, including Treasure enchants. - -## Behavior Summary - -- Automatically pulls input and lapis if enabled. -- Spends XP Shards from your network (1 shard = 10 XP). -- Works only if a valid Enchanting Table is two blocks above. -- Produces enchanted books or items based on vanilla or Apotheosis logic. -- Optionally consumes items from network. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/chunky_fluid_p2p_tunnel.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/chunky_fluid_p2p_tunnel.md deleted file mode 100644 index fd2ce18ca692..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/chunky_fluid_p2p_tunnel.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Chunky Fluid P2P - icon: crazyae2addons:chunky_fluid_p2p_tunnel -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:chunky_fluid_p2p_tunnel ---- - -# Chunky Fluid P2P Tunnel - -The Chunky Fluid P2P Tunnel part lets you send fluids in fixed-size chunks. It waits until it has collected enough fluid to meet the configured chunk size (in millibuckets), then moves exactly that amount to the connected output, cycling through them to keep distribution balanced. - -## How to Use - -1. **Attach the part**: Place the Chunky Fluid P2P Tunnel on any side of an ME cable or Fluid Interface that is connected to a tank or fluid machine. -2. **Configure chunk size**: Right click the part with an empty hand to open its settings. Enter the desired chunk size in mB (for example, `1000` for one full bucket) and click Save. -3. **Link**: Use memory card to link input with outputs. -4. **Fill and transfer**: When fluid enters the tunnel, if its amount is at least the chunk size, it sends exactly that amount to the next output in line. If the amount is less than the chunk size, nothing will happen. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/circuited_pattern_provider.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/circuited_pattern_provider.md deleted file mode 100644 index 1d0a6482b4ac..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/circuited_pattern_provider.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Circuited Pattern Provider - icon: ae2:pattern_provider -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:circuit_upgrade_card ---- - -# Circuited Pattern Provider - -# Available only when GregTech is also on the mod list. - -# **The block itself has been deleted from the mod, as its function is now held by all other pattern providers!** - -The Circuited Pattern Provider is a drop-in replacement for the standard AE2 Pattern Provider. It adds one extra feature: when you use a pattern that carries a "circuit" tag (set with the Crazy Pattern Modifier), the provider will automatically load that circuit into every connected GregTech machine before crafting. - -- Works through interface + storage bus combo (storage bus must be upgraded with the circuit upgrade card). -- Works through pattern P2P's from modern AE2 additions. -- Works also through the combo of the pattern P2P + interface + storage bus. - -## How to Use - -1. **Place the block**: Attach the Circuited Pattern Provider to your ME network just like a normal Pattern Provider. -2. **Prepare patterns**: Use the Crazy Pattern Modifier on any processing pattern to assign a circuit ID (1–32). -3. **Open the interface**: Right-click the Circuited Pattern Provider to insert and manage your encoded patterns. -4. **Crafting**: When you request a craft, before the provider pushes the pattern to the connected machines, it sets each machine’s circuit inventory to the one encoded in the currently used pattern. -5. **Enjoy**: No manual circuit cards needed, any GregTech machines hooked up will automatically pick up the correct circuit every time. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/cpu_prio.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/cpu_prio.md deleted file mode 100644 index ae2d222a8a19..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/cpu_prio.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: CPU Priorities - icon: crazyae2addons:cpu_prio_tuner -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:cpu_prio_tuner ---- - -# Crafting CPU Priorities - -Normally in **Applied Energistics 2**, when you have multiple **Crafting CPUs** in your ME Network, the system automatically decides which CPU should receive items needed for autocrafting. By default, this choice is more or less random — whichever CPU happens to be available will take the items first. - -This can sometimes lead to unwanted behavior, especially if you want one CPU to always finish its task first or to make sure that certain crafting jobs do not "steal" items from another CPU. - ---- - -## Why Priorities? - -With this addon, every Crafting CPU can now be assigned a **priority value**. - -* CPUs with **higher priority** will receive the required items before lower-priority ones. -* If two CPUs are waiting for the same item, the one with the **higher priority** will get it first. -* This allows you to control how your crafting jobs compete for items inside the network. - -This feature helps if you: - -* Want a **“main” CPU** to always handle critical recipes before smaller ones. -* Need to **separate tasks** (e.g., keep your auto-processing CPU from interfering with your bulk crafting CPU). -* Prefer predictable crafting flows rather than random assignment. - ---- - -## How to Set CPU Priority - -1. Craft and hold the **CPU Priority Tuner** item (the tool used to configure CPU clusters). -2. Right-click on a block that belongs to the **Crafting CPU cluster** you want to configure. -3. A configuration screen will open. -4. Enter a number in the priority field: - * Higher numbers mean **higher priority**. - * Negative or lower numbers mean **lower priority**. -5. Press **Save**. - -The new priority is stored directly in the CPU cluster. You can repeat this process for each CPU in your network. - ---- - -## Tips - -* If all CPUs have the same priority, the system will behave like vanilla AE2 — distributing items randomly. -* Use **high positive values** for your main CPU(s) and **lower or negative values** for secondary ones. -* You can change priorities at any time without breaking or rebuilding the CPU. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crafting_scheduler.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crafting_scheduler.md deleted file mode 100644 index 735d3110d139..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crafting_scheduler.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Crafting Scheduler - icon: crazyae2addons:crafting_scheduler -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:crafting_scheduler ---- - -# Crafting Scheduler - - - -The Crafting Scheduler is a redstone-triggered crafting block that queues and submits crafting jobs to your system when powered. It allows you to automate specific crafting requests with redstone - ---- - -## How to Use - -1. **Place the Block** - - Connect it to your ME network. - - Ensure it has access to at least one available CPU. - -2. **Insert the Item to Craft** - - Open the GUI. - - Use the slot to choose the item you want to schedule. - -3. **Set the Amount** - - Enter the quantity you want crafted each time it triggers. - - Use the text field and confirm with the green button. - -4. **Trigger with Redstone** - - Apply a redstone pulse to the block. - -5. **Repeatable Usage** - - Each new pulse triggers a new job if a CPU is available. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_calculator.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_calculator.md deleted file mode 100644 index e0115bd41548..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_calculator.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Crazy Calculator - icon: crazyae2addons:crazy_calculator -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:crazy_calculator ---- - -# Crazy Calculator - - - -The Crazy Calculator is a portable tool that opens a GUI calculator. - -## How to Use - -1. **Hold and Use** - - Right-click while holding the item to open the GUI. - -2. **Input equation** - - you can add, subtract, multiply, divide, use brackets. Example 2k*(1/3m)+12g (2k is 2000, 3m is 3 000 000 and 12g is 12 000 000 000) - -3. **Result** - - Press the button and result of your equation will appear bellow. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_emitter_multiplier.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_emitter_multiplier.md deleted file mode 100644 index b75c0613dcc2..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_emitter_multiplier.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Crazy Emitter Multiplier - icon: crazyae2addons:crazy_emitter_multiplier -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:crazy_emitter_multiplier ---- - -# Crazy Emitter Multiplier - - - -The Crazy Emitter Multiplier is a handheld tool used to easily set or scale the signal value of any **Storage Level Emitter** in your ME network. - -Instead of typing numbers manually, this item lets you quickly multiply or replace the emitter’s value. - ---- - -## How to Use - -### 1. Open the GUI -- Right-click the item in hand. -- You’ll see a screen with: - - A **text field** where you enter a number or math expression (e.g., `100`, `2*64`, `1k`). - - A **checkbox** to toggle between "Multiply" and "Set" mode. - - A confirm button to save. - -### 2. Set the Mode -- **Set**: Directly sets the emitter value to the number. -- **Multiply**: Multiplies the emitter’s current value by the number you enter. - -### 3. Apply to a Storage Level Emitter -- Sneak + right-click on any Storage Level Emitter while holding the configured Crazy Emitter Multiplier. -- The emitter’s value will be updated according to the mode and number you saved. - ---- - -## Features - -- Supports math expressions and units (`1k = 1000`, `2*64`, etc.). -- Only affects AE2 Storage Level Emitters. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_modifier.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_modifier.md deleted file mode 100644 index 3d69e0b4a6a9..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_modifier.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Crazy Pattern Modifier - icon: crazyae2addons:crazy_pattern_modifier -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:crazy_pattern_modifier ---- - -# Crazy Pattern Modifier - - - -The Crazy Pattern Modifier is a versatile item that lets you tweak your AE2 processing patterns. - -You can choose to ignore NBT data, so patterns that normally require specific enchantments or item tags will accept any matching item. - -You can also encode a specific circuit ID onto a pattern for use with Circuited Pattern Provider + GregTech's machines. - -## How to Use - -Hold the Crazy Pattern Modifier in your hand and right-click to open its interface. -When you open it by right-clicking on a pattern provider block, it will open on its inventory. -You’ll see a single slot where you place your processing pattern item. Two buttons let you change settings: - -- **Ignore NBT**: Click the NBT button to toggle whether the pattern ignores NBT tags. When on, you can craft items like enchanted books without specifying exact enchantments. -- **Set Circuit**: If GregTech is installed, enter a number (1–32) in the text field and click confirm to assign that circuit to the pattern. - -As you make changes, the screen shows messages indicating the current mode (for example, "Current: ignore NBT" or "Selected circuit 5"). \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_multiplier.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_multiplier.md deleted file mode 100644 index 533199428d9f..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_multiplier.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Crazy Pattern Multiplier - icon: crazyae2addons:crazy_pattern_multiplier -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:crazy_pattern_multiplier ---- - -# Crazy Pattern Multiplier - - - -Crazy Pattern Multiplier is a handy item that lets you multiply the quantities -in your AE2 processing patterns without rebuilding them by hand. -You can scale inputs and outputs by any positive number. -Supports setting a limit above which it won't multiply your patterns. -Supports mass changing circuit numbers of all patterns inside it. - -Supports math expressions in the multiplier field (e.g., `2*(3+1)`). - -## How to Use - -1. **Open the GUI**: Hold the Crazy Pattern Multiplier in your hand and right click to open its interface. You’ll see a grid of 36 slots and a text field labeled "Multiplier". -2. **Set the multiplier**: Enter the number you want to scale by (for example, `2` to double, `0.5` to halve, or even `1k` for a thousandfold) in the text field. -3. **Apply to patterns**: Click the confirm button. The tool will replace each processing pattern in the slots with a new one whose inputs and outputs have been multiplied by your value. -4. **Sneak-Click support**: Sneak-right-click on any inventory (like a Pattern Provider block or a chest) to apply the last-used multiplier directly to all patterns in that inventory. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_provider.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_provider.md deleted file mode 100644 index b7636fe2c9ba..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_provider.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Crazy Pattern Provider - icon: crazyae2addons:crazy_pattern_provider -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:crazy_pattern_provider - - crazyae2addons:crazy_upgrade ---- - -# Crazy Pattern Provider - - - -The Crazy Pattern Provider is an extended version of AE2's Pattern Provider with dynamic expandability. -It holds all its settings and inventory when broken. - ---- - -## Key Features - -- **Expandable Pattern Capacity** - - Starts with 72 (8x9) pattern slots. - - Right-click with a Crazy Upgrade item to add +9 more slots. - - There is no limit, you can make a provider holding 9999 patterns. - -- **Scrollable GUI** - - Display shows current pattern capacity. -- **Hover text** - - Displays current capacity of the provider and how many patterns are already inside it. ---- - -## How to Use - -1. **Place the Block** - - Acts like a standard AE2 Pattern Provider, connects to ME network. - -2. **Insert Encoded Patterns** - -3. **Upgrade Slot Count** - - Use a Crazy Upgrade item on the block to increase pattern capacity. - - UI updates automatically. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/data_extractor.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/data_extractor.md deleted file mode 100644 index 0e6adec830d2..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/data_extractor.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Data Extractor - icon: crazyae2addons:data_extractor -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:data_extractor - - crazyae2addons:player_data_extractor ---- - -# Data Extractor & Player Data Extractor Guide - -This guide explains how to use the **Data Extractor** and **Player Data Extractor** -parts in your AE2 network. These components allow you to read external data and feed it -into your **ME Data Controller**, where it becomes available as variables for automation or logic setups. - ---- - -## Data Extractor - -The **Data Extractor** is designed to read information from blocks or block entities directly adjacent to it. - -### What it can read: - -* **Item handler data** - - * `percentFilled` – Percentage of filled inventory slots. -* **Fluid handler data** - - * `fluidPercentFilled` – How full the fluid tank is. - * `fluidAmount` – Current fluid amount. - * `fluidCapacity` – Tank capacity. -* **Energy handler data** - - * `storedEnergy` – Current stored FE. - * `energyCapacity` – Maximum FE storage. -* **Block state data** - - * `blockName` – Name of the block. - * `isAir` – Whether the block is air. - * `isSolid` – Whether the block is solid. - * `redstonePower` – Neighbor redstone signal strength. - * `blockLight` / `skyLight` – Light levels at the block. - * `blockHardness` – Destroy time. - * `blockExplosionResistance` – Explosion resistance. - * `blockState:property` – Any block state property (e.g., orientation). - -* **Much more when ComputerCraft tweaked is also installed** - * it acts like a CC computer and is able to read info from peripherals. - -### How to use: - -1. **Place the part** facing the block you want to read from. -2. **Right-click** it to open the GUI. -3. Press **Fetch** to detect all possible variables from the target. -4. Browse available variables using the arrow buttons. -5. Select one and assign it a **Variable Name**. -6. Set a **Delay** (ticks between updates). -7. The chosen value will be provided to your **ME Data Controller** under the selected name. - ---- - -## Player Data Extractor - -The **Player Data Extractor** works similarly, but it reads data from players instead of blocks. - -### What it can read: - -* `playerName` – The player’s name. -* `playerHealth` / `playerMaxHealth` – Current and max health. -* `playerDistance` – Distance to the extractor. -* `playerIsSneaking` – Whether the player is crouching. -* `playerIsSprinting` – Whether the player is sprinting. -* `playerYaw` – Player’s horizontal rotation. -* `playerPitch` – Player’s vertical rotation. - -### How to use: - -1. **Place the part** in your network. -2. On placement, it will automatically target the placing player. -3. Open the GUI to view available variables. -4. Press **Fetch** to refresh the list. -5. Select a variable and give it a **Variable Name**. -6. Configure the **Delay** to control update frequency. -7. The selected data will be sent to the **ME Data Controller**. - -By default, the extractor looks for the **nearest player**. With **Player Mode**, it can target a specific UUID (the player who placed it). - ---- - -## GUI Controls (Both Extractors) - -* **Fetch** – Refresh available variables. -* **Arrows (< >)** – Scroll through pages of variables. -* **Buttons (0–3)** – Select one of the listed variables. -* **Selected** – Shows which variable is currently chosen. -* **Variable Name** – Text field to name the variable (must be ASCII, will be uppercased). -* **Delay** – Interval in ticks between updates. -* **Save (+)** – Saves your settings. - ---- - -## Practical Example - -* Place a **Data Extractor** facing a tank. -* Fetch variables and select `fluidAmount`. -* Set variable name to `&WATER_LEVEL`. -* Now, in your **ME Data Controller**, you can use `&WATER_LEVEL` for automation. - ---- - -Both extractors are powerful tools for bridging the AE2 network with **real-time world or player data**, -enabling advanced automation, monitoring, and custom logic setups. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/data_variables.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/data_variables.md deleted file mode 100644 index 082b4b826fad..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/data_variables.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Data Variables - icon: crazyae2addons:data_processor -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:data_processor - - crazyae2addons:dataflow_pattern ---- - -# Data Variables (Lua Triggers) - -Data Variables let you react to changes in your AE2 network variables using small Lua scripts stored in an item. When the watched variable changes, your script is executed instantly, letting you update other variables or control named redstone emitters. - ---- -## Prerequisites -- **ME Data Controller Block** – stores all variables in the network. -- **Data Processor** – runs your Lua script when the watched variable changes. - -> Variables are **strings**. - ---- -## Quick Start -1. **Choose the trigger**: In the **Data Processor** UI, set the **Watched variable** to the exact name of the variable you want to subscribe to (case-sensitive). -2. **Provide a Lua script**: Put the scripted item (Lua Pattern) into the processor. -3. **Implement the handler**: Your script **must** define: - - `onVariable(name, value)` – called every time the watched variable’s value changes. If this function is missing, nothing will happen. - ---- -## Lua API (available in scripts) -- `setVar(name, value)` – Set or update the integer variable `name` in the network’s database. -- `setEmitter(name, state)` – Turn a named redstone emitter **on**/**off**. -- `toggleEmitter(name)` – Flip the current state of a named redstone emitter. - -**Notes** -- `name` is an arbitrary string label you choose (e.g., `"smelter"`, `"gate_A"`). -- Changing variables in your script can **cascade**: any other Data Processors watching those variables will also fire their own `onVariable`. -- Avoid writing back to the **same** variable you are watching unless you know what you’re doing—this can create loops. - ---- -## Examples - -### 1) Threshold control: drive an emitter when value > 10 -![Script1](../img/script1.png) - -### 2) Toggle on any change (edge-agnostic) -![Script2](../img/script2.png) - -### 3) Mirror & transform: derive a new variable -![Script3](../img/script3.png) - -### 4) Boolean gate: treat integers as booleans -![Script4](../img/script4.png) - ---- -## Behavior & Tips -- **Trigger timing**: `onVariable` is invoked immediately when the watched variable gets new value (including first assignment). -- **Naming**: Keep emitter and variable names consistent and descriptive (e.g., `reactor_enable`, `ore_count`). -- **Chaining**: Build logic pipelines by setting variables that other processors watch. -- **Safety**: Throttle or guard conditions to prevent rapid flapping (e.g., only toggle when crossing thresholds). - ---- -## Troubleshooting -- **Nothing happens** → Ensure your script **defines** `onVariable(name, value)`, the **watched name** matches exactly, and the **ME Data Controller** is installed and powered. -- **Unexpected loops** → You may be writing to the same variable you’re watching, or triggering a cycle through chained processors. -- **Emitters don’t react** → Check the emitter `name` you are addressing and verify the corresponding redstone device is connected and named identically. - ---- -## API Reference (cheat sheet) -- `onVariable(name, value)` – **Required** entrypoint. Triggered on any new value of the watched variable. -- `setVar(name, value)` – Write integer variable to the network. -- `setEmitter(name, state)` – Set named redstone emitter to ON/OFF. -- `toggleEmitter(name)` – Invert named redstone emitter state. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/display_monitor.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/display_monitor.md deleted file mode 100644 index 94bafd9b016a..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/display_monitor.md +++ /dev/null @@ -1,193 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Display Monitor - icon: crazyae2addons:display_monitor -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:display_monitor ---- - -# Display Monitor — User Guide - -![Display](../img/display.png) - -This guide explains how to install, configure, format text, and build multi‑block walls with the -**Display Monitor** part in CrazyAE2Addons. - ---- - -## What it is - -The Display Monitor is a flat AE2 part you place on a cable face. When powered, -it renders text (with simple formatting and colors) and can **subscribe to variables** -from the **ME Data Controller** to show live values. - -**Power:** idle draw is minimal (about 1 AE/t). The monitor must be **powered and active** on your AE network to render. - ---- - -## Quick Start - -1. **Place** the Display Monitor on the desired cable face. -2. **Right‑click** it to open the **Display menu**. -3. In the text box, type your message (see formatting below). Example: - - **System Online**&nl* Crafting active&nl* Stock: &s^minecraft:iron_ingot -4. **Apply/Save**. If the monitor is powered, the text appears. - ---- - - -## ME Stock Tokens (Auto‑count from Storage) - -You can display **current item amounts in your ME storage** with special tokens: - -**Syntax** - -&s^namespace:item -&s^namespace:item%N - -* `&s^minecraft:oak_log` — shows the total count of that item in ME. -* Optional `%N` scales the number by **10^N** with rounding: - - * `%1` → tens - * `%2` → hundreds - * `%3` → thousands - * `%4` → ten‑thousands, etc. - -**Examples** - -| Token | Meaning | Example value (if ME has 64) | -| --------------------------- | ----------------------- |-----------------------------------| -| `&s^minecraft:oak_log` | exact amount | `64` | -| `&s^minecraft:oak_log%1` | amount / 10 (rounded) | `6` | -| `&s^minecraft:oak_log%2` | amount / 100 (rounded) | `1` if 120 → `1`, 150 → `2` | -| `&s^minecraft:iron_ingot%3` | amount / 1000 (rounded) | `0` for values < 500, 1 if >= 500 | - -> You can mix stock tokens with colors and other formatting, e.g.: -> `&b101010&cE0E0E0**Logs:** &s^minecraft:oak_log%3 k` - -## Text Formatting Cheat Sheet - -You can mix several lightweight formatting features directly in the monitor’s text field. - -### New lines - -* Use enter or &nl where you want a line break. - -### Inline styles (Markdown‑like) - -* `**bold**` → bold -* `*italic*` → italic -* `__underline__` → underlined -* `~~strikethrough~~` → strikethrough - -### Colors - -* **Text color:** `&cRRGGBB` (hex) - * Example: `&cFF0000` makes following text red until you change it again or until a line break. -* **Background color:** `&bRRGGBB` (hex) - * Example: `&b001122` sets the whole panel background to an opaque dark blue. - * Background is global per display array (set it once anywhere in the text). - -### Bullets and indentation - -* Start a line with `* ` or `- ` to get a bullet `•`. -* Begin a line with one or more `>>` to add visual indent markers. - ---- - -## Variables (Live Values) - -You can insert **live variables** by writing `&name` in your text. The monitor will auto‑subscribe to each variable it sees and render the latest value pushed by the **ME Data Controller**. - -* Syntax: `&` followed by letters/digits/underscore (e.g., `&A1`). -* Variables are **case‑sensitive**. -* You’ll need a **CrazyAE2Addons ME Data Controller** on the same AE grid, with variable capacity available, and something in your Data Flow - (nodes) producing the values. - -**Example** - -&b101010&cE0E0E0**Stock**&nl -Iron: &iron&nl -Gold: &gold&nl -Circuits: &circuits - -> The monitor automatically registers/unregisters variables when you change its text or when the grid/controller state changes. - ---- - -## Font Size and Auto‑Fit - -* **Auto‑fit:** set font size to **0** (or leave at default). The text scales to fit the available area. -* **Fixed size:** set a **positive** font size value in the menu for consistent sizing across monitors. - -> If text doesn’t fit at a fixed size, it will clip. Use `&nl` to add lines or reduce the size. - ---- - -## Multi‑Monitor Walls (Linked Mode) - -You can stitch several monitors into a **single large display** on a wall (N/E/S/W facing). - -### Requirements - -* All monitors must: - - * Be on the **same wall face** (same side/facing). - * Be **powered and active**. - * Have **Linked Mode** enabled (toggle in each monitor’s menu). -* The group of monitors must form a **solid rectangle** (no gaps/holes). -* **Ceiling/Floor** monitors (UP/DOWN) **do not** link into walls; they render as single tiles. - -### How rendering works - -* Only **one** monitor in the rectangle actually draws the text; the rest provide surface area. -* The renderer chooses an internal **origin** tile (typically the **upper‑right** of the rectangle, from the wall’s perspective). -* Put your text on **that one** monitor, and it will appear across the whole wall (auto‑fit works across the combined size). - -> If you edit a monitor and nothing appears on the wall, try editing the tile at the **top‑right corner** of the rectangle. - -### Building steps - -1. Place your monitors in a perfect rectangle on a wall. -2. Power the cable(s) behind them. -3. Enable **Linked Mode** on each. -4. Open the **top‑right** monitor and configure the text/size. - ---- - -## Placement & Rotation - -* On walls (N/E/S/W): the text follows the wall orientation. Use the part’s facing to change direction. -* On floor/ceiling (UP/DOWN): the monitor stores a **spin** captured from your facing at placement. To change it, break and place again while facing a different direction. - ---- - -## Tips & Troubleshooting - -* **No text shows:** ensure the monitor is **powered and active**; for walls, edit the **top‑left** tile of the rectangle. -* **Variables show as `&name`:** your **ME Data Controller** may be missing, out of capacity, or the variable isn’t being produced. Fix the controller/nodes; the monitor will re‑register automatically. -* **Wall not linking:** check that every tile has **Linked Mode** enabled, all are on the **same facing**, and the shape is a **perfect rectangle** with no gaps. -* **Clipped text:** switch to **Auto‑fit (size 0)** or reduce your fixed font size. Use `&nl` to split long lines. - ---- - -## Reference (All Tokens) - -* `&nl` — new line -* `&cRRGGBB` — text color (affects following text) -* `&bRRGGBB` — background color (applies to the whole panel) -* `&name` — variable placeholder (letters/digits/underscore) -* Line starts with `* ` or `- ` — bullet `•` -* Line starts with `>>` (repeat) — visual indentation -* `**bold**`, `*italic*`, `__underline__`, `~~strikethrough~~` -* &s^namespace:item — ME item amount -* &s^namespace:item%N — ME amount scaled by 10^N (rounded) - ---- - -Happy building! If you have ideas for additional formatting tokens, -let me know on discord (link is on the main wiki page) -so I can consider adding them for future versions. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ejector.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ejector.md deleted file mode 100644 index b7c7928ad043..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ejector.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Ejector - icon: crazyae2addons:ejector -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:ejector ---- - -# Ejector - - - -The Ejector is an automation block that lets you push items, -fluids, or other resources directly into the block in front of it - all triggered by a redstone pulse. - ---- - -## How to Use - -1. **Place the Ejector** - - Put it facing the machine you want to send items into. - -2. **Set the settings** - - Open its GUI and set what resources should it send. - - You can load the settings using a processing pattern. - - Supports crafting card upgrade. - -3. **Trigger with Redstone** - - Send a redstone pulse to the Ejector. - - The texture changes when its crafting items to send. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_exporter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_exporter.md deleted file mode 100644 index a70d8f6901cb..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_exporter.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Energy Exporter - icon: crazyae2addons:energy_exporter -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:energy_exporter ---- - -# Energy Exporter - -The Energy Exporter is a part that allows your ME network to send Forge Energy (FE) -or GregTech Energy (EU) into adjacent machines or storage blocks. -It extracts power from your network and provides it outward. - -## How to Use - -1. **Place the part**: Attach the Energy Exporter to an ME cable facing a block that accepts energy. -2. **Open the GUI**: Right-click the part to open its settings screen. -3. **Install upgrades**: - - **Speed Cards**: Increase the rate of FE transfer exponentially. - - Staring from 1FE/t (no upgrades) up to about max int FE/t (6 upgrades). -4. **GregTech support**: - - Insert a battery into the slot if you want to switch to GregTech EU mode. - - The voltage used depends on the inserted battery tier (e.g., LV, MV, HV, etc.). - - The battery must be a lithium one, if available. -5. **Monitor output**: - - The screen shows current transfer rate. - - In GregTech mode, it additionally shows configured voltage and amperage. - -The Energy Exporter automatically adapts to whether it is providing FE or EU, -based on the inserted battery and the target machine's capabilities. -It handles power conversion rates and protects your network from overdrawing, -turning of when the power left in your network falls bellow 33%. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_interface.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_interface.md deleted file mode 100644 index 698957913e41..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_interface.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Energy Interface - icon: crazyae2addons:energy_interface -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:energy_interface ---- - -# Energy Interface - -The **Energy Interface** is a passive cable part that exposes your ME network’s stored AE energy as a Forge Energy. - ---- - -## How It Works - -- Acts like a battery from the perspective of FE. -- Energy available for extraction depends on the current AE network energy. -- Limits extraction to: - - No more than **30%** of your total AE capacity. - - No more than 500MFE, whichever is lower. -- Energy extracted is calculated at **2 FE = 1 AE**. -- Energy can also be **injected**, converting FE into AE at the same 2:1 ratio. - ---- - - diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_storage_multiblock.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_storage_multiblock.md deleted file mode 100644 index 27bfb85f262f..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_storage_multiblock.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Energy Storage Multiblock - icon: crazyae2addons:energy_storage_controller -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:energy_storage_controller - - crazyae2addons:energy_storage_frame - - crazyae2addons:energy_storage_port - - crazyae2addons:energy_storage_1k - - crazyae2addons:energy_storage_4k - - crazyae2addons:energy_storage_16k - - crazyae2addons:energy_storage_64k - - crazyae2addons:energy_storage_256k - - crazyae2addons:dense_energy_storage_1k - - crazyae2addons:dense_energy_storage_4k - - crazyae2addons:dense_energy_storage_16k - - crazyae2addons:dense_energy_storage_64k - - crazyae2addons:dense_energy_storage_256k ---- - -# Energy Storage Controller - - - - - -## The storage blocks are only used by the controller to project the energy onto something, but all power is stored inside. If you break the controller, you will loose all that stored bilions of AE power units forever! - -The Energy Storage is a multiblock power battery for your ME network. It provides massive AE storage by assembling a structure out of controller, storage, and frame blocks. - -Once active, it integrates as a proper AE2 power storage, supplying or accepting energy like any AE2-compatible battery. -It also has 3 Energy Ports, you can use each of them to connect this multiblock directly to FE to both power it, or extract energy from it. - ---- - -## How It Works - -- The structure activates once complete. -- Storage capacity depends on the type and count of storage blocks inside: -- Dense variants are scaled to billions of FE -- You can use **Ampere Meter** or other mods to monitor throughput. - -The controller integrates with AE2’s internal energy grid and behaves just like a battery — but with insane capacity. - ---- - -## Notes - -- Only one controller is allowed per structure. -- If the structure (not controller) is broken, the energy is still in the controller but inaccessible until the structure is built again. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entity_ticker.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entity_ticker.md deleted file mode 100644 index 3c73a03ec66d..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entity_ticker.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Entity Ticker - icon: crazyae2addons:entity_ticker -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:entity_ticker ---- - -# Entity Ticker - -The Entity Ticker is a unique ME part that dramatically speeds up the block entity you attach it to. It ticks the neighboring machine multiple times per game tick, making processes like smelting, machine operations, or other block entity updates much faster. - -## How to Use - -1. **Place the part**: Attach the Entity Ticker to an ME cable facing the machine or block entity you want to accelerate. -2. **Open its GUI**: Right-click the part to view energy usage and upgrade information. -3. **Install upgrades**: - - **Speed Cards**: Each Speed Card installed doubles the ticking speed of the target block. - - The maximum number of Speed Cards is 8. -4. **Power cost**: - - The power consumption grows exponentially with each Speed Card. - - Base energy usage is 256 FE/t without upgrades and quadruples per upgrade step. - -The Entity Ticker is ideal for setups where you want to dramatically boost the performance of slow machines, but be prepared to provide a lot of power from your ME network! \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entropy_cradle.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entropy_cradle.md deleted file mode 100644 index e0b26f98ef6d..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entropy_cradle.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Entropy Cradle Multiblock - icon: crazyae2addons:entropy_cradle_controller -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:entropy_cradle_controller - - crazyae2addons:entropy_cradle_capacitor - - crazyae2addons:entropy_cradle ---- - -# Entropy Cradle - - - - - -The **Entropy Cradle** is a massive energy accumulator and transmutation multiblock. -It stores up to **600 million FE**, and performs powerful **block transmutations** when fully charged. - ---- - -## How It Works - -1. **Charge**: - - Charging stops at 600M FE. - - Six capacitor layers light up progressively. - - Capacitors emit comparator signal when the energy storage is full. - -2. **Transmutation**: - - On redstone pulse at full charge: - - Cradle discharges. - - If a known recipe structure is inside of it, it is replaced with a powerful block (e.g., Penrose Frame, Energy Storage Component). - ---- - -## Notes - -- Requires AE2 power and channels. -- Can be charged only via AE energy. -- You can find available recipes in JEI/EMI. -- You can fully automate crafting with it using the builder. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/extracting_p2p_tunnels.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/extracting_p2p_tunnels.md deleted file mode 100644 index dfd13aa21dfb..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/extracting_p2p_tunnels.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Extracting P2P Tunnels - icon: crazyae2addons:extracting_fe_p2p_tunnel -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:extracting_fe_p2p_tunnel - - crazyae2addons:extracting_item_p2p_tunnel - - crazyae2addons:extracting_fluid_p2p_tunnel ---- - -# Extracting P2P Tunnels - -These are variants of standard AE2 P2P tunnels that are actively working, instead of needing -items, fluids, or energy to be inserted into the tunnel, they automatically **pull** -from the block they are attached to and push into the linked outputs. - ---- - -## Available Types - -- **Extracting Item P2P Tunnel** - - Automatically pulls up to 64 items/tick from the attached inventory and sends them to the linked outputs. - -- **Extracting Fluid P2P Tunnel** - - Drains up to 64 buckets per tick from the fluid handler it's attached to and distributes it across outputs. - -- **Extracting FE P2P Tunnel** - - Pulls up to max int of Forge Energy (FE) from the source and pushes it to all linked outputs. - - Distribution is proportional to how much each target can receive. - ---- - -## How to Use - -1. **Place the Tunnel** - - Attach it to the block you want to pull from. - -2. **Link as Output** - - Use memory card to assign frequency (right-click source, then targets). - -3. **Connect Outputs** - - Attach another extracting tunnel parts of the same type to the output targets. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/impulsed_pattern_provider.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/impulsed_pattern_provider.md deleted file mode 100644 index ba3d81d9a0ef..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/impulsed_pattern_provider.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Impulsed Pattern Provider - icon: crazyae2addons:impulsed_pattern_provider -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:impulsed_pattern_provider ---- - -# AE2 way of dealing with chanced recipes - -# Impulsed Pattern Provider - - - -The Impulsed Pattern Provider is a specialized crafting block that sends the last used pattern when triggered by a redstone signal. - -## How to Use - -1. **Place the block**: Attach the Impulsed Pattern Provider to your ME network like a normal Pattern Provider. -2. **Open its GUI**: Right click the block to access its interface. -3. **Insert patterns**: Add any processing patterns into the grid slots as usual. -4. **Trigger crafting**: Apply a redstone pulse to the block. Each rising edge will push the last used pattern into the connected machine again. - -This way you can automate recipes with **chanced outputs**. The most basic setup would work like this. When the machine fails to produce your desired thing, detect that (for example using the [Signalling Interface](signalling_interface.md)) and send redstone pulse to the provider. It will push the pattern again. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_annihilation_plane.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_annihilation_plane.md deleted file mode 100644 index 37f2ac0ccc6d..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_annihilation_plane.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Mob Annihilation Plane - icon: crazyae2addons:mob_annihilation_plane -categories: - - Mob Storage -item_ids: - - crazyae2addons:mob_annihilation_plane ---- -# Mob Annihilation Plane - -The Mob Annihilation Plane is a special ME part that captures and stores mobs directly into your ME network. It instantly removes a mob standing in front of it and stores it inside your ME Storage system. - -## How to Use - -1. **Place the Mob Annihilation Plane** -2. **Storage Setup** - - Make sure your network has space for "Mob Data" (Mob Storage Cells). -3. **That's all** - -## Important Notes - -- **Only works on true mobs**: Passive mobs, hostile mobs, but not players or non-mob entities. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_export_bus.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_export_bus.md deleted file mode 100644 index fb09b254bad7..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_export_bus.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Mob Export Bus - icon: crazyae2addons:mob_export_bus -categories: - - Mob Storage -item_ids: - - crazyae2addons:mob_export_bus ---- -# Mob Export Bus - -The Mob Export Bus is a special ME part that allows you to release stored mobs back into the world from your ME Storage. It works just like a regular Export Bus, but specifically for mobs. - -## How to Use - -1. **Place the Mob Export Bus** -2. **Configure What to Spawn** - - Open the Mob Export Bus GUI. - - Select which stored mob types you want the bus to export. You do so by using a proper spawn egg item, you can also drag it from JEI. - -3. **Spawn Conditions** - - The target block must be air. - -## Important Notes - -- **Mob Safety**: Ensure the spawn spot is not obstructed, or the bus will not spawn anything. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_farm.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_farm.md deleted file mode 100644 index 3db8646b3f72..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_farm.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Mob Farm - icon: crazyae2addons:mob_farm_controller -categories: - - Mob Storage -item_ids: - - crazyae2addons:mob_farm_wall - - crazyae2addons:mob_farm_input - - crazyae2addons:mob_farm_collector - - crazyae2addons:mob_farm_damage - - crazyae2addons:mob_farm_controller ---- - - - - - -# Mob Farm Controller - -The Mob Farm Controller is the heart of an automatic, multi-block mob farming system. It simulates killing mobs stored in your ME network and generates drops and experience shards, and stores them directly into the system, **excluding** any **NBT** or **unstackable** items. - -## How to Use - -1. **Build the Multiblock Structure** - - Arrange blocks in a 5x5x6 cube in a pattern described above. - -2. **Power the Controller** - - Connect the Mob Farm Controller to an active ME network. - -3. **Setup in GUI** - - Configure which mobs should be processed. - - Optional: Set the item that will be used to kill the mobs. - -4. **Insert Upgrade Cards (Optional)** - - Install Looting/Experience/Acceleration Upgrade Cards. - ---- - -## How It Works - -- The farm "consumes" mobs taken from the ME Storage. -- Calculates drops based on the mob's loot table, and deletes all nbt items or unstackables. -- Generates experience shards. -- Drops and XP shards are inserted back into the ME network. -- More Damage Modules = faster kill speed. -- Speed Cards further boost the processing rate. (Max 64 mobs/s) - ---- - -## Important Notes - -- **Requires correct multiblock structure**: If broken, the farm will stop. -- **Only processes mobs**: You must first catch mobs using a Mob Annihilation Plane or a [Spawner Extractor](spawner_extractor.md). -- **No real mobs spawned**: No lag, no danger. -- **Looting Supported**: Enhance your drops easily. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_formation_plane.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_formation_plane.md deleted file mode 100644 index 3ea7f07c2419..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_formation_plane.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Mob Formation Plane - icon: crazyae2addons:mob_formation_plane -categories: - - Mob Storage -item_ids: - - crazyae2addons:mob_formation_plane ---- -# Mob Formation Plane - -The Mob Formation Plane is a special ME part that places mobs directly into the world. It works like a traditional Formation Plane, but specifically for spawning captured mobs. Its something like export only storage bus but for mobs. - -## How to Use - -1. **Place the Plane** - - Attach it to any ME cable, with the output side facing an empty block where mobs should appear. - -2. **Configure Mob Filters** - - Right-click the plane to open its GUI. - - Place MobKeys into the config slots to whitelist which mobs are allowed. - - If an **Inverter Card** is installed, the list becomes a blacklist instead. - -3. **Add Upgrade Cards** *(Optional)* - - Use **Capacity Cards** to unlock more filter slots. - -4. **Spawn Conditions** - - The block in front **and above** must be air. - - Spawning fails if either is blocked. - ---- - -## How It Works - -- Every time a matching MobKey is inserted into the ME network: - - The Mob Formation Plane checks if it's in the filter and if the priority is high enough. - - If valid and the position is clear, the mob is spawned into the world. - - Up to 24 mobs can be spawned in one action. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_export_bus.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_export_bus.md deleted file mode 100644 index fe7dce4e2884..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_export_bus.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: NBT Export Bus - icon: crazyae2addons:nbt_export_bus -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:nbt_export_bus ---- -# NBT Export Bus - -The NBT Export Bus is an advanced version of the AE2 export bus that lets you filter and control access to storage **based on NBT data**. - ---- - -## How to Use - -1. **Place on a Storage Block** - - Attach the NBT Export Bus to a chest, drawer, or any block with item inventory. - -2. **Open Configuration GUI** - - Right-click the part to configure its filter and behavior. - - GUI allows you to: - - Set read/write permissions - - Toggle extract filters - - Configure NBT match expressions - -3. **Write NBT Filter** - - Use the text area to enter **NBT match expressions**. - - Examples: - - {Enchantments:[{id:"minecraft:sharpness"}]} - matches only items with Sharpness enchant. - - {display:{Name:My Sword}} - matches items with tag display value set to Name: My Sword - - {*:"value"} - matches if *any* NBT value is "value" - - {key:!"value"} - matches if the NBT named key value is not "value" - - Supports logical expressions like &&, ||, !, nand, etc. - -4. **Load NBT from Item** *(Optional)* - - Place an item in the fake slot and press the **Load** button. - - Automatically imports the item's NBT into the filter. - ---- - -## Matching System - -NBT expressions use a custom parser that supports: - -- **Wildcard keys/values**: "*" -- **AND/OR/NAND/XOR logic** -- **Recursive key matching** -- **Negation with !value** - -If an item matches the expression, it's exported. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_storage_bus.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_storage_bus.md deleted file mode 100644 index c7700c9e3906..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_storage_bus.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: NBT Storage Bus - icon: crazyae2addons:nbt_storage_bus -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:nbt_storage_bus ---- -# NBT Storage Bus - -The NBT Storage Bus is an advanced version of the AE2 storage bus that lets you filter and control access to storage **based on NBT data**. - ---- - -## How to Use - -1. **Place on a Storage Block** - - Attach the NBT Storage Bus to a chest, drawer, or any block with item inventory. - -2. **Open Configuration GUI** - - Right-click the part to configure its filter and behavior. - - GUI allows you to: - - Set read/write permissions - - Toggle extract filters - - Configure NBT match expressions - -3. **Write NBT Filter** - - Use the text area to enter **NBT match expressions**. - - Examples: - - {Enchantments:[{id:"minecraft:sharpness"}]} - matches only items with Sharpness enchant. - - {display:{Name:My Sword}} - matches items with tag display value set to Name: My Sword - - {*:"value"} - matches if *any* NBT value is "value" - - {key:!"value"} - matches if the NBT named key value is not "value" - - Supports logical expressions like &&, ||, !, nand, etc. - -4. **Load NBT from Item** *(Optional)* - - Place an item in the fake slot and press the **Load** button. - - Automatically imports the item's NBT into the filter. - -5. **Upgrades** - - Accepts 1 Upgrade Card (Void Card to void overflow) - ---- - -## Matching System - -NBT expressions use a custom parser that supports: - -- **Wildcard keys/values**: "*" -- **AND/OR/NAND/XOR logic** -- **Recursive key matching** -- **Negation with !value** - -If an item matches the expression, it's allowed for extraction (depending on your settings). diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nokia3310.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nokia3310.md deleted file mode 100644 index fec930252268..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nokia3310.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Nokia 3310 - icon: crazyae2addons:nokia_3310 -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:nokia_3310 ---- - -# Nokia 3310 – Structure Gadget - - - -The **Nokia 3310** is a handheld structure gadget that lets you **cut** and **paste** entire builds in the world. -It works similarly to a builder’s wand, but fully integrates with AE2 energy cards, program storage, and preview rendering. - ---- - -## How It Works - -1. **Select Corners** - - Right-click two opposite corners of a region with the Nokia 3310. - - The second click also sets the **origin** and facing of the structure. - -2. **Cut Structure** - - Once corners are set, the gadget calculates the full program. - - It consumes **FE upfront** based on block distance and size. - - Blocks inside the region are removed and stored as a **program** on the gadget. - -3. **Paste Structure** - - Sneak + Right-click on a block face to paste the stored structure relative to that position. - - Orientation is adjusted based on the player’s facing. - - Requires enough FE to paste; otherwise, the action won’t start. - -4. **Preview & Menu** - - Sneak + Right-click in air opens the gadget’s **GUI**. - - Inside you can see a **3D preview** of the stored structure, flip, rotate, or mirror it. - - Uses the same macro/programming backend as the AutoBuilder. - ---- - -## Research Integration - -- The Nokia 3310 is a required item in certain **Research Recipes**. -- To be valid, it must already contain the correct **copied structure**. -- Insert it into a **Research Station** to unlock recipes tied to that structure. - ---- - -## Energy System - -- **Base Capacity:** 200,000 FE -- **Upgrade Slots:** 4 (Energy Cards) -- **Bonus per Card:** +200,000 FE -- **Input Rate:** up to 25,000 FE/t -- Energy is stored directly in the item and shown on a green durability bar. - ---- - -## Key Features - -- **CUT & PASTE** entire builds with preview -- **Relative orientation** to player direction -- **Research integration:** required for unlocking certain recipes -- **3D preview in GUI** with flip/rotate tools -- **Safe placement:** detects collisions before pasting - ---- - -## Tips - -- Always check FE before cutting large structures. -- The bigger the block distance, the higher the FE cost (`distance³ / 25`). -- If storage is empty, you must cut again before pasting. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/penrose_sphere.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/penrose_sphere.md deleted file mode 100644 index 6572db8921d0..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/penrose_sphere.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Penrose Sphere - icon: crazyae2addons:penrose_controller -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:penrose_controller - - crazyae2addons:penrose_frame - - crazyae2addons:penrose_coil - - crazyae2addons:penrose_port ---- - -# Penrose Sphere - - - - - -The Penrose Sphere is a late-game multiblock power generator that filled with **Super Singularities** converts **matter** into Forge Energy (FE). It is a very scalable power source. - ---- - -## How It Works - -1. **Insert Storage Cell** - - Only accepts **1k Storage Cells** containing only Super Singularities. - - Insert into the left slot (disk slot). - -2. **Insert Super Singularities** - - Place Super Singularities into the right slot (input) and click the arrow button to store/extract singularities from/to the cell. - - The more super singularities are inside the cell, the more power multiblock will generate. - -3. **Set Target Resource** - - Use the config slot to choose a target item (e.g., Cobblestone, Singularity or Matter Ball). - - This determines how much energy is produced. - -4. **Automatic Power Generation** - - Every tick, the controller consumes the target item from your ME network. - - Generates FE based on the amount of Super Singularities in the disk. - - Power is accessible from any Penrose Frame block. - - All Power Ports are actively exporting the power to adjacent blocks. - -5. **Upgrades** - - It has 4 tiers, each next tier adds +1 storage cell slot, meaning you can insert more singularities, and make more power. - - Each tier additionally boosts the power gen by x2. - ---- - -## Power Output - -- Minimum is close to 0, with 1 super singularity and with "normal" item as input. -- Matter Balls and Singularities increase output: - - **+8x** if Matter Ball is selected - - **+64x** if AE2 Singularity is selected -- Max power: ~1'000MFE/t (4x mek fusion) (with a full 4 cells and singularities as fuel) - ---- - -## Notes - -- Multiblock must be complete to function. -- Controller stores power internally. -- Energy can be extracted from any Penrose Frame block. -- Energy is being actively exported from any Penrose Port block. -- Compatible with any FE-based system. -- Can charge your ME network as well as anything that accepts FE. - diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_emitter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_emitter.md deleted file mode 100644 index ea4500d7d856..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_emitter.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Redstone Emitter - icon: crazyae2addons:redstone_emitter -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:redstone_emitter ---- - -# Redstone Emitter - -The Redstone Emitter is an ME part that acts like a digital redstone output. You can turn it ON or OFF via the Redstone Terminal. - ---- - -## How to Use - -1. **Place the Part** - - Attach it to any side of an ME cable. - -2. **Give It a Name** - - Right-click it to open the GUI. - - Type a custom name (up to 16 characters) to identify it uniquely in the network. - - Names must be unique - duplicates are not allowed. - -3. **Power Behavior** - - Emits redstone signal when ON. - - Signal strength is fixed at 15. - - Can be toggled by the Redstone Terminal. - ---- - -## Notes - -- The Redstone Emitter does **not** respond to redstone input — it is output-only. -- Fully integrates with Redstone Terminal. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_terminal.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_terminal.md deleted file mode 100644 index e88f292f11dc..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_terminal.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Redstone Terminal - icon: crazyae2addons:redstone_terminal -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:redstone_terminal - - crazyae2addons:wireless_redstone_terminal ---- - -# Redstone Terminal - - - -The Redstone Terminal is a control panel for managing all Redstone Emitters in your ME network. It lets you search, view, and toggle emitters by name with a clean GUI. - ---- - -## How to Use - -1. **Place the Terminal** - - Attach it to any ME cable in your network. - -2. **Open the GUI** - - Right-click to open. - - You'll see a list of all named Redstone Emitters in the network. - -3. **Search by Name** - - Use the search bar to filter emitters by their name. - -4. **Paging and Controls** - - Only 4 emitters are shown per page. - - Use arrows to switch pages. - - Each emitter shows: - - Name - - Current state (LOW/HIGH) - - Toggle button - -5. **Toggle State** - - Click the button next to a name to turn that emitter ON or OFF. - - Emits redstone at the emitter’s position. - ---- - -## Notes - -- Fully supports wireless terminals and universal terminals. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/reinforced_matter_condenser.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/reinforced_matter_condenser.md deleted file mode 100644 index 39a615c6bc89..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/reinforced_matter_condenser.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Reinforced Matter Condenser - icon: crazyae2addons:reinforced_matter_condenser -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:reinforced_matter_condenser ---- - -# Reinforced Matter Condenser - - - - - - -The Reinforced Matter Condenser is an upgraded singularity generator that transforms regular AE2 singularities into a powerful item: the **Super Singularity**. - -This block accumulates energy over time from inserted singularities and requires a full 64-stack of **256k Cell Components** to function. Once it reaches its energy cap, it produces a Super Singularity into its output slot. - ---- - -## How to Use - -1. **Insert a Full Stack of 256k Cell Components** - - Required to activate the condenser. - - The block will not accept singularities until this condition is met. - -2. **Insert AE2 Singularity Items** - - The block consumes singularities to charge its internal power. - - Once it reaches 8192 charge, it produces one Super Singularity. - -3. **Output** - - The generated Super Singularity appears in the output slot. - -4. **GUI Info** - - Progress bars show: - - Energy progress toward next Super Singularity. - - Count of stored 256k cells. - ---- - -## Automation & Integration - -- Compatible with item handlers on all sides. -- Exporters or pipes can automate singularity insertion. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/research.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/research.md deleted file mode 100644 index f70aebcd30da..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/research.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Research System - icon: crazyae2addons:research_station -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:research_station - - crazyae2addons:recipe_fabricator ---- - -# Research System - -The **Research System** unlocks advanced content and fabrication recipes by consuming items, energy, and special structures. -It centers around the **Research Station** block and integrates with JEI/EMI for full recipe browsing. - ---- - -## Research Station - - - - - -- Multiblock-powered machine that runs **Research Recipes**. -- Takes **consumable items**, a **Structure Gadget (Nokia 3310)** with the correct stored structure, and optionally a **Data Drive**. -- Consumes **FE** and **Research Fluid** over time. -- Produces an **unlock key** written to the inserted Data Drive, enabling further crafting in the **Recipe Fabricator**. - ---- - -## Research Recipes - -- All research steps are defined as special recipes (research type). -- Recipes are fully visible in **JEI/EMI** with requirements, costs, and unlocks. -- Each recipe may include: - - **Duration** (ticks to complete) - - **Energy per tick** and **fluid per tick** - - **Consumables** (items that are consumed) - - **Required Structure** checked against the structure on the Nokia 3310 - - **Unlock key + label** (written to Data Drive after success) - - **Stabilizer requirement** (for some advanced research) - ---- - -## Workflow - -1. **Prepare the Gadget** - - Use the Nokia 3310 to cut and store the correct structure. - - Insert it into the Research Station when required. - -2. **Provide Inputs** - - Place required consumables in input slots. - - Insert a Data Drive. - -3. **Provide Resources** - - Provide external tank with **Research Fluid**. - - Provide **FE** power (up to 25,000 FE buffer). - -4. **Run Research** - - The process automatically starts when inputs match a recipe. - - Progress can be previewed in the GUI. - - On success, the structure and consumables are consumed and the unlock key is written to the drive. - ---- - -## Unlock Keys & Data Drives - -- Keys are stored inside Data Drives. -- The Research Station writes them automatically. -- Drives can be duplicated: inserting a source drive with keys into inputs, and a target drive into the disk slot will **copy all missing keys** (costing some time, fluid, and energy). - ---- - -## Integration with Fabrication - -- Recipes in the **Recipe Fabricator** require specific unlock keys. -- Without the correct key stored on the drive, those recipes won’t start. -- This makes research progression a prerequisite for advanced crafting. - ---- - -## Key Features - -- **JEI/EMI integration** – all research/fabrication recipes are visible in the recipe viewer. -- **Structure validation** – ensures you really scanned the correct multiblock. -- **Energy & fluid drain over time** – research requires infrastructure. -- **Drive-based unlock system** – progression is portable across machines. -- **Disk-to-disk copying** – merge unlocks between drives. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/round_robin_item_p2p_tunnel.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/round_robin_item_p2p_tunnel.md deleted file mode 100644 index 6a74893bf8b8..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/round_robin_item_p2p_tunnel.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Round Robin Item P2P - icon: crazyae2addons:round_robin_item_p2p_tunnel -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:round_robin_item_p2p_tunnel ---- -# Round Robin Item P2P Tunnel - -The Round Robin Item P2P Tunnel part ensures that items entering your ME network are spread evenly across all connected outputs, even when you insert items multiple times. Unlike the standard Item P2P Tunnel, which always sends to the nearest output first, this version tracks usage and directs each batch to the output that hasn’t received anything for the longest time. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/samsung_galaxy_s6.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/samsung_galaxy_s6.md deleted file mode 100644 index e32960cda063..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/samsung_galaxy_s6.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Samsung Galaxy S6 - icon: crazyae2addons:samsung_galaxy_s6 -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:samsung_galaxy_s6 ---- - -# Samsung Galaxy S6 – Structure Gadget - - - -The **Samsung Galaxy S6** is a handheld structure gadget that lets you **copy** and **paste** entire builds in the world. -It works similarly to a builder’s wand, but fully integrates with AE2 energy cards, crafting cards and can autocraft missing materials. - ---- - -## How It Works - -1. **Connect to ME system** - - Place the gadget inside a wireless access point on your network. - -2. **Select Corners** - - Right-click two opposite corners of a region with the Samsung Galaxy S6. - - The second click also sets the **origin** and facing of the structure. - -3. **Copy Structure** - - Once corners are set, the gadget calculates the full program. - - It consumes **FE upfront** based on block distance and size. - - Blocks inside the region are copied and stored as a **program** on the gadget. - -4. **Paste Structure** - - Sneak + Right-click on a block face to paste the stored structure relative to that position. - - Orientation is adjusted based on the player’s facing. - - Requires enough FE to paste; otherwise, the action won’t start. - - Requires all the required blocks being available in the connected ME system. - - If it's upgraded with crafting card, it will try to craft all the required blocks if missing. - -5. **Preview & Menu** - - Sneak + Right-click in air opens the gadget’s **GUI**. - - Inside you can see a **3D preview** of the stored structure, flip, rotate, or mirror it. - - Uses the same macro/programming backend as the AutoBuilder. - ---- - -## Energy System - -- **Base Capacity:** 200,000 FE -- **Upgrade Slots:** 4 (Energy Cards) -- **Bonus per Card:** +200,000 FE -- **Input Rate:** up to 25,000 FE/t -- Energy is stored directly in the item and shown on a green durability bar. - ---- - -## Key Features - -- **COPY & PASTE** entire builds with preview -- **Relative orientation** to player direction -- **3D preview in GUI** with flip/rotate tools -- **Safe placement:** detects collisions before pasting - ---- - -## Tips - -- Always check FE before copying large structures. -- The bigger the block distance, the higher the FE cost (`distance³ / 25`). diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/signalling_interface.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/signalling_interface.md deleted file mode 100644 index 6cd10a9747f5..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/signalling_interface.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Signalling Interface - icon: crazyae2addons:signalling_interface -categories: - - Crafting and Patterns -item_ids: - - crazyae2addons:signalling_interface ---- - -# Signalling Interface - - - -The best companion of the [Impulsed Pattern Provider](impulsed_pattern_provider.md) - -The Signalling Interface is a smart block that emits a redstone pulse whenever selected items change in quantity. It’s perfect for creating automatic alerts, gating systems, or triggering other redstone-based machines when materials arrive or leave your storage. - -## How to Use - -1. **Place the block**: Attach the Signalling Interface to any ME cable. -2. **Open its GUI**: Right click to access the configuration screen. -3. **Configure watch items**: - - The top rows are your *config slots*. Place the items you want to monitor into these slots. - - Use the wrench icon buttons next to each slot to set the exact count threshold you care about (for example, trigger when you gain 64 of an item). It also works like a normal interface, so it will supply those items to those slots from your ME network. -4. **Connect redstone**: Run redstone dust or wire from any side of the block. Each time the tracked item count crosses your configured threshold (or changes by at least that amount), the block will emit a short redstone pulse. - -## Upgrades - -- **Redstone Card**: Enables the interface to emit output pulses when thresholds are crossed. -- **Inverter Card**: Flips the trigger, so you get pulses on removals or when counts go below thresholds instead of on additions. -- **Fuzzy Card**: Allows wildcard NBT matching for items, useful for monitoring enchanted or custom-tagged items. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/spawner_extractor.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/spawner_extractor.md deleted file mode 100644 index 881e3924cbc1..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/spawner_extractor.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Spawner Extractor - icon: crazyae2addons:spawner_extractor_controller -categories: - - Mob Storage -item_ids: - - crazyae2addons:spawner_extractor_wall - - crazyae2addons:spawner_extractor_controller ---- - -# Spawner Extractor - - - - - -The Spawner Extractor is a multiblock system that simulates mob spawning from real Spawner blocks and inserts mobs directly into your ME network. This lets you capture mobs automatically without lag or real entity spawns. - -## How to Use - -1. **Build the Multiblock Structure** - - Use the block layout shown above. Make sure to build around a spawner. For the multiblock to assemble, place any corner of the build last. - -2. **Power the Controller** - - Connect it to an active ME network. - -3. **Insert Upgrade Cards (Optional)** - - Use Speed Cards to increase the mob generation rate. - ---- - -## How It Works - -- Once formed, the structure disables all spawners inside. -- Every 20 ticks, some mobs are inserted into the ME network. -- The controller reads the mob type. -- No real mob spawns - just clean, repeatable mob capture. - ---- - -## Important Notes - -- **Requires correct multiblock structure**: If broken, the controller will stop. -- **No real mobs spawned**: No lag, no danger. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/stone_cutter_recipes.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/stone_cutter_recipes.md deleted file mode 100644 index 082cb6be111a..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/stone_cutter_recipes.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Stone Cutter Recipes - icon: minecraft:stonecutter -categories: - - Crafting and Patterns ---- - -# P2P Tunnel Conversion Recipes - -To improve flexibility and reduce clutter, Crazy AE2 Addons introduces **Stonecutter recipes** that allow you to freely convert between various types of **P2P Tunnels** from AE2 and several addon mods. - ---- - -## How It Works - -- Simply place any existing P2P Tunnel in a **Stonecutter**. -- You’ll see all compatible P2P variants appear as conversion options. -- Select the one you need and take it out - no crafting table or materials required. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/variable_terminal.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/variable_terminal.md deleted file mode 100644 index a8369714ddf7..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/variable_terminal.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Variable Terminal - icon: crazyae2addons:variable_terminal -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:variable_terminal ---- - -# Variable Terminal - -The **Variable Terminal** is a simple part that lets you view, add, and delete all **data variables** stored in the **ME Data Controller**. - -It is perfect for debugging or manually adjusting your automation logic. - ---- - -## How to Use - -1. **Place the part** in any ME cable. -2. **Right-click** to open the interface. -3. You can: - - **Browse** all variables, with search and pagination. - - **Delete** variables (click the "X" next to them). - - **Add new** variables using the top fields. - -- New variables require a name and an integer value. -- Changes are applied instantly. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/view_cells.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/view_cells.md deleted file mode 100644 index 3b03e5fed456..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/view_cells.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: More View Cells - icon: crazyae2addons:tag_view_cell -categories: - - Monitoring and Automation -item_ids: - - crazyae2addons:tag_view_cell - - crazyae2addons:nbt_view_cell ---- -# NBT & Tag View Cells - -The **NBT View Cell** and **Tag View Cell** are special types of view cells you can place in your ME Terminal to filter what items are displayed. - -## How they work - -* Both cells allow you to enter a **custom filter string** directly inside their interface. -* The filter is saved on the cell’s item, so you can move it between terminals and keep your settings. -* When placed in a terminal, only items matching the filter will appear. - -## NBT View Cell - -* Filters items by matching their **NBT data** against the filter expression. -* You can write expressions using SNBT snippets inside `{ ... }`, combined with logic operators. -* **Supported operators:** - * `&&` or `and` → logical AND - * `||` or `or` → logical OR - * `^^` or `xor` → exclusive OR - * `!` or `not` → negation - * `nand` or `!&` → negated AND -* Parentheses `( )` can be used to group expressions. -* Wildcard `*` can match any value or any key. -* Example: `{Enchantments:[{id:"minecraft:sharpness"}]}` will only match items with Sharpness enchant. - -## Tag View Cell - -* Filters items by **Minecraft tags**. -* Enter the tag name (e.g., `#minecraft:wool`) and the terminal will only display items with that tag. -* Supports **glob matching** with `*` – for example `#minecraft:*_logs` matches all log tags. -* Logical operators are also supported: - * `&&`, `||`, `^^`, `!`, `nand` -* Example: `#minecraft:logs && !#minecraft:oak_logs` → matches all logs except oak. - -## Interface - -* Open the cell to configure it: - - * A text field lets you type your filter expression. - * Use the **scrollbar** if your filter is long and doesn’t fit in the box. - * Press the **Confirm button** to save your filter. -* The filter is immediately applied to the cell and stored on the item itself. - -## Notes - -* These cells only affect **what you see in the terminal** – they do not remove or block items from the network. -* Multiple view cells can be combined; filters will stack with the usual AE2 priority rules. -* If no filter is set, the cell behaves like an empty slot. - ---- - -With NBT and Tag View Cells you can keep your terminals clean and focused, whether you want to see only a specific potion variant or a whole tag category of blocks. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/wormhole_tunnel.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/wormhole_tunnel.md deleted file mode 100644 index 41f6d1deee5b..000000000000 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/wormhole_tunnel.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -navigation: - parent: crazyae2addons_index.md - title: Wormhole Tunnel - icon: crazyae2addons:wormhole_tunnel -categories: - - Energy and Item Transfer -item_ids: - - crazyae2addons:wormhole_tunnel ---- - -# Wormhole P2P Tunnel - -The Wormhole P2P Tunnel is an advanced variant of AE2's P2P system that allows two-way communication, redstone propagation, and automatic capability routing across multiple linked tunnels. - -Unlike regular P2P tunnels, Wormhole tunnels can form **bi-directional connections**, support **redstone transmission**, and **combine capabilities** when interacting with multiple outputs. - ---- - -## Key Features - -- **Two-Way Connectivity** - - Wormholes create actual grid-level connections between input and outputs. - - Energy, items, and fluids can flow both ways if needed. - -- **Capability Combining** - - Item, fluid, and energy capabilities from multiple outputs are merged into one access point. - -- **Redstone Transmission** - - Inputs can receive redstone signal and propagate it to all connected outputs. - - Full support for weak and strong redstone. - ---- - -## Examples - -The possibilities are endless but here are some setups I did while testing. -- Storage bus through a tunnel: you can place a storage bus on the input side, and any item/fluid storage on the other sides, and the storage bus will see and be able to interact with them. -- Nested p2p tunnels: you can connect two parts of me network with this tunnel, and you can use p2p tunnels within those tunneled channels. -- Mek's heat transfer: and any other pipes from mek work through this tunnel. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/img/script2.png b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/img/script2.png deleted file mode 100644 index ab961eae3b330799b47d7e7a288a161ae820c54f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144395 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

tJ8(XuN+hK- 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

8RMHVS+>%(%VY#BrvuUQAZBAGVTR#A*2 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

V3F`16nE=`L`i-r1$|``acVu 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 JW0Nuo{XdS#oG<_Y diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/img/script3.png b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/img/script3.png deleted file mode 100644 index c829861f47939c5acf537316ddb5c1aafcf574b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129340 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∓U=ytG?bR$4Rkc=vBQie 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%0AYbp8#!&bfi@et8;IzJO%48@2 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 &GcQ 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

*P*DP|Cv03<62meDnYSuH&agM%0-9q zua(_C<0v9lhQU+@2*Go>YAtCEHojM%w&|J_A{Ss|`(XUfF_Ox(g zbSW%YA7&;$8<){4k=+I|U24(1tU%Gnw+$%{|g^gyNHXf$1D8t-1DFF$(gp*YAxP<7?{m`@rhcl#CXIW1=lAz?* zzp)h&sBXgc2fXSV4yI(+ypeS!B6TyS>UhHK0U!Q+W}F1aV+FoRAjxrn2|AIF(Td(r&DhAn?SxvTnxh{oT~M%q@A= zt!}YWp=SNFCHQygF}ZGvOxP*es06dEkg}Xoj`@&t>R9I>*&wA&6xFzqpOcDi;+D{RSXJm zLW8x|Xw^C?xqt=?5yiz}zT)zs(QXpxf?@ULC6{$=o{W>7`< zg5E-{^#uNDu;z5k&400_@SwuqB=X=QZbb)*t|&A;9T-1X57J$5%w7#l6DwN+iyZ=` zn^;WI8)=uHCTg&wmR_6|6$>Z-CJr)%tTe=klX(`33s4 zrOyRjG4n@~!5P(0B(7zQsht+J*fiwiu;Qo}HruBy~*mMaqps*=Ey?7usyKkoM| z&|Lnj)J{hprjMAq!=AA=zlwskG27RASWR>Qt}0O$bp&*2Y>kGq?}xD^u!^Q^<|CPfS~t&T<7-^pw%5Sp zucp-hQNW$Cim$8HI!Z6IDKk+ci8BfkyAsfc1Wasf4VCsJIi315 zY4+NJsHw!6N+M&Htq;P(oFCGq1y(R=`$?{iB@v1RS71$}iVqlCUj2AkSGBdv=2EAy z6PaP*HOA=QBWFZu%fF)Xb_lZ^65=wJLh8d*!Bx*33W{J7YdAunUQ3NlUhX@~VRGlt ztuG^)wf}XWN)5B2KWx0k3}i=5qc+)2ms~hZa=cP3K_PG#8wrkVNmid zX=Ok8c(ib;8FBYF_=g%{AGTL=hKppYa6Lh)vj&~Z?=l(%B|JYG-q5po2LR}A%{_D(5w2=Y! nFGJIh^X0+$|7_B;Pe@_~3nU+Pu&+4UZ{MWE= this.", + "gui.crazyae2addons.penrose_heat_emitter_submit": "Apply heat threshold", + "gui.crazyae2addons.penrose_heat_max_gk": "Max heat: %s MK", + "gui.crazyae2addons.penrose_heat_max_mk": "Max: %s MK", + "gui.crazyae2addons.penrose_heat_vent_cooling": "Heat/t", + "gui.crazyae2addons.penrose_heat_vent_cooling_hint": "123...", + "gui.crazyae2addons.penrose_heat_vent_cooling_label": "Cooling rate (MK/t):", + "gui.crazyae2addons.penrose_heat_vent_cooling_tooltip": "How much heat to remove per tick (MK/t).", + "gui.crazyae2addons.penrose_heat_vent_cost": "Cost: %s FE/t", + "gui.crazyae2addons.penrose_heat_vent_cost_label": "Estimated FE cost:", + "gui.crazyae2addons.penrose_heat_vent_cost_value": "%s FE/t", + "gui.crazyae2addons.penrose_heat_vent_submit": "Apply cooling rate", + "gui.crazyae2addons.penrose_heat_vent_submit_tooltip": "Apply", + "gui.crazyae2addons.penrose_injection_port_rate_hint": "0..%s", + "gui.crazyae2addons.penrose_injection_port_rate_label": "Injection rate (singu/t):", + "gui.crazyae2addons.penrose_injection_port_rate_tooltip": "How many singularities per tick to inject from the ME network", + "gui.crazyae2addons.penrose_injection_port_submit": "Apply", + "gui.crazyae2addons.penrose_insert": "Insert singularities", + "gui.crazyae2addons.penrose_item_consume": "Item to consume", + "gui.crazyae2addons.penrose_line_disk_mass": "Disk mass: %s MU", + "gui.crazyae2addons.penrose_line_fe_in_disk": "FE in disk: %s FE", + "gui.crazyae2addons.penrose_line_gen_t_fe": "Gen/t: %s FE/t", + "gui.crazyae2addons.penrose_line_heat_mk": "Heat: %s MK", + "gui.crazyae2addons.penrose_line_use_t_fe": "Use/t: %s FE/t", + "gui.crazyae2addons.penrose_mass_bar": "Mass: %s", + "gui.crazyae2addons.penrose_mass_current_mu": "Current: %s MU", + "gui.crazyae2addons.penrose_mass_emitter_off_label": "Emit OFF at % initial/max:", + "gui.crazyae2addons.penrose_mass_emitter_off_placeholder": "OFF % (e.g. 45)", + "gui.crazyae2addons.penrose_mass_emitter_off_tooltip": "Stop emitting threshold.", + "gui.crazyae2addons.penrose_mass_emitter_on_label": "Emit ON at % initial/max:", + "gui.crazyae2addons.penrose_mass_emitter_on_placeholder": "ON % (e.g. 50)", + "gui.crazyae2addons.penrose_mass_emitter_on_tooltip": "Start emitting threshold.", + "gui.crazyae2addons.penrose_mass_emitter_submit": "Apply thresholds", + "gui.crazyae2addons.penrose_mass_initial_mu": "Initial: %s MU", + "gui.crazyae2addons.penrose_mass_max_mu": "Max: %s MU", + "gui.crazyae2addons.penrose_matter_balls": "Matter Balls: Power x8", + "gui.crazyae2addons.penrose_overlay_bh_mass": "BH mass: %s MU", + "gui.crazyae2addons.penrose_overlay_disk_mass": "Disk mass: %s MU", + "gui.crazyae2addons.penrose_overlay_fe_in_disk": "FE in disk: %s FE", + "gui.crazyae2addons.penrose_overlay_fe_stored": "FE stored: %s FE", + "gui.crazyae2addons.penrose_overlay_gen": "Gen/t: %s FE", + "gui.crazyae2addons.penrose_overlay_use": "Use/t: %s FE", + "gui.crazyae2addons.penrose_power_ae": "as AE in the network power", + "gui.crazyae2addons.penrose_power_fe": "as FE in the multiblock", + "gui.crazyae2addons.penrose_preview_status": "Preview: %s, preview tier: %s", + "gui.crazyae2addons.penrose_preview_toggle": "Enable/Disable preview", + "gui.crazyae2addons.penrose_singularities": "Singularities: Power x64", + "gui.crazyae2addons.penrose_start_bh": "Start black hole", + "gui.crazyae2addons.penrose_store_power": "Store power", + "gui.crazyae2addons.penrose_tier_label": "Tier: ", + "gui.crazyae2addons.penrose_title_accretion_disk": "Accretion Disk", + "gui.crazyae2addons.penrose_title_black_hole": "Black Hole", + "gui.crazyae2addons.penrose_title_heat": "Heat", + "gui.crazyae2addons.penrose_title_mass": "Mass", + "gui.crazyae2addons.penrose_title_preview": "Penrose Preview", + "gui.crazyae2addons.portable_autobuilder_req_mats": "Required Materials", + "gui.crazyae2addons.portable_spatial_short": "Portable Spatial", + "gui.crazyae2addons.provider_max": "Reached the max size of that pattern provider", + "gui.crazyae2addons.redstone_emitter_label_name": "Name", + "gui.crazyae2addons.redstone_emitter_name": "Name", + "gui.crazyae2addons.redstone_terminal_search": "Search", + "gui.crazyae2addons.reinforced_condenser_cells": "Stored storage cells", + "gui.crazyae2addons.reinforced_condenser_singularities": "Stored singularities", + "gui.crazyae2addons.research_dev_unlock": "Write all research to disk", + "gui.crazyae2addons.research_drive_tooltip_1": "Research is saved on the research drive.", + "gui.crazyae2addons.research_drive_tooltip_2": "It can be later used in the recipe fabricator.", + "gui.crazyae2addons.research_duration": "Max time: %s s", + "gui.crazyae2addons.research_loading": "Loading...", + "gui.crazyae2addons.research_min_comp_per_tick": "Minimal computation: %s cu/t", + "gui.crazyae2addons.research_output_disk_note": "Stored on disk", + "gui.crazyae2addons.research_output_label": "Research Output", + "gui.crazyae2addons.research_pedestal_comp": "Computation: %s", + "gui.crazyae2addons.research_pedestal_compact": "%s cu/t", + "gui.crazyae2addons.research_pedestal_computation": "Connected computation: ", + "gui.crazyae2addons.research_pedestal_invalid": "Invalid connection", + "gui.crazyae2addons.research_pedestals": "Pedestals", + "gui.crazyae2addons.research_preview_hide": "Hide preview", + "gui.crazyae2addons.research_preview_show": "Show preview", + "gui.crazyae2addons.research_recipe_progress": "Recipe Progress", + "gui.crazyae2addons.research_required_comp": "Required computation: %s cu", + "gui.crazyae2addons.research_station_disk": "Data Disk", + "gui.crazyae2addons.research_station_energy": "Power used: %s FE/t, %s FE", + "gui.crazyae2addons.research_station_inputs": "Inputs", + "gui.crazyae2addons.research_stored_coolant": "Stored coolant", + "gui.crazyae2addons.research_stored_energy": "Stored Energy", + "gui.crazyae2addons.research_stored_fluid": "Stored Fluid", + "gui.crazyae2addons.research_unit_computation": "Providing computation: ", + "gui.crazyae2addons.research_unit_coolant": "Required coolant: ", + "gui.crazyae2addons.research_unit_power": "Required power: ", + "gui.crazyae2addons.research_unlocks": "Unlock: %s", + "gui.crazyae2addons.spawner_info_cards": "of acceleration cards installed", + "gui.crazyae2addons.spawner_info_speed": "Speed depends on the amount", + "gui.crazyae2addons.spawner_preview_label": "Preview: ", + "gui.crazyae2addons.spawner_preview_tooltip": "Enable/Disable preview", + "gui.crazyae2addons.tag_view_cell_confirm": "Confirm", + "gui.crazyae2addons.tag_view_cell_input": "Input filter", + "gui.crazyae2addons.tag_view_cell_title": "Tag View Cell", + "gui.crazyae2addons.toast.stock_alert_above": "Went above %s threshold (now %s)", + "gui.crazyae2addons.toast.stock_alert_below": "Fell below %s threshold (now %s)", + "gui.crazyae2addons.toast.stock_alert_title": "AE2 Stock Alert", + "gui.crazyae2addons.wireless_redstone_search": "Search", + "item.crazyae2addons.automation_upgrade_card": "Automation Upgrade Card", "item.crazyae2addons.builder_pattern": "Builder Pattern", "item.crazyae2addons.chunky_fluid_p2p_tunnel": "Chunky Fluid P2P Tunnel", "item.crazyae2addons.circuit_upgrade_card": "Circuit Upgrade Card", @@ -77,17 +380,21 @@ "item.crazyae2addons.nbt_export_bus": "Nbt Export Bus", "item.crazyae2addons.nbt_storage_bus": "Nbt Storage Bus", "item.crazyae2addons.nbt_view_cell": "Nbt View Cell", - "item.crazyae2addons.nokia_3310": "Nokia 3310", + "item.crazyae2addons.player_upgrade_card": "Player Upgrade Card", + "item.crazyae2addons.portable_builder": "Portable Builder", + "item.crazyae2addons.portable_spatial_storage": "Portable Spatial Storage", "item.crazyae2addons.redstone_emitter": "Redstone Emitter", "item.crazyae2addons.redstone_terminal": "Redstone Terminal", "item.crazyae2addons.research_fluid_bucket": "Research Fluid Bucket", "item.crazyae2addons.round_robin_item_p2p_tunnel": "Round Robin Item P2P Tunnel", - "item.crazyae2addons.samsung_galaxy_s6": "Samsung Galaxy S6", "item.crazyae2addons.super_singularity": "Super Singularity", "item.crazyae2addons.tag_view_cell": "Tag View Cell", - "item.crazyae2addons.unassembled_crazy_pattern_provider": "Unassembled Crazy Pattern Provider", + "item.crazyae2addons.wireless_notification_terminal": "Wireless Notification Terminal", "item.crazyae2addons.wireless_redstone_terminal": "Wireless Redstone Terminal", "item.crazyae2addons.wormhole_tunnel": "Wormhole Tunnel", "item.crazyae2addons.xp_shard": "Xp Shard", - "key.ae2.wireless_redstone_terminal": "Open Wireless Redstone Terminal" + "jei.crazyae2addons.category_cradle": "Entropy Cradle", + "jei.crazyae2addons.category_crazy_multiblocks": "Crazy Multiblocks", + "key.ae2.wireless_redstone_terminal": "Open Wireless Redstone Terminal", + "penrose.xei.description": "Quite a lot for one block\nand dont you need 1600?" } \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/lang/zh_cn.json b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/lang/zh_cn.json index fa1ce6d56e23..62bf661f326f 100644 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/lang/zh_cn.json +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/lang/zh_cn.json @@ -6,20 +6,17 @@ "block.crazyae2addons.broken_pattern_provider": "破损的样板供应器", "block.crazyae2addons.crafting_scheduler": "合成规划器", "block.crazyae2addons.crazy_pattern_provider": "疯狂样板供应器", - "block.crazyae2addons.dense_energy_storage_16k": "16k致密能源仓库", - "block.crazyae2addons.dense_energy_storage_1k": "1k致密能源仓库", - "block.crazyae2addons.dense_energy_storage_256k": "256k致密能源仓库", - "block.crazyae2addons.dense_energy_storage_4k": "4k致密能源仓库", - "block.crazyae2addons.dense_energy_storage_64k": "64k致密能源仓库", "block.crazyae2addons.ejector": "弹出器", "block.crazyae2addons.energy_storage_16k": "16k能源仓库", + "block.crazyae2addons.energy_storage_16m": "16M能源仓库", "block.crazyae2addons.energy_storage_1k": "1k能源仓库", + "block.crazyae2addons.energy_storage_1m": "1M能源仓库", "block.crazyae2addons.energy_storage_256k": "256k能源仓库", + "block.crazyae2addons.energy_storage_256m": "256M能源仓库", "block.crazyae2addons.energy_storage_4k": "4k能源仓库", + "block.crazyae2addons.energy_storage_4m": "4M能源仓库", "block.crazyae2addons.energy_storage_64k": "64k能源仓库", - "block.crazyae2addons.energy_storage_controller": "能源仓库控制器", - "block.crazyae2addons.energy_storage_frame": "能源仓库框架", - "block.crazyae2addons.energy_storage_port": "能源仓库端口", + "block.crazyae2addons.energy_storage_64m": "64M能源仓库", "block.crazyae2addons.entropy_cradle": "熵变催变仪", "block.crazyae2addons.entropy_cradle_capacitor": "熵变催变仪电容器", "block.crazyae2addons.entropy_cradle_controller": "熵变催变仪控制器", @@ -32,17 +29,323 @@ "block.crazyae2addons.penrose_coil": "彭罗斯线圈", "block.crazyae2addons.penrose_controller": "彭罗斯控制器", "block.crazyae2addons.penrose_frame": "彭罗斯框架", + "block.crazyae2addons.penrose_hawking_vent": "彭罗斯霍金效应口", + "block.crazyae2addons.penrose_heat_emitter": "彭罗斯热量发信器", + "block.crazyae2addons.penrose_heat_vent": "彭罗斯散热口", + "block.crazyae2addons.penrose_injection_port": "彭罗斯注入端口", + "block.crazyae2addons.penrose_mass_emitter": "彭罗斯质量发信器", "block.crazyae2addons.penrose_port": "彭罗斯端口", "block.crazyae2addons.recipe_fabricator": "配方构造器", "block.crazyae2addons.reinforced_matter_condenser": "强化物质聚合器", + "block.crazyae2addons.research_cable": "研究线缆", "block.crazyae2addons.research_fluid_block": "研究流体", + "block.crazyae2addons.research_pedestal_bottom": "研究基座底座", + "block.crazyae2addons.research_pedestal_top": "研究基座顶台", "block.crazyae2addons.research_station": "研究站", + "block.crazyae2addons.research_unit": "研究单元", + "block.crazyae2addons.research_unit_frame": "研究单元框架", "block.crazyae2addons.signalling_interface": "发信接口", "block.crazyae2addons.spawner_extractor_controller": "刷怪笼提取控制器", "block.crazyae2addons.spawner_extractor_wall": "刷怪笼提取器墙壁", - "block.crazyae2addons.stabilizer_block": "稳定器方块", "block.crazyae2addons.super_singularity_block": "超级奇点块", + "ec.16k": "16k能源元件\n可存储128M AE\n(256M FE)", + "ec.1k": "1k能源元件\n可存储8M AE\n(16M FE)", + "ec.256k": "256k能源元件\n可存储2G AE\n(4G FE)", + "ec.4k": "4k能源元件\n可存储32M AE\n(64M FE)", + "ec.64k": "64k能源元件\n可存储512 AE\n(1G FE)", + "ec.dense.16k": "16k致密能源元件\n可存储128G AE\n(256G FE)", + "ec.dense.1k": "1k致密能源元件\n可存储8G AE\n(16G FE)", + "ec.dense.256k": "256k致密能源元件\n可存储2T AE\n(4T FE)", + "ec.dense.4k": "4k致密能源元件\n可存储32G AE\n(64G FE)", + "ec.dense.64k": "64k致密能源元件\n可存储512G AE\n(1T FE)", + "emi.crazyae2addons.category_cradle": "熵变催变仪配方", + "emi.crazyae2addons.category_fabrication": "配方构造器", + "emi.crazyae2addons.category_multiblocks": "疯狂多方块", + "emi.crazyae2addons.category_research": "研究站", "fluid_type.crazyae2addons.research_fluid_type": "研究流体", + "gui.crazyae2addons.amount.unit_decimal_with_internal": "%s %s(%s)", + "gui.crazyae2addons.amount.unit_int": "%s %s", + "gui.crazyae2addons.ampere_meter_1": "从左向右传输能量", + "gui.crazyae2addons.ampere_meter_2": "从右向左传输能量", + "gui.crazyae2addons.auto_builder_missing_label": "缺失:", + "gui.crazyae2addons.auto_builder_offset": "偏移量", + "gui.crazyae2addons.auto_builder_pattern": "样板", + "gui.crazyae2addons.auto_enchanter_input": "输入", + "gui.crazyae2addons.auto_enchanter_lbl_cheap": "便宜", + "gui.crazyae2addons.auto_enchanter_lbl_exp": "昂贵", + "gui.crazyae2addons.auto_enchanter_lbl_medium": "中等", + "gui.crazyae2addons.auto_enchanter_output": "输出", + "gui.crazyae2addons.auto_enchanter_xp": "可用经验:", + "gui.crazyae2addons.builder_corner_1": "角落1已设置!", + "gui.crazyae2addons.builder_corner_2": "角落2已设置!(原点)", + "gui.crazyae2addons.builder_corner_3": "角落1已设置!(重设)", + "gui.crazyae2addons.builder_offset_back": "向后方附加1偏移量", + "gui.crazyae2addons.builder_offset_down": "向下方附加1偏移量", + "gui.crazyae2addons.builder_offset_front": "向前方附加1偏移量", + "gui.crazyae2addons.builder_offset_left": "向左方附加1偏移量", + "gui.crazyae2addons.builder_offset_right": "向右方附加1偏移量", + "gui.crazyae2addons.builder_offset_up": "向上方附加1偏移量", + "gui.crazyae2addons.builder_pattern_confirm": "确认", + "gui.crazyae2addons.builder_pattern_delay": "每次操作后等待的刻数", + "gui.crazyae2addons.builder_pattern_error": "无法保存此结构", + "gui.crazyae2addons.builder_pattern_failed_changes": "更改保存失败", + "gui.crazyae2addons.builder_pattern_flip_h": "水平翻转", + "gui.crazyae2addons.builder_pattern_flip_v": "垂直翻转", + "gui.crazyae2addons.builder_pattern_no_program": "无程序", + "gui.crazyae2addons.builder_pattern_program": "输入程序", + "gui.crazyae2addons.builder_pattern_rotate": "旋转90度", + "gui.crazyae2addons.builder_pattern_saved": "已保存样板。长度:", + "gui.crazyae2addons.builder_preview_hide": "隐藏预览", + "gui.crazyae2addons.builder_preview_show": "显示预览", + "gui.crazyae2addons.builder_skip": "跳过", + "gui.crazyae2addons.builder_skip_tooltip": "未能集齐方块时也开始搭建", + "gui.crazyae2addons.c_scheduler_amount": "数量", + "gui.crazyae2addons.c_scheduler_amount_tt": "请求数量(流体以mB计)", + "gui.crazyae2addons.calculator_equation": "表达式", + "gui.crazyae2addons.calculator_result": "结果", + "gui.crazyae2addons.cancel_all_crafting": "取消所有合成任务", + "gui.crazyae2addons.chunky_p2p_desc": "设置批次量,以mB计", + "gui.crazyae2addons.chunky_p2p_save": "保存", + "gui.crazyae2addons.copy_paste_ap_missing": "链接位置不存在无线访问点。", + "gui.crazyae2addons.copy_paste_cannot_craft": "无法合成所有所需物品。", + "gui.crazyae2addons.copy_paste_no_grid": "未找到AE2网络。", + "gui.crazyae2addons.copy_paste_no_grid_power": "AE2网络未供能。", + "gui.crazyae2addons.copy_paste_no_structure": "未存储结构", + "gui.crazyae2addons.copy_paste_not_linked": "未链接至AE2网络。", + "gui.crazyae2addons.copy_paste_not_loaded": "未找到链接的维度或该维度未加载。", + "gui.crazyae2addons.copy_paste_scheduling": "正在计划合成。", + "gui.crazyae2addons.copy_paste_select_corners": "需先选定角落", + "gui.crazyae2addons.cpu_prio_save": "保存", + "gui.crazyae2addons.cradle_inputs": "输入", + "gui.crazyae2addons.cradle_layer_all": "全部", + "gui.crazyae2addons.cradle_layer_prefix": "L:", + "gui.crazyae2addons.cradle_layer_tooltip": "更改单层可视性", + "gui.crazyae2addons.cradle_off": "关", + "gui.crazyae2addons.cradle_on": "开", + "gui.crazyae2addons.cradle_output": "输出", + "gui.crazyae2addons.cradle_toggle_label": "催变器", + "gui.crazyae2addons.cradle_toggle_tooltip": "更改催变器可视性", + "gui.crazyae2addons.crafting_scheduler_target": "合成目标", + "gui.crazyae2addons.crazy_preview_layer_all": "全部", + "gui.crazyae2addons.crazy_preview_layer_prefix": "L:", + "gui.crazyae2addons.crazy_provider_capacity_tooltip": "容量:", + "gui.crazyae2addons.cut_paste_first": "需先粘贴当前结构", + "gui.crazyae2addons.data_drive_researches": "研究目标", + "gui.crazyae2addons.display_center": "文本居中", + "gui.crazyae2addons.display_join": "与相邻显示监视器合并", + "gui.crazyae2addons.display_margin": "文本区域周围留出3%边缘", + "gui.crazyae2addons.display_submit": "提交", + "gui.crazyae2addons.display_type_here": "在此输入", + "gui.crazyae2addons.ejector_config": "配置", + "gui.crazyae2addons.ejector_load_pattern": "从样板中加载设置", + "gui.crazyae2addons.ejector_middle_click": "使用鼠标中键设置数量", + "gui.crazyae2addons.ejector_missing_label": "缺失:", + "gui.crazyae2addons.ejector_multiplier_tooltip": "应用于各物品的乘数", + "gui.crazyae2addons.ejector_nothing": "无", + "gui.crazyae2addons.emiter_mult": "乘数", + "gui.crazyae2addons.emiter_mult_checkbox": "乘算而非赋值", + "gui.crazyae2addons.enchanter_book_off": "自动供应书:禁用", + "gui.crazyae2addons.enchanter_book_on": "自动供应书:启用", + "gui.crazyae2addons.enchanter_cheap": "便宜魔咒\n施加低等级魔咒(消耗:1)", + "gui.crazyae2addons.enchanter_exp": "昂贵魔咒\n施加强大魔咒(消耗:3)", + "gui.crazyae2addons.enchanter_lapis_off": "自动供应青金石:禁用", + "gui.crazyae2addons.enchanter_lapis_on": "自动供应青金石:启用", + "gui.crazyae2addons.enchanter_medium": "中等魔咒\n施加中等等级的魔咒(消耗:2)", + "gui.crazyae2addons.entity_ticker_energy": "能量消耗:%s FE/t", + "gui.crazyae2addons.entity_ticker_info_1": "每张升级卡都会", + "gui.crazyae2addons.entity_ticker_info_2": "令机器速度乘以2", + "gui.crazyae2addons.entity_ticker_speed": "当前乘数:%d", + "gui.crazyae2addons.entropy_preview_label": "预览:", + "gui.crazyae2addons.entropy_preview_tooltip": "启用/禁用预览", + "gui.crazyae2addons.error_saving": "无法保存此结构", + "gui.crazyae2addons.fabricator_drive": "驱动器", + "gui.crazyae2addons.fabricator_input": "输入", + "gui.crazyae2addons.fabricator_output": "输出", + "gui.crazyae2addons.gadget_clear": "已清除所存储的结构", + "gui.crazyae2addons.gadget_flip_h": "水平翻转", + "gui.crazyae2addons.gadget_flip_v": "垂直翻转", + "gui.crazyae2addons.gadget_rotate": "旋转90度", + "gui.crazyae2addons.mob_key": "生物", + "gui.crazyae2addons.mob_key_search": "搜索生物……", + "gui.crazyae2addons.mob_key_selected": "当前选择", + "gui.crazyae2addons.mobfarm_item_use": "所用物品:", + "gui.crazyae2addons.mobfarm_preview_label": "预览:", + "gui.crazyae2addons.mobfarm_preview_tooltip": "启用/禁用预览", + "gui.crazyae2addons.modifier_circuit_button": "%s", + "gui.crazyae2addons.modifier_circuit_desc": "输入电路编号(0-32)", + "gui.crazyae2addons.modifier_circuit_none": "未选定电路", + "gui.crazyae2addons.modifier_circuit_selected": "已选择电路%s", + "gui.crazyae2addons.modifier_circuit_tooltip": "设定电路:%s", + "gui.crazyae2addons.modifier_ignore_nbt_tooltip": "切换忽略NBT选项", + "gui.crazyae2addons.modifier_info_do_not_ignore_nbt": "当前:不忽略NBT", + "gui.crazyae2addons.modifier_info_ignore_nbt": "当前:忽略NBT", + "gui.crazyae2addons.modifier_mult_div2": "/2", + "gui.crazyae2addons.modifier_mult_div2_tooltip": "样板配置除以2", + "gui.crazyae2addons.modifier_mult_x2": "x2", + "gui.crazyae2addons.modifier_mult_x2_tooltip": "样板配置乘2", + "gui.crazyae2addons.modifier_tooltip": "编码电路", + "gui.crazyae2addons.nbt_export_confirm": "确认", + "gui.crazyae2addons.nbt_export_input": "输入过滤器", + "gui.crazyae2addons.nbt_export_load": "加载所选物品的NBT", + "gui.crazyae2addons.nbt_storage_confirm": "确认", + "gui.crazyae2addons.nbt_storage_input": "输入过滤器", + "gui.crazyae2addons.nbt_storage_load": "加载所选物品的NBT", + "gui.crazyae2addons.nbt_view_cell_confirm": "确认", + "gui.crazyae2addons.nbt_view_cell_input": "输入过滤器", + "gui.crazyae2addons.nbt_view_cell_title": "NBT显示元件", + "gui.crazyae2addons.notification_terminal.threshold_need_filter": "设置资源以决定阈值单位。", + "gui.crazyae2addons.notification_terminal.threshold_unit": "阈值单位:%s", + "gui.crazyae2addons.notification_terminal.threshold_unit_internal": "阈值单位:%s(1 %s = 内部 %s)", + "gui.crazyae2addons.notification_terminal.unit_line": "单位:%s", + "gui.crazyae2addons.notification_terminal_add_row": "添加新行", + "gui.crazyae2addons.pattern_mult_circuit_input": "输入电路编号(0-32)", + "gui.crazyae2addons.pattern_mult_clear": "清空所有样板", + "gui.crazyae2addons.pattern_mult_confirm": "以指定值乘算所有样板", + "gui.crazyae2addons.pattern_mult_limit": "超过此上限的样板不会被乘算,0代表取消上限", + "gui.crazyae2addons.pattern_mult_multiplier": "乘数", + "gui.crazyae2addons.pattern_mult_set_circuit": "为所有样板设置所选电路", + "gui.crazyae2addons.pattern_mult_value_tooltip": "输入样板配置的乘数,可为如同2*(3/4)的表达式", + "gui.crazyae2addons.penrose_accretion_status": "吸积量:%s 奇点/t", + "gui.crazyae2addons.penrose_amount_fe": "%s FE/t", + "gui.crazyae2addons.penrose_bh_mass_delta": "质量差值:%s MU/s(黑洞质量的%s)", + "gui.crazyae2addons.penrose_bh_mass_heat": "质量:%s MU丨热量:%s", + "gui.crazyae2addons.penrose_bh_off": "未启动", + "gui.crazyae2addons.penrose_bh_on": "已启动", + "gui.crazyae2addons.penrose_bh_power": "已存储能量:%s FE", + "gui.crazyae2addons.penrose_bh_status": "黑洞:%s", + "gui.crazyae2addons.penrose_bh_tt_gen": "产量:%s FE/t", + "gui.crazyae2addons.penrose_bh_tt_mass": "质量:%s", + "gui.crazyae2addons.penrose_bh_tt_mass_ratio": "填充率:%s", + "gui.crazyae2addons.penrose_bh_tt_title": "黑洞", + "gui.crazyae2addons.penrose_change_tier": "更改预览层级", + "gui.crazyae2addons.penrose_disk_status": "吸积盘:%s 奇点(%s/t),延迟:%ss", + "gui.crazyae2addons.penrose_disk_tt_fe_disk": "吸积盘内剩余FE:%s", + "gui.crazyae2addons.penrose_disk_tt_heat": "热量:%s MK", + "gui.crazyae2addons.penrose_disk_tt_mass": "质量:%s", + "gui.crazyae2addons.penrose_disk_tt_title": "吸积盘", + "gui.crazyae2addons.penrose_efficiency": "效率:%s", + "gui.crazyae2addons.penrose_extract": "提取奇点", + "gui.crazyae2addons.penrose_generation": "能量产出", + "gui.crazyae2addons.penrose_hawking_vent_cost": "消耗:%s FE/t", + "gui.crazyae2addons.penrose_hawking_vent_cost_label": "预期FE消耗:", + "gui.crazyae2addons.penrose_hawking_vent_cost_value": "%s FE/t", + "gui.crazyae2addons.penrose_hawking_vent_rate": "每刻质量", + "gui.crazyae2addons.penrose_hawking_vent_rate_hint": "123……", + "gui.crazyae2addons.penrose_hawking_vent_rate_label": "蒸发率(MU/t):", + "gui.crazyae2addons.penrose_hawking_vent_rate_tooltip": "每刻蒸发多少黑洞质量(MU/t)。", + "gui.crazyae2addons.penrose_hawking_vent_submit": "应用蒸发率", + "gui.crazyae2addons.penrose_hawking_vent_submit_tooltip": "应用", + "gui.crazyae2addons.penrose_heat_bar": "热量:%s/%s MK", + "gui.crazyae2addons.penrose_heat_current_gk": "当前热量:%s MK", + "gui.crazyae2addons.penrose_heat_current_mk": "当前:%s MK", + "gui.crazyae2addons.penrose_heat_emitter_desired_heat": "预期热量", + "gui.crazyae2addons.penrose_heat_emitter_off_label": "OFF信号阈值(MK):", + "gui.crazyae2addons.penrose_heat_emitter_off_placeholder": "OFF时热量(MK)", + "gui.crazyae2addons.penrose_heat_emitter_off_tooltip": "热量 <= 此值时停止发信。", + "gui.crazyae2addons.penrose_heat_emitter_on_label": "ON信号阈值(MK):", + "gui.crazyae2addons.penrose_heat_emitter_on_placeholder": "ON时热量(MK)", + "gui.crazyae2addons.penrose_heat_emitter_on_tooltip": "热量 >= 此值时开始发信。", + "gui.crazyae2addons.penrose_heat_emitter_submit": "应用热量阈值", + "gui.crazyae2addons.penrose_heat_max_gk": "最大热量:%s MK", + "gui.crazyae2addons.penrose_heat_max_mk": "热量:%s MK", + "gui.crazyae2addons.penrose_heat_vent_cooling": "每刻热量", + "gui.crazyae2addons.penrose_heat_vent_cooling_hint": "123……", + "gui.crazyae2addons.penrose_heat_vent_cooling_label": "冷却率(MK/t):", + "gui.crazyae2addons.penrose_heat_vent_cooling_tooltip": "每刻移除多少热量(MK/t)。", + "gui.crazyae2addons.penrose_heat_vent_cost": "消耗:%s FE/t", + "gui.crazyae2addons.penrose_heat_vent_cost_label": "预期FE消耗:", + "gui.crazyae2addons.penrose_heat_vent_cost_value": "%s FE/t", + "gui.crazyae2addons.penrose_heat_vent_submit": "应用冷却率", + "gui.crazyae2addons.penrose_heat_vent_submit_tooltip": "应用", + "gui.crazyae2addons.penrose_injection_port_rate_hint": "0..%s", + "gui.crazyae2addons.penrose_injection_port_rate_label": "注入率(奇点/t):", + "gui.crazyae2addons.penrose_injection_port_rate_tooltip": "每刻从ME网络中向其注入多少个奇点", + "gui.crazyae2addons.penrose_injection_port_submit": "应用", + "gui.crazyae2addons.penrose_insert": "放入奇点", + "gui.crazyae2addons.penrose_item_consume": "消耗用物品", + "gui.crazyae2addons.penrose_line_disk_mass": "吸积盘质量:%s MU", + "gui.crazyae2addons.penrose_line_fe_in_disk": "吸积盘内FE:%s FE", + "gui.crazyae2addons.penrose_line_gen_t_fe": "每刻产量:%s FE/t", + "gui.crazyae2addons.penrose_line_heat_mk": "热量:%s MK", + "gui.crazyae2addons.penrose_line_use_t_fe": "每刻耗量:%s FE/t", + "gui.crazyae2addons.penrose_mass_bar": "质量:%s", + "gui.crazyae2addons.penrose_mass_current_mu": "当前:%s MU", + "gui.crazyae2addons.penrose_mass_emitter_off_label": "OFF信号阈值(初始/最大间百分比):", + "gui.crazyae2addons.penrose_mass_emitter_off_placeholder": "OFF %(如45)", + "gui.crazyae2addons.penrose_mass_emitter_off_tooltip": "停止发信的阈值。", + "gui.crazyae2addons.penrose_mass_emitter_on_label": "ON信号阈值(初始/最大间百分比):", + "gui.crazyae2addons.penrose_mass_emitter_on_placeholder": "ON %(如50)", + "gui.crazyae2addons.penrose_mass_emitter_on_tooltip": "开始发信的阈值。", + "gui.crazyae2addons.penrose_mass_emitter_submit": "应用阈值", + "gui.crazyae2addons.penrose_mass_initial_mu": "初始:%s MU", + "gui.crazyae2addons.penrose_mass_max_mu": "最大:%s MU", + "gui.crazyae2addons.penrose_matter_balls": "物质球:能量x8", + "gui.crazyae2addons.penrose_overlay_bh_mass": "黑洞质量:%s MU", + "gui.crazyae2addons.penrose_overlay_disk_mass": "吸积盘质量:%s MU", + "gui.crazyae2addons.penrose_overlay_fe_in_disk": "吸积盘内FE:%s FE", + "gui.crazyae2addons.penrose_overlay_fe_stored": "已存储FE:%s FE", + "gui.crazyae2addons.penrose_overlay_gen": "每刻产量:%s FE", + "gui.crazyae2addons.penrose_overlay_use": "每刻耗量:%s FE", + "gui.crazyae2addons.penrose_power_ae": "以网络能源内AE计", + "gui.crazyae2addons.penrose_power_fe": "以多方块内FE计", + "gui.crazyae2addons.penrose_preview_status": "预览:%s,预览层级:%s", + "gui.crazyae2addons.penrose_preview_toggle": "启用/禁用预览", + "gui.crazyae2addons.penrose_singularities": "奇点:能量x64", + "gui.crazyae2addons.penrose_start_bh": "启动黑洞", + "gui.crazyae2addons.penrose_store_power": "已存储能量", + "gui.crazyae2addons.penrose_tier_label": "层级:", + "gui.crazyae2addons.penrose_title_accretion_disk": "吸积盘", + "gui.crazyae2addons.penrose_title_black_hole": "黑洞", + "gui.crazyae2addons.penrose_title_heat": "热量", + "gui.crazyae2addons.penrose_title_mass": "质量", + "gui.crazyae2addons.penrose_title_preview": "彭罗斯预览", + "gui.crazyae2addons.portable_autobuilder_req_mats": "所需材料", + "gui.crazyae2addons.portable_spatial_short": "便携式空间仓库", + "gui.crazyae2addons.provider_max": "已达到该样板供应器的最大容量", + "gui.crazyae2addons.redstone_emitter_label_name": "名称", + "gui.crazyae2addons.redstone_emitter_name": "名称", + "gui.crazyae2addons.redstone_terminal_search": "搜索", + "gui.crazyae2addons.reinforced_condenser_cells": "已存储存储组件", + "gui.crazyae2addons.reinforced_condenser_singularities": "已存储奇点", + "gui.crazyae2addons.research_dev_unlock": "将所有研究写入磁盘", + "gui.crazyae2addons.research_drive_tooltip_1": "研究成果存储于研究驱动器。", + "gui.crazyae2addons.research_drive_tooltip_2": "该驱动器后续可在配方构造器处使用。", + "gui.crazyae2addons.research_duration": "最长耗时:%s s", + "gui.crazyae2addons.research_loading": "加载中……", + "gui.crazyae2addons.research_min_comp_per_tick": "最小算力:%s cu/t", + "gui.crazyae2addons.research_output_disk_note": "存储至磁盘", + "gui.crazyae2addons.research_output_label": "研究产物", + "gui.crazyae2addons.research_pedestal_comp": "算力:%s", + "gui.crazyae2addons.research_pedestal_compact": "%s cu/t", + "gui.crazyae2addons.research_pedestal_computation": "已链接的算力:", + "gui.crazyae2addons.research_pedestal_invalid": "无效链接", + "gui.crazyae2addons.research_pedestals": "基座", + "gui.crazyae2addons.research_preview_hide": "隐藏预览", + "gui.crazyae2addons.research_preview_show": "显示预览", + "gui.crazyae2addons.research_recipe_progress": "配方进度", + "gui.crazyae2addons.research_required_comp": "所需算力:%s cu", + "gui.crazyae2addons.research_station_disk": "数据驱动器", + "gui.crazyae2addons.research_station_energy": "所用能量:%s FE/t,%s FE", + "gui.crazyae2addons.research_station_inputs": "输入", + "gui.crazyae2addons.research_stored_coolant": "已存储冷却剂", + "gui.crazyae2addons.research_stored_energy": "已存储能量", + "gui.crazyae2addons.research_stored_fluid": "已存储流体", + "gui.crazyae2addons.research_unit_computation": "提供的算力:", + "gui.crazyae2addons.research_unit_coolant": "所需冷却剂:", + "gui.crazyae2addons.research_unit_power": "所需能量:", + "gui.crazyae2addons.research_unlocks": "解锁:%s", + "gui.crazyae2addons.spawner_info_cards": "加速卡的数量", + "gui.crazyae2addons.spawner_info_speed": "加速量取决于", + "gui.crazyae2addons.spawner_preview_label": "预览:", + "gui.crazyae2addons.spawner_preview_tooltip": "启用/禁用预览", + "gui.crazyae2addons.tag_view_cell_confirm": "确认", + "gui.crazyae2addons.tag_view_cell_input": "输入过滤器", + "gui.crazyae2addons.tag_view_cell_title": "标签显示元件", + "gui.crazyae2addons.toast.stock_alert_above": "已超过阈值(阈值为%s,当前为%s)", + "gui.crazyae2addons.toast.stock_alert_below": "已不达阈值(阈值为%s,当前为%s)", + "gui.crazyae2addons.toast.stock_alert_title": "AE2库存警报", + "gui.crazyae2addons.wireless_redstone_search": "搜索", + "item.crazyae2addons.automation_upgrade_card": "自动化升级卡", "item.crazyae2addons.builder_pattern": "建筑机样板", "item.crazyae2addons.chunky_fluid_p2p_tunnel": "批次流体P2P通道", "item.crazyae2addons.circuit_upgrade_card": "电路升级卡", @@ -77,17 +380,21 @@ "item.crazyae2addons.nbt_export_bus": "NBT输出总线", "item.crazyae2addons.nbt_storage_bus": "NBT存储总线", "item.crazyae2addons.nbt_view_cell": "NBT显示元件", - "item.crazyae2addons.nokia_3310": "诺基亚3310", + "item.crazyae2addons.player_upgrade_card": "玩家升级卡", + "item.crazyae2addons.portable_builder": "便携式建筑机", + "item.crazyae2addons.portable_spatial_storage": "便携式空间仓库", "item.crazyae2addons.redstone_emitter": "红石发信器", "item.crazyae2addons.redstone_terminal": "红石终端", "item.crazyae2addons.research_fluid_bucket": "研究流体桶", "item.crazyae2addons.round_robin_item_p2p_tunnel": "轮询物品P2P通道", - "item.crazyae2addons.samsung_galaxy_s6": "三星Galaxy S6", "item.crazyae2addons.super_singularity": "超级奇点", "item.crazyae2addons.tag_view_cell": "标签显示元件", - "item.crazyae2addons.unassembled_crazy_pattern_provider": "未组装的疯狂样板供应器", + "item.crazyae2addons.wireless_notification_terminal": "无线通知终端", "item.crazyae2addons.wireless_redstone_terminal": "无线红石终端", "item.crazyae2addons.wormhole_tunnel": "虫洞通道", "item.crazyae2addons.xp_shard": "经验碎片", - "key.ae2.wireless_redstone_terminal": "打开无线红石终端" + "jei.crazyae2addons.category_cradle": "熵变催变仪", + "jei.crazyae2addons.category_crazy_multiblocks": "疯狂多方块", + "key.ae2.wireless_redstone_terminal": "打开无线红石终端", + "penrose.xei.description": "一个方块就很贵了\n你还要攒出1600个" } \ No newline at end of file From ddafef4680b671b16bedf70adbfa84d57411a475 Mon Sep 17 00:00:00 2001 From: ChuijkYahus <94828194+ChuijkYahus@users.noreply.github.com> Date: Sat, 20 Dec 2025 21:09:09 +0800 Subject: [PATCH 2/3] CrazyAE2Addons update --- .../ae2guide/_zh_cn/crazyae2addons_index.md | 32 +++ .../_zh_cn/crazyguide/ampere_meter.md | 23 ++ .../_zh_cn/crazyguide/auto_builder.md | 63 +++++ .../crazyguide/auto_builder_language.md | 212 ++++++++++++++++ .../_zh_cn/crazyguide/auto_enchanter.md | 55 +++++ .../crazyguide/chunky_fluid_p2p_tunnel.md | 23 ++ .../crazyguide/circuited_pattern_provider.md | 30 +++ .../ae2guide/_zh_cn/crazyguide/cpu_prio.md | 56 +++++ .../_zh_cn/crazyguide/crafting_scheduler.md | 38 +++ .../_zh_cn/crazyguide/crazy_calculator.md | 27 +++ .../crazyguide/crazy_emitter_multiplier.md | 46 ++++ .../crazyguide/crazy_pattern_modifier.md | 32 +++ .../crazyguide/crazy_pattern_multiplier.md | 27 +++ .../crazyguide/crazy_pattern_provider.md | 45 ++++ .../_zh_cn/crazyguide/display_monitor.md | 228 +++++++++++++++++ .../ae2guide/_zh_cn/crazyguide/ejector.md | 34 +++ .../_zh_cn/crazyguide/energy_exporter.md | 33 +++ .../_zh_cn/crazyguide/energy_interface.md | 32 +++ .../_zh_cn/crazyguide/entity_ticker.md | 29 +++ .../_zh_cn/crazyguide/entropy_cradle.md | 45 ++++ .../crazyguide/extracting_p2p_tunnels.md | 45 ++++ .../crazyguide/impulsed_pattern_provider.md | 29 +++ .../crazyguide/mob_annihilation_plane.md | 26 ++ .../_zh_cn/crazyguide/mob_export_bus.md | 29 +++ .../ae2guide/_zh_cn/crazyguide/mob_farm.md | 59 +++++ .../_zh_cn/crazyguide/mob_formation_plane.md | 41 ++++ .../_zh_cn/crazyguide/nbt_export_bus.md | 55 +++++ .../_zh_cn/crazyguide/nbt_storage_bus.md | 58 +++++ .../crazyguide/notification_terminal.md | 47 ++++ .../_zh_cn/crazyguide/penrose_sphere.md | 190 +++++++++++++++ .../crazyguide/player_automation_cards.md | 47 ++++ .../_zh_cn/crazyguide/portable_autobuilder.md | 113 +++++++++ .../_zh_cn/crazyguide/portable_spatial_io.md | 90 +++++++ .../_zh_cn/crazyguide/redstone_emitter.md | 40 +++ .../_zh_cn/crazyguide/redstone_terminal.md | 51 ++++ .../crazyguide/reinforced_matter_condenser.md | 48 ++++ .../ae2guide/_zh_cn/crazyguide/research.md | 149 ++++++++++++ .../crazyguide/round_robin_item_p2p_tunnel.md | 15 ++ .../_zh_cn/crazyguide/signalling_interface.md | 35 +++ .../_zh_cn/crazyguide/spawner_extractor.md | 48 ++++ .../_zh_cn/crazyguide/stone_cutter_recipes.md | 20 ++ .../ae2guide/_zh_cn/crazyguide/view_cells.md | 64 +++++ .../_zh_cn/crazyguide/wormhole_tunnel.md | 42 ++++ .../ae2guide/crazyae2addons_index.md | 35 +++ .../ae2guide/crazyguide/ampere_meter.md | 23 ++ .../ae2guide/crazyguide/auto_builder.md | 64 +++++ .../crazyguide/auto_builder_language.md | 212 ++++++++++++++++ .../ae2guide/crazyguide/auto_enchanter.md | 55 +++++ .../crazyguide/chunky_fluid_p2p_tunnel.md | 23 ++ .../crazyguide/circuited_pattern_provider.md | 31 +++ .../ae2guide/crazyguide/cpu_prio.md | 56 +++++ .../ae2guide/crazyguide/crafting_scheduler.md | 38 +++ .../ae2guide/crazyguide/crazy_calculator.md | 27 +++ .../crazyguide/crazy_emitter_multiplier.md | 46 ++++ .../crazyguide/crazy_pattern_modifier.md | 34 +++ .../crazyguide/crazy_pattern_multiplier.md | 31 +++ .../crazyguide/crazy_pattern_provider.md | 46 ++++ .../ae2guide/crazyguide/display_monitor.md | 229 ++++++++++++++++++ .../ae2guide/crazyguide/ejector.md | 35 +++ .../ae2guide/crazyguide/energy_exporter.md | 38 +++ .../ae2guide/crazyguide/energy_interface.md | 32 +++ .../ae2guide/crazyguide/entity_ticker.md | 29 +++ .../ae2guide/crazyguide/entropy_cradle.md | 46 ++++ .../crazyguide/extracting_p2p_tunnels.md | 47 ++++ .../crazyguide/impulsed_pattern_provider.md | 29 +++ .../crazyguide/mob_annihilation_plane.md | 26 ++ .../ae2guide/crazyguide/mob_export_bus.md | 29 +++ .../ae2guide/crazyguide/mob_farm.md | 59 +++++ .../crazyguide/mob_formation_plane.md | 41 ++++ .../ae2guide/crazyguide/nbt_export_bus.md | 55 +++++ .../ae2guide/crazyguide/nbt_storage_bus.md | 58 +++++ .../crazyguide/notification_terminal.md | 48 ++++ .../ae2guide/crazyguide/penrose_sphere.md | 190 +++++++++++++++ .../crazyguide/player_automation_cards.md | 47 ++++ .../crazyguide/portable_autobuilder.md | 113 +++++++++ .../crazyguide/portable_spatial_io.md | 90 +++++++ .../ae2guide/crazyguide/redstone_emitter.md | 40 +++ .../ae2guide/crazyguide/redstone_terminal.md | 51 ++++ .../crazyguide/reinforced_matter_condenser.md | 49 ++++ .../ae2guide/crazyguide/research.md | 152 ++++++++++++ .../crazyguide/round_robin_item_p2p_tunnel.md | 15 ++ .../crazyguide/signalling_interface.md | 35 +++ .../ae2guide/crazyguide/spawner_extractor.md | 48 ++++ .../crazyguide/stone_cutter_recipes.md | 20 ++ .../ae2guide/crazyguide/view_cells.md | 64 +++++ .../ae2guide/crazyguide/wormhole_tunnel.md | 42 ++++ 86 files changed, 4929 insertions(+) create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyae2addons_index.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ampere_meter.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder_language.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_enchanter.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/chunky_fluid_p2p_tunnel.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/circuited_pattern_provider.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/cpu_prio.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crafting_scheduler.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_calculator.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_emitter_multiplier.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_modifier.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_multiplier.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_provider.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/display_monitor.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ejector.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_exporter.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_interface.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entity_ticker.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entropy_cradle.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/extracting_p2p_tunnels.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/impulsed_pattern_provider.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_annihilation_plane.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_export_bus.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_farm.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_formation_plane.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_export_bus.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_storage_bus.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/notification_terminal.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/penrose_sphere.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/player_automation_cards.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/portable_autobuilder.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/portable_spatial_io.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_emitter.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_terminal.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/reinforced_matter_condenser.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/research.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/round_robin_item_p2p_tunnel.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/signalling_interface.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/spawner_extractor.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/stone_cutter_recipes.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/view_cells.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/wormhole_tunnel.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyae2addons_index.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ampere_meter.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder_language.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_enchanter.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/chunky_fluid_p2p_tunnel.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/circuited_pattern_provider.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/cpu_prio.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crafting_scheduler.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_calculator.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_emitter_multiplier.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_modifier.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_multiplier.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_provider.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/display_monitor.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ejector.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_exporter.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_interface.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entity_ticker.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entropy_cradle.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/extracting_p2p_tunnels.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/impulsed_pattern_provider.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_annihilation_plane.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_export_bus.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_farm.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_formation_plane.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_export_bus.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_storage_bus.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/notification_terminal.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/penrose_sphere.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/player_automation_cards.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/portable_autobuilder.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/portable_spatial_io.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_emitter.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_terminal.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/reinforced_matter_condenser.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/research.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/round_robin_item_p2p_tunnel.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/signalling_interface.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/spawner_extractor.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/stone_cutter_recipes.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/view_cells.md create mode 100644 projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/wormhole_tunnel.md diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyae2addons_index.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyae2addons_index.md new file mode 100644 index 000000000000..3b1fa9302389 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyae2addons_index.md @@ -0,0 +1,32 @@ +--- +navigation: + title: Crazy AE2 Addons + position: 120 +--- + +# Crazy AE2 Addons + +Crazy AE2 Addons以多种方式拓展了应用能源2(Applied Energistics 2)的功能——模组引入了高级自动化设备、数据处理方式,以及网络控制方块。Crazy AE2 Addons的所有机制均以原版AE2的机制为基础,所添加的*绝大多数*方块均需在ME网络中运作。模组还加入了一系列实用功能。 + +--- + +## 需要帮助?加入我的[Discord](https://discord.com/invite/mWy8AVRtwz)服务器吧 +### 也可以在[YouTube](https://www.youtube.com/playlist?list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r)中观看系列视频教程 +--- +## 特性 + +### 合成与样板 + + + +### 监测与自动化 + + + +### 能量与物品运输 + + + +### 生物存储 + + \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ampere_meter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ampere_meter.md new file mode 100644 index 000000000000..5a176d221e9f --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ampere_meter.md @@ -0,0 +1,23 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 电流表 + icon: crazyae2addons:ampere_meter +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:ampere_meter +--- + +# 电流表 + + + +电流表的功能相对简单:能显示两端间能量的传输量。使用时,此设备需与两个使用能量的方块相邻。右击电流表可进行设置。 + +界面中央有一个箭头按钮,点击可切换能量输入和输出端。可以来回翻转箭头并观察数字的变化以进行测试。界面中的主要数据是在若干刻内统计出的平均传输率,测量Forge能量(FE)时显示格式为`10k FE/t`,测量格雷科技(GregTech)的能量时则类似`4A (LuV)`。它还可充当二极管,用于阻断相反方向的能量流动。 + +## 兼容性 + +- 对任意使用Forge能量的机器有效。 +- 安装格雷科技时,还可测量EU电流和电压。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder.md new file mode 100644 index 000000000000..e474ad40ae24 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder.md @@ -0,0 +1,63 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 自动建筑机 + icon: crazyae2addons:auto_builder +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:auto_builder +--- + +# 自动建筑机 + +## [视频教程](https://youtu.be/Cvj5r-ilMYU&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## [如何编程](auto_builder_language.md) + + + +自动建筑机是应用能源2(AE2)驱动的可编程建筑机器人。它会从特制的**建筑机样板**中读取数据,并照指示放置或移除方块。 + +--- + +## 工作原理 + +1. **为样板编码** + - 对两个位置使用建筑机样板以选择角落(右击选择第一个角落,Shift右击选择第二个)。 + - 右击空气以将结构复制并存入物品。 + - 范围内的所有方块都会被扫描,从而制成建筑机样板。 + +2. **编辑样板(可选)** + - 手持建筑机样板Shift右击可打开一个文本编辑器GUI。 + - 可在其中调整延时,或是加入重置、移除、循环、宏等命令。 + - 右侧的数字是各命令间的延时,以刻计(默认20刻,合1秒),设为0可让其以最高速度运转。 + +3. **放入样板** + - 将样板放入**自动建筑机**方块。 + - 同一时刻只可放入一个样板。 + - 可以通过自动方式向其中放入和从中取出样板。 + +4. **提供能量和物品** + - 将自动建筑机连接至ME网络。 + - 确保ME网络存储中有足够的建筑材料。 + - 自动建筑机会在开始执行前抽取**当次所需的全部能量**。 + - 支持合成卡。 + +5. **触发建筑** + - 向顶部提供红石信号以开始建筑。 + - 建筑机会**基于其自身朝向**执行指令。 + - **预览模式**会实时显示方块影像,在开始操作前可作参考。 + - 搭建完毕后,建筑机会向各面发出一个短红石脉冲。 + - 加速卡可加快其工作速度。 + +--- + +## 关键特性 + +- **相对性**:结构会基于建筑机的朝向进行搭建 +- **预览模式**:在预定要放置和移除方块的位置实时显示方块预览影像 +- **能量预支**:程序开始时就将消耗整段程序所需的能量,能量不足便不会启动 +- **放置方块附带回收**:拆下的方块会返回ME网络存储 +- **完全与AE2的存储和供能系统集成** +- **操作可使用红石控制** diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder_language.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder_language.md new file mode 100644 index 000000000000..a37f8d5781f1 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_builder_language.md @@ -0,0 +1,212 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 自动建筑机编程语言 + icon: crazyae2addons:builder_pattern +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:builder_pattern +--- + +# 自动建筑机编程语言:完整教程 + +自动建筑机(AutoBuilder)语言可用于指示可编程的建筑机,让它执行移动、放置方块、破坏方块、等待等许多动作,且语言的语法简练、对宏友好。 + +--- + +## 程序结构 + +每则自动建筑机程序都可分为2或3个部分,各部分间使用管道符号(“|”)连接: + +方块映射 | 宏 | 主程序 + +可以跳过宏部分: + +方块映射 | 主程序 + +### 方块映射 + +定义可以使用的方块,并为其分配数字ID。语法为: + +0(minecraft:stone),1(minecraft:dirt),2(minecraft:oak_planks) + +每项的语法为: + +\<数字\>(\<方块ID\>) + +方块ID**不得**包含NBT数据,但允许包含方块状态,例如: + +0(minecraft:oak_log\[axis=y\]) + +### 宏(可选) + +宏是可重复使用的代码段,使用方括号定义: + +\[宏名\](指令) + +示例: + +\[stairs\](P(0)D) \[floor\](3{P(1)R}) + +主程序中可由以下方式使用: + +\[floor\]\[stairs\] + +### 程序代码 + +指定实际的逻辑。可以直接使用指令,也可使用循环、宏、方块放置等。 + +--- + +## 指令参考文档 + +### 移动 + +| 代码 | 意义 | +| ---- | ------------ | +| U | 向上移动 | +| D | 向下移动 | +| F | 向前移动 | +| B | 向后移动 | +| L | 向左移动 | +| R | 向右移动 | +| H | 返回起始点 | +| X | 清除(破坏) | + +实际移动方向的基准是**自动建筑机的当前朝向**,而不是东南西北等世界基本方位。 + +每次移动都会将建筑机的游标向该方向移动**1格**。 + +--- + +### 放置方块 + +P(n) + +放置方块映射中定义的方块。例如: + +P(0) + +会放置ID为0的方块,如minecraft:stone。 + +--- + +### 破坏方块 + +X + +破坏当前位置的方块。 + +--- + +### 循环 + +3{ ... } + +将大括号中间的内容重复**3遍**。 + +示例: + +4{P(1)R} + +放置方块1并向右移动,重复4次。 + +循环可嵌套。 + +示例: + +2{3{P(1)F}U} + +放置后向前移动,重复3次,然后向上移动。将此动作序列重复2次。 + +--- + +### 等待 + +Z(n) + +等待n个Minecraft刻(20刻 = 1秒)。 + +示例: + +P(0)Z(40)P(1) + +放置方块0,等待2秒,放置方块1。 + +--- + +### 回到起始点 + +H + +令建筑机返回其启动位置。 + +--- + +### 宏 + +需在“宏”部分中定义,再在程序中通过以下形式使用: + +[宏名] + +宏中可以包含其他宏、循环等。 + +示例: + +\[stairStep\](P(0)U F) + +--- + +## 示例 + +### 1. 以一条线放置3格石头 + +0(minecraft:stone) | P(0)F P(0)F P(0)F + +功能一致,换用循环: + +0(minecraft:stone) | 3{P(0)F} + +--- + +### 2. 破坏后重建 + +0(minecraft:oak_planks) | X Z(20) P(0) + +破坏方块,等待1秒,放置橡木木板。 + +--- + +### 3. 搭建阶梯 + +0(minecraft:oak_planks) | 5{P(0)U F} + +向上方和前方搭建5个阶梯。 + +--- + +### 4. 返回原点 + +0(minecraft:stone) | 4{P(0)F} H + +搭建向前延伸4格的小路,然后返回起点。 + +--- + +### 5. 使用宏 + +0(minecraft:stone),1(minecraft:dirt) | \[line\](3{P(0)F}) \[top\](U \[line\]) | \[line\]\[top\]\[line\] + +- 定义“线”/“line”,也即向前3格的石头小路。 +- 定义“上方”/“top”,也即在上方1格处搭建同样的“线”。 + +--- + +## 错误处理 + +本语言是一种严格语言: + +- 在P(n)中使用方块映射内不存在的ID -> 错误。 +- 括号({}、()、[])错配 -> 错误。 +- 宏无限递归 -> 错误。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_enchanter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_enchanter.md new file mode 100644 index 000000000000..3f319735e40f --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/auto_enchanter.md @@ -0,0 +1,55 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 自动附魔器 + icon: crazyae2addons:auto_enchanter +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:auto_enchanter +--- + +# 自动附魔器 + + + +自动附魔器是能独立运作的附魔机器,会使用ME网络中的经验碎片自动为书和工具附魔。它的附魔方式类似于原版Minecraft和神化(Apotheosis)。此设备必需放置在标准附魔台设施下方2格处,且其附魔能力取决于书架的数目。 + +## 使用方法 + +## [视频教程](https://youtu.be/Zu213pe7Jeo&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +1. **放置自动附魔器** + - 此设备必须放置在附魔台下方2格处。 + - 和原版一样,在附魔台周围放置书架,以提高附魔等级。 + +2. **放入物品** + - 输入槽:放入需附魔的物品(工具、武器、书)。 + - 青金石槽:放入青金石(附魔必需品)。 + - 输出槽:经过附魔的物品会送到此处。 + +3. **前置需求** + - 需要ME系统中存有经验碎片。 + - 经验消耗根据书架计算。 + +4. **选择附魔选项** + - 在GUI内,挑选三项附魔选项之一(1到3级)。 + - 点击相应按钮选择选项。 + - GUI会显示预期的经验消耗。 + +5. **自动化** + - 打开或关闭**自动供应青金石**:自动从网络中补充青金石。 + - 打开或关闭**自动供应书**:自动从网络中补充书。 + +## 神化支持 + +如果同时安装有神化: +- 自动附魔器会自动扫描周围所有书架的特殊属性,如位阶、量子化、阿卡那、魔咒线索,同时可出产宝藏型魔咒。 + +## 行为总概 + +- 如启用,可自动补充输入物品和青金石。 +- 会消耗网络中的经验碎片(1 碎片 = 10 经验)。 +- 只在其上方2格处存在有效附魔台时运作。 +- 会基于原版Minecraft或神化附魔机制产出附魔书和附魔的物品。 +- 可以消耗网络中的物品。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/chunky_fluid_p2p_tunnel.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/chunky_fluid_p2p_tunnel.md new file mode 100644 index 000000000000..00a589e6695c --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/chunky_fluid_p2p_tunnel.md @@ -0,0 +1,23 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 批次流体P2P + icon: crazyae2addons:chunky_fluid_p2p_tunnel +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:chunky_fluid_p2p_tunnel +--- + +# 批次流体P2P通道 + +批次流体P2P通道是一类线缆子部件,能按固定体积的批次发送流体。在积攒到所配置批次大小(以毫桶计)前,此通道不会进行发送。积攒足量流体之后,它会向链接的输出端发送所配置数量的流体,且会向各个输出端依次输出,保证各端均衡。 + +## [视频教程](https://youtu.be/fcd3xHpsXnE&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## 使用方法 + +1. **放置子部件**:将批次流体P2P通道放置在ME线缆上,也可朝向连接至储罐或流体机器的接口。 +2. **配置批次大小**:空手右击通道以打开其设置。输入需发送的批次大小(以毫桶计,例如`1000`为1桶),并点击“保存”/“Save”。 +3. **进行链接**:使用内存卡链接输出端。 +4. **填充后发送**:流体进入通道后,如果体积满足批次设置,通道即会向队列中的下一个输出端发送单批次的流体。如果体积不足,则什么都不会发生。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/circuited_pattern_provider.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/circuited_pattern_provider.md new file mode 100644 index 000000000000..ed1c58e60f24 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/circuited_pattern_provider.md @@ -0,0 +1,30 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 电路样板供应器 + icon: ae2:pattern_provider +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:circuit_upgrade_card +--- + +# 电路样板供应器 + +# 只会在安装有格雷科技(GregTech)时出现。 + +本附属加入了一项额外功能:在*几乎*所有样板供应器中使用带有“circuit”标签(由疯狂样板修改工具设置)时,都会在合成之前将该编号的编程电路载入所有与之相连的格雷科技机器。 + +- 可与接口接存储总线协同运作(存储总线必须带有电路升级卡)。 +- 可与Modern AE2 Additions的样板P2P通道协同运作。 +- 可与上述两种体系的各种组合协同运作。 + +## [视频教程](https://youtu.be/xhu6xvmIjI0&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## 使用方法 + +1. **放置方块**:将样板供应器连接至ME网络。 +2. **准备样板**:使用疯狂样板修改工具为样板分配电路ID(1到32)。 +3. **打开界面**:右击样板供应器放入样板,也可进行管理。 +4. **进行合成**:请求合成时,样板供应器在将原材料批次发送给相连的机器前,会先将机器的编程电路槽设置为样板中指定的编程电路。 +5. **坐享其成**:无需再手动放置编程电路——所有格雷科技机器每次都能自动正确取用。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/cpu_prio.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/cpu_prio.md new file mode 100644 index 000000000000..b0c509ffdfcd --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/cpu_prio.md @@ -0,0 +1,56 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: CPU优先级 + icon: crazyae2addons:cpu_prio_tuner +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:cpu_prio_tuner +--- + +# 合成CPU优先级 + +在**应用能源2(Applied Energistics 2,AE2)**中,如果ME网络中有多个**合成CPU**,那么通常来说ME系统会为合成任务自动分配CPU。默认情况下,这种挑选过程相对来说比较随意——哪个CPU当前正好空闲,就让哪个CPU来处理任务。 + +某些情况下,这种挑选方式会产生预期之外的结果;尤其是需要CPU优先完成自身任务时,或是需防止CPU中物品被其他合成任务“夺取”时。 + +## [视频教程](https://youtu.be/N7GTS2fAxjc&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 为什么需要优先级? + +安装此附属后,每个合成CPU都可分配一个**优先级**。 + +* **高优先级**的CPU会在低优先级CPU之前收到所需物品。 +* 如果有两个CPU在等待同种物品,**高优先级**的会首先拿到。 +* 可借此控制网络中CPU竞争物品的方式。 + +此特性在如下情况中很有用处: + +* 需要一台‌**“主要”CPU**‌来处理重要配方,优先于其他小型CPU。 +* 需要**分离任务**(如避免自动合成CPU干扰批量合成CPU)。 +* 希望合成工作流更可控,而非完全依赖于随机分配。 + +--- + +## 如何设置CPU优先级 + +1. 合成并手持**CPU优先级调整器**(用于配置CPU结构优先级的工具)。 +2. 右击需配置的**合成CPU结构**中的方块。 +3. 对应的配置界面会打开。 +4. 在优先级输入框中输入数字: + * 数字越大,**优先级越高**。 + * 数字越小或越负,**优先级越低**。 +5. 按下**保存/Save**。 + +新设置的优先级会直接存储在CPU结构中。可按此步骤为其他CPU设置优先级。 + +--- + +## 提示 + +* 如果所有CPU的优先级都一致,那么挑选方式就会和AE2原版一致——随机分配。 +* 主要CPU使用**较大的正数**,次要的使用**负数或较小的正数**。 +* 可随意修改CPU的优先级,而无需破坏或重新进行搭建。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crafting_scheduler.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crafting_scheduler.md new file mode 100644 index 000000000000..83e8ee6e5908 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crafting_scheduler.md @@ -0,0 +1,38 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 合成规划器 + icon: crazyae2addons:crafting_scheduler +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:crafting_scheduler +--- + +# 合成规划器 + + + +合成规划器是可被红石触发的合成方块,激活时可向系统递交合成任务。可用它以红石自动化特定的合成请求。 + +--- + +## 使用方法 + +1. **放置方块** + - 将其连接至ME网络。 + - 确保其能访问到至少1个可用的CPU。 + +2. **放入需合成的物品** + - 打开其GUI。 + - 在槽位中选择需要合成的物品。 + +3. **设置数量** + - 输入每次触发需合成的数量。 + - 应在文本框内输入,并使用绿色按钮确认。 + +4. **红石触发** + - 给予一次红石脉冲。 + +5. **可重复使用** + - 如果CPU空闲,则每次脉冲都会触发一次合成任务。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_calculator.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_calculator.md new file mode 100644 index 000000000000..592bd83ed560 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_calculator.md @@ -0,0 +1,27 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 疯狂计算工具 + icon: crazyae2addons:crazy_calculator +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:crazy_calculator +--- + +# 疯狂计算工具 + + + +疯狂计算工具是一件便携工具,会打开GUI计算器。 + +## 使用方法 + +1. **手持使用** + - 手持右击打开其GUI。 + +2. **输入表达式** + - 可以使用加法、减法、乘法、除法、括号。例如:2k*(1/3m)+12g(2k为2000,3m为3 000 000,12g为12 000 000 000) + +3. **计算结果** + - 按下按钮,即会在下方给出计算结果。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_emitter_multiplier.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_emitter_multiplier.md new file mode 100644 index 000000000000..c2f9e4cc85e4 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_emitter_multiplier.md @@ -0,0 +1,46 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 疯狂发信器倍增工具 + icon: crazyae2addons:crazy_emitter_multiplier +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:crazy_emitter_multiplier +--- + +# 疯狂发信器倍增工具 + + + +疯狂发信器倍增工具是一种手持工具,可用来设置或倍增ME网络中任意**标准发信器**的信号阈值,操作便捷。 + +无需再手动输入数字了,这件工具能快速倍增或是直接替换发信器的阈值。 + +--- + +## 使用方法 + +## [视频教程](https://youtu.be/__CiwpU4bbg&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +### 1. 打开GUI +- 手持物品右击。 +- 打开的界面中有: + - 一个**文本框**,可供输入数或数学表达式(如100、2*64、1k)。 + - 一个**勾选框**,用于切换“倍增”/“Multiply”和“设置”/“Set”模式。 + - 一个确认按钮,用于保存。 + +### 2. 设置模式 +- **设置/Set**:直接将输入的数赋给发信器。 +- **倍增/Multiply**:倍增发信器的阈值,倍数为所给数。 + +### 3. 对标准发信器使用 +- 手持配置完成的疯狂发信器倍增工具潜行右击任意标准发信器。 +- 发信器的阈值会按保存的模式和数进行更新。 + +--- + +## 特性 + +- 支持数学表达式和单位(`1k = 1000`、`2*64`,等等)。 +- 只对AE2的标准发信器有效。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_modifier.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_modifier.md new file mode 100644 index 000000000000..9155e32de026 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_modifier.md @@ -0,0 +1,32 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 疯狂样板修改工具 + icon: crazyae2addons:crazy_pattern_modifier +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:crazy_pattern_modifier +--- + +# 疯狂样板修改工具 + + + +疯狂样板修改工具是一件用途很多的物品,可用来调整AE2的处理样板。 + +可以选择忽略NBT——原本的样板会要求材料携带特定魔咒或物品标签,改后变成可接受任意匹配的物品。 + +还可向样板编入特定配置的电路ID,以供电路样板供应器和格雷科技(GregTech)的机器使用。 + +## [忽略NBT视频教程](https://youtu.be/FSIh5NOEOzg&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) +## [其他特性](https://youtu.be/__CiwpU4bbg&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## 使用方法 + +手持疯狂样板修改工具右击可打开其界面。对样板供应器方块右击时,会同时打开供应器的界面。界面中只有单个槽位,用于放置处理样板。由两个按钮用于修改设置: + +- **忽略NBT**:点击NBT按钮可让样板忽略或匹配NBT标签。启用后,可在不指定具体魔咒的情况下合成附魔书等物品。 +- **设置电路**:如果安装有格雷科技,可在下方的文本框中输入一个数(1到32),点击确认可为样板分别该配置的编程电路。 + +调整配置的过程中,界面会显示当前的配置模式(如“当前:忽略NBT”/“Current: ignore NBT”或“选择5号编程电路”/“Selected circuit 5”)。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_multiplier.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_multiplier.md new file mode 100644 index 000000000000..705181670280 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_multiplier.md @@ -0,0 +1,27 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 疯狂样板倍增工具 + icon: crazyae2addons:crazy_pattern_multiplier +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:crazy_pattern_multiplier +--- + +# 疯狂样板倍增工具 + + + +## [视频教程](https://youtu.be/__CiwpU4bbg&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +疯狂样板倍增工具是一种便捷工具,能轻松修改处理样板中的材料数量,无需重新手动制作。可借此将输入和输出均乘以任意正数。可以设置上限,倍增工具不会倍增在其之上的样板。也可以批量修改所有样板的电路号。 + +乘数输入框支持数学表达式,如`2*(3+1)`。 + +## 使用方法 + +1. **打开GUI**: 手持疯狂样板倍增工具右击打开其界面。其中有36个槽位和一个标记为“乘数”/“Multiplier”的输入框。 +2. **设置乘数**:在输入框中输入用于修改的乘数。比如`2`对应翻倍,`0.5`对应减半,还可用`1k`对应1000倍。 +3. **应用于样板**:点击确认按钮。倍增工具会将槽位中的所有样板的原材料和产物数量乘以乘数。 +4. **潜行点击支持**:对任意容器(如样板供应器和箱子)潜行右击,可将最后一次使用的乘数作用于该容器中的所有样板。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_provider.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_provider.md new file mode 100644 index 000000000000..322575fa24fd --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_provider.md @@ -0,0 +1,45 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 疯狂样板供应器 + icon: crazyae2addons:crazy_pattern_provider +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:crazy_pattern_provider + - crazyae2addons:crazy_upgrade +--- + +# 疯狂样板供应器 + + + +疯狂样板供应器是应用能源2(AE2)样板供应器的扩展版本,具有动态的可扩展性。破坏时会保留所有设置和内容物。 + +## [视频教程](https://youtu.be/54WvhbR3GfY&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 重要特性 + +- **可扩展的样板容量** + - 开始时为72(8x9)个样板槽。 + - 用疯狂升级右击可增加9个槽位。 + - 槽位数没有上限,加到9999个样板槽也没关系。 + +- **可滚动的GUI** + - 界面中会显示当前的样板槽数。 +- **悬停文本** + - 界面中会显示供应器当前的容量和已经放入的样板个数。 +--- + +## 使用方法 + +1. **放置方块** + - 与标准的AE2样板供应器类似,需连接至ME网络。 + +2. **放入已编码的样板** + +3. **升级以增加槽位数** + - 对方块使用疯狂升级以增加样板容量。 + - 界面会自动更新。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/display_monitor.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/display_monitor.md new file mode 100644 index 000000000000..e2acf9348499 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/display_monitor.md @@ -0,0 +1,228 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 显示监视器 + icon: crazyae2addons:display_monitor +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:display_monitor +--- + +# 显示监视器——用户指南 + +## 简短参考表 +* &cRRGGBB — 文本颜色 +* &bRRGGBB — 背景颜色 +* &i^namespace:id — 行内图标(物品、方块、流体) +* &s^namespace:id — ME库存量 +* &s^namespace:id%N — ME库存量,按10的N次方缩放(有舍入) +* &d^namespace:id@WINDOW — 对WINDOW进行变化量统计,再缩放至每秒变化量 +* &d^namespace:id%PER@WINDOW — 对WINDOW进行变化量统计,再缩放至PER中的变化量 +* &( ... ) — 数学表达式求值,如&( 2 + 2 ) +* 其他Markdown语法也有效 + +![显示监视器](../img/display.png) + +本教程解释了如何配置Crazy AE2 Addons附属的显示监视器,如何在其中格式化文本,以及如何搭建多方块显示监视器墙。 + +## [视频教程](https://youtu.be/49oCeCdQrXg&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 显示监视器是什么 + +显示监视器是可以放置在线缆某一面上的平板型应用能源2(AE2)子部件。激活后,它可以渲染文本(支持简单的格式、颜色、行内标签),也可实时显示ME库存量及其变化量。 + +能耗:空闲能耗极少(约1 AE/t)。监视器只有在接受供能并启用时才会进行渲染。 + +--- + +## 快速入门 + +1. 将显示监视器放置在线缆上。 +2. 右击打开显示菜单。 +3. 在文本框内输入显示信息。示例: + +系统在线 +\* &i^minecraft:iron_ingot库存:&s^minecraft:iron_ingot +\* &i^minecraft:iron_ingot/s:&d^minecraft:iron_ingot%1s@1m + +4. 应用/保存。监视器会在有能量供应时显示文本。 + +![显示效果](../img/display1.png) + +--- + +## 换行 + +在需换行处按下Enter或输入&nl。 + +--- + +## 文本格式化 + +### 行内样式(类Markdown) + +* **粗体**使用\*\*双星号\*\* +* *斜体*使用单\*星号\* +* __下划线__‌使用双\_\_下划线\_\_ +* ~~删除线~~使用双\~\~波浪号\~\~ + +### 标题 + +以若干#号起始的行为标题,会以较大字号进行渲染: + +* \# 标题1 +* \#\# 标题2 +* \#\#\# 标题3 + +### 表项号与缩进 + +* 行首为“* ”或“- ”对应表项点号(•)。 +* 行首有任意数量个“>>”代表缩进记号。 + +--- + +### 颜色 + +* 文本颜色:&cRRGGBB(十六进制),在下一次更改前有效。 + * 示例:`&cFF0000`会让其后方的文本变为红色。 +* 背景颜色:`&bRRGGBB`(十六进制),设置整个面板的背景颜色(不透明)。 + * 背景颜色在显示监视器阵列中全局有效(文本中任意一处设置即可)。 + +示例: + +&b002020状态:&cF000E0\*\*在线\*\* + +![显示效果](../img/display2.png) + +--- + +## 行内图标 + +可使用下方语法在行内渲染物品、方块、流体的图标: + +&i^namespace:id + +示例: + +* &i^minecraft:diamond +* &i^minecraft:oak_log +* &i^minecraft:water + +ID无法解析时会显示为普通文本。 + +--- + +## ME库存量(从存储空间自动计量) + +可使用下方语法显示当前ME存储空间内某物的数量: + +&s^namespace:id +&s^namespace:id%N + +* &s^minecraft:oak_log显示精确数量。 +* 可选的%N会以10的N次方进行缩放,附带舍入。 + +示例(假设网络中有64个): + +* &s^minecraft:oak_log -> 64 +* &s^minecraft:oak_log%1 -> 6 +* &s^minecraft:oak_log%2 -> 1(舍入) + +--- + +## 差值/变化率(即随时间的变化量) + +可使用下方语法显示变化率: + +&d^namespace:id@WINDOW +&d^namespace:id%PER@WINDOW + +单位: + +* t = 刻 +* s = 秒 +* m = 分钟 + +意义: + +* WINDOW代表监视器计算时向前采样的时间。 +* PER代表显示值的缩放目标(如每秒、每分钟等)。省略则默认为1秒。 + +示例: + +* &d^minecraft:iron_ingot@10s + 按每秒变化量显示过去10秒变化率的均值。 +* &d^minecraft:iron_ingot%1m@5m + 按每分钟变化量显示过去5分钟变化率的均值。 +* &d^minecraft:water@30s + 对流体也有效(由ID指定)。 + +注意事项: + +* 采样窗口最短为1秒,最长为30分钟。 +* 输出带符号:正值附带+,负值附带-。 + +--- + +## 数学表达式 + +可使用下方语法对数学表达式求值: + +&( expression ) + +监视器会在解析后对表达式求值,所以可以有下方的用法: + +库存组数(舍入):&(&s^minecraft:iron_ingot / 64) + +解析失败则显示为ERR。 + +![显示效果](../img/display3.png) + +--- + +## 监视器墙(连接模式) + +墙面上(朝向东/西/南/北)的多个监视器可连接成单个巨型显示监视器。 + +### 需求 + +所有显示监视器必须: + +* 处于同一个墙面(同侧面/朝向)。 +* 有能量供应且启用。 +* 启用连接模式(Linked Mode,需在各监视器的菜单中切换,默认启用)。 +* 监视器应当形成实心长方形(无间隙和缺口)。 + +天花板和地板上的监视器(朝向上/下)不会连接成墙,而只会各自显示。 + +### 渲染原理 + +监视器墙中只有一个监视器实际进行渲染,其余的仅提供显示空间。 + +渲染器会使用(监视器墙本身视角中的)左上角作为原点。向该监视器输入文本,即可在整面墙中渲染。 + +### 搭建步骤 + +1. 在墙面上按长方形放置监视器。 +2. 向其后方的线缆供能。 +3. 启用各面板的连接模式。 +4. 打开左上角监视器的界面,编辑文本。 + +--- + +## 放置与朝向 + +* 放置在墙上(东/西/南/北):文本遵循墙面的朝向。 +* 放置在地板/天花板上(上/下):监视器会使用放置时玩家的朝向,破坏后更改玩家朝向再放置即可更改。 + +--- + +## 提示与排障 + +* 未显示文本:确保监视器有能量供应且启用;对于监视器墙而言,应编辑左上角的监视器。 +* 监视器墙未连接:检查每个监视器的连接模式是否都已启用。 + +--- diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ejector.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ejector.md new file mode 100644 index 000000000000..0c63d3014ca5 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ejector.md @@ -0,0 +1,34 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 弹出器 + icon: crazyae2addons:ejector +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:ejector +--- + +# 弹出器 + + + +弹出器是一类自动化方块,可向其前方的方块输出物品、流体或其他资源,仅需使用红石脉冲触发。 + +## [视频教程](https://youtu.be/gdV7Ga7g2Pk&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 使用方法 + +1. **放置弹出器** + - 面朝弹出的目标机器放置。 + +2. **进行设置** + - 打开其GUI,设定应当发送的资源。 + - 可以使用处理样板加载设置。 + - 支持合成卡。 + +3. **使用红石触发** + - 向弹出器发送红石脉冲。 + - 合成需发送的物品时纹理会变化。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_exporter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_exporter.md new file mode 100644 index 000000000000..ec5b7a4a7df8 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_exporter.md @@ -0,0 +1,33 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 能源输出器 + icon: crazyae2addons:energy_exporter +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:energy_exporter +--- + +# 能源输出器 + +能源输出器是一类线缆子部件,能让ME网络向其面对的机器和存储方块输出Forge能量(FE)或格雷科技能量(EU)。它会自动抽取网络中的能量向外部输出。 + +## [视频教程](https://youtu.be/UVD8DtrjLb8&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## 使用方法 + +1. **放置子部件**:将能源输出器放置在ME线缆上,面朝接受能量的方块。 +2. **打开GUI**:右击子部件打开其设置界面。 +3. **安装升级**: + - **速度卡**:指数式增加能源传输率。 + - 默认传输率为1FE/t(无升级卡),最高为整型上限的FE/t(6张升级卡)。 +4. **格雷科技(GregTech)支持**: + - 向槽位中放入电池可切换至格雷科技EU模式。 + - 输出的电压由电池等级决定,如低压(LV)、中压(MV)、高压(HV)等。 + - 必须使用锂电池。 +5. **界面输出**: + - 界面中会显示当前的传输率。 + - 在格雷科技模式下,还会显示电压和电流。 + +能源输出器会根据放入的电池和目标机器的功能自适应输出FE或EU。输出时此设备会遵守能量转换率,且不会使得网络耗能过量——网络中能量少于33%时便不会输出。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_interface.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_interface.md new file mode 100644 index 000000000000..f73c8b2a8652 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/energy_interface.md @@ -0,0 +1,32 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 能量接口 + icon: crazyae2addons:energy_interface +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:energy_interface +--- + +# 能量接口 + +**能量接口**是能将ME网络所存AE能量暴露为Forge能量(Forge Energy,FE)的被动线缆子部件。 + +## [视频教程](https://youtu.be/UVD8DtrjLb8&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 工作原理 + +- 从FE系统看来,它相当于一个电池。 +- 可抽取的能量取决于ME网络当前的能量水平。 +- 抽取限制为: + - 不多于AE总容量的**30%**。 + - 不多于500MFE,取两者中较小者。 +- 能量抽取会经过**2 FE = 1 AE**换算。 +- 也可向其**送入**能量,换算方法同样为FE至AE为2:1。 + +--- + + diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entity_ticker.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entity_ticker.md new file mode 100644 index 000000000000..be57e993cec3 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entity_ticker.md @@ -0,0 +1,29 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 实体加速器 + icon: crazyae2addons:entity_ticker +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:entity_ticker +--- + +# 实体加速器 + +实体加速器是一类线缆子部件,能大幅加快它面朝的方块实体。与它相邻的机器每游戏刻会执行多次刻,从而大幅加快烧炼、机器加工等方块实体的更新。 + +## [视频教程](https://youtu.be/4SuLOlJujO8&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## 使用方法 + +1. **放置子部件**:将实体加速器放置在ME线缆上,面朝需加速的机器或方块实体。 +2. **打开GUI**:右击子部件以查看能量消耗和更新信息。 +3. **安装升级**: + - **速度卡**:每张加速卡都会让目标方块执行刻的速度翻倍。 + - 最多可安装8张加速卡。 +4. **能量消耗**: + - 能量消耗会随速度卡数目指数式增长。 + - 基础能耗为256 FE/t,每张速度卡会让能耗变为4倍。 + +实体加速器是加快缓慢机器与设施的理想之选,但也得让ME网络准备好过硬的能量供应! \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entropy_cradle.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entropy_cradle.md new file mode 100644 index 000000000000..4488f0a0b26d --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/entropy_cradle.md @@ -0,0 +1,45 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 熵变催变仪多方块 + icon: crazyae2addons:entropy_cradle_controller +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:entropy_cradle_controller + - crazyae2addons:entropy_cradle_capacitor + - crazyae2addons:entropy_cradle +--- + +# 熵变催变仪 + + + + + +**熵变催变仪**是一种大体积多方块结构,能积累能量和转化方块。它最多可存储**6亿FE**,完全充满后还可进行高级**方块转化**。 + +## [视频教程](https://youtu.be/b_EVNTQ73i0&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 工作原理 + +1. **充能**: + - 充能水平会在600MFE处停止。 + - 六处电容器会随充能水平增长而逐级点亮。 + - 充满能量后,电容器会发出比较器信号。 + +2. **转化**: + - 充满时收到红石脉冲: + - 进行放电。 + - 如果内部有已知的结构配方,则将其替换为功能强大的方块(如彭罗斯框架、能源仓库组件等)。 + +--- + +## 注意事项 + +- 需供应应用能源2(AE2)能量,并提供频道。 +- 只接受AE能量充能。 +- 可用配方请参见JEI/EMI。 +- 可用建筑机自动化其配方。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/extracting_p2p_tunnels.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/extracting_p2p_tunnels.md new file mode 100644 index 000000000000..b193ebe7b69c --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/extracting_p2p_tunnels.md @@ -0,0 +1,45 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 抽取式P2P通道 + icon: crazyae2addons:extracting_fe_p2p_tunnel +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:extracting_fe_p2p_tunnel + - crazyae2addons:extracting_item_p2p_tunnel + - crazyae2addons:extracting_fluid_p2p_tunnel +--- + +# 抽取式P2P通道 + +这些通道是标准P2P通道的变种,能够主动工作。无需向其输入物品、流体或能量,这类通道会自动从所连接的方块中**抽取**内容,并将其送至输出端。 + +## [视频教程](https://youtu.be/fcd3xHpsXnE&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 可用类型 + +- **物品抽取P2P通道** + - 自动从所面对的容器中抽取物品送至链接的输出端,最多每刻64个物品。 + +- **流体抽取P2P通道** + - 从所面对的流体容器中抽取流体在各输出端间均分,最多每刻64桶。 + +- **FE抽取P2P通道** + - 从所面对的能量容器中抽取Forge能量(Forge Energy,FE)送至各输出端,最多可达整型上限。 + - 会根据输出端目标能接受的能量进行分流。 + +--- + +## 使用方法 + +1. **放置通道** + - 将通道放置在需抽取的位置。 + +2. **开始链接** + - 使用内存卡分配频率(先右击频率源,再右击目标)。 + +3. **链接输出端** + - 将抽取式通道与各输出端相连。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/impulsed_pattern_provider.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/impulsed_pattern_provider.md new file mode 100644 index 000000000000..ebc6c2e38195 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/impulsed_pattern_provider.md @@ -0,0 +1,29 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 脉冲样板供应器 + icon: crazyae2addons:impulsed_pattern_provider +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:impulsed_pattern_provider +--- + +# 用AE2的手段处理概率产出配方 + +# 脉冲样板供应器 + + + +脉冲样板供应器是经过特化的合成设备。当被红石信号触发时,它会发送上一次使用的样板。 + +## [视频教程](https://youtu.be/KsIfz0FszIM&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## 使用方法 + +1. **放置方块**:与普通样板供应器一样,将脉冲样板供应器连接至ME网络即可。 +2. **打开GUI**:右击方块打开其界面。 +3. **放入样板**:向槽位内放入任意处理样板,无需特殊设置。 +4. **触发合成**:向该方块发送红石信号脉冲。每检测到一次上升沿,供应器会按上一次使用的样板再次向机器发配原料。 + +如此就可自动化**概率产出**的配方。最基础的设施如下:当机器未能成功产出目标物品时,检测该情形(例如使用[发信接口](signalling_interface.md)检测),并向供应器发送红石脉冲。供应器便会再次发配样板材料。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_annihilation_plane.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_annihilation_plane.md new file mode 100644 index 000000000000..6c4c01a2bda3 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_annihilation_plane.md @@ -0,0 +1,26 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 生物破坏面板 + icon: crazyae2addons:mob_annihilation_plane +categories: + - Mob Storage +item_ids: + - crazyae2addons:mob_annihilation_plane +--- +# 生物破坏面板 + +生物破坏面板是一类特殊的线缆子部件,能够捕捉生物,并将其直接存入ME网络。它会瞬间移除站在它前方的生物,然后送入ME存储系统。 + +## [视频教程](https://youtu.be/MUKyq0IDi3M&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## 使用方法 + +1. **放置生物破坏面板** +2. **存储设施** + - 确保网络可以存储“生物数据”(生物存储元件)。 +3. **就这样了** + +## 重要注意事项 + +- **只对真正的生物有效**:包括友好生物和敌对生物,但对玩家和非生物实体无效。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_export_bus.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_export_bus.md new file mode 100644 index 000000000000..bd00e7a6c24d --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_export_bus.md @@ -0,0 +1,29 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 生物输出总线 + icon: crazyae2addons:mob_export_bus +categories: + - Mob Storage +item_ids: + - crazyae2addons:mob_export_bus +--- +# 生物输出总线 + +生物输出总线是一类特殊的线缆子部件,能将ME存储系统中的生物释放出来。它的表现和常规的输出总线一致,只不过它是专为生物设计的。 + +## [视频教程](https://youtu.be/MUKyq0IDi3M&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## 使用方法 + +1. **放置生物输出总线** +2. **配置生成对象** + - 打开生物输出总线的GUI。 + - 选择希望总线输出的生物类型。可以使用刷怪蛋物品,也可从JEI中拖放。 + +3. **生成条件** + - 目标位置必须为空气。 + +## 重要注意事项 + +- **生物安全保障**:确保生成位置未被阻挡,否则总线什么都不会生成。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_farm.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_farm.md new file mode 100644 index 000000000000..d7314e9fd8f4 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_farm.md @@ -0,0 +1,59 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 生物农场 + icon: crazyae2addons:mob_farm_controller +categories: + - Mob Storage +item_ids: + - crazyae2addons:mob_farm_wall + - crazyae2addons:mob_farm_input + - crazyae2addons:mob_farm_collector + - crazyae2addons:mob_farm_damage + - crazyae2addons:mob_farm_controller +--- + + + + + +# 生物农场控制器 + +生物农场控制器是多方块自动生物农场系统的核心组件。它会模拟击杀ME网络中所存生物的过程,并生成掉落物和经验碎片,直接存入ME系统,同时**排除**携带**NBT**或**不可堆叠**的物品。 + +## [视频教程](https://youtu.be/MUKyq0IDi3M&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## 使用方法 + +1. **搭建多方块结构** + - 按照上述模式搭建5x6x5的结构。 + +2. **为控制器供能** + - 将生物农场控制器接至启动的ME网络。 + +3. **在GUI中配置** + - 设置应处理何种生物。 + - 可选:设置用于击杀生物的物品。 + +4. **安装升级卡(可选)** + - 安装抢夺/经验/加速卡。 + +--- + +## 工作原理 + +- 农场会从ME网络中“消耗”生物。 +- 根据生物的战利品表生成掉落物,并删除所有带有NBT或不可堆叠的物品。 +- 生成经验碎片。 +- 将掉落物和经验碎片送回ME网络。 +- 伤害模块越多,击杀速度就越快。 +- 速度卡可进一步加快处理速度。(最多每秒64个生物) + +--- + +## 重要注意事项 + +- **需要正确搭建多方块结构**:生物农场结构缺损即停工。 +- **只会处理生物**:必须先使用生物破坏面板或[刷怪笼提取器](spawner_extractor.md)捕捉生物。 +- **不会真正生成生物**:没有卡顿,万事大吉。 +- **支持抢夺**:轻松增多掉落物。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_formation_plane.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_formation_plane.md new file mode 100644 index 000000000000..41ee96f2b439 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/mob_formation_plane.md @@ -0,0 +1,41 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 生物成型面板 + icon: crazyae2addons:mob_formation_plane +categories: + - Mob Storage +item_ids: + - crazyae2addons:mob_formation_plane +--- +# 生物成型面板 + +生物成型面板是一类特殊的线缆子部件,能直接放出生物。它的工作方式和标准的成型面板类似,但它专门用于生成捕获的生物。和仅存入模式的存储总线比较相似,只不过只适用于生物。 + +## [视频教程](https://youtu.be/MUKyq0IDi3M&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## 使用方法 + +1. **放置面板** + - 将其放置在ME线缆上,输出面需朝向空气,生物会在该处生成。 + +2. **配置生物过滤器** + - 右击面板打开其GUI。 + - 向配置槽中放入生物键,以进行白名单过滤。 + - 安装**反相卡**后,过滤器会变为黑名单。 + +3. **安装升级卡**‌*(可选)* + - **容量卡**可解锁更多过滤槽。 + +4. **生成条件** + - 面板前方和**上方**的方块必须为空气。 + - 两者中有一者不符合即不会生成。 + +--- + +## 工作原理 + +- 每次ME网络收到匹配的生物时: + - 生物成型面板会检查其过滤器中是否存在该生物,以及面板优先级是否足够高。 + - 若条件符合且面板前方为空气,则面板会生成生物。 + - 一次生成最多可产生24个生物。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_export_bus.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_export_bus.md new file mode 100644 index 000000000000..6875252644e7 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_export_bus.md @@ -0,0 +1,55 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: NBT输出总线 + icon: crazyae2addons:nbt_export_bus +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:nbt_export_bus +--- +# NBT输出总线 + +NBT输出总线是应用能源2(AE2)输出总线的高级版本,能**根据NBT数据**进行过滤和控制对存储空间的访问权限。 + +## [视频教程](https://youtu.be/ehDNQiDHNPE&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 使用方法 + +1. **对容器方块放置** + - 将NBT输出总线放置到箱子、抽屉,或任意具有物品容器的方块上。 + +2. **打开配置GUI** + - 右击子部件以配置其过滤器和行为。 + - GUI中可以: + - 设置输入/输出许可 + - 切换操作过滤器 + - 配置NBT匹配表达式 + +3. **编写NBT过滤器** + - 使用文本输入区输入**NBT匹配表达式**。 + - 示例: + - {Enchantments:[{id:"minecraft:sharpness"}]} - 只匹配拥有锋利魔咒的物品 + - {display:{Name:我的剑}} - 匹配“display”标签为“Name: 我的剑”的物品 + - {\*:"value"} - 如果*任意*NBT的值为"value",则通过匹配 + - {key:!"value"} - 如果名为“key”的NBT键的值不为"value",则通过匹配 + - 支持&&、||、!、nand等逻辑表达式。 + +4. **从物品中加载NBT**‌*(可选)* + - 向对应槽位放入虚拟物品,然后按下**加载**/**Load**按钮。 + - 会自动将物品的NBT导入过滤器。 + +--- + +## 匹配系统 + +此处NBT表达式的解析器支持: + +- **通配键和通配值**:“\*” +- **与/或/与非/异或逻辑** +- **递归键匹配** +- **反选语法**:!value + +匹配表达式的物品才可由总线输出。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_storage_bus.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_storage_bus.md new file mode 100644 index 000000000000..c691f0db1265 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/nbt_storage_bus.md @@ -0,0 +1,58 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: NBT存储总线 + icon: crazyae2addons:nbt_storage_bus +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:nbt_storage_bus +--- +# NBT存储总线 + +NBT存储总线是应用能源2(AE2)存储总线的高级版本,能**根据NBT数据**进行过滤和控制对存储空间的访问权限。 + +## [视频教程](https://youtu.be/ehDNQiDHNPE&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 使用方法 + +1. **对容器方块放置** + - 将NBT存储总线放置到箱子、抽屉,或任意具有物品容器的方块上。 + +2. **打开配置GUI** + - 右击子部件以配置其过滤器和行为。 + - GUI中可以: + - 设置输入/输出许可 + - 切换取出过滤 + - 配置NBT匹配表达式 + +3. **编写NBT过滤器** + - 使用文本输入区输入**NBT匹配表达式**。 + - 示例: + - {Enchantments:[{id:"minecraft:sharpness"}]} - 只匹配拥有锋利魔咒的物品 + - {display:{Name:我的剑}} - 匹配“display”标签为“Name: 我的剑”的物品 + - {\*:"value"} - 如果*任意*NBT的值为"value",则通过匹配 + - {key:!"value"} - 如果名为“key”的NBT键的值不为"value",则通过匹配 + - 支持&&、||、!、nand等逻辑表达式。 + +4. **从物品中加载NBT**‌*(可选)* + - 向对应槽位放入虚拟物品,然后按下**加载**/**Load**按钮。 + - 会自动将物品的NBT导入过滤器。 + +5. **升级** + - 接受1张升级卡(溢出销毁卡可销毁多余物品) + +--- + +## 匹配系统 + +此处NBT表达式的解析器支持: + +- **通配键和通配值**:“\*” +- **与/或/与非/异或逻辑** +- **递归键匹配** +- **反选语法**:!value + +若物品符合表达式,则允许被总线取出(具体取决于所选设置)。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/notification_terminal.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/notification_terminal.md new file mode 100644 index 000000000000..04d990e7b57f --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/notification_terminal.md @@ -0,0 +1,47 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 无线通知终端 + icon: crazyae2addons:wireless_notification_terminal +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:wireless_notification_terminal +--- + +# 无线通知终端 + +无线通知终端是用于监控ME库存的无线终端,其会在所选物品、流体等资源越过所配置的库存阈值时发送弹窗通知。 + +为简单的“库存量超过或低于X”警报而设计。 + +## [视频教程](https://youtu.be/l7OcgG5FD_s&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 需求 + +* 终端必须连接至AE网络(和其他无线终端一样)。 + +--- + +## 快速入门 + +1. 打开终端GUI。 +2. 在第一行的过滤槽输入需监控的物品或流体。 +3. 在旁边的输入框输入阈值。 +4. 对其他行重复以上操作(最多32行)。 + +当库存量改变且越过阈值时,你会收到一条弹窗: + +* 超过阈值(库存量变为大于等于阈值) +* 低于阈值(库存量变为小于阈值) + +每秒进行一次检查和更新。 + +## 注意事项 + +* 通知只会在状态切换时触发(低于至超过,超过至低于)。 +* 更改过滤物品或编辑阈值会重置该行的库存量状态(也即不会立即弹窗,而是要等到再次越过阈值)。 +* 在GUI关闭时也会运作,只要求终端物品在物品栏中(服务端每秒检查一次)。 +* 可与无线通用终端配合。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/penrose_sphere.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/penrose_sphere.md new file mode 100644 index 000000000000..7255b325b8b3 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/penrose_sphere.md @@ -0,0 +1,190 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 彭罗斯球 + icon: crazyae2addons:penrose_controller +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:penrose_controller + - crazyae2addons:penrose_frame + - crazyae2addons:penrose_coil + - crazyae2addons:penrose_port + - crazyae2addons:penrose_injection_port + - crazyae2addons:penrose_heat_vent + - crazyae2addons:penrose_hawking_vent + - crazyae2addons:penrose_mass_emitter + - crazyae2addons:penrose_heat_emitter +--- + +# 彭罗斯球 + + + + + +所有框架都是有效ComputerCraft外设。 + +## [视频教程](https://youtu.be/StXovPP4rk0&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +**彭罗斯球**是游戏后期的多方块产能设备,搭建于受控黑洞周围。向其输入**奇点**,即可形成**吸积盘**,以将物质转变成**Forge能量(Forge Energy,FE)**。 + +需要平衡下方指标以达到**稳定运行点**: + +* **注入**(送入奇点) +* **冷却**(散热口) +* **蒸发**(霍金效应口) +* **输出**(能量端口) + +--- + +## 需求 + +* **必须完整搭建并成形**多方块。 +* 控制器**需占用一个AE2频道**,且会常态消耗**2 AE/t**。 +* 控制器有一个**驱动器槽**,其中只接受一个**AE2 4k存储元件**,专门用于存储**超级奇点**。 +* 存储元件内**只可存储超级奇点**。 +--- + +## 启动 + +1. 向控制器的**驱动器槽放入一个4k存储元件**。 +2. 向元件填入足量**超级奇点**,以支付**启动消耗**(可配置,默认需满元件)。 +3. 在控制器的GUI中点击**启动黑洞**。 + + * 控制器会消耗元件中的消耗品。 + * 黑洞启动时的**初始质量**可配置。 + +> 结构未成形时无法启动黑洞。 + +--- + +## 产能原理 + +### 吸积盘(即“平滑缓冲池”) + +注入的奇点**不会**立刻变为黑洞的质量。它们实际会先进入**吸积盘**,然后随时间不断“落入”黑洞。 + +* 吸积盘会滚动保存约**120秒**的历史。 +* 实际**轨道延迟**(平滑时间)约为**60秒**。 + +换言之,能量产出有缓入缓出,而非瞬时切换。 + +### 热量与效率 + +吸积盘会产生**热量**(内部单位:**MK**)。热量不只是危险指标,它也会影响效率。 + +* **低热量**时,效率近乎为**0**(几乎无产出)。 +* 在达到**峰值热量**(默认**50000 MK**)前,效率会不断上升。 +* 超过峰值后,效率会转而下降。 +* 达到**最大热量**(默认**100000 MK**)后,彭罗斯球会**熔毁**。 + +为*同时*保证产量和安全,通常需要使用**散热口**将热量维持在**峰值附近**。 + +### 黑洞质量(“最佳点位”) + +计算能量产出时会乘以**质量因数**,该值由黑洞当前质量与可配置的**最佳点位**(容许质量窗口的中点)的差距决定。 + +* 在窗口边缘时,质量因数为**1.0**。 +* 在最佳点位处,质量因数为**MassFactorMax**(默认为**2.0**)。 + +质量因数会同时增强**产能**和**产热**,在最佳点位附近运作的产能更多,但也同时需要更好的散热。 + +黑洞质量达到配置中的**最大质量**后,彭罗斯球会**熔毁**。 + +--- + +## 送入物质、冷却、质量控制 + +### 注入(送入超级奇点) + +注入由多方块的注入组件(如注入端口)控制。在内部看来,控制器存在一个硬上限:**MaxFeedPerTick**(默认为**4096**)。 + +不建议试图接近该值。超过每刻20个奇点几乎必定会导致熔毁,或是至少会导致净产出下降。 + +重要行为: + +* 系统在散热和蒸发(见霍金效应口)时可以**暂时阻塞**注入。 +* 冷却不足时注入过量会产生热量尖峰,可能会导致熔毁。 + +### 散热口(冷却) + +由红石信号激活后,散热口会从系统中移除热量。 + +**每个多方块只能有1个散热口**,且冷却消耗会指数式增长。 + +* 冷却需消耗**FE**。 +* 控制器会尝试按以下顺序支付消耗: + 1. 当前刻产出的能量 + 2. 控制器的FE缓存 + 3. 散热口的内部FE缓存 +* 若无法完全支付消耗,那么冷却效果也会**打折扣**。建议将其连接至主供能线路。 + +### 霍金效应口(蒸发) + +激活后,霍金效应口会降低黑洞质量(霍金效应)。 + +**每个多方块只能有1个霍金效应口**,且蒸发消耗会指数式增长。 + +* 蒸发需消耗**FE**(通常较昂贵)。 +* 会按消耗支付量进行成比例的蒸发。 +* 霍金效应口启动时,控制器会**暂停所有注入端口**。 +* 黑洞质量不会蒸发至配置中的**初始质量**之下。 + +--- + +## FE产出 + +* 控制器会将产出的能量存于其内部缓存,该缓存实际使用时可看作无容量上限。 +* **能量端口**会主动向相邻方块输出FE。 +* 控制器本身也向外公开FE交互功能,可用FE线缆/管道进行抽取。 +* 多方块中的所有彭罗斯框架也具有同种功能。 + +GUI中还会显示: + +* **上一次FE/t产出(毛产量)** - 吸积盘的产量,未扣除冷却和蒸发消耗 +* **上一次FE/t消耗** - 冷却和蒸发的消耗量 +* **所存FE** - 控制器缓存中存有的FE量 +* **吸积盘中能量** - 潜在吸积盘能量的估计 + +--- + +## 产出算法(供平衡/配置参考) + +每刻毛产量的计算基于吸积盘流量、热量效率和质量因数: + +FE/t(毛产量)≈ 占空比补偿(DutyCompensation)\* 单位流量基础FE产出(BaseFEPerFlow)\* 吸积盘流量(DiskFlow)\* 热量效率(HeatEfficiency)\* 质量因数(MassFactor) + +在峰值热量和最佳质量时,每**约1点“流量”(即在稳定状态下每刻约1个奇点)**大致可产出: + +* ~**179,000,000 FE/t 毛量**(未扣除冷却与蒸发消耗) + +若当前正在冷却或蒸发,或热量距峰值较远,或质量离最佳点位较远,则实际产量会偏低。 + +--- + +## 安全措施与熔毁 + +达成如下其中一种情况后,彭罗斯球会熔毁: + +* **热量 ≥ 最大热量**,或 +* **黑洞质量 ≥ 最大质量** + +熔毁时会产生黑洞级别的灾难性爆炸(若未在配置中禁用)。 + +若没有如下措施,**请勿**让设施在无人的情况下运转: + +* 可靠的冷却系统, +* 质量控制, +* 以及某种形式的监控。 + +--- + +## 实用提示 + +* 要把彭罗斯球看成反应堆: + * **注入**增加产量、热量、质量。 + * **散热口**可将热量稳定在峰值附近。 + * **霍金效应口**可阻止质量进入危险范围。 +* 若热量正在攀升,且你无法支撑冷却,应立即**停止注入**。 +* 若质量有上升趋势,应引入周期性蒸发,以将质量限制在最佳点位附近。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/player_automation_cards.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/player_automation_cards.md new file mode 100644 index 000000000000..6fcb7f3f1ba9 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/player_automation_cards.md @@ -0,0 +1,47 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 玩家/自动化卡 + icon: crazyae2addons:player_upgrade_card +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:player_upgrade_card + - crazyae2addons:automation_upgrade_card +--- + +# 样板供应器升级卡 + +这两种升级卡适用于疯狂样板供应器,用于控制何种请求源可使用其中的配方进行自动合成。 + +它们不会修改配方本身,而是只会判断该样板供应器是否是合成请求的有效源。 + +--- + +## 升级卡 + +### 玩家升级卡 + +安装后,该样板供应器内的样板只可用于玩家发起的合成请求,如在终端处发出的请求。 + +### 自动化升级卡 + +安装后,该样板供应器内的样板只可用于自动化或机器发起的合成请求,如AE2方块发起的请求,或网络中其他自动化系统发起的请求。 + +--- + +## 使用方法 + +1. 将Crazy AE2 Addons的样板供应器连接至AE2网络。 +2. 打开其升级卡槽。 +3. 放入两种升级卡之一: + * 玩家升级卡,或 + * 自动化升级卡。 +4. 按常规方式向其放入样板。 + +--- + +## 注意事项与提示 + +* 过滤在合成计算(样板搜索)时和合成执行(供应器选择)时都有效,因此单个作业的选择是一致的。 + diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/portable_autobuilder.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/portable_autobuilder.md new file mode 100644 index 000000000000..413a95f815ae --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/portable_autobuilder.md @@ -0,0 +1,113 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 便携式建筑机 + icon: crazyae2addons:portable_builder +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:portable_builder +--- + +# 便携式自动建筑机 + + + +**便携式自动建筑机**是与**应用能源2(Applied Energistics 2)**集成的手持式**复制粘贴**建筑机工具。 + +它能存储一条结构**程序**,在其GUI中显示**3D预览**,可旋转/翻转搭建产物,还可在放置前直接向相连的**ME网络**中请求所需方块。 + +## [视频教程](https://youtu.be/2cKivPmxZ0w&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 连接至ME网络 + +此工具的行为与无线AE2工具类似,可在**无线访问点**中进行连接。 + +--- + +## 复制结构 + +### 1) 选定角落 + +对方块**潜行右击**以定义复制区域: + +1. 第一次潜行点击设置**角落A**。 +2. 第二次潜行点击设置**角落B**。 + * **第二次点击的位置也会被设为结构原点**。 +3. 若在两角落均已设置后再次潜行点击,其会**新建一个选区**(替换角落A,保留角落B)。 + +### 2) 结束复制 + +设置好两个角落后,**右击(不潜行)空气**即可生成程序,并存储于工具内部。 + +复制时会根据区域内方块消耗能量(忽略空气)。 + +--- + +## 粘贴结构 + +### 选择位置 + +有两种便捷的粘贴方式: + +* **右击某物**:最远射线追踪**50格**;如果正看向方块,则放置它旁边。 + +### 碰撞安全 + +放置前,工具会检查所有目标位置: + +* 若需要在**无法替换的方块**处放置方块,则会以碰撞消息终止粘贴。 + +### 材料 + +搭建前,工具会计算出一个**方块需求列表**: + +* 而后,它会尝试从ME网络中**提取**所需物品。 +* 若有缺失,粘贴便不会开始(同时会获得“缺失:……”消息)。 +* 创造模式玩家跳过提取。 + +--- + +## GUI与预览 + +**潜行右击空气**打开GUI。 + +可在GUI中: + +* 查看所存结构的**3D预览**。 +* **拖动鼠标**以旋转镜头。 +* **滚动滚轮**以缩放。 +* 可用按钮: + * **水平翻转** + * **垂直翻转** + * **旋转** + * **清除**所存结构 +--- + +## 合成卡:需求面板 + +若其中安装有**AE2合成卡**,GUI中即会显示需求面板: + +* 按照**当前存量 / 需求量**显示物品。 +* 按**可否合成**标记缺失的物品。 +* 若可合成,点击按钮可发送缺失量的**合成请求**。 +* 可用滚轮滚动列表。 + +--- + +## 能量系统(AE能量) + +工具使用**AE2的内部工具能量**,以物品上类似耐久度条的能量条进行显示。 + +* **基础容量**:200,000 +* **升级槽数**:4 +* **能源卡**:每张追加‌**+100%基值** + +--- + +## 提示 + +* 若粘贴以“缺失:……”失败,应打开GUI(需安装合成卡)查看缺失量并请求合成。 +* 若粘贴因碰撞失败,应先清空区域。此工具不会覆盖不可替换的方块。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/portable_spatial_io.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/portable_spatial_io.md new file mode 100644 index 000000000000..c932639d29c8 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/portable_spatial_io.md @@ -0,0 +1,90 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 便携式空间仓库 + icon: crazyae2addons:portable_spatial_storage +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:portable_spatial_storage +--- + +# 便携式空间仓库 + + + +**便携式空间仓库**是能**剪切**和**粘贴**建筑物的手持式结构设备。 + +此工具和自动建筑机不一样,它在**剪切**时会**移除**方块,将结构存储为程序,而后在**粘贴**时**重新搭建**。 + +## [视频教程](https://youtu.be/2cKivPmxZ0w&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 控制 + +* **Shift右击(对方块)**:选择剪切区域的角落。 select corners for the cut region. +* **右击(对空气)**: + * 若选定角落 → **开始剪切**。 + * 若存有结构 → 最远射线追踪**50格**,**粘贴**至目标面。 +* **右击(方块面)**:以该面为基准进行**粘贴**(若存有结构)。 +* **Shift右击(对空气)**:打开**GUI**,其中有3D预览和变换工具。 + +--- + +## 剪切结构 + +1. **选择角落1**:对方块Shift右击。 +2. **选择角落2**:Shift右击对侧角落。 + * **第二次点击**处会成为结构**原点**,且同时存储结构的**朝向**。 +3. **开始剪切**:**对空气**右击(不在潜行状态)。 + +实际发生的事: + +* 工具根据区域内所有**非空气**方块生成程序。 +* 操作会分到多段时间内进行(大型剪切不会在单刻完成)。 +* 剪切完成后,工具会存储结构。 + +--- + +## 粘贴结构 + +* 若存有结构,**右击**可进行粘贴。 + + * 点击**方块面**会以该面为基准进行粘贴。 + * **对空气**右击会射线追踪最远**50格**以搜索目标。 + +安全检查: + +* 开始粘贴前,工具会检查所有目标位置。若有任意位置无法替换,则阻断粘贴。 + +重要行为: + +* 支付能量后,工具会**立刻清除所存结构**,然后随时间进行粘贴。 + +--- + +## 朝向与变化 + +* 粘贴操作基于结构存储的**源朝向**进行,且会参考**GUI**中指定的变换: + * **水平翻转** + * **垂直翻转** + * **旋转** + +--- + +## 能量与升级 + +* **基础容量**:200,000(显示于能量条和提示文本) +* **升级槽数**:4 +* **能源卡**:增加最大容量 + +### 能量消耗 + +能量消耗会按照各方块**与原点距离**成比例增加: + +* 单个方块消耗:distance(原点, 方块) * 消耗(默认为5) +* 总消耗:区域内所有非空气方块消耗的总和 + +(乘数可配置) + diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_emitter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_emitter.md new file mode 100644 index 000000000000..75c79394a02c --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_emitter.md @@ -0,0 +1,40 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 红石发信器 + icon: crazyae2addons:redstone_emitter +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:redstone_emitter +--- + +# 红石发信器 + +红石发信器是一种线缆子部件,行为与红石数字输出类似。可在红石终端内设置开关。 + +## [视频教程](https://youtu.be/PJgyymdOtNE&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 使用方法 + +1. **放置子部件** + - 将其放置在ME线缆上。 + +2. **命名** + - 右击打开其GUI。 + - 输入自定义名称(最多16个字符)以在网络中进行唯一标识。 + - 名称必须唯一,不允许存在相同的名称。 + +3. **发信行为** + - 开启时发出红石信号。 + - 信号强度固定为15。 + - 可在红石终端中切换开关。 + +--- + +## 注意事项 + +- 红石发信器‌**不**‌会对红石输入产生响应,此设备是仅输出的。 +- 完全集成于红石终端。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_terminal.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_terminal.md new file mode 100644 index 000000000000..5bdfc1515a92 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/redstone_terminal.md @@ -0,0 +1,51 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 红石终端 + icon: crazyae2addons:redstone_terminal +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:redstone_terminal + - crazyae2addons:wireless_redstone_terminal +--- + +# 红石终端 + + + +红石终端是管理ME网络中所有红石发信器的控制面板。可在其简明的界面中按名称搜索、查看、开关红石发信器。 + +## [视频教程](https://youtu.be/PJgyymdOtNE&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 使用方法 + +1. **放置终端** + - 将其放置在ME线缆上。 + +2. **打开GUI** + - 右击打开。 + - 界面中会显示网络内所有已命名的红石发信器。 + +3. **按名称搜索** + - 搜索栏可按名称过滤发信器。 + +4. **分页与控制操作** + - 每页显示4个发信器。 + - 使用箭头换页。 + - 每个发信器均会显示: + - 名称 + - 当前状态(低/高) + - 切换按钮 + +5. **切换状态** + - 点击名称旁的按钮以开启或关闭发信器。 + - 发信器会在其位置产生红石信号。 + +--- + +## 注意事项 + +- 可集成为无线终端和通用终端。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/reinforced_matter_condenser.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/reinforced_matter_condenser.md new file mode 100644 index 000000000000..45fed5def5c8 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/reinforced_matter_condenser.md @@ -0,0 +1,48 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 强化物质聚合器 + icon: crazyae2addons:reinforced_matter_condenser +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:reinforced_matter_condenser +--- + +# 强化物质聚合器 + + + + + + +强化物质聚合器是奇点模式物质聚合器的升级版,能将应用能源2(AE2)的普通奇点变为一种强大的物品——**超级奇点**。 + +此方块会将送入的奇点转换成能量积攒起来,其运作需要一整组64个**256k存储组件**。能量积攒到顶后,即会在输出槽产出一枚超级奇点。 + +--- + +## 使用方法 + +1. **放入一整组256k存储组件** + - 是启动此聚合器的必要条件。 + - 放入前聚合器不会接受奇点。 + +2. **放入AE2奇点** + - 聚合器会接受并积攒奇点。 + - 积攒够8192个奇点后,即产出一个超级奇点。 + +3. **输出** + - 产出的超级奇点会出现在输出槽。 + +4. **GUI信息** + - 进度条代表: + - 产出超级奇点的积攒进度。 + - 放入256k存储组件的个数。 + +--- + +## 自动化与联动 + +- 所有面都兼容各类运输物品的机器与组件。 +- 输出用机器和管道可以自动化放入奇点。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/research.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/research.md new file mode 100644 index 000000000000..343b1aaee76d --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/research.md @@ -0,0 +1,149 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 研究系统 + icon: crazyae2addons:research_station +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:research_station + - crazyae2addons:recipe_fabricator + - crazyae2addons:research_unit + - crazyae2addons:research_cable + - crazyae2addons:research_unit_frame + - crazyae2addons:research_pedestal_bottom + - crazyae2addons:research_pedestal_top + - crazyae2addons:data_drive + - crazyae2addons:research_fluid_bucket +--- + +# 研究系统 + +**研究系统**是高阶游戏内容和游戏后期内容的限制节点。需使用**研究站**和附近的**研究基座**执行**研究配方**,且应提供**FE**和**研究单元**的计算支持(消耗AE能量和冷却剂)。 + +**每个基座都需要独立的研究单元多方块** + +完成研究时会向**数据驱动器**写入一个**解锁密钥**。而后需在**配方构造器**内进行校验。 + +## [视频教程](https://youtu.be/ERFPjABnArI&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 研究站 + + + + + +研究站就是所谓“协调器”: + +* 有一小容量内部**FE缓存**(25k FE)。 +* 有单个**驱动器槽**,用于插入**数据驱动器**(密钥会存入该驱动器)。 +* 会自动扫描附近的基座,并会在输入匹配配方时启动研究。 + +### 能量消耗 + +研究时,研究站每刻都会消耗内部缓存中的FE。若其无法支付消耗,研究会**硬重置**(进度归零)。 + +--- + +## 研究基座(输入和计算寻路) + +研究站并不会在GUI中直接接受研究输入,而是会从附近的**基座顶台**处读取物品。 + +**扫描范围和放置方式:** + +* 研究站会扫描以其为中心的**7×7区域**(**半径3格**)。 +* 它会查找**Y + 1**(研究站向上一格处水平面)中的**基座顶台**。 +* 对应的**基座底座**必须位于顶台**正下方**。 + +### 配方如何与基座绑定 + +构建有效配方时,各**消耗品**需求都必须**由且仅由一个基座满足**: + +* 该基座顶台必须放有正确的**物品**。 +* 该基座必须放有足量物品。 +* 与该基座相连的计算器件必须至少达到对应消耗品的所需量。 + +也就是说,通常无法将多个消耗品需求“综合”到单个基座中。 + +--- + +## 研究单元(算力和冷却剂) + +研究单元是为基座和研究站提供**算力**的多方块。 + +### 算力 + +算力由结构内部的AE2合成存储器方块数量决定: + +* 1k = 1/16 +* 4k = 1/4 +* 16k = 1 +* 64k = 4 +* 256k = 16 + +### 运作消耗(每刻) + +基座向单元发送运作请求时,该单元须付清两种消耗: + +* **AE能量**:每1计算单位(cu)消耗64AE。 +* **冷却剂**:每4cu消耗1mB**研究流体**。 + +若有其中一种无法付清,研究单元该刻即不会运作,导致研究**重置**。 + +### 冷却剂储罐位置 + +研究单元会寻找其顶部的陨石储罐,且它只会接受**研究流体**作为有效冷却剂。 + +--- + +## 研究流程(真正发生的事) + +1. 将所需物品放到研究站旁的基座顶台中。 +2. 向研究站的**磁盘**槽放入一个**数据驱动器**。 +3. 向研究站供应**FE**。 +4. 确保研究单元拥有: + * AE能量可用 + * 在外部储罐中有研究流体可用 + +### 推进速度 + +研究的推进速度取决于当前配方分配的所有基座的**每刻总计算量**。 + +因此,如需加快研究,应增加基座可用的算力(研究单元中使用更多/更大的合成存储器)。 + +### 完成 + +进度达到配方所需时: + +* 研究站从所分配基座中消耗所需数量的物品。 +* 研究站将配方的解锁密钥写入数据驱动器。 +* 播放小型粒子/声音效果。 + +--- + +## 数据驱动器和解锁密钥 + +* 密钥直接存储于驱动器,且是可移动的。 +* 研究不会在如下情况中启动: + * 未插入驱动器,或 + * 驱动器中已有该配方的密钥。 + +驱动器不会消耗。 + +--- + +## 排障 + +* **什么都没有发生:** + + * 确保研究基座在3格半径内。 + * 确保消耗品正确安置,且基座中的物品数量足够。 + * 确保各基座算力满足配方所需。 + +* **研究启动,但会频繁重置:** + + * 研究站FE耗尽。 + * 某一个基座无法运作(无AE/无冷却剂/单元未成形)。 + * 途中有人移动/更改了基座堆叠。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/round_robin_item_p2p_tunnel.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/round_robin_item_p2p_tunnel.md new file mode 100644 index 000000000000..1320c2a9543e --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/round_robin_item_p2p_tunnel.md @@ -0,0 +1,15 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 轮询物品P2P + icon: crazyae2addons:round_robin_item_p2p_tunnel +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:round_robin_item_p2p_tunnel +--- +# 轮询物品P2P通道 + +轮询物品P2P通道可保证将输入的物品均分到各输出端,就算是多次输入物品也一样。此通道和标准的物品P2P通道不同:后者会优先向距离最近的输出端发送,而前者会记录过往的发送历史,并将输入批次送至最长时间未收到物品的输出端。 + +## [视频教程](https://youtu.be/fcd3xHpsXnE&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/signalling_interface.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/signalling_interface.md new file mode 100644 index 000000000000..633576584ee4 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/signalling_interface.md @@ -0,0 +1,35 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 发信接口 + icon: crazyae2addons:signalling_interface +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:signalling_interface +--- + +# 发信接口 + + + +[脉冲样板供应器](impulsed_pattern_provider.md)的最佳拍档。 + +发信接口是一种智能设备,能在指定物品的数量出现变动时发出红石脉冲。它非常适合用于创建自动警报装置、门控系统,也能在事物抵达或离开存储网络时触发其他由红石信号控制的机器。 + +## [视频教程](https://youtu.be/KsIfz0FszIM&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## 使用方法 + +1. **放置方块**:将发信接口接至ME线缆。 +2. **打开GUI**:右击打开配置界面。 +3. **配置监测物品**: + - 上排槽位是*配置槽*。可在此放入需要监测的物品。 + - 槽位旁的扳手标志可用于设定具体的阈值(比如说,可以设为在收到64个某物品时触发)。其功能与普通的接口类似,因此它也会从ME网络中取出物品放入这些槽位。 +4. **接入红石**:向设备的任意面接入红石粉或红石导线。每次追踪的物品数量超过所设阈值(或变化量达到阈值)时,发信接口即会发出短时红石脉冲。 + +## 升级 + +- **红石卡**:使得接口在监测量超阈值时发出脉冲。 +- **反相卡**:反转触发条件;也即在数量低于阈值时,或移除至少同等量时发出脉冲,而非在超过或收到时。 +- **模糊卡**:允许通配物品NBT,很适合监测带有魔咒或自定义标签的物品。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/spawner_extractor.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/spawner_extractor.md new file mode 100644 index 000000000000..dc38b73ccbff --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/spawner_extractor.md @@ -0,0 +1,48 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 刷怪笼提取器 + icon: crazyae2addons:spawner_extractor_controller +categories: + - Mob Storage +item_ids: + - crazyae2addons:spawner_extractor_wall + - crazyae2addons:spawner_extractor_controller +--- + +# 刷怪笼提取器 + + + + + +刷怪笼提取器是一个多方块系统,可通过真实存在的刷怪笼方块,模拟生物生成并将其直接存入ME网络。此法无需实际生成实体即可自动捕获生物,有效避免卡顿。 + +## [视频教程](https://youtu.be/MUKyq0IDi3M&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## 使用方法 + +1. **搭建多方块结构** + - 按照上述布局搭建多方块。注意要在刷怪笼周围搭建。为确保结构正确成形,角落的方块应最后放置。 + +2. **为提取器供能** + - 将刷怪笼提取器接至启动的ME网络。 + +3. **安装升级卡(可选)** + - 可用速度卡加快生物的生成速度。 + +--- + +## 工作原理 + +- 结构成形之后,其内部的刷怪笼即会被禁用。 +- 刷怪笼每20刻会向ME网络存入一些生物。 +- 控制器会读取生物类型。 +- 全程无实体生成,只有利落、可重复进行的生物捕捉。 + +--- + +## 重要注意事项 + +- **需要正确搭建多方块结构**:刷怪笼结构缺损即停工。 +- **不会真正生成生物**:没有卡顿,万事大吉。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/stone_cutter_recipes.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/stone_cutter_recipes.md new file mode 100644 index 000000000000..2e6e9a736093 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/stone_cutter_recipes.md @@ -0,0 +1,20 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 切石机配方 + icon: minecraft:stonecutter +categories: + - Crafting and Patterns +--- + +# P2P通道转换配方 + +为提升灵活性、简化操作,Crazy AE2 Addons为应用能源2(AE2)及其附属的**P2P通道**新增了用于自由转换通道类型的**切石机配方**。 + +--- + +## 工作原理 + +- 将P2P通道放入**切石机**。 +- 界面中会显示所有可用通道变种的转换选项。 +- 选择转换目标然后取出产物即可,无需工作台或其他材料。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/view_cells.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/view_cells.md new file mode 100644 index 000000000000..2f8495c06a36 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/view_cells.md @@ -0,0 +1,64 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 更多显示元件 + icon: crazyae2addons:tag_view_cell +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:tag_view_cell + - crazyae2addons:nbt_view_cell +--- +# NBT和标签显示元件 + +**NBT显示元件**和**标签显示元件**是一类特殊的显示元件,可以放入ME终端使其只显示符合条件的物品。 + +## 工作原理 + +* 两种显示元件都有其界面,可在其中输入**自定义过滤字符串**。 +* 过滤设置保存在元件物品中,可在终端间移动且不丢失设置。 +* 放入终端后,仅会显示匹配过滤的物品。 + +## [视频教程](https://youtu.be/bConD7dV_p0&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## NBT显示元件 + +* 将物品的**NBT数据**与过滤表达式匹配,以此来进行过滤。 +* 可在`{ ... }`内写入SNBT片段,并可搭配逻辑运算符使用。 +* **支持的运算符:** + * `&&`、`and` → 与 + * `||`、`or` → 或 + * `^^`、`xor` → 异或 + * `!`、`not` → 非 + * `nand`、`!&` → 与非 +* 小括号`( )`可用于给表达式分组。 +* 通配符`*`可匹配任意值和任意键。 +* 示例:`{Enchantments:[{id:"minecraft:sharpness"}]}`只会匹配拥有锋利魔咒的物品。 + +## 标签显示元件 + +* 使用**Minecraft标签**过滤物品。 +* 输入标签名(如`#minecraft:wool`),终端便只会显示带有该标签的物品。 +* 支持使用`*`的**glob模式匹配**,如`#minecraft:*_logs`会匹配所有原木标签。 +* 支持逻辑运算符: + * `&&`、`||`、`^^`、`!`、`nand` +* 示例:`#minecraft:logs && !#minecraft:oak_logs` → 匹配所有原木,橡木原木除外。 + +## 界面 + +* 打开元件可进行配置: + + * 用于输入过滤表达式的文本框。 + * 如果过滤表达式过长,无法在框内完全显示,可以使用**滚动条**。 + * 按下**确认按钮**以保存过滤配置。 +* 过滤配置会立即应用于元件,配置本身也会同时存入物品。 + +## 注意事项 + +* 这些元件只会影响**终端的显示**,不会把物品移出网络,也不会阻止物品进入。 +* 多个显示元件的效果可以综合,过滤设置的应用规则与AE2优先级一致。 +* 若未设置过滤,则该元件装入与否不会产生区别。 + +--- + +NBT和标签显示元件可保持终端简洁,聚焦所需内容。无论是筛选特定种类药水,还是某标签下的全部方块,它们都能胜任。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/wormhole_tunnel.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/wormhole_tunnel.md new file mode 100644 index 000000000000..236a26d7fe12 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/wormhole_tunnel.md @@ -0,0 +1,42 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: 虫洞通道 + icon: crazyae2addons:wormhole_tunnel +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:wormhole_tunnel +--- + +# 虫洞P2P通道 + +虫洞P2P通道是应用能源2(AE2)中P2P系统的一类高级通道,支持双向通信、红石信号传输,并能够在多个相连通道间自动实现功能路由。 + +和普通的P2P通道不同,虫洞通道可建立**双向链接**,在与多个输出端交互时还会进行**功能合并**。 + +## [视频教程](https://youtu.be/pQ8V4aX6gh4&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## 关键特性 + +- **双向链接** + - 虫洞通道可在输入端与输出端之间建立网络层面的实际连接。 + - 能量、物品和流体均可根据需要双向流通。 + +- **功能合并** + - 可将多个输出端的物品、流体与能量传输能力合并至同一接入点。 + +- **红石传输** + - 输入端可接收红石信号,并传输至所有输出端。 + - 完整支持弱信号与强信号。 + +--- + +## 示例 + +虫洞通道的用途无穷无尽,我测试的时候试过了下面的设施。 +- 跨越通道的存储总线:可在输入端放置存储总线,再在输出端放置物品/流体存储设备,存储总线即可识别并与之交互。 +- 嵌套P2P通道:若在配置中启用,则可使用此类通道连接ME网络的两个部分,且通道频道内仍可继续使用P2P通道。 +- 传输通用机械(Mekanism)的热量:通用机械的其他管道也适用于虫洞通道。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyae2addons_index.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyae2addons_index.md new file mode 100644 index 000000000000..aedbaddb5797 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyae2addons_index.md @@ -0,0 +1,35 @@ +--- +navigation: + title: Crazy AE2 Addons + position: 120 +--- + +# Crazy AE2 Addons + +Crazy AE2 Addons is a mod expanding the capabilities of Applied Energistics 2 +by introducing advanced automation, data processing, and network control blocks. +Crazy AE2 Addons builds upon vanilla AE2 mechanics, requiring _almost_ all its +blocks to be part of an ME network to operate. It adds a suite of utilities. + +--- + +## Need help with the mod? Join my [Discord](https://discord.com/invite/mWy8AVRtwz) server +### or watch a video tutorial series on [YouTube](https://www.youtube.com/playlist?list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) +--- +## Features + +### Crafting and Patterns + + + +### Monitoring and Automation + + + +### Energy and Item Transfer + + + +### Mob Storage + + \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ampere_meter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ampere_meter.md new file mode 100644 index 000000000000..4ae47dbeea3d --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ampere_meter.md @@ -0,0 +1,23 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Ampere Meter + icon: crazyae2addons:ampere_meter +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:ampere_meter +--- + +# Ampere Meter + + + +Ampere Meter is a simple block that shows how much energy flows from one side to the other. To use it, just place it touching two energy-using blocks. Right-click the block to configure it. + +On the screen you’ll see an arrow button in the center. Clicking that arrow swaps which side of the block is treated as the energy input and which side is the output. You can experiment by flipping the arrow and watching how the numbers change. The main number you’ll see is an average rate calculated over a few ticks, shown in a short format like `10k FE/t` for Forge Energy or `4A (LuV)` when measuring GregTech's energy. It also works like a diode, blocking any current flowing in the opposite direction. + +## Compatibility + +- Works with any Forge Energy machine. +- If GregTech is installed, it also measures EU current and voltage. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder.md new file mode 100644 index 000000000000..7d5504b8545e --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder.md @@ -0,0 +1,64 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Auto Builder + icon: crazyae2addons:auto_builder +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:auto_builder +--- + +# AutoBuilder + +## [Video Tutorial](https://youtu.be/Cvj5r-ilMYU&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## [How to program it](auto_builder_language.md) + + + +The AutoBuilder is a programmable building robot powered by AE2. +It reads a special **Builder Pattern Item** and places or removes blocks in the world based on its instructions. + +--- + +## How It Works + +1. **Create a Pattern** + - Use the Builder Pattern Item to select two corners in the world (r-click to select first corner, shift r-click to select another). + - Right click air to copy the structure and save it to the item. + - All blocks inside will be scanned and converted into a build pattern. + +2. **Edit the Pattern (Optional)** + - Shift Right-click the Builder Pattern Item to open a text editor GUI. + - You can adjust delay, add commands like resets, removals, loops, or macros. + - The number on the right is the delay added between commands in ticks (default 20 ticks or 1 sec). Set to 0 for maximum speed. + +3. **Insert Pattern** + - Place the pattern item into the **AutoBuilder** block. + - Only one pattern can be inserted at a time. + - You can use automation to insert/extract patterns out of the block. + +4. **Provide Power and Items** + - Connect the AutoBuilder to an ME network. + - All building materials must be available in the ME storage system. + - AutoBuilder withdraws the **entire energy cost upfront** before starting execution. + - Supports crafting card. + +5. **Trigger Building** + - Use a redstone signal from the top to start the program. + - The builder will execute instructions **relative to its current facing direction**. + - A **preview mode** shows ghost blocks in real time, so you can check alignment before committing. + - When finished, it emits a short redstone pulse on its sides. + - Acceleration cards make it work much faster. + +--- + +## Key Features + +- **Relativity:** Structures always align relative to the builder’s orientation +- **Preview Mode:** Real-time ghost block preview of where blocks will be placed or removed +- **Upfront Energy Cost:** Entire program energy is consumed at the beginning — if insufficient, the build won’t start +- **Block Replacement with Recycling:** Old blocks are returned into ME storage +- **Full AE2 storage and power integration** +- **Redstone-controlled execution** diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder_language.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder_language.md new file mode 100644 index 000000000000..67b3d0074fcf --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_builder_language.md @@ -0,0 +1,212 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Auto Builder Language + icon: crazyae2addons:builder_pattern +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:builder_pattern +--- + +# AutoBuilder Programming Language – Full Tutorial + +The AutoBuilder language lets you script a programmable builder, which executes actions like moving, placing blocks, breaking blocks, waiting, and more — using a concise, macro-friendly syntax. + +--- + +## Program Structure + +Each AutoBuilder program is split into 2 or 3 parts, separated by the pipe symbol |: + +BLOCK_MAP | MACROS | MAIN_PROGRAM + +You may also skip macros: + +BLOCK_MAP | MAIN_PROGRAM + +### Block Map + +Defines what blocks can be used and assigns them numeric IDs. The syntax is: + +0(minecraft:stone),1(minecraft:dirt),2(minecraft:oak_planks) + +Each entry is: + +\(\) + +Block IDs **must not** contain NBT data, but can include blockstates for example: + +0(minecraft:oak_log\[axis=y\]) + +### Macros (optional) + +Macros are reusable blocks of code, defined using square brackets: + +\[macroName\](instructions) + +Example: + +\[stairs\](P(0)D) \[floor\](3{P(1)R}) + +In your main program, use them like: + +\[floor\]\[stairs\] + +### Program Code + +This is where your logic goes. It can use raw instructions, loops, macros, and block placement. + +--- + +## Instructions Reference + +### Movement + +| Code | Meaning | +|------|------------------| +| U | Move Up | +| D | Move Down | +| F | Move Forward | +| B | Move Backward | +| L | Move Left | +| R | Move Right | +| H | Return Home | +| X | Clear (break) | + +All directions are **relative to the AutoBuilder’s current facing orientation**, not world cardinal directions. + +Each move shifts the builder cursor by **1 block** in that direction. + +--- + +### Place Block + +P(n) + +Places a block defined in the block map. For example: + +P(0) + +Places block with ID 0, e.g. minecraft:stone. + +--- + +### Break Block + +X + +Breaks the block at the current position. + +--- + +### Loops + +3{ ... } + +Repeats the contents of the curly braces **3 times**. + +Example: + +4{P(1)R} + +Places block "1" and moves right, 4 times. + +Loops can be nested. + +Example: + +2{3{P(1)F}U} + +Repeat: 3x place + move forward, then move up. Do this sequence 2 times. + +--- + +### Wait + +Z(n) + +Waits for "n" Minecraft ticks (20 ticks = 1 second). + +Example: + +P(0)Z(40)P(1) + +Place block 0, wait 2 seconds, place block 1. + +--- + +### Return Home + +H + +Returns the builder to its starting position. + +--- + +### Macros + +Defined in the macro section, and used in the program with: + +[macroName] + +Macros can include other macros, loops, etc. + +Example: + +\[stairStep\](P(0)U F) + +--- + +## Examples + +### 1. Simple 3-block line of stone + +0(minecraft:stone) | P(0)F P(0)F P(0)F + +Same using a loop: + +0(minecraft:stone) | 3{P(0)F} + +--- + +### 2. Destroy and Rebuild + +0(minecraft:oak_planks) | X Z(20) P(0) + +Break block, wait 1 second, place oak planks. + +--- + +### 3. Build staircase + +0(minecraft:oak_planks) | 5{P(0)U F} + +Builds 5 steps upward and forward. + +--- + +### 4. Return to base + +0(minecraft:stone) | 4{P(0)F} H + +Build a path 4 blocks to the front, then return to start. + +--- + +### 5. Using Macros + +0(minecraft:stone),1(minecraft:dirt) | \[line\](3{P(0)F}) \[top\](U \[line\]) | \[line\]\[top\]\[line\] + +- Defines a "line" of stone (3 blocks to the front). +- Defines "top" as 1 layer higher with the same line. + +--- + +## Error Handling + +The language is strict: + +- P(n) with missing ID in block map -> error. +- Unbalanced brackets ({}, (), []) -> error. +- Infinite macro recursion -> error. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_enchanter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_enchanter.md new file mode 100644 index 000000000000..773fc48f74b6 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/auto_enchanter.md @@ -0,0 +1,55 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Auto Enchanter + icon: crazyae2addons:auto_enchanter +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:auto_enchanter +--- + +# Auto Enchanter + + + +The Auto Enchanter is a standalone enchanting machine that automatically enchants books and tools using XP Shards from your ME network. It mimics a vanilla/apotheosis enchanting. Must be placed exactly 2 blocks under a real enchanting table setup, and the enchantment power depends on the amount of books you have. + +## How to Use + +## [Video Tutorial](https://youtu.be/Zu213pe7Jeo&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +1. **Place the Auto Enchanter** + - It must be placed under an Enchanting Table block (two blocks above). + - Surround the table with bookshelves like in vanilla to improve enchantment power. + +2. **Insert Items** + - Input slot: place an item to enchant (tool, weapon, or a book). + - Lapis slot: add lapis lazuli (required for enchanting). + - Output slot: enchanted item will appear here. + +3. **Power Requirements** + - Requires XP Shards stored in your ME network. + - XP cost is calculated based on bookshelfs. + +4. **Select Enchantment Level** + - In the GUI, choose between three enchantment levels (1–3). + - Click the respective button to select an option. + - GUI displays estimated XP cost. + +5. **Automation** + - Toggle **Auto Supply Lapis**: auto-refills lapis from the network. + - Toggle **Auto Supply Books**: auto-refills books from the network. + +## Apotheosis Support + +If Apotheosis is installed: +- The Auto Enchanter will automatically scan all nearby shelves for bonus stats like Eterna, Quanta, Arcana, and Clues, including Treasure enchants. + +## Behavior Summary + +- Automatically pulls input and lapis if enabled. +- Spends XP Shards from your network (1 shard = 10 XP). +- Works only if a valid Enchanting Table is two blocks above. +- Produces enchanted books or items based on vanilla or Apotheosis logic. +- Optionally consumes items from network. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/chunky_fluid_p2p_tunnel.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/chunky_fluid_p2p_tunnel.md new file mode 100644 index 000000000000..3b868fd72e37 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/chunky_fluid_p2p_tunnel.md @@ -0,0 +1,23 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Chunky Fluid P2P + icon: crazyae2addons:chunky_fluid_p2p_tunnel +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:chunky_fluid_p2p_tunnel +--- + +# Chunky Fluid P2P Tunnel + +The Chunky Fluid P2P Tunnel part lets you send fluids in fixed-size chunks. It waits until it has collected enough fluid to meet the configured chunk size (in millibuckets), then moves exactly that amount to the connected output, cycling through them to keep distribution balanced. + +## [Video Tutorial](https://youtu.be/fcd3xHpsXnE&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## How to Use + +1. **Attach the part**: Place the Chunky Fluid P2P Tunnel on any side of an ME cable or Fluid Interface that is connected to a tank or fluid machine. +2. **Configure chunk size**: Right click the part with an empty hand to open its settings. Enter the desired chunk size in mB (for example, `1000` for one full bucket) and click Save. +3. **Link**: Use memory card to link input with outputs. +4. **Fill and transfer**: When fluid enters the tunnel, if its amount is at least the chunk size, it sends exactly that amount to the next output in line. If the amount is less than the chunk size, nothing will happen. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/circuited_pattern_provider.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/circuited_pattern_provider.md new file mode 100644 index 000000000000..f61c4419a464 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/circuited_pattern_provider.md @@ -0,0 +1,31 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Circuited Pattern Provider + icon: ae2:pattern_provider +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:circuit_upgrade_card +--- + +# Circuited Pattern Provider + +# Available only when GregTech is also on the mod list. + +It one extra feature: when you use a pattern that carries a "circuit" tag (set with the Crazy Pattern Modifier), +*almost* any pattern provider will automatically load that circuit into every connected GregTech machine before crafting. + +- Works through interface + storage bus combo (storage bus must be upgraded with the circuit upgrade card). +- Works through pattern P2P's from modern AE2 additions. +- Works also through the combo of the pattern P2P + interface + storage bus. + +## [Video Tutorial](https://youtu.be/xhu6xvmIjI0&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## How to Use + +1. **Place the block**: Attach the Pattern Provider to your network. +2. **Prepare patterns**: Use the Crazy Pattern Modifier on any processing pattern to assign a circuit ID (1–32). +3. **Open the interface**: Right-click the Pattern Provider to insert and manage your encoded patterns. +4. **Crafting**: When you request a craft, before the provider pushes the pattern to the connected machines, it sets each machine’s circuit inventory to the one encoded in the currently used pattern. +5. **Enjoy**: No manual circuit cards needed, any GregTech machines hooked up will automatically pick up the correct circuit every time. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/cpu_prio.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/cpu_prio.md new file mode 100644 index 000000000000..7619fc4285d4 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/cpu_prio.md @@ -0,0 +1,56 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: CPU Priorities + icon: crazyae2addons:cpu_prio_tuner +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:cpu_prio_tuner +--- + +# Crafting CPU Priorities + +Normally in **Applied Energistics 2**, when you have multiple **Crafting CPUs** in your ME Network, the system automatically decides which CPU should receive items needed for autocrafting. By default, this choice is more or less random — whichever CPU happens to be available will take the items first. + +This can sometimes lead to unwanted behavior, especially if you want one CPU to always finish its task first or to make sure that certain crafting jobs do not "steal" items from another CPU. + +## [Video Tutorial](https://youtu.be/N7GTS2fAxjc&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## Why Priorities? + +With this addon, every Crafting CPU can now be assigned a **priority value**. + +* CPUs with **higher priority** will receive the required items before lower-priority ones. +* If two CPUs are waiting for the same item, the one with the **higher priority** will get it first. +* This allows you to control how your crafting jobs compete for items inside the network. + +This feature helps if you: + +* Want a **“main” CPU** to always handle critical recipes before smaller ones. +* Need to **separate tasks** (e.g., keep your auto-processing CPU from interfering with your bulk crafting CPU). +* Prefer predictable crafting flows rather than random assignment. + +--- + +## How to Set CPU Priority + +1. Craft and hold the **CPU Priority Tuner** item (the tool used to configure CPU clusters). +2. Right-click on a block that belongs to the **Crafting CPU cluster** you want to configure. +3. A configuration screen will open. +4. Enter a number in the priority field: + * Higher numbers mean **higher priority**. + * Negative or lower numbers mean **lower priority**. +5. Press **Save**. + +The new priority is stored directly in the CPU cluster. You can repeat this process for each CPU in your network. + +--- + +## Tips + +* If all CPUs have the same priority, the system will behave like vanilla AE2 — distributing items randomly. +* Use **high positive values** for your main CPU(s) and **lower or negative values** for secondary ones. +* You can change priorities at any time without breaking or rebuilding the CPU. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crafting_scheduler.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crafting_scheduler.md new file mode 100644 index 000000000000..bd3a63d2341c --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crafting_scheduler.md @@ -0,0 +1,38 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Crafting Scheduler + icon: crazyae2addons:crafting_scheduler +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:crafting_scheduler +--- + +# Crafting Scheduler + + + +The Crafting Scheduler is a redstone-triggered crafting block that queues and submits crafting jobs to your system when powered. It allows you to automate specific crafting requests with redstone + +--- + +## How to Use + +1. **Place the Block** + - Connect it to your ME network. + - Ensure it has access to at least one available CPU. + +2. **Insert the Item to Craft** + - Open the GUI. + - Use the slot to choose the item you want to schedule. + +3. **Set the Amount** + - Enter the quantity you want crafted each time it triggers. + - Use the text field and confirm with the green button. + +4. **Trigger with Redstone** + - Apply a redstone pulse to the block. + +5. **Repeatable Usage** + - Each new pulse triggers a new job if a CPU is available. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_calculator.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_calculator.md new file mode 100644 index 000000000000..e0115bd41548 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_calculator.md @@ -0,0 +1,27 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Crazy Calculator + icon: crazyae2addons:crazy_calculator +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:crazy_calculator +--- + +# Crazy Calculator + + + +The Crazy Calculator is a portable tool that opens a GUI calculator. + +## How to Use + +1. **Hold and Use** + - Right-click while holding the item to open the GUI. + +2. **Input equation** + - you can add, subtract, multiply, divide, use brackets. Example 2k*(1/3m)+12g (2k is 2000, 3m is 3 000 000 and 12g is 12 000 000 000) + +3. **Result** + - Press the button and result of your equation will appear bellow. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_emitter_multiplier.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_emitter_multiplier.md new file mode 100644 index 000000000000..1214571f30ad --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_emitter_multiplier.md @@ -0,0 +1,46 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Crazy Emitter Multiplier + icon: crazyae2addons:crazy_emitter_multiplier +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:crazy_emitter_multiplier +--- + +# Crazy Emitter Multiplier + + + +The Crazy Emitter Multiplier is a handheld tool used to easily set or scale the signal value of any **Storage Level Emitter** in your ME network. + +Instead of typing numbers manually, this item lets you quickly multiply or replace the emitter’s value. + +--- + +## How to Use + +## [Video Tutorial](https://youtu.be/__CiwpU4bbg&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +### 1. Open the GUI +- Right-click the item in hand. +- You’ll see a screen with: + - A **text field** where you enter a number or math expression (e.g., 100, 2*64, 1k). + - A **checkbox** to toggle between "Multiply" and "Set" mode. + - A confirm button to save. + +### 2. Set the Mode +- **Set**: Directly sets the emitter value to the number. +- **Multiply**: Multiplies the emitter’s current value by the number you enter. + +### 3. Apply to a Storage Level Emitter +- Sneak + right-click on any Storage Level Emitter while holding the configured Crazy Emitter Multiplier. +- The emitter’s value will be updated according to the mode and number you saved. + +--- + +## Features + +- Supports math expressions and units (`1k = 1000`, `2*64`, etc.). +- Only affects AE2 Storage Level Emitters. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_modifier.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_modifier.md new file mode 100644 index 000000000000..ad974b3b501a --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_modifier.md @@ -0,0 +1,34 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Crazy Pattern Modifier + icon: crazyae2addons:crazy_pattern_modifier +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:crazy_pattern_modifier +--- + +# Crazy Pattern Modifier + + + +The Crazy Pattern Modifier is a versatile item that lets you tweak your AE2 processing patterns. + +You can choose to ignore NBT data, so patterns that normally require specific enchantments or item tags will accept any matching item. + +You can also encode a specific circuit ID onto a pattern for use with Circuited Pattern Provider + GregTech's machines. + +## [Ignore NBT video](https://youtu.be/FSIh5NOEOzg&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) +## [Other Features](https://youtu.be/__CiwpU4bbg&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## How to Use + +Hold the Crazy Pattern Modifier in your hand and right-click to open its interface. +When you open it by right-clicking on a pattern provider block, it will open on its inventory. +You’ll see a single slot where you place your processing pattern item. Two buttons let you change settings: + +- **Ignore NBT**: Click the NBT button to toggle whether the pattern ignores NBT tags. When on, you can craft items like enchanted books without specifying exact enchantments. +- **Set Circuit**: If GregTech is installed, enter a number (1–32) in the text field and click confirm to assign that circuit to the pattern. + +As you make changes, the screen shows messages indicating the current mode (for example, "Current: ignore NBT" or "Selected circuit 5"). \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_multiplier.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_multiplier.md new file mode 100644 index 000000000000..31916ed406fd --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_multiplier.md @@ -0,0 +1,31 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Crazy Pattern Multiplier + icon: crazyae2addons:crazy_pattern_multiplier +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:crazy_pattern_multiplier +--- + +# Crazy Pattern Multiplier + + + +## [Video Tutorial](https://youtu.be/__CiwpU4bbg&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +Crazy Pattern Multiplier is a handy item that lets you multiply the quantities +in your AE2 processing patterns without rebuilding them by hand. +You can scale inputs and outputs by any positive number. +Supports setting a limit above which it won't multiply your patterns. +Supports mass changing circuit numbers of all patterns inside it. + +Supports math expressions in the multiplier field (e.g., `2*(3+1)`). + +## How to Use + +1. **Open the GUI**: Hold the Crazy Pattern Multiplier in your hand and right click to open its interface. You’ll see a grid of 36 slots and a text field labeled "Multiplier". +2. **Set the multiplier**: Enter the number you want to scale by (for example, `2` to double, `0.5` to halve, or even `1k` for a thousandfold) in the text field. +3. **Apply to patterns**: Click the confirm button. The tool will replace each processing pattern in the slots with a new one whose inputs and outputs have been multiplied by your value. +4. **Sneak-Click support**: Sneak-right-click on any inventory (like a Pattern Provider block or a chest) to apply the last-used multiplier directly to all patterns in that inventory. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_provider.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_provider.md new file mode 100644 index 000000000000..7ba4b2cbc371 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/crazy_pattern_provider.md @@ -0,0 +1,46 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Crazy Pattern Provider + icon: crazyae2addons:crazy_pattern_provider +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:crazy_pattern_provider + - crazyae2addons:crazy_upgrade +--- + +# Crazy Pattern Provider + + + +The Crazy Pattern Provider is an extended version of AE2's Pattern Provider with dynamic expandability. +It holds all its settings and inventory when broken. + +## [Video Tutorial](https://youtu.be/54WvhbR3GfY&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## Key Features + +- **Expandable Pattern Capacity** + - Starts with 72 (8x9) pattern slots. + - Right-click with a Crazy Upgrade item to add +9 more slots. + - There is no limit, you can make a provider holding 9999 patterns. + +- **Scrollable GUI** + - Display shows current pattern capacity. +- **Hover text** + - Displays current capacity of the provider and how many patterns are already inside it. +--- + +## How to Use + +1. **Place the Block** + - Acts like a standard AE2 Pattern Provider, connects to ME network. + +2. **Insert Encoded Patterns** + +3. **Upgrade Slot Count** + - Use a Crazy Upgrade item on the block to increase pattern capacity. + - UI updates automatically. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/display_monitor.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/display_monitor.md new file mode 100644 index 000000000000..9ecd2c045f1a --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/display_monitor.md @@ -0,0 +1,229 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Display Monitor + icon: crazyae2addons:display_monitor +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:display_monitor +--- + +# Display Monitor — User Guide + +## Short Reference +* &cRRGGBB — text color +* &bRRGGBB — background color +* &i^namespace:id — inline icon (item/block/fluid) +* &s^namespace:id — ME stock amount +* &s^namespace:id%N — ME stock scaled by 10 to the power of N (rounded) +* &d^namespace:id@WINDOW — rate over WINDOW, scaled to per 1 second +* &d^namespace:id%PER@WINDOW — rate over WINDOW, scaled to PER +* &( ... ) — math expression evaluation for example &( 2 + 2 ) +* some other Markdown tokens also work + +![Display](../img/display.png) + +This guide explains how to configure, format text, and build multi-block walls with the Display Monitor part in CrazyAE2Addons. + +## [Video Tutorial](https://youtu.be/49oCeCdQrXg&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## What it is + +The Display Monitor is a flat AE2 part you place on a cable face. When powered, +it renders text (with simple formatting, colors, and inline icons) and can show live ME stock values and deltas. + +Power: idle draw is minimal (about 1 AE/t). The monitor must be powered and active on your AE network to render. + +--- + +## Quick Start + +1. Place the Display Monitor on the desired cable face. +2. Right-click it to open the Display menu. +3. In the text box, type your message. Example: + +System Online +\* &i^minecraft:iron_ingot stock: &s^minecraft:iron_ingot +\* &i^minecraft:iron_ingot /s: &d^minecraft:iron_ingot%1s@1m + +4. Apply/Save. If the monitor is powered, the text appears. + +![Display](../img/display1.png) + +--- + +## New lines + +You can use either real new lines (Enter) or the token &nl. + +--- + +## Text formatting + +### Inline styles (markdown-like) + +* **bold** using \*\*double asterisks\*\* +* *italic* using single \*asterisks\* +* __underline__ using double \_\_underscores\_\_ +* ~~strikethrough~~ using double \~\~tildes\~\~ + +### Headings + +Lines starting with one or more # become headings and render larger: + +* \# Heading 1 +* \#\# Heading 2 +* \#\#\# Heading 3 + +### Bullets and indentation + +* Start a line with "* " or "- " to get a bullet (•) +* Begin a line with one or more ">>" to add visible indentation markers + +--- + +## Colors + +* Text color: &cRRGGBB (hex), affects following text until changed again. + * Example: &cFF0000 makes following text red. +* Background color: &bRRGGBB (hex), sets the whole panel background (opaque). + * Background is global per linked wall (set it once anywhere in the text). + +Example: + +&b002020Status: &cF000E0\*\*ONLINE\*\* + +![Display](../img/display2.png) + +--- + +## Inline icons + +You can render item, block, or fluid icons inline using: + +&i^namespace:id + +Examples: + +* &i^minecraft:diamond +* &i^minecraft:oak_log +* &i^minecraft:water + +If the id cannot be resolved, the token stays as text. + +--- + +## ME Stock tokens (auto-count from Storage) + +You can display current amounts in your ME storage with: + +&s^namespace:id +&s^namespace:id%N + +* &s^minecraft:oak_log shows the exact amount. +* Optional %N scales the number by 10 to the power of N with rounding. + +Examples (if ME has 64): + +* &s^minecraft:oak_log -> 64 +* &s^minecraft:oak_log%1 -> 6 +* &s^minecraft:oak_log%2 -> 1 (rounding) + +--- + +## Delta / rate tokens (change over time) + +You can show a rate of change using: + +&d^namespace:id@WINDOW +&d^namespace:id%PER@WINDOW + +Units: + +* t = ticks +* s = seconds +* m = minutes + +Meaning: + +* WINDOW decides how far back the monitor looks when computing the change. +* PER decides what unit the value is scaled to (per second, per minute, etc.). If omitted, it defaults to per 1 second. + +Examples: + +* &d^minecraft:iron_ingot@10s + Shows the average change rate over the last 10 seconds, scaled to per 1 second. +* &d^minecraft:iron_ingot%1m@5m + Shows the average change rate over the last 5 minutes, scaled to per 1 minute. +* &d^minecraft:water@30s + Works for fluids too (by id). + +Notes: + +* The window is clamped to at least 1 second and at most 30 minutes. +* Output is signed: positive shows +, negative shows -. + +--- + +## Math expressions + +You can evaluate math expressions using: + +&( expression ) + +The monitor evaluates these after tokens are resolved, so you can do things like: + +Stored stacks (rounded): &(&s^minecraft:iron_ingot / 64) + +If parsing fails, the result becomes ERR. + +![Display](../img/display3.png) + +--- + +## Multi-Monitor Walls (Linked Mode) + +You can stitch several monitors into a single large display on a wall (N/E/S/W facing). + +### Requirements + +All monitors must: + +* Be on the same wall face (same side/facing). +* Be powered and active. +* Have Linked Mode enabled (toggle in each monitor’s menu (default on)). +* Form a perfect rectangle (no gaps). + +Ceiling/floor monitors (UP/DOWN) do not link into walls; they render as single tiles. + +### How rendering works + +Only one monitor in the rectangle actually draws the text; the rest provide surface area. + +The renderer uses the top-left tile of the rectangle (from the wall’s perspective) as the origin tile. Put your text on that one monitor to render across the whole wall. + +### Building steps + +1. Place your monitors in a perfect rectangle on a wall. +2. Power the cable(s) behind them. +3. Enable Linked Mode on each. +4. Open the top-left monitor and configure the text. + +--- + +## Placement & rotation + +* On walls (N/E/S/W): the text follows the wall orientation. +* On floor/ceiling (UP/DOWN): the monitor stores a spin captured from your facing at placement. To change it, break and place again while facing a different direction. + +--- + +## Tips & Troubleshooting + +* No text shows: ensure the monitor is powered and active; for linked walls, edit the top-left tile. +* Wall not linking: check Linked Mode is enabled on every tile. + +--- diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ejector.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ejector.md new file mode 100644 index 000000000000..e32d649cae6c --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/ejector.md @@ -0,0 +1,35 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Ejector + icon: crazyae2addons:ejector +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:ejector +--- + +# Ejector + + + +The Ejector is an automation block that lets you push items, +fluids, or other resources directly into the block in front of it - all triggered by a redstone pulse. + +## [Video Tutorial](https://youtu.be/gdV7Ga7g2Pk&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## How to Use + +1. **Place the Ejector** + - Put it facing the machine you want to send items into. + +2. **Set the settings** + - Open its GUI and set what resources should it send. + - You can load the settings using a processing pattern. + - Supports crafting card upgrade. + +3. **Trigger with Redstone** + - Send a redstone pulse to the Ejector. + - The texture changes when its crafting items to send. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_exporter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_exporter.md new file mode 100644 index 000000000000..7c92a85e7f40 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_exporter.md @@ -0,0 +1,38 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Energy Exporter + icon: crazyae2addons:energy_exporter +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:energy_exporter +--- + +# Energy Exporter + +The Energy Exporter is a part that allows your ME network to send Forge Energy (FE) +or GregTech Energy (EU) into adjacent machines or storage blocks. +It extracts power from your network and provides it outward. + +## [Video Tutorial](https://youtu.be/UVD8DtrjLb8&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## How to Use + +1. **Place the part**: Attach the Energy Exporter to an ME cable facing a block that accepts energy. +2. **Open the GUI**: Right-click the part to open its settings screen. +3. **Install upgrades**: + - **Speed Cards**: Increase the rate of FE transfer exponentially. + - Staring from 1FE/t (no upgrades) up to about max int FE/t (6 upgrades). +4. **GregTech support**: + - Insert a battery into the slot if you want to switch to GregTech EU mode. + - The voltage used depends on the inserted battery tier (e.g., LV, MV, HV, etc.). + - The battery must be a lithium one, if available. +5. **Monitor output**: + - The screen shows current transfer rate. + - In GregTech mode, it additionally shows configured voltage and amperage. + +The Energy Exporter automatically adapts to whether it is providing FE or EU, +based on the inserted battery and the target machine's capabilities. +It handles power conversion rates and protects your network from overdrawing, +turning of when the power left in your network falls bellow 33%. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_interface.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_interface.md new file mode 100644 index 000000000000..1f086dae6df4 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/energy_interface.md @@ -0,0 +1,32 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Energy Interface + icon: crazyae2addons:energy_interface +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:energy_interface +--- + +# Energy Interface + +The **Energy Interface** is a passive cable part that exposes your ME network’s stored AE energy as a Forge Energy. + +## [Video Tutorial](https://youtu.be/UVD8DtrjLb8&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## How It Works + +- Acts like a battery from the perspective of FE. +- Energy available for extraction depends on the current AE network energy. +- Limits extraction to: + - No more than **30%** of your total AE capacity. + - No more than 500MFE, whichever is lower. +- Energy extracted is calculated at **2 FE = 1 AE**. +- Energy can also be **injected**, converting FE into AE at the same 2:1 ratio. + +--- + + diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entity_ticker.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entity_ticker.md new file mode 100644 index 000000000000..27f3abd527c6 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entity_ticker.md @@ -0,0 +1,29 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Entity Ticker + icon: crazyae2addons:entity_ticker +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:entity_ticker +--- + +# Entity Ticker + +The Entity Ticker is a unique ME part that dramatically speeds up the block entity you attach it to. It ticks the neighboring machine multiple times per game tick, making processes like smelting, machine operations, or other block entity updates much faster. + +## [Video Tutorial](https://youtu.be/4SuLOlJujO8&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## How to Use + +1. **Place the part**: Attach the Entity Ticker to an ME cable facing the machine or block entity you want to accelerate. +2. **Open its GUI**: Right-click the part to view energy usage and upgrade information. +3. **Install upgrades**: + - **Speed Cards**: Each Speed Card installed doubles the ticking speed of the target block. + - The maximum number of Speed Cards is 8. +4. **Power cost**: + - The power consumption grows exponentially with each Speed Card. + - Base energy usage is 256 FE/t without upgrades and quadruples per upgrade step. + +The Entity Ticker is ideal for setups where you want to dramatically boost the performance of slow machines, but be prepared to provide a lot of power from your ME network! \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entropy_cradle.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entropy_cradle.md new file mode 100644 index 000000000000..049faadd1a6b --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/entropy_cradle.md @@ -0,0 +1,46 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Entropy Cradle Multiblock + icon: crazyae2addons:entropy_cradle_controller +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:entropy_cradle_controller + - crazyae2addons:entropy_cradle_capacitor + - crazyae2addons:entropy_cradle +--- + +# Entropy Cradle + + + + + +The **Entropy Cradle** is a massive energy accumulator and transmutation multiblock. +It stores up to **600 million FE**, and performs powerful **block transmutations** when fully charged. + +## [Video Tutorial](https://youtu.be/b_EVNTQ73i0&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## How It Works + +1. **Charge**: + - Charging stops at 600M FE. + - Six capacitor layers light up progressively. + - Capacitors emit comparator signal when the energy storage is full. + +2. **Transmutation**: + - On redstone pulse at full charge: + - Cradle discharges. + - If a known recipe structure is inside of it, it is replaced with a powerful block (e.g., Penrose Frame, Energy Storage Component). + +--- + +## Notes + +- Requires AE2 power and channels. +- Can be charged only via AE energy. +- You can find available recipes in JEI/EMI. +- You can fully automate crafting with it using the builder. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/extracting_p2p_tunnels.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/extracting_p2p_tunnels.md new file mode 100644 index 000000000000..6c9b4feae5f1 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/extracting_p2p_tunnels.md @@ -0,0 +1,47 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Extracting P2P Tunnels + icon: crazyae2addons:extracting_fe_p2p_tunnel +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:extracting_fe_p2p_tunnel + - crazyae2addons:extracting_item_p2p_tunnel + - crazyae2addons:extracting_fluid_p2p_tunnel +--- + +# Extracting P2P Tunnels + +These are variants of standard AE2 P2P tunnels that are actively working, instead of needing +items, fluids, or energy to be inserted into the tunnel, they automatically **pull** +from the block they are attached to and push into the linked outputs. + +## [Video Tutorial](https://youtu.be/fcd3xHpsXnE&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## Available Types + +- **Extracting Item P2P Tunnel** + - Automatically pulls up to 64 items/tick from the attached inventory and sends them to the linked outputs. + +- **Extracting Fluid P2P Tunnel** + - Drains up to 64 buckets per tick from the fluid handler it's attached to and distributes it across outputs. + +- **Extracting FE P2P Tunnel** + - Pulls up to max int of Forge Energy (FE) from the source and pushes it to all linked outputs. + - Distribution is proportional to how much each target can receive. + +--- + +## How to Use + +1. **Place the Tunnel** + - Attach it to the block you want to pull from. + +2. **Link as Output** + - Use memory card to assign frequency (right-click source, then targets). + +3. **Connect Outputs** + - Attach another extracting tunnel parts of the same type to the output targets. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/impulsed_pattern_provider.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/impulsed_pattern_provider.md new file mode 100644 index 000000000000..c6383aae8547 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/impulsed_pattern_provider.md @@ -0,0 +1,29 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Impulsed Pattern Provider + icon: crazyae2addons:impulsed_pattern_provider +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:impulsed_pattern_provider +--- + +# AE2 way of dealing with chanced recipes + +# Impulsed Pattern Provider + + + +The Impulsed Pattern Provider is a specialized crafting block that sends the last used pattern when triggered by a redstone signal. + +## [Video Tutorial](https://youtu.be/KsIfz0FszIM&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## How to Use + +1. **Place the block**: Attach the Impulsed Pattern Provider to your ME network like a normal Pattern Provider. +2. **Open its GUI**: Right click the block to access its interface. +3. **Insert patterns**: Add any processing patterns into the grid slots as usual. +4. **Trigger crafting**: Apply a redstone pulse to the block. Each rising edge will push the last used pattern into the connected machine again. + +This way you can automate recipes with **chanced outputs**. The most basic setup would work like this. When the machine fails to produce your desired thing, detect that (for example using the [Signalling Interface](signalling_interface.md)) and send redstone pulse to the provider. It will push the pattern again. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_annihilation_plane.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_annihilation_plane.md new file mode 100644 index 000000000000..af13943e9f89 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_annihilation_plane.md @@ -0,0 +1,26 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Mob Annihilation Plane + icon: crazyae2addons:mob_annihilation_plane +categories: + - Mob Storage +item_ids: + - crazyae2addons:mob_annihilation_plane +--- +# Mob Annihilation Plane + +The Mob Annihilation Plane is a special ME part that captures and stores mobs directly into your ME network. It instantly removes a mob standing in front of it and stores it inside your ME Storage system. + +## [Video Tutorial](https://youtu.be/MUKyq0IDi3M&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## How to Use + +1. **Place the Mob Annihilation Plane** +2. **Storage Setup** + - Make sure your network has space for "Mob Data" (Mob Storage Cells). +3. **That's all** + +## Important Notes + +- **Only works on true mobs**: Passive mobs, hostile mobs, but not players or non-mob entities. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_export_bus.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_export_bus.md new file mode 100644 index 000000000000..51bb82a1844b --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_export_bus.md @@ -0,0 +1,29 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Mob Export Bus + icon: crazyae2addons:mob_export_bus +categories: + - Mob Storage +item_ids: + - crazyae2addons:mob_export_bus +--- +# Mob Export Bus + +The Mob Export Bus is a special ME part that allows you to release stored mobs back into the world from your ME Storage. It works just like a regular Export Bus, but specifically for mobs. + +## [Video Tutorial](https://youtu.be/MUKyq0IDi3M&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## How to Use + +1. **Place the Mob Export Bus** +2. **Configure What to Spawn** + - Open the Mob Export Bus GUI. + - Select which stored mob types you want the bus to export. You do so by using a proper spawn egg item, you can also drag it from JEI. + +3. **Spawn Conditions** + - The target block must be air. + +## Important Notes + +- **Mob Safety**: Ensure the spawn spot is not obstructed, or the bus will not spawn anything. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_farm.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_farm.md new file mode 100644 index 000000000000..c8013d01b185 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_farm.md @@ -0,0 +1,59 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Mob Farm + icon: crazyae2addons:mob_farm_controller +categories: + - Mob Storage +item_ids: + - crazyae2addons:mob_farm_wall + - crazyae2addons:mob_farm_input + - crazyae2addons:mob_farm_collector + - crazyae2addons:mob_farm_damage + - crazyae2addons:mob_farm_controller +--- + + + + + +# Mob Farm Controller + +The Mob Farm Controller is the heart of an automatic, multi-block mob farming system. It simulates killing mobs stored in your ME network and generates drops and experience shards, and stores them directly into the system, **excluding** any **NBT** or **unstackable** items. + +## [Video Tutorial](https://youtu.be/MUKyq0IDi3M&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## How to Use + +1. **Build the Multiblock Structure** + - Arrange blocks in a 5x5x6 cube in a pattern described above. + +2. **Power the Controller** + - Connect the Mob Farm Controller to an active ME network. + +3. **Setup in GUI** + - Configure which mobs should be processed. + - Optional: Set the item that will be used to kill the mobs. + +4. **Insert Upgrade Cards (Optional)** + - Install Looting/Experience/Acceleration Upgrade Cards. + +--- + +## How It Works + +- The farm "consumes" mobs taken from the ME Storage. +- Calculates drops based on the mob's loot table, and deletes all nbt items or unstackables. +- Generates experience shards. +- Drops and XP shards are inserted back into the ME network. +- More Damage Modules = faster kill speed. +- Speed Cards further boost the processing rate. (Max 64 mobs/s) + +--- + +## Important Notes + +- **Requires correct multiblock structure**: If broken, the farm will stop. +- **Only processes mobs**: You must first catch mobs using a Mob Annihilation Plane or a [Spawner Extractor](spawner_extractor.md). +- **No real mobs spawned**: No lag, no danger. +- **Looting Supported**: Enhance your drops easily. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_formation_plane.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_formation_plane.md new file mode 100644 index 000000000000..a3a4914a4822 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/mob_formation_plane.md @@ -0,0 +1,41 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Mob Formation Plane + icon: crazyae2addons:mob_formation_plane +categories: + - Mob Storage +item_ids: + - crazyae2addons:mob_formation_plane +--- +# Mob Formation Plane + +The Mob Formation Plane is a special ME part that places mobs directly into the world. It works like a traditional Formation Plane, but specifically for spawning captured mobs. Its something like export only storage bus but for mobs. + +## [Video Tutorial](https://youtu.be/MUKyq0IDi3M&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## How to Use + +1. **Place the Plane** + - Attach it to any ME cable, with the output side facing an empty block where mobs should appear. + +2. **Configure Mob Filters** + - Right-click the plane to open its GUI. + - Place MobKeys into the config slots to whitelist which mobs are allowed. + - If an **Inverter Card** is installed, the list becomes a blacklist instead. + +3. **Add Upgrade Cards** *(Optional)* + - Use **Capacity Cards** to unlock more filter slots. + +4. **Spawn Conditions** + - The block in front **and above** must be air. + - Spawning fails if either is blocked. + +--- + +## How It Works + +- Every time a matching MobKey is inserted into the ME network: + - The Mob Formation Plane checks if it's in the filter and if the priority is high enough. + - If valid and the position is clear, the mob is spawned into the world. + - Up to 24 mobs can be spawned in one action. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_export_bus.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_export_bus.md new file mode 100644 index 000000000000..f2a846d86367 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_export_bus.md @@ -0,0 +1,55 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: NBT Export Bus + icon: crazyae2addons:nbt_export_bus +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:nbt_export_bus +--- +# NBT Export Bus + +The NBT Export Bus is an advanced version of the AE2 export bus that lets you filter and control access to storage **based on NBT data**. + +## [Video Tutorial](https://youtu.be/ehDNQiDHNPE&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## How to Use + +1. **Place on a Storage Block** + - Attach the NBT Export Bus to a chest, drawer, or any block with item inventory. + +2. **Open Configuration GUI** + - Right-click the part to configure its filter and behavior. + - GUI allows you to: + - Set read/write permissions + - Toggle extract filters + - Configure NBT match expressions + +3. **Write NBT Filter** + - Use the text area to enter **NBT match expressions**. + - Examples: + - {Enchantments:[{id:"minecraft:sharpness"}]} - matches only items with Sharpness enchant. + - {display:{Name:My Sword}} - matches items with tag display value set to Name: My Sword + - {*:"value"} - matches if *any* NBT value is "value" + - {key:!"value"} - matches if the NBT named key value is not "value" + - Supports logical expressions like &&, ||, !, nand, etc. + +4. **Load NBT from Item** *(Optional)* + - Place an item in the fake slot and press the **Load** button. + - Automatically imports the item's NBT into the filter. + +--- + +## Matching System + +NBT expressions use a custom parser that supports: + +- **Wildcard keys/values**: "*" +- **AND/OR/NAND/XOR logic** +- **Recursive key matching** +- **Negation with !value** + +If an item matches the expression, it's exported. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_storage_bus.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_storage_bus.md new file mode 100644 index 000000000000..efdcebd56fb7 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/nbt_storage_bus.md @@ -0,0 +1,58 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: NBT Storage Bus + icon: crazyae2addons:nbt_storage_bus +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:nbt_storage_bus +--- +# NBT Storage Bus + +The NBT Storage Bus is an advanced version of the AE2 storage bus that lets you filter and control access to storage **based on NBT data**. + +## [Video Tutorial](https://youtu.be/ehDNQiDHNPE&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## How to Use + +1. **Place on a Storage Block** + - Attach the NBT Storage Bus to a chest, drawer, or any block with item inventory. + +2. **Open Configuration GUI** + - Right-click the part to configure its filter and behavior. + - GUI allows you to: + - Set read/write permissions + - Toggle extract filters + - Configure NBT match expressions + +3. **Write NBT Filter** + - Use the text area to enter **NBT match expressions**. + - Examples: + - {Enchantments:[{id:"minecraft:sharpness"}]} - matches only items with Sharpness enchant. + - {display:{Name:My Sword}} - matches items with tag display value set to Name: My Sword + - {*:"value"} - matches if *any* NBT value is "value" + - {key:!"value"} - matches if the NBT named key value is not "value" + - Supports logical expressions like &&, ||, !, nand, etc. + +4. **Load NBT from Item** *(Optional)* + - Place an item in the fake slot and press the **Load** button. + - Automatically imports the item's NBT into the filter. + +5. **Upgrades** + - Accepts 1 Upgrade Card (Void Card to void overflow) + +--- + +## Matching System + +NBT expressions use a custom parser that supports: + +- **Wildcard keys/values**: "*" +- **AND/OR/NAND/XOR logic** +- **Recursive key matching** +- **Negation with !value** + +If an item matches the expression, it's allowed for extraction (depending on your settings). diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/notification_terminal.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/notification_terminal.md new file mode 100644 index 000000000000..0e22cb591a1f --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/notification_terminal.md @@ -0,0 +1,48 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Wireless Notification Terminal + icon: crazyae2addons:wireless_notification_terminal +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:wireless_notification_terminal +--- + +# Wireless Notification Terminal + +The Wireless Notification Terminal is a wireless terminal that watches your ME storage and +shows toast notifications when selected items or fluids or other resources cross a configured stock threshold. + +It is meant for simple “stock went above or below X” alerts. + +## [Video Tutorial](https://youtu.be/l7OcgG5FD_s&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## Requirements + +* The terminal must be linked to an AE network (same as other wireless terminals). + +--- + +## Quick Start + +1. Open the terminal GUI. +2. In the first row, put the item or fluid you want to monitor into the filter slot. +3. Enter a threshold value in the field next to it. +4. Repeat for more rows (up to 32). + +When the stored amount changes and crosses the threshold, you will receive a toast: + +* Above threshold (amount becomes greater than or equal to the threshold) +* Below threshold (amount becomes less than the threshold) + +Checks and updates happen once per second. + +## Notes + +* Notifications only trigger when the state flips (below to above, or above to below). +* Changing a filter item or editing the threshold resets the stored state for that row (so it will not instantly notify until it crosses again). +* It works even while the GUI is closed, as long as the terminal item is in your inventory (server-side check once per second). +* Works with Wireless Universal Terminal (WUT) as well. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/penrose_sphere.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/penrose_sphere.md new file mode 100644 index 000000000000..c9c41fb87eaa --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/penrose_sphere.md @@ -0,0 +1,190 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Penrose Sphere + icon: crazyae2addons:penrose_controller +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:penrose_controller + - crazyae2addons:penrose_frame + - crazyae2addons:penrose_coil + - crazyae2addons:penrose_port + - crazyae2addons:penrose_injection_port + - crazyae2addons:penrose_heat_vent + - crazyae2addons:penrose_hawking_vent + - crazyae2addons:penrose_mass_emitter + - crazyae2addons:penrose_heat_emitter +--- + +# Penrose Sphere + + + + + +Any frame is a valid ComputerCraft peripheral. + +## [Video Tutorial](https://youtu.be/StXovPP4rk0&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +The **Penrose Sphere** is a late-game multiblock generator built around a contained black hole. By feeding it **Singularities**, it builds an **accretion disk** that converts mass into **Forge Energy (FE)**. + +You manage a **stable operating point** by balancing: + +* **Injection** (feeding Singularities) +* **Cooling** (Heat Vents) +* **Evaporation** (Hawking Vents) +* **Output** (Power Ports) + +--- + +## Requirements + +* The multiblock **must be formed**. +* The controller **requires an AE2 channel** and draws **2 AE/t** idle power. +* The controller has a **Disk Slot** that only accepts an **AE2 4k Storage Cell** dedicated to **Super Singularities**. +* The cell must contain **only Super Singularities**. +--- + +## Startup + +1. **Insert a 4k Storage Cell** into the controller’s **Disk Slot**. +2. Fill the cell with enough **Super Singularities** to pay the **startup cost** (configurable, default: full 4k item cell). +3. In the controller GUI click, **Start the Black Hole**. + + * The controller consumes the startup cost from the cell. + * The black hole begins at a configurable **initial mass**. + +> If the structure isn’t formed, the black hole cannot be started. + +--- + +## How power generation works now + +### Accretion disk (the “smoothing buffer”) + +Singularities you inject do **not** become black-hole mass instantly. They enter the **accretion disk** first and then “fall in” over time. + +* The disk keeps a rolling history of about **120 seconds**. +* The effective **orbit delay** (smoothing time) is about **60 seconds**. + +This means power ramps up and ramps down smoothly instead of instantly. + +### Heat and efficiency + +The disk generates **heat** (internal unit: **MK**). Heat is not just a danger value - it also affects efficiency. + +* At **low heat**, efficiency is close to **0** (almost no power). +* Efficiency rises until the **peak heat** (default: **50,000 MK**). +* Above the peak, efficiency falls again. +* If heat reaches the **max heat** (default: **100,000 MK**), the sphere **melts down**. + +To stay productive *and* safe, you generally want to hold heat **near the peak** using **Heat Vents**. + +### Black hole mass (“sweet spot”) + +Power output is multiplied by a **mass factor** based on how close the black hole mass is to a configured **sweet spot** (middle of the allowed mass window). + +* At the edges of the window, mass factor is **1.0**. +* At the sweet spot, mass factor reaches **MassFactorMax** (default: **2.0**). + +Mass factor boosts both **power** and **heating**, so running at the sweet spot is stronger but needs better cooling. + +If black hole mass reaches the configured **max mass**, the sphere **melts down**. + +--- + +## Feeding, cooling, and mass control + +### Injection (feeding Super Singularities) + +Injection is handled via the multiblock’s injection components (e.g. Injection Ports). Internally, the controller has a hard cap of **MaxFeedPerTick** (default: **4096**). + +You don't want to get anywhere close to this value though. Everything above 20 singularities/t is almost guaranteed meltdown, or at least lower net gain in power. + +Important behavior: + +* Injection can be **temporarily blocked** while the system is venting / evaporating (see Hawking Vents). +* Over-injecting without enough cooling will spike heat and can cause a meltdown. + +### Heat Vents (cooling) + +Heat Vents can remove heat when powered (redstone signal). + +**THERE CAN BE ONLY 1 VENT PER MULTIBLOCK** and the cooling cost rises exponentially. + +* Cooling costs **FE**. +* The controller will try to pay vent costs in this order: + 1. From power generated this tick + 2. From the controller’s stored FE buffer + 3. From the vent’s internal FE buffer +* If you can only pay part of the cost, you get **partial cooling**. So better connect them to your power spine. + +### Hawking Vents (evaporation) + +Hawking Vents reduce black hole mass (Hawking evaporation) when powered. + +**THERE CAN BE ONLY 1 VENT PER MULTIBLOCK** and the venting cost rises exponentially. + +* Evaporation costs **FE** (usually expensive). +* Evaporation is applied proportionally to how much of the cost you manage to pay. +* While Hawking Vents are active, the controller **stops all injection ports**. +* The black hole mass cannot be evaporated below the configured **initial mass**. + +--- + +## FE output + +* The controller stores generated energy in an effectively unbounded internal buffer. +* **Power Ports** actively export FE to adjacent blocks. +* The controller itself exposes an FE capability and can be drained by FE cables/pipes. +* The capability is also shared by all Penrose Frames in the multiblock. + +The GUI also shows: + +* **Last Generated FE/t (gross)** - what the disk produced before paying vent costs +* **Last Consumed FE/t** - what vents consumed +* **Stored FE** - what remains in the controller buffer +* **Energy in Disk** - an estimate of potential disk energy. + +--- + +## Output math (for balancing / configs) + +Gross generation per tick is based on disk flow, heat efficiency, and mass factor: + +FE/t (gross) ≈ DutyCompensation * BaseFEPerFlow * DiskFlow * HeatEfficiency * MassFactor + +With defaults at peak heat and sweet-spot mass, each **~1 “flow” (≈ 1 singu/t steady-state)** is roughly: + +* ~**179,000,000 FE/t gross** (before vent costs) + +Your real output will be lower if vents are running, or if heat is far from the peak, or if mass is far from the sweet spot. + +--- + +## Safety and meltdowns + +A meltdown triggers when either: + +* **Heat ≥ MaxHeat**, or +* **Black hole mass ≥ MaxMass** + +On meltdown, it can cause catastrophic black hole sized explosion (if not disabled via config). + +**Do not** run unattended without: + +* reliable cooling, +* mass control, +* and some form of monitoring. + +--- + +## Practical tips + +* Treat it like a reactor: + * **Injection** increases output, heat, and mass. + * **Heat Vents** stabilize heat around the peak. + * **Hawking Vents** keep mass from drifting into the danger zone. +* If heat is climbing, and you can’t afford cooling, **stop injection** immediately. +* If mass is trending upward over time, plan periodic evaporation to stay near the sweet spot. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/player_automation_cards.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/player_automation_cards.md new file mode 100644 index 000000000000..35cb526ee330 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/player_automation_cards.md @@ -0,0 +1,47 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Player/Automation Cards + icon: crazyae2addons:player_upgrade_card +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:player_upgrade_card + - crazyae2addons:automation_upgrade_card +--- + +# Pattern Provider Upgrade Cards + +These two upgrade cards are used in the Crazy Pattern Provider to control who is allowed to use its patterns for autocrafting. + +They do not change the recipe itself. They only filter whether the Pattern Provider is considered a valid source of patterns for a given crafting request. + +--- + +## Cards + +### Player Upgrade Card + +When installed, patterns in this Pattern Provider can be used only by player-started crafting requests, for example crafting started from a terminal. + +### Automation Upgrade Card + +When installed, patterns in this Pattern Provider can be used only by automation or machine-started crafting requests, for example crafting started by AE2 blocks or other automation systems on the network. + +--- + +## How to use + +1. Place a CrazyAE2Addons Pattern Provider on your AE2 network. +2. Open its upgrades. +3. Insert either: + * Player Upgrade Card, or + * Automation Upgrade Card. +4. Put your patterns into that provider as usual. + +--- + +## Notes and tips + +* Filtering is applied both during crafting calculation (pattern search) and during crafting execution (provider selection), so jobs stay consistent. + diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/portable_autobuilder.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/portable_autobuilder.md new file mode 100644 index 000000000000..2a3c99ea0d46 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/portable_autobuilder.md @@ -0,0 +1,113 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Portable Builder + icon: crazyae2addons:portable_builder +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:portable_builder +--- + +# Portable AutoBuilder + + + +The **Portable AutoBuilder** is a handheld **copy & paste** builder tool that integrates with **Applied Energistics 2**. + +It stores a structure **program**, shows a **3D preview** in its GUI, can **rotate/flip** the build, and will pull required blocks directly from your connected **ME network** before placing. + +## [Video Tutorial](https://youtu.be/2cKivPmxZ0w&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## Connecting to your ME network + +This gadget behaves like a wireless AE2 tool, link it to your network via a **Wireless Access Point**. + +--- + +## Copying a structure + +### 1) Select corners + +Use **Sneak + Right‑Click** on blocks to define the copy region: + +1. First sneak-click sets **Corner A**. +2. Second sneak-click sets **Corner B**. + * The **second click also becomes the structure origin**. +3. If you sneak-click again after both corners are set, it starts a **new selection** (Corner A is replaced, Corner B cleared). + +### 2) Finalize the copy + +After both corners are set, **Right‑Click (not sneaking) air** to generate the program and store it in the gadget. + +Copying costs power based on the blocks inside the region (air is ignored). + +--- + +## Pasting a structure + +### Placement + +You can paste in two convenient ways: + +* **Right‑Click something**: it raytraces up to **50 blocks**; if you’re pointing at a block, it pastes next to it. + +### Collision safety + +Before placing anything, the gadget checks every target position: + +* If any block would be placed into something that **cannot be replaced**, the paste aborts with a collision message. + +### Materials + +Before building, the gadget computes a full **block requirement list**: + +* It then attempts to **extract** the needed items from your ME network. +* If anything is missing, the paste won’t start (you’ll get a “Missing: ...” message). +* Creative players skip the ME extraction. + +--- + +## GUI and preview + +Open the GUI with **Sneak + Right‑Click in air**. + +Inside the GUI you can: + +* View a **3D preview** of the stored structure. +* **Drag** to rotate the camera. +* **Scroll** to zoom. +* Use buttons to: + * **Flip Horizontal** + * **Flip Vertical** + * **Rotate** + * **Clear** the stored structure +--- + +## Crafting Card: requirements panel + +If you install an **AE2 Crafting Card**, the GUI shows a requirements panel: + +* Displays items as **have / need**. +* Marks whether each missing item is **craftable**. +* For craftable entries, you can click the button to send a **craft request** for the missing amount. +* The list is scrollable with the mouse wheel. + +--- + +## Energy system (AE power) + +The gadget uses **AE2’s internal tool power**, shown via the item’s durability-style energy bar. + +* **Base capacity:** 200,000 +* **Upgrade slots:** 4 +* **Energy Cards:** each card increases max power by **+100% of base** + +--- + +## Tips + +* If paste keeps failing with “Missing ...”, open the GUI (with a Crafting Card installed) to see exactly what’s short and request crafts. +* If paste fails with a collision, clear the area first - this tool refuses to overwrite non-replaceable blocks. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/portable_spatial_io.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/portable_spatial_io.md new file mode 100644 index 000000000000..2f92c7ea36fc --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/portable_spatial_io.md @@ -0,0 +1,90 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Portable Spatial Storage + icon: crazyae2addons:portable_spatial_storage +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:portable_spatial_storage +--- + +# Portable Spatial Storage + + + +The **Portable Spatial Storage** is a handheld structure gadget that lets you **cut** and **paste** entire builds. + +Unlike the AutoBuilder, this tool physically **removes** blocks during **CUT**, stores the structure as a program, and then **rebuilds** it elsewhere on **PASTE**. + +## [Video Tutorial](https://youtu.be/2cKivPmxZ0w&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## Controls + +* **Shift + Right-click (on blocks):** select corners for the cut region. +* **Right-click (in air):** + * If you have corners selected → **starts CUT**. + * If a structure is stored → raytraces up to **50 blocks** and **pastes** onto the targeted face. +* **Right-click (on a block face):** **pastes** relative to that face (when a structure is stored). +* **Shift + Right-click (in air):** opens the **GUI** with 3D preview + transform tools. + +--- + +## Cutting a structure + +1. **Select corner 1**: Shift + right-click a block. +2. **Select corner 2**: Shift + right-click the opposite corner. + * The **second click** also becomes the **origin** and stores the **facing** of the structure. +3. **Start CUT**: right-click **in air** (not sneaking). + +What happens: + +* The gadget calculates a program from all **non-air** blocks in the region. +* The operation is scheduled over time (so big cuts won’t happen in a single tick). +* After the cut finishes, the gadget stores the structure. + +--- + +## Pasting a structure + +* If the gadget has a stored structure, **right-click** to paste. + + * Clicking a **block face** pastes relative to that face. + * Right-clicking **in air** raytraces up to **50 blocks** to find a target. + +Safety checks: + +* Before it starts, it checks every target position. If any position cannot be replaced, the paste is blocked. + +Important behavior: + +* After energy is paid, the gadget **clears its stored structure immediately** and then performs the paste over time. + +--- + +## Orientation and transforms + +* The paste orientation is based on the structure’s stored **source facing**, plus any transforms you apply in the **GUI**: + * **Flip Horizontal** + * **Flip Vertical** + * **Rotate** + +--- + +## Energy and upgrades + +* **Base capacity:** 200,000 (shown as an energy bar / tooltip) +* **Upgrade slots:** 4 +* **Energy Cards:** increase max capacity + +### Energy cost + +Energy cost scales with **distance from the origin** for each copied block: + +* per-block cost: distance(origin, block) * cost (default 5) +* total cost: sum of all per-block costs for all non-air blocks in the region + +(Exact multiplier is configurable) + diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_emitter.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_emitter.md new file mode 100644 index 000000000000..cb19a263a4ae --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_emitter.md @@ -0,0 +1,40 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Redstone Emitter + icon: crazyae2addons:redstone_emitter +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:redstone_emitter +--- + +# Redstone Emitter + +The Redstone Emitter is an ME part that acts like a digital redstone output. You can turn it ON or OFF via the Redstone Terminal. + +## [Video Tutorial](https://youtu.be/PJgyymdOtNE&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## How to Use + +1. **Place the Part** + - Attach it to any side of an ME cable. + +2. **Give It a Name** + - Right-click it to open the GUI. + - Type a custom name (up to 16 characters) to identify it uniquely in the network. + - Names must be unique - duplicates are not allowed. + +3. **Power Behavior** + - Emits redstone signal when ON. + - Signal strength is fixed at 15. + - Can be toggled by the Redstone Terminal. + +--- + +## Notes + +- The Redstone Emitter does **not** respond to redstone input — it is output-only. +- Fully integrates with Redstone Terminal. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_terminal.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_terminal.md new file mode 100644 index 000000000000..5871380b6dfe --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/redstone_terminal.md @@ -0,0 +1,51 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Redstone Terminal + icon: crazyae2addons:redstone_terminal +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:redstone_terminal + - crazyae2addons:wireless_redstone_terminal +--- + +# Redstone Terminal + + + +The Redstone Terminal is a control panel for managing all Redstone Emitters in your ME network. It lets you search, view, and toggle emitters by name with a clean GUI. + +## [Video Tutorial](https://youtu.be/PJgyymdOtNE&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## How to Use + +1. **Place the Terminal** + - Attach it to any ME cable in your network. + +2. **Open the GUI** + - Right-click to open. + - You'll see a list of all named Redstone Emitters in the network. + +3. **Search by Name** + - Use the search bar to filter emitters by their name. + +4. **Paging and Controls** + - Only 4 emitters are shown per page. + - Use arrows to switch pages. + - Each emitter shows: + - Name + - Current state (LOW/HIGH) + - Toggle button + +5. **Toggle State** + - Click the button next to a name to turn that emitter ON or OFF. + - Emits redstone at the emitter’s position. + +--- + +## Notes + +- Fully supports wireless terminals and universal terminals. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/reinforced_matter_condenser.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/reinforced_matter_condenser.md new file mode 100644 index 000000000000..6425ef7de508 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/reinforced_matter_condenser.md @@ -0,0 +1,49 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Reinforced Matter Condenser + icon: crazyae2addons:reinforced_matter_condenser +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:reinforced_matter_condenser +--- + +# Reinforced Matter Condenser + + + + + + +The Reinforced Matter Condenser is an upgraded singularity generator that transforms regular AE2 singularities into a powerful item: the **Super Singularity**. + +This block accumulates energy over time from inserted singularities and requires a full 64-stack of **256k Cell Components** to function. Once it reaches its energy cap, it produces a Super Singularity into its output slot. + +--- + +## How to Use + +1. **Insert a Full Stack of 256k Cell Components** + - Required to activate the condenser. + - The block will not accept singularities until this condition is met. + +2. **Insert AE2 Singularity Items** + - The block consumes singularities to charge its internal power. + - Once it reaches 8192 charge, it produces one Super Singularity. + +3. **Output** + - The generated Super Singularity appears in the output slot. + +4. **GUI Info** + - Progress bars show: + - Energy progress toward next Super Singularity. + - Count of stored 256k cells. + +--- + +## Automation & Integration + +- Compatible with item handlers on all sides. +- Exporters or pipes can automate singularity insertion. + diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/research.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/research.md new file mode 100644 index 000000000000..a990cefc4c74 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/research.md @@ -0,0 +1,152 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Research System + icon: crazyae2addons:research_station +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:research_station + - crazyae2addons:recipe_fabricator + - crazyae2addons:research_unit + - crazyae2addons:research_cable + - crazyae2addons:research_unit_frame + - crazyae2addons:research_pedestal_bottom + - crazyae2addons:research_pedestal_top + - crazyae2addons:data_drive + - crazyae2addons:research_fluid_bucket +--- + +# Research System + +The **Research System** is your progression gate for late/advanced content. You perform **Research Recipes** using +a **Research Station** and nearby **Research Pedestals**, powered by **FE** and backed by **Research Units** +that provide computation (and consume AE power + coolant). + +**EACH PEDESTAL NEEDS ITS OWN RESEARCH UNIT MULTIBLOCK** + +Completed research writes an **unlock key** to a **Data Drive**. Those keys are then checked by the **Recipe Fabricator**. + +## [Video Tutorial](https://youtu.be/ERFPjABnArI&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## Research Station + + + + + +The Research Station is the “orchestrator”: + +* Has a small internal **FE buffer** (25k FE). +* Uses a single **Disk slot** for a **Data Drive** (keys are stored on the drive). +* Automatically scans nearby pedestals and starts research when the inputs match a recipe. + +### Energy usage + +Every tick while researching, the station drains energy from its internal FE buffer. If it can’t pay the cost, +the research **hard-resets** (progress goes back to 0). + +--- + +## Research Pedestals (inputs + computation routing) + +Research inputs are not placed in the station GUI. Instead, the station reads items from nearby **Pedestal Tops**. + +**Scan range and placement:** + +* The station scans a **7×7 area** centered on itself (**radius 3 blocks**). +* It looks for **Pedestal Top** block entities at **Y + 1** (one block above the station’s level). +* The matching **Pedestal Bottom** must be directly **under** each top. + +### How recipes bind to pedestals + +For a recipe to be valid, each **Consumable** entry must be satisfied by **exactly one pedestal**: + +* The pedestal top must hold the right **item**. +* That pedestal must contain enough items. +* That pedestal’s connected computation must be at least the amount required by that consumable. + +That means you generally can’t "combine" multiple different consumables on one pedestal. + +--- + +## Research Units (computation + coolant) + +Research Units are multiblocks that provide the **computation** the pedestals/station rely on. + +### Computation value + +Computation is derived from the amount of AE2 crafting storage blocks inside the structure: + +* 1k = 1/16 +* 4k = 1/4 +* 16k = 1 +* 64k = 4 +* 256k = 16 + +### Operating costs (per tick) + +When a pedestal asks a unit to do work, the unit must successfully pay both costs: + +* **AE power:** 64AE for each 1 computation unit (cu) +* **Coolant:** drains 1mb **Research Fluid** per 4cu. + +If either cost can’t be paid, the unit refuses work for that tick, and the research will **reset**. + +### Coolant tank location + +The unit looks for the sky stone tank at its top, and it accepts only **Research Fluid** as a valid coolant. + +--- + +## Research process (what actually happens) + +1. Place the required items onto pedestal tops around the station. +2. Insert a **Data Drive** into the station **Disk** slot. +3. Supply **FE** to the station. +4. Ensure your connected Research Units have: + * AE power available + * Research Fluid available in the external tank + +### Progress speed + +Progress increases by **total computation per tick** across all pedestals assigned to the active recipe. + +So if you want faster research, increase computation available to the pedestals (more/bigger crafting storage in Research Units) + +### Completion + +When progress reaches the recipe’s duration: + +* The station consumes the required item counts from the assigned pedestals. +* The station writes the recipe’s unlock to the inserted Data Drive. +* A small particle/sound effect plays. + +--- + +## Data Drives and unlock keys + +* Keys are stored directly on the drive and are **portable**. +* Research won't start if: + * there’s no drive inserted, or + * the drive already contains that recipe’s unlock key. + +The drive is not consumed. + +--- + +## Troubleshooting + +* **Nothing starts:** + + * Make sure pedestals are within radius 3. + * Make sure each consumable is on its own pedestal with enough item count. + * Make sure computation per pedestal meets the recipe requirements. + +* **It starts, but constantly resets:** + + * The station is running out of FE. + * One of the pedestals can’t do work (no AE power / no coolant / unit not formed). + * Someone moved/changed a pedestal stack mid-research. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/round_robin_item_p2p_tunnel.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/round_robin_item_p2p_tunnel.md new file mode 100644 index 000000000000..8e1b74b3b3f1 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/round_robin_item_p2p_tunnel.md @@ -0,0 +1,15 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Round Robin Item P2P + icon: crazyae2addons:round_robin_item_p2p_tunnel +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:round_robin_item_p2p_tunnel +--- +# Round Robin Item P2P Tunnel + +The Round Robin Item P2P Tunnel part ensures that items entering your ME network are spread evenly across all connected outputs, even when you insert items multiple times. Unlike the standard Item P2P Tunnel, which always sends to the nearest output first, this version tracks usage and directs each batch to the output that hasn’t received anything for the longest time. + +## [Video Tutorial](https://youtu.be/fcd3xHpsXnE&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/signalling_interface.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/signalling_interface.md new file mode 100644 index 000000000000..a5cba127e350 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/signalling_interface.md @@ -0,0 +1,35 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Signalling Interface + icon: crazyae2addons:signalling_interface +categories: + - Crafting and Patterns +item_ids: + - crazyae2addons:signalling_interface +--- + +# Signalling Interface + + + +The best companion of the [Impulsed Pattern Provider](impulsed_pattern_provider.md) + +The Signalling Interface is a smart block that emits a redstone pulse whenever selected items change in quantity. It’s perfect for creating automatic alerts, gating systems, or triggering other redstone-based machines when materials arrive or leave your storage. + +## [Video Tutorial](https://youtu.be/KsIfz0FszIM&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## How to Use + +1. **Place the block**: Attach the Signalling Interface to any ME cable. +2. **Open its GUI**: Right click to access the configuration screen. +3. **Configure watch items**: + - The top rows are your *config slots*. Place the items you want to monitor into these slots. + - Use the wrench icon buttons next to each slot to set the exact count threshold you care about (for example, trigger when you gain 64 of an item). It also works like a normal interface, so it will supply those items to those slots from your ME network. +4. **Connect redstone**: Run redstone dust or wire from any side of the block. Each time the tracked item count crosses your configured threshold (or changes by at least that amount), the block will emit a short redstone pulse. + +## Upgrades + +- **Redstone Card**: Enables the interface to emit output pulses when thresholds are crossed. +- **Inverter Card**: Flips the trigger, so you get pulses on removals or when counts go below thresholds instead of on additions. +- **Fuzzy Card**: Allows wildcard NBT matching for items, useful for monitoring enchanted or custom-tagged items. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/spawner_extractor.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/spawner_extractor.md new file mode 100644 index 000000000000..b44c230d5f28 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/spawner_extractor.md @@ -0,0 +1,48 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Spawner Extractor + icon: crazyae2addons:spawner_extractor_controller +categories: + - Mob Storage +item_ids: + - crazyae2addons:spawner_extractor_wall + - crazyae2addons:spawner_extractor_controller +--- + +# Spawner Extractor + + + + + +The Spawner Extractor is a multiblock system that simulates mob spawning from real Spawner blocks and inserts mobs directly into your ME network. This lets you capture mobs automatically without lag or real entity spawns. + +## [Video Tutorial](https://youtu.be/MUKyq0IDi3M&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## How to Use + +1. **Build the Multiblock Structure** + - Use the block layout shown above. Make sure to build around a spawner. For the multiblock to assemble, place any corner of the build last. + +2. **Power the Controller** + - Connect it to an active ME network. + +3. **Insert Upgrade Cards (Optional)** + - Use Speed Cards to increase the mob generation rate. + +--- + +## How It Works + +- Once formed, the structure disables all spawners inside. +- Every 20 ticks, some mobs are inserted into the ME network. +- The controller reads the mob type. +- No real mob spawns - just clean, repeatable mob capture. + +--- + +## Important Notes + +- **Requires correct multiblock structure**: If broken, the controller will stop. +- **No real mobs spawned**: No lag, no danger. \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/stone_cutter_recipes.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/stone_cutter_recipes.md new file mode 100644 index 000000000000..475a7a0fc3b1 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/stone_cutter_recipes.md @@ -0,0 +1,20 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Stone Cutter Recipes + icon: minecraft:stonecutter +categories: + - Crafting and Patterns +--- + +# P2P Tunnel Conversion Recipes + +To improve flexibility and reduce clutter, Crazy AE2 Addons introduces **Stonecutter recipes** that allow you to freely convert between various types of **P2P Tunnels** from AE2 and several addon mods. + +--- + +## How It Works + +- Simply place any existing P2P Tunnel in a **Stonecutter**. +- You’ll see all compatible P2P variants appear as conversion options. +- Select the one you need and take it out - no crafting table or materials required. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/view_cells.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/view_cells.md new file mode 100644 index 000000000000..077496ec108c --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/view_cells.md @@ -0,0 +1,64 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: More View Cells + icon: crazyae2addons:tag_view_cell +categories: + - Monitoring and Automation +item_ids: + - crazyae2addons:tag_view_cell + - crazyae2addons:nbt_view_cell +--- +# NBT & Tag View Cells + +The **NBT View Cell** and **Tag View Cell** are special types of view cells you can place in your ME Terminal to filter what items are displayed. + +## How they work + +* Both cells allow you to enter a **custom filter string** directly inside their interface. +* The filter is saved on the cell’s item, so you can move it between terminals and keep your settings. +* When placed in a terminal, only items matching the filter will appear. + +## [Video Tutorial](https://youtu.be/bConD7dV_p0&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +## NBT View Cell + +* Filters items by matching their **NBT data** against the filter expression. +* You can write expressions using SNBT snippets inside `{ ... }`, combined with logic operators. +* **Supported operators:** + * `&&` or `and` → logical AND + * `||` or `or` → logical OR + * `^^` or `xor` → exclusive OR + * `!` or `not` → negation + * `nand` or `!&` → negated AND +* Parentheses `( )` can be used to group expressions. +* Wildcard `*` can match any value or any key. +* Example: `{Enchantments:[{id:"minecraft:sharpness"}]}` will only match items with Sharpness enchant. + +## Tag View Cell + +* Filters items by **Minecraft tags**. +* Enter the tag name (e.g., `#minecraft:wool`) and the terminal will only display items with that tag. +* Supports **glob matching** with `*` – for example `#minecraft:*_logs` matches all log tags. +* Logical operators are also supported: + * `&&`, `||`, `^^`, `!`, `nand` +* Example: `#minecraft:logs && !#minecraft:oak_logs` → matches all logs except oak. + +## Interface + +* Open the cell to configure it: + + * A text field lets you type your filter expression. + * Use the **scrollbar** if your filter is long and doesn’t fit in the box. + * Press the **Confirm button** to save your filter. +* The filter is immediately applied to the cell and stored on the item itself. + +## Notes + +* These cells only affect **what you see in the terminal** – they do not remove or block items from the network. +* Multiple view cells can be combined; filters will stack with the usual AE2 priority rules. +* If no filter is set, the cell behaves like an empty slot. + +--- + +With NBT and Tag View Cells you can keep your terminals clean and focused, whether you want to see only a specific potion variant or a whole tag category of blocks. diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/wormhole_tunnel.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/wormhole_tunnel.md new file mode 100644 index 000000000000..ec5529372a20 --- /dev/null +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/crazyguide/wormhole_tunnel.md @@ -0,0 +1,42 @@ +--- +navigation: + parent: crazyae2addons_index.md + title: Wormhole Tunnel + icon: crazyae2addons:wormhole_tunnel +categories: + - Energy and Item Transfer +item_ids: + - crazyae2addons:wormhole_tunnel +--- + +# Wormhole P2P Tunnel + +The Wormhole P2P Tunnel is an advanced variant of AE2's P2P system that allows two-way communication, redstone propagation, and automatic capability routing across multiple linked tunnels. + +Unlike regular P2P tunnels, Wormhole tunnels can form **bi-directional connections**, and **combine capabilities** when interacting with multiple outputs. + +## [Video Tutorial](https://youtu.be/pQ8V4aX6gh4&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) + +--- + +## Key Features + +- **Two-Way Connectivity** + - Wormholes create actual grid-level connections between input and outputs. + - Energy, items, and fluids can flow both ways if needed. + +- **Capability Combining** + - Item, fluid, and energy capabilities from multiple outputs are merged into one access point. + +- **Redstone Transmission** + - Inputs can receive redstone signal and propagate it to all connected outputs. + - Full support for weak and strong redstone. + +--- + +## Examples + +The possibilities are endless but here are some setups I did while testing. +- Storage bus through a tunnel: you can place a storage bus on the input side, and any item/fluid storage on the other sides, and the storage bus will see and be able to interact with them. +- Nested p2p tunnels: If you enable this in config, you can connect two parts of me network with this tunnel, and you can use p2p tunnels within those tunneled channels. +- Mek's heat transfer: and any other pipes from mek work through this tunnel. \ No newline at end of file From d36ab35f23096a3d9c33ad5eef6e7c62711b74eb Mon Sep 17 00:00:00 2001 From: ChuijkYahus <94828194+ChuijkYahus@users.noreply.github.com> Date: Sat, 20 Dec 2025 21:49:46 +0800 Subject: [PATCH 3/3] CrazyAE2Addons fix --- .../_zh_cn/crazyguide/chunky_fluid_p2p_tunnel.md | 2 +- .../_zh_cn/crazyguide/crazy_emitter_multiplier.md | 6 +++--- .../_zh_cn/crazyguide/crazy_pattern_modifier.md | 2 +- .../_zh_cn/crazyguide/crazy_pattern_multiplier.md | 2 +- .../ae2guide/_zh_cn/crazyguide/display_monitor.md | 6 +++--- .../ae2guide/_zh_cn/crazyguide/ejector.md | 2 +- .../ae2guide/_zh_cn/crazyguide/portable_spatial_io.md | 2 +- .../crazy-ae2-addons/crazyae2addons/lang/zh_cn.json | 10 +++++----- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/chunky_fluid_p2p_tunnel.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/chunky_fluid_p2p_tunnel.md index 00a589e6695c..a4568d368a40 100644 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/chunky_fluid_p2p_tunnel.md +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/chunky_fluid_p2p_tunnel.md @@ -18,6 +18,6 @@ item_ids: ## 使用方法 1. **放置子部件**:将批次流体P2P通道放置在ME线缆上,也可朝向连接至储罐或流体机器的接口。 -2. **配置批次大小**:空手右击通道以打开其设置。输入需发送的批次大小(以毫桶计,例如`1000`为1桶),并点击“保存”/“Save”。 +2. **配置批次大小**:空手右击通道以打开其设置。输入需发送的批次大小(以毫桶计,例如`1000`为1桶),并点击“保存”。 3. **进行链接**:使用内存卡链接输出端。 4. **填充后发送**:流体进入通道后,如果体积满足批次设置,通道即会向队列中的下一个输出端发送单批次的流体。如果体积不足,则什么都不会发生。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_emitter_multiplier.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_emitter_multiplier.md index c2f9e4cc85e4..edbfa502cd98 100644 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_emitter_multiplier.md +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_emitter_multiplier.md @@ -27,12 +27,12 @@ item_ids: - 手持物品右击。 - 打开的界面中有: - 一个**文本框**,可供输入数或数学表达式(如100、2*64、1k)。 - - 一个**勾选框**,用于切换“倍增”/“Multiply”和“设置”/“Set”模式。 + - 一个**勾选框**,用于切换“倍增”和“设置”模式。 - 一个确认按钮,用于保存。 ### 2. 设置模式 -- **设置/Set**:直接将输入的数赋给发信器。 -- **倍增/Multiply**:倍增发信器的阈值,倍数为所给数。 +- **设置**:直接将输入的数赋给发信器。 +- **倍增**:倍增发信器的阈值,倍数为所给数。 ### 3. 对标准发信器使用 - 手持配置完成的疯狂发信器倍增工具潜行右击任意标准发信器。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_modifier.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_modifier.md index 9155e32de026..fe021bebae31 100644 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_modifier.md +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_modifier.md @@ -29,4 +29,4 @@ item_ids: - **忽略NBT**:点击NBT按钮可让样板忽略或匹配NBT标签。启用后,可在不指定具体魔咒的情况下合成附魔书等物品。 - **设置电路**:如果安装有格雷科技,可在下方的文本框中输入一个数(1到32),点击确认可为样板分别该配置的编程电路。 -调整配置的过程中,界面会显示当前的配置模式(如“当前:忽略NBT”/“Current: ignore NBT”或“选择5号编程电路”/“Selected circuit 5”)。 \ No newline at end of file +调整配置的过程中,界面会显示当前的配置模式(如“当前:忽略NBT”或“选择5号编程电路”)。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_multiplier.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_multiplier.md index 705181670280..a6933e51fd92 100644 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_multiplier.md +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/crazy_pattern_multiplier.md @@ -21,7 +21,7 @@ item_ids: ## 使用方法 -1. **打开GUI**: 手持疯狂样板倍增工具右击打开其界面。其中有36个槽位和一个标记为“乘数”/“Multiplier”的输入框。 +1. **打开GUI**: 手持疯狂样板倍增工具右击打开其界面。其中有36个槽位和一个标记为“乘数”的输入框。 2. **设置乘数**:在输入框中输入用于修改的乘数。比如`2`对应翻倍,`0.5`对应减半,还可用`1k`对应1000倍。 3. **应用于样板**:点击确认按钮。倍增工具会将槽位中的所有样板的原材料和产物数量乘以乘数。 4. **潜行点击支持**:对任意容器(如样板供应器和箱子)潜行右击,可将最后一次使用的乘数作用于该容器中的所有样板。 \ No newline at end of file diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/display_monitor.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/display_monitor.md index e2acf9348499..3132646da22f 100644 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/display_monitor.md +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/display_monitor.md @@ -44,9 +44,9 @@ item_ids: 2. 右击打开显示菜单。 3. 在文本框内输入显示信息。示例: -系统在线 -\* &i^minecraft:iron_ingot库存:&s^minecraft:iron_ingot -\* &i^minecraft:iron_ingot/s:&d^minecraft:iron_ingot%1s@1m +系统在线 +\* &i^minecraft:iron_ingot库存:&s^minecraft:iron_ingot +\* &i^minecraft:iron_ingot/s:&d^minecraft:iron_ingot%1s@1m 4. 应用/保存。监视器会在有能量供应时显示文本。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ejector.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ejector.md index 0c63d3014ca5..3a9a435b37ed 100644 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ejector.md +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/ejector.md @@ -13,7 +13,7 @@ item_ids: -弹出器是一类自动化方块,可向其前方的方块输出物品、流体或其他资源,仅需使用红石脉冲触发。 +弹出器是一种自动化方块,可向其前方的方块输出物品、流体或其他资源,仅需使用红石脉冲触发。 ## [视频教程](https://youtu.be/gdV7Ga7g2Pk&list=PLB8Rr5Xojkr5T1qoPr_4JdETiBkF4qF6r) diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/portable_spatial_io.md b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/portable_spatial_io.md index c932639d29c8..55350b5d3b7c 100644 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/portable_spatial_io.md +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/ae2guide/_zh_cn/crazyguide/portable_spatial_io.md @@ -23,7 +23,7 @@ item_ids: ## 控制 -* **Shift右击(对方块)**:选择剪切区域的角落。 select corners for the cut region. +* **Shift右击(对方块)**:选择剪切区域的角落。 * **右击(对空气)**: * 若选定角落 → **开始剪切**。 * 若存有结构 → 最远射线追踪**50格**,**粘贴**至目标面。 diff --git a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/lang/zh_cn.json b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/lang/zh_cn.json index 62bf661f326f..86bb06ffdb8a 100644 --- a/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/lang/zh_cn.json +++ b/projects/1.20/assets/crazy-ae2-addons/crazyae2addons/lang/zh_cn.json @@ -166,7 +166,7 @@ "gui.crazyae2addons.gadget_flip_v": "垂直翻转", "gui.crazyae2addons.gadget_rotate": "旋转90度", "gui.crazyae2addons.mob_key": "生物", - "gui.crazyae2addons.mob_key_search": "搜索生物……", + "gui.crazyae2addons.mob_key_search": "搜索生物...", "gui.crazyae2addons.mob_key_selected": "当前选择", "gui.crazyae2addons.mobfarm_item_use": "所用物品:", "gui.crazyae2addons.mobfarm_preview_label": "预览:", @@ -174,7 +174,7 @@ "gui.crazyae2addons.modifier_circuit_button": "%s", "gui.crazyae2addons.modifier_circuit_desc": "输入电路编号(0-32)", "gui.crazyae2addons.modifier_circuit_none": "未选定电路", - "gui.crazyae2addons.modifier_circuit_selected": "已选择电路%s", + "gui.crazyae2addons.modifier_circuit_selected": "选择%s号编程电路", "gui.crazyae2addons.modifier_circuit_tooltip": "设定电路:%s", "gui.crazyae2addons.modifier_ignore_nbt_tooltip": "切换忽略NBT选项", "gui.crazyae2addons.modifier_info_do_not_ignore_nbt": "当前:不忽略NBT", @@ -230,7 +230,7 @@ "gui.crazyae2addons.penrose_hawking_vent_cost_label": "预期FE消耗:", "gui.crazyae2addons.penrose_hawking_vent_cost_value": "%s FE/t", "gui.crazyae2addons.penrose_hawking_vent_rate": "每刻质量", - "gui.crazyae2addons.penrose_hawking_vent_rate_hint": "123……", + "gui.crazyae2addons.penrose_hawking_vent_rate_hint": "123...", "gui.crazyae2addons.penrose_hawking_vent_rate_label": "蒸发率(MU/t):", "gui.crazyae2addons.penrose_hawking_vent_rate_tooltip": "每刻蒸发多少黑洞质量(MU/t)。", "gui.crazyae2addons.penrose_hawking_vent_submit": "应用蒸发率", @@ -249,7 +249,7 @@ "gui.crazyae2addons.penrose_heat_max_gk": "最大热量:%s MK", "gui.crazyae2addons.penrose_heat_max_mk": "热量:%s MK", "gui.crazyae2addons.penrose_heat_vent_cooling": "每刻热量", - "gui.crazyae2addons.penrose_heat_vent_cooling_hint": "123……", + "gui.crazyae2addons.penrose_heat_vent_cooling_hint": "123...", "gui.crazyae2addons.penrose_heat_vent_cooling_label": "冷却率(MK/t):", "gui.crazyae2addons.penrose_heat_vent_cooling_tooltip": "每刻移除多少热量(MK/t)。", "gui.crazyae2addons.penrose_heat_vent_cost": "消耗:%s FE/t", @@ -342,7 +342,7 @@ "gui.crazyae2addons.tag_view_cell_input": "输入过滤器", "gui.crazyae2addons.tag_view_cell_title": "标签显示元件", "gui.crazyae2addons.toast.stock_alert_above": "已超过阈值(阈值为%s,当前为%s)", - "gui.crazyae2addons.toast.stock_alert_below": "已不达阈值(阈值为%s,当前为%s)", + "gui.crazyae2addons.toast.stock_alert_below": "已低于阈值(阈值为%s,当前为%s)", "gui.crazyae2addons.toast.stock_alert_title": "AE2库存警报", "gui.crazyae2addons.wireless_redstone_search": "搜索", "item.crazyae2addons.automation_upgrade_card": "自动化升级卡",