简单难度重制版:优化版

简单难度重制版:优化版

SimpleDifficulty 的错误修复和优化分支

SimpleDifficulty Reforged: 优化版

一个改进的 SimpleDifficulty For Underdog 分支


概述

SimpleDifficulty 为 Minecraft 1.12.2 带来了温度与口渴系统,基于 Tough As Nails 等生存模组的基本机制。此维护分支专注于:

  • Bug 修复与稳定性改进
  • 扩展模组兼容性,适用于大型整合包
  • 技术优化,确保流畅的游戏体验
  • 代码现代化与清理

关于项目起源的说明:

本模组是四个月持续专注开发(从五月到九月)的成果。由于优化和代码重构规模庞大(修改超过 9,000 行),我决定将这一更新版本单独发布,以便您能立即受益于内存泄漏修复和性能改进。如果您想查看所有更改的完整技术细节,请查看原始 Pull Request


功能特性

核心机制

  • 口渴系统:玩家需要管理水分水平,以避免负面状态效果。
  • 温度动态:环境生物群系、方块和盔甲会影响玩家的体温。
    • 低体温症与高热症:现在会降低最大生命值并施加负面药水效果,而非直接造成伤害。(注意:Spice of Life 的生命值修饰符在计算中被忽略)。
  • 水变体:
    • 普通水:标准补水来源。
    • 盐水:饮用后会加速脱水。
    • 纯净水 / 泉水:安全、清洁的补水来源,具有最佳饱和度数值。原版水现在被视为泉水。(注意:水本身必须通过其他模组生成。推荐使用 Cave Generator)。

精炼的水与物品系统

  • 水壶重制:修正了耐久度逻辑和补水补充比例。纯净水的消耗会准确更新物品和来源。
  • 瓶子交互:空瓶子会动态检测特定的环境流体类型(盐水、普通水或泉水),而非仅默认识别原版水方块。
  • 一致的熔炼:修正了烹饪逻辑,防止特殊流体容器(如泉水瓶)在加工过程中降级回标准变体。
  • 配方清理:移除了水壶和过滤器的冗余或损坏的无序配方,以防止合成冲突。
  • 视觉调整:流体颜色渲染会根据生物群系位置有机适应,并具有自定义的深度雾效设置。
    • 增强雾效:改进了水雾视觉效果。雾的颜色现在更明亮,并会根据生物群系变化。
    • 自定义:新增配置选项,可使水体更暗或更亮。
  • 冰机制:新增普通水和盐水冰!🧊 在适用的环境中生成自然冰结构。包含世界生成器,并实现了融化、冻结以及 Serene Seasons 支持。完全兼容冻结/融化方块状态。

技术优化

专为减少大型整合包中的服务器开销和客户端卡顿而设计。

内存管理

泄漏解决

  • 识别并修复了与位置世界追踪相关的内存泄漏
  • 修复了玩家断开连接时能力数据未正确释放的问题
  • 优化了事件处理器注册,防止监听器重复

数据占用

  • 精简了核心温度子系统中的内部遥测存储
  • 相比原始分支,全局内存使用减少了约 40%
  • 对非关键数据结构实现了延迟加载

处理效率

执行门控

  • 在主要处理循环中实现了提前退出逻辑
  • 减少了追踪系统未激活时的不必要 tick 评估
  • 为频繁访问的计算添加了缓存

子系统调优

  • 优化了环境水方块扫描算法
  • 改进了水壶消耗操作的性能
  • 精简了逐 tick 的口渴计算
  • 新增盐水/淡水混合逻辑,采用不影响性能的优化填充算法。
  • 移除了流体的粒子效果,并略微改进了流体渲染性能。

垃圾回收

  • 降低了标准游戏循环中的对象实例化率
  • 对频繁创建/销毁的对象实现了对象池
  • 将 Java 垃圾回收器的开销降低了约 60%

模组集成

完全支持的模组

以下模组具有专用集成代码和完全兼容性:

  • Animania
  • Armor Underwear
  • Baubles
  • Biomes O' Plenty (新增水生植物兼容性)
  • Dynamic Trees (新增流体方块兼容性)
  • DynamicSurroundings
  • EnhancedVisuals
  • First Aid
  • Harvest Festival Legacy
  • Inspirations
  • Lycanites Mobs
  • Ore Excavation
  • Pam's HarvestCraft
  • Potion Core
  • Pyrotech
  • Realistic Torches
  • Rustic
  • Serene Seasons
  • Streams
  • SurvivalTools
  • Simple Camp Fire
  • Traveler's Backpacks
  • Tinkers' Construct
  • The Betweenlands
  • Weather2 Remastered

额外兼容性

以下模组无需专用集成即可工作,但已经过测试:

  • Cave Generator (推荐用于生成泉水)
  • Fluidlogged API
  • Greenery (新增水生植物兼容性)

想要与特定模组兼容? 提交一个 issue,我会尝试使其工作!


许可证与鸣谢

许可证

本项目基于 MIT 许可证分发

作者与贡献者

  • Charles445:创建了原始版本
  • juraj-hrivnak:创建了 Underdog 分支
  • Onyx-i7:维护、更新至 RetroFuturaGradle、消除内存泄漏,优化版的主要作者

支持