Singularity Iteration

Singularity Iteration is a tech mod inspired by the Industrial Craft 2, bringing a relatively complete yet streamlined industrialization experience to Minecraft.
Back to Files

[SI] SingularityIteration-0.1.6.5-beta.jar

File name[SI] SingularityIteration-0.1.6.5-beta.jar
Uploader
MioPhaSideMioPhaSide
Uploaded
Aug 1, 2026
Downloads
3
Size
5.8 MB
Mod Loaders
NeoForge
File ID
8553005
Type
B
Beta
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:singularity-iteration-1617642:8553005"

Learn more about Curse Maven

What's new

# 更新日志 v0.1.6.5

**发布日期**: 待定

---

## 修复

### 生产机器输入槽物品替换时进度不重置
- 修复所有生产机器在输入槽物品被替换时工作进度不重置的问题
  - 问题:当玩家用另一种可加工物品直接替换输入槽物品(如铜锭→铁锭)时,进度条不会清零
  - 原因:`shouldResetProgress()` 只在 `canWork()` 返回 false 时调用,而新物品也有有效配方时 `canWork()` 仍返回 true
  - 修复:在 `mio_icif_producer` 基类中添加输入槽物品变化检测机制
    - 新增 `lastInputStacks` 字段缓存上一 tick 的输入槽物品状态
    - 新增 `checkInputChanged()` 方法检测输入槽物品变化(包括物品类型、NBT、数量)
    - 每 tick 在 `canWork()` 之前调用 `checkInputChanged()`,检测到变化时立即重置进度
    - NBT 加载时重置缓存,下次 tick 重新初始化
  - 影响机器:打粉机、提取机、电炉、压缩机、回收机、扫描机、分子重组仪、金属成型机、洗矿机、离心机等所有继承自 `mio_icif_producer` 的机器

### 量子靴量子机动特性 Tooltip 不显示
- 修复量子靴量子机动特性在物品 Tooltip 中不显示的问题
  - 在 `appendHoverText()` 中添加量子机动特性显示行
  - 使用已有的 `tooltip.mio_icif.armor.feature_high_jump` 翻译键

### 量子靴量子机动特性开关无效
- 修复量子靴量子机动特性无法通过 Tooltip 点击关闭的问题
  - 在 `handleQuantumJump()` 方法开头添加 `ArmorFeatureToggle.isEnabled(stack, "quantum_jump")` 检查
  - 当量子机动特性被关闭时,直接返回不执行高跳逻辑

### 提取机进度条 Tooltip 显示修复
- 修复提取机 GUI 中工作进度条悬浮文本显示异常的问题
  - 修复进度条高度参数错误(从纹理 Y 坐标 307 修正为实际高度 15)
  - 修正 `isHovering()` 检测使用绝对坐标,Tooltip 渲染使用 GUI 相对坐标

### 水力动能发生机 GUI 中文翻译缺失
- 补充水力动能发生机 GUI 中缺失的中文翻译键
  - `gui.mio_icif.water_kinetic_generator.output` → "输出: %s KU/t"
  - `gui.mio_icif.water_kinetic_generator.biome` → "生物群系: %s"

### 回收机槽位设计修正
- 修正回收机槽位布局以符合 IC2 原版设计
  - 将 `.extra(4)` 改为 `.upgrade(4)`,4 个额外槽改为升级槽
  - 更新槽位常量:`EXTRA_SLOT_1~4` → `UPGRADE_SLOT_1~4`
  - 修正 `isItemValidForSlot`:升级槽只允许放入升级插件
  - 修正 `canExtractItem`:只允许从输出槽提取物品
  - 修正 `hasOutputSpace` 和 `insertScrap`:只检查/使用输出槽(槽位 2)
  - 修正 `RecyclerElcMenu`:添加 4 个升级槽的 GUI 支持

### 物流管道物品输入漏洞修复
- 修复 Mek 等物流管道可以向机器任意槽位插入物品的问题
  - 回收机:移除自定义 `IItemHandler` 实现,改用基类 `SidedItemHandler`
  - 电解机:移除自定义 `IItemHandler` 实现,改用基类 `SidedItemHandler`
  - 基类 `canExtractItem` 修正:只允许从 OUTPUT 槽提取,禁止从 UPGRADE/BATTERY 槽提取
  - 提取机 `canExtractItem` 修正:移除 `isUpgradeSlot(slot)` 条件

