[SI] SingularityIteration-0.1.6.5-beta.jar
Curse Maven Snippet
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