ommc-Reforged

ommc-Reforged

我的世界客户端模组锻造版。

杂项

Oh My Minecraft Client Forge 1.20.1

>>> 中文说明 <<<

本模组迁移自 ommc

这是 Oh My Minecraft Client 的 Forge 1.20.1 移植版。 原版是由 plusls 开发的 Fabric 模组。本移植版独立维护,并不完全涵盖相同的功能集 (请参阅下方的“尚未实现”和“与 Fabric 版本的差异”)。

Make Minecraft Client Great Again!

打开游戏内配置界面的默认快捷键是 O + C。

依赖

依赖 下载
MaFgLib GitHub

MaFgLib 是 malilib 的 Forge 移植版。本模组的整个配置系统、配置界面和快捷键系统均来自它, 因此它是硬依赖,必须安装。

功能

保留聊天记录(dontClearChatHistory)

离开世界时将聊天框中的消息保存到文件,并在下次加入同一世界时恢复它们。

  • 分类:Generic
  • 类型:boolean
  • 默认值:false

保存位置

<游戏目录>/config/ommc/chat-history/<SHA-1 指纹>.json

按世界隔离

聊天记录会为每个“世界”单独存储,因此不同的存档和不同的服务器绝不会混合:

  • 单人游戏:使用存档根目录(saves/<关卡名称>)的绝对路径作为身份标识
  • 多人游戏:使用服务器地址(host:port)作为身份标识

身份标识会经过 SHA-1 哈希处理以生成文件名,因此既不会冲突,也不会因为世界名称包含非法字符而写入失败。 文件中还会记录可读的世界名称以供手动检查,加载时还会再次验证存储的身份标识——因此即使手动重命名或复制文件,也不会导致聊天记录混合。

保存时机

在“离开世界”时。此时聊天记录尚未被清除,因此内容是完整的。

恢复时的行为

  • 恢复的消息会一次性全部显示,并在约 10 秒后淡出(原版机制)
  • 恢复的消息中的点击 / 悬停事件会被剥离——这些事件原本属于服务器端消息;保留它们会导致点击后向当前服务器发送命令,既令人困惑又有风险
  • 在它们之前会插入分隔线 ── 来自上一次会话的聊天记录 ──
  • 最多保留最新的 100 条消息

与 Fabric 版本的差异

原版的 dontClearChatHistory 是在会话内防止聊天框被清除。 本移植版改为在跨会话间持久化——退出时保存、加入时恢复,这也使其不受使用 F3+D 清除聊天的影响。 此外,原版语义还涵盖输入历史(你用上箭头滚动浏览的行),而本移植版只保存消息, 不保存输入历史。

构建

需要 JDK 17。将 MaFgLib 的 jar 放入 libs/repo 下的 Maven 布局目录中,然后用 Gradle 构建:

./gradlew clean build

输出位于 build/libs/ 下。

许可证

本项目基于 LGPL-3.0 许可证提供。原始的 Oh My Minecraft Client 同样基于 LGPL-3.0 许可。

由 Deepseek 提供支持