### 创建存档时地形生成卡死(Feature Order Cycle)
- 修复与 Terralith 等地形模组共存时创建存档卡在 100% 的问题
  - 错误:`java.lang.IllegalStateException: Feature order cycle found involved sources: [terralith:birch_taiga]`
  - 原因:橡胶树特征使用 `GenerationStep.Decoration.VEGETAL_DECORATION` 阶段添加到森林/丛林生物群系,与 Terralith 的地形特征产生循环依赖
  - 修复:将橡胶树的生成阶段从 `VEGETAL_DECORATION` 改为 `TOP_LAYER_MODIFICATION`,避免与其他模组的植被特征冲突

### 感应炉红石信号控制逻辑修正
- 修正感应炉在安装红石信号反转升级时的行为,使其与 IC2 原版一致
  - 原版行为:红石信号控制下感应炉仍保持加热,但停止烧炼
  - 问题:当前实现中 `canWorkRedstone()` 返回 false 时直接 `stopWork()`,导致感应炉完全停止(包括加热)
  - 修复:重写感应炉的 `updateHeat()` 方法,确保红石信号控制下仍继续加热
  - 重写 `canWorkRedstone()` 方法,保持与基类一致的红石信号检测逻辑

---

## 新增

### 铌(Niobium)与钛(Titanium)材料配方补全
- 新增铌与钛的完整加工链配方,支持打粉机、洗矿机、压缩机、金属成型机等机器
- 所有配方均使用标签系统以确保与其他模组兼容

#### 打粉机配方 (`mio_icif:powder`)
| 输入 | 输出 | 数量 |
|------|------|------|
| 粗铌矿 (`c:raw_materials/niobium`) | 粉碎铌矿石 | 2 |
| 粗钛矿 (`c:raw_materials/titanium`) | 粉碎钛矿石 | 2 |
| 铌矿石方块 | 粉碎铌矿石 | 2 |
| 钛矿石方块 | 粉碎钛矿石 | 2 |
| 深层铌矿石方块 | 粉碎铌矿石 | 2 |
| 深层钛矿石方块 | 粉碎钛矿石 | 2 |
| 铌锭 (`c:ingots/niobium`) | 铌粉 | 1 |
| 钛锭 (`c:ingots/titanium`) | 钛粉 | 1 |
| 铌板 (`c:plates/niobium`) | 铌粉 | 1 |
| 钛板 (`c:plates/titanium`) | 钛粉 | 1 |

#### 洗矿机配方 (`mio_icif:washer`)
| 输入 | 主输出 | 副输出1 | 副输出2 |
|------|--------|---------|---------|
| 粉碎铌矿石 (`c:crushed_ores/niobium`) | 纯净粉碎铌矿石 | 石粉 | 小撮铁粉 |
| 粉碎钛矿石 (`c:crushed_ores/titanium`) | 纯净粉碎钛矿石 | 石粉 | 小撮金粉 |

#### 冶炼配方 (`minecraft:smelting`)
| 输入 | 输出 |
|------|------|
| 粉碎铌矿石 (`c:crushed_ores/niobium`) | 铌锭 |
| 粉碎钛矿石 (`c:crushed_ores/titanium`) | 钛锭 |
| 纯净粉碎铌矿石 (`c:purified_ores/niobium`) | 铌锭 |
| 纯净粉碎钛矿石 (`c:purified_ores/titanium`) | 钛锭 |
| 铌粉 (`c:dusts/niobium`) | 铌锭 |
| 钛粉 (`c:dusts/titanium`) | 钛锭 |
| 铌矿石方块 | 铌锭 |
| 钛矿石方块 | 钛锭 |
| 深层铌矿石方块 | 铌锭 |
| 深层钛矿石方块 | 钛锭 |

#### 压缩机配方 (`mio_icif:compressor`)
| 输入 | 输出 | 数量 |
|------|------|------|
| 铌板 (`c:plates/niobium`) | 铌致密板 | 9板→1板 |
| 钛板 (`c:plates/titanium`) | 钛致密板 | 9板→1板 |
| 小撮铌粉 (`c:dusts/small_niobium`) | 铌粉 | 9粉→1粉 |
| 小撮钛粉 (`c:dusts/small_titanium`) | 钛粉 | 9粉→1粉 |

#### 金属成型机-锻造模式 (`mio_icif:rolling`)
| 输入 | 输出 | 数量 |
|------|------|------|
| 铌锭 (`c:ingots/niobium`) | 铌板 | 1 |
| 钛锭 (`c:ingots/titanium`) | 钛板 | 1 |
| 铌板 (`c:plates/niobium`) | 铌外壳 | 2 |
| 钛板 (`c:plates/titanium`) | 钛外壳 | 2 |

#### 锤子锻造 (`minecraft:crafting_shapeless`)
| 输入 | 输出 | 数量 |
|------|------|------|
| 铌锭 (`c:ingots/niobium`) + 锤子 | 铌板 | 1 |
| 钛锭 (`c:ingots/titanium`) + 锤子 | 钛板 | 1 |
| 铌板 (`c:plates/niobium`) + 锤子 | 铌外壳 | 2 |
| 钛板 (`c:plates/titanium`) + 锤子 | 钛外壳 | 2 |

#### 方块合成与分解 (`minecraft:crafting_shaped/shapeless`)
| 合成 | 输入 | 输出 |
|------|------|------|
| 粗铌块 | 9×粗铌矿 (`c:raw_materials/niobium`) | 粗铌块 |
| 粗钛块 | 9×粗钛矿 (`c:raw_materials/titanium`) | 粗钛块 |
| 铌块 | 9×铌锭 (`c:ingots/niobium`) | 铌块 |
| 钛块 | 9×钛锭 (`c:ingots/titanium`) | 钛块 |
| 分解粗铌块 | 粗铌块 | 9×粗铌矿 |
| 分解粗钛块 | 粗钛块 | 9×粗钛矿 |
| 分解铌块 | 铌块 | 9×铌锭 |
| 分解钛块 | 钛块 | 9×钛锭 |

#### 小撮粉合成
| 合成 | 输入 | 输出 |
|------|------|------|
| 铌粉拆分 | 铌粉 (`c:dusts/niobium`) | 9×小撮铌粉 |
| 钛粉拆分 | 钛粉 (`c:dusts/titanium`) | 9×小撮钛粉 |
| 小撮铌粉合成 | 9×小撮铌粉 (`c:dusts/small_niobium`) | 铌粉 |
| 小撮钛粉合成 | 9×小撮钛粉 (`c:dusts/small_titanium`) | 钛粉 |

---

# Changelog v0.1.6.5

**Release Date**: TBD

---

## Fixes

### Producer Machine Input Slot Replacement Progress Reset
- Fixed progress not resetting when input slot items are replaced in all producer machines
  - Issue: Progress bar doesn't reset when player directly replaces input slot items (e.g., copper ingot → iron ingot)
  - Cause: `shouldResetProgress()` was only called when `canWork()` returned false, but `canWork()` still returned true for valid recipes
  - Fix: Added input slot item change detection mechanism in `mio_icif_producer` base class
    - Added `lastInputStacks` field to cache previous tick input slot state
    - Added `checkInputChanged()` method to detect input slot changes (item type, NBT, count)
    - Called `checkInputChanged()` before `canWork()` every tick, resetting progress immediately upon changes
    - Reset cache during NBT loading, reinitialize on next tick
  - Affected machines: Macerator, Extractor, Electric Furnace, Compressor, Recycler, Scanner, Molecular Transformer, Metal Former, Ore Washing Plant, Thermal Centrifuge, and all other machines inheriting from `mio_icif_producer`

### Quantum Boots Quantum Maneuver Tooltip Not Displaying
- Fixed quantum boots quantum maneuver feature not showing in item tooltip
  - Added quantum maneuver feature display line in `appendHoverText()`
  - Using existing `tooltip.mio_icif.armor.feature_high_jump` translation key

### Quantum Boots Quantum Maneuver Toggle Not Working
- Fixed quantum boots quantum maneuver feature unable to be turned off via tooltip click
  - Added `ArmorFeatureToggle.isEnabled(stack, "quantum_jump")` check at the beginning of `handleQuantumJump()` method
  - Returns directly without executing high jump logic when quantum maneuver is disabled

### Extractor Progress Bar Tooltip Display Fix
- Fixed abnormal tooltip display for work progress bar in Extractor GUI
  - Fixed progress bar height parameter error (from texture Y coordinate 307 to actual height 15)
  - Corrected `isHovering()` detection to use absolute coordinates, tooltip rendering to use GUI relative coordinates

### Water Kinetic Generator GUI Chinese Translation Missing
- Added missing Chinese translation keys for Water Kinetic Generator GUI
  - `gui.mio_icif.water_kinetic_generator.output` → "Output: %s KU/t"
  - `gui.mio_icif.water_kinetic_generator.biome` → "Biome: %s"

### Recycler Slot Design Correction
- Corrected recycler slot layout to match IC2 original design
  - Changed `.extra(4)` to `.upgrade(4)`, converting 4 extra slots to upgrade slots
  - Updated slot constants: `EXTRA_SLOT_1~4` → `UPGRADE_SLOT_1~4`
  - Corrected `isItemValidForSlot`: upgrade slots only allow upgrade items
  - Corrected `canExtractItem`: only allow extraction from output slot
  - Corrected `hasOutputSpace` and `insertScrap`: only check/use output slot (slot 2)
  - Corrected `RecyclerElcMenu`: added GUI support for 4 upgrade slots

### Logistics Pipe Item Input Vulnerability Fix
- Fixed Mek and other logistics pipes being able to insert items into any machine slot
  - Recycler: removed custom `IItemHandler` implementation, using base class `SidedItemHandler`
  - Electrolyzer: removed custom `IItemHandler` implementation, using base class `SidedItemHandler`
  - Base class `canExtractItem` correction: only allow extraction from OUTPUT slot, prohibit extraction from UPGRADE/BATTERY slots
  - Extractor `canExtractItem` correction: removed `isUpgradeSlot(slot)` condition

### World Generation Freeze on World Creation (Feature Order Cycle)
- Fixed world creation getting stuck at 100% when used with Terralith and other terrain mods
  - Error: `java.lang.IllegalStateException: Feature order cycle found involved sources: [terralith:birch_taiga]`
  - Cause: Rubber tree feature added to forest/jungle biomes using `GenerationStep.Decoration.VEGETAL_DECORATION` stage, causing cyclic dependency with Terralith terrain features
  - Fix: Changed rubber tree generation stage from `VEGETAL_DECORATION` to `TOP_LAYER_MODIFICATION`, avoiding conflicts with other mods' vegetation features

### Induction Furnace Redstone Signal Control Logic Correction
- Corrected induction furnace behavior when Redstone Signal Inverter upgrade is installed to match IC2 original
  - Original behavior: Induction furnace maintains heating under redstone control but stops smelting
  - Issue: Current implementation called `stopWork()` when `canWorkRedstone()` returned false, causing complete shutdown (including heating)
  - Fix: Rewrote induction furnace `updateHeat()` method to ensure continued heating under redstone control
  - Rewrote `canWorkRedstone()` method to maintain consistent redstone signal detection logic with base class

---

## New Content

### Niobium and Titanium Material Recipe Completion
- Added complete processing chain recipes for Niobium and Titanium, supporting Macerator, Ore Washing Plant, Compressor, Metal Former, and other machines
- All recipes use the tag system to ensure compatibility with other mods

#### Macerator Recipes (`mio_icif:powder`)
| Input | Output | Count |
|-------|--------|-------|
| Raw Niobium (`c:raw_materials/niobium`) | Crushed Niobium Ore | 2 |
| Raw Titanium (`c:raw_materials/titanium`) | Crushed Titanium Ore | 2 |
| Niobium Ore Block | Crushed Niobium Ore | 2 |
| Titanium Ore Block | Crushed Titanium Ore | 2 |
| Deep Niobium Ore Block | Crushed Niobium Ore | 2 |
| Deep Titanium Ore Block | Crushed Titanium Ore | 2 |
| Niobium Ingot (`c:ingots/niobium`) | Niobium Dust | 1 |
| Titanium Ingot (`c:ingots/titanium`) | Titanium Dust | 1 |
| Niobium Plate (`c:plates/niobium`) | Niobium Dust | 1 |
| Titanium Plate (`c:plates/titanium`) | Titanium Dust | 1 |

#### Ore Washing Plant Recipes (`mio_icif:washer`)
| Input | Primary Output | Secondary Output 1 | Secondary Output 2 |
|-------|---------------|-------------------|-------------------|
| Crushed Niobium Ore (`c:crushed_ores/niobium`) | Purified Crushed Niobium Ore | Stone Dust | Small Pile of Iron Dust |
| Crushed Titanium Ore (`c:crushed_ores/titanium`) | Purified Crushed Titanium Ore | Stone Dust | Small Pile of Gold Dust |

#### Smelting Recipes (`minecraft:smelting`)
| Input | Output |
|-------|--------|
| Crushed Niobium Ore (`c:crushed_ores/niobium`) | Niobium Ingot |
| Crushed Titanium Ore (`c:crushed_ores/titanium`) | Titanium Ingot |
| Purified Crushed Niobium Ore (`c:purified_ores/niobium`) | Niobium Ingot |
| Purified Crushed Titanium Ore (`c:purified_ores/titanium`) | Titanium Ingot |
| Niobium Dust (`c:dusts/niobium`) | Niobium Ingot |
| Titanium Dust (`c:dusts/titanium`) | Titanium Ingot |
| Niobium Ore Block | Niobium Ingot |
| Titanium Ore Block | Titanium Ingot |
| Deep Niobium Ore Block | Niobium Ingot |
| Deep Titanium Ore Block | Titanium Ingot |

#### Compressor Recipes (`mio_icif:compressor`)
| Input | Output | Count |
|-------|--------|-------|
| Niobium Plate (`c:plates/niobium`) | Niobium Dense Plate | 9 plates → 1 plate |
| Titanium Plate (`c:plates/titanium`) | Titanium Dense Plate | 9 plates → 1 plate |
| Small Pile of Niobium Dust (`c:dusts/small_niobium`) | Niobium Dust | 9 dusts → 1 dust |
| Small Pile of Titanium Dust (`c:dusts/small_titanium`) | Titanium Dust | 9 dusts → 1 dust |

#### Metal Former - Rolling Mode (`mio_icif:rolling`)
| Input | Output | Count |
|-------|--------|-------|
| Niobium Ingot (`c:ingots/niobium`) | Niobium Plate | 1 |
| Titanium Ingot (`c:ingots/titanium`) | Titanium Plate | 1 |
| Niobium Plate (`c:plates/niobium`) | Niobium Casing | 2 |
| Titanium Plate (`c:plates/titanium`) | Titanium Casing | 2 |

#### Hammer Forging (`minecraft:crafting_shapeless`)
| Input | Output | Count |
|-------|--------|-------|
| Niobium Ingot (`c:ingots/niobium`) + Hammer | Niobium Plate | 1 |
| Titanium Ingot (`c:ingots/titanium`) + Hammer | Titanium Plate | 1 |
| Niobium Plate (`c:plates/niobium`) + Hammer | Niobium Casing | 2 |
| Titanium Plate (`c:plates/titanium`) + Hammer | Titanium Casing | 2 |

#### Block Crafting and Decomposition (`minecraft:crafting_shaped/shapeless`)
| Crafting | Input | Output |
|----------|-------|--------|
| Raw Niobium Block | 9× Raw Niobium (`c:raw_materials/niobium`) | Raw Niobium Block |
| Raw Titanium Block | 9× Raw Titanium (`c:raw_materials/titanium`) | Raw Titanium Block |
| Niobium Block | 9× Niobium Ingot (`c:ingots/niobium`) | Niobium Block |
| Titanium Block | 9× Titanium Ingot (`c:ingots/titanium`) | Titanium Block |
| Decompose Raw Niobium Block | Raw Niobium Block | 9× Raw Niobium |
| Decompose Raw Titanium Block | Raw Titanium Block | 9× Raw Titanium |
| Decompose Niobium Block | Niobium Block | 9× Niobium Ingot |
| Decompose Titanium Block | Titanium Block | 9× Titanium Ingot |

#### Small Dust Crafting
| Crafting | Input | Output |
|----------|-------|--------|
| Niobium Dust Split | Niobium Dust (`c:dusts/niobium`) | 9× Small Pile of Niobium Dust |
| Titanium Dust Split | Titanium Dust (`c:dusts/titanium`) | 9× Small Pile of Titanium Dust |
| Small Niobium Dust Combine | 9× Small Pile of Niobium Dust (`c:dusts/small_niobium`) | Niobium Dust |
| Small Titanium Dust Combine | 9× Small Pile of Titanium Dust (`c:dusts/small_titanium`) | Titanium Dust |

---

## Tweaks

### Upgrade Item Texture Update
- Updated upgrade item textures

### Quantum Boots Feature Name Adjustment
- Changed quantum boots feature name from "High Jump" to "Quantum Maneuver"
  - Chinese: `tooltip.mio_icif.armor.feature_high_jump` → "Quantum Maneuver"
  - English: `tooltip.mio_icif.armor.feature_high_jump` → "Quantum Maneuver"

---

**Summary**:
- Fixed producer machine input slot replacement progress reset issue
- Fixed quantum boots quantum maneuver tooltip and toggle issues
- Fixed extractor progress bar tooltip display
- Added Water Kinetic Generator GUI Chinese translations
- Corrected recycler slot design to match IC2 original
- Fixed logistics pipe item input vulnerability for recycler and electrolyzer
- Fixed world generation freeze with terrain mods (Feature Order Cycle)
- Corrected induction furnace redstone signal control logic
- Added complete Niobium and Titanium material processing chain recipes with full tag support

---

## 调整

### 升级插件纹理更新
- 更新插件(Upgrade)物品纹理

### 量子靴特性名称调整
- 将量子靴特性名称从"大跳"改为"量子机动"
  - 中文:`tooltip.mio_icif.armor.feature_high_jump` → "量子机动"
  - 英文:`tooltip.mio_icif.armor.feature_high_jump` → "Quantum Maneuver"

---

This mod has no additional files