可折叠的游戏规则屏幕

可折叠的游戏规则屏幕

将GameRules UI屏幕按类别折叠。厌倦了滚动?清理你的世界设置。

管理

Join Discord Collapsible Game Rules Banner

Requires Fabric API Requires Dasik Library 100% Client-Side Java 25 License GPLv3 Minecraft 26.2+

⚒️ 可折叠游戏规则

"驯服世界创建的混乱——每一条规则,都整齐地呈现在你指尖。"


📖 简介

Minecraft 默认的编辑游戏规则界面是一堵令人生畏、无休无止的、杂乱无章的设置之墙。一旦你安装了玩法模组或创建了一个复杂的世界,数十上百条自定义规则就会被扔进一个扁平、迟缓的列表里。想要找到某一个特定的开关——比如保留物品栏、生物破坏或作物刻——就会变成一场令人沮丧的眯眼与滚动马拉松。

可折叠游戏规则彻底现代化了游戏规则界面。它把扁平列表转变为一个优雅的层级界面,带有可折叠的分类抽屉、即时全局折叠/展开开关、实时搜索自动展开、专用的逐分类默认值重置,以及跨游戏会话的布局记忆。作为 100% 客户端体验优化从底层构建,它以零服务器足迹和渲染路径上零内存分配抖动运行。

[!IMPORTANT] 1 Jar 1 版本政策:我为每个 Minecraft 版本构建 1 个专用 JAR(例如 MC 26.2、MC 26.3)。请下载与你的 Minecraft 安装相匹配的确切构建版本。

依赖说明:

  • **Minecraft 26.2+(现代时代):**需要 Fabric API 和 Dasik Library(v1.7.0+)。
  • **零服务器需求:**这是一个 100% 客户端的视觉改造。你可以在客户端安装它并加入任何原版、Fabric、Forge、Paper 或 Purpur 服务器,而无需在服务器上安装该模组!

✨ 特性

📂 层级可折叠分类

  • **整洁的抽屉布局:**自动将所有原版和模组游戏规则分类到整齐、可折叠的分类抽屉中(玩家、生物、生成、世界更新以及模组命名空间)。
  • **线性分类树构建器:**采用高性能的单遍解析器(CategoryTreeBuilder)和不可变的 CategoryGroup 数据记录,以 $O(1)$ 时间复杂度缓存标题和规则计数,消除了嵌套列表扫描的开销。

🖱️ 交互式标题栏与展开/折叠箭头

  • **可视状态指示:**通过响应式切换箭头(展开为 ▼,折叠为 ▶)以及精确的规则计数器,清晰地指示文件夹状态。
  • **轻松切换:**点击任意分类标题即可立即展开或折叠该部分。把你很少触碰的规则折叠起来,让屏幕保持无干扰。

Collapsible Game Rules Screen In-Game Preview

Expanded and Collapsed Categories Overview

🌐 全局操作:全部展开与全部折叠

  • **一键掌控:**专用的粘性顶部控制栏提供 [ 全部展开 ] 和 [ 全部折叠 ] 按钮。
  • **快速导航:**想审计整个配置时展开每一个分类,或轻点一下折叠全部内容以查看高层级的目录。

🔍 智能原版搜索集成与自动展开

  • **无缝原版兼容:**直接在 Minecraft 原生搜索栏中输入关键词。
  • **动态展开:**输入时,任何包含匹配规则的分类会自动展开,而不匹配的分类则折叠。清空搜索栏即可立即恢复你之前的布局!

↺ 逐分类默认值重置板

  • **独立重置:**每个分类标题都带有一个紧凑的 ↺ 图标板,并有专用的悬浮提示(gui.collapsible-game-rules.reset_category)。
  • **精准重置:**一次操作即可将整个分类的规则重置回原版或模组默认值,而不会误清除其他分类中所做的自定义调整。

🧠 跨会话持久布局记忆

  • **会话连续性:**无需重复你的折叠偏好。布局状态通过翻译键追踪并本地保存到 config/collapsible-game-rules-state.json。
  • **语言韧性:**由于状态是按翻译键而非本地化文本保存的,切换语言包永远不会损坏或重置你折叠的文件夹。
  • **零磁盘抖动:**状态仅在退出界面时(isDirty 标志)提交到磁盘,确保点击菜单时零卡顿。

🧩 通用模组 GameRule 兼容与美化

  • **自动发现:**直接挂钩 Minecraft 原生的 Game Rules 映射表。其他模组或数据包注册的自定义规则开箱即自动分组到整洁的文件夹中。
  • **命名空间美化:**智能回退格式化会整理未本地化的模组字符串(例如将 gamerule.category.better-bats.better_bats 转换为美观易读的 Better Bats 标题)。
  • **Dasik Library 集成:**为通过 DasikLibrary 的 DynamicGameRuleManager 生成的所有动态规则提供深度一级元数据同步。

🛡️ 100% 客户端架构与零服务器足迹

  • 完全在本地客户端机器上运行。
  • 对单人世界、局域网游戏和所有多人服务器(原版、Paper、Purpur、Fabric)均安全。

📊 快速参考与机制矩阵

特性维度 原版游戏规则界面 可折叠游戏规则(v1.0.10+26.2)
视觉结构 巨大的扁平滚动列表 可折叠的层级分类抽屉
导航速度 无休止的手动滚动 一键折叠与展开
全局控制 无 [ 全部展开 ] 与 [ 全部折叠 ] 标题栏
规则重置 仅限全局世界重置 专用的逐分类 ↺ 重置板
搜索交互 过滤扁平列表;难以追踪 自动展开匹配的分类抽屉
布局持久化 每次关闭界面即重置 持久化 JSON 记忆(collapsible-game-rules-state.json)
模组规则支持 扁平、无组织的模组倾倒 自动分组并美化命名空间
服务器足迹 不适用 100% 客户端(零服务器安装需求)
热路径渲染 重复的嵌套扫描 $O(N)$ 线性树构建器与 0B/帧缓存

🚀 游戏内控制与快速开始

可折叠游戏规则安装后即可立即使用。使用直观的鼠标和键盘控制来操作界面:

输入操作 目标元素 功能
左键单击 分类标题栏 展开或折叠所选分类抽屉。
左键单击 [ 全部展开 ] 按钮 同时展开所有分类抽屉。
左键单击 [ 全部折叠 ] 按钮 折叠所有分类并将滚动位置重置到顶部。
左键单击 ↺ 重置板 将该分类中的所有游戏规则重置为默认值。
右箭头键(→) 高亮的分类 展开所选分类的键盘快捷键。
左箭头键(←) 高亮的分类 折叠所选分类的键盘快捷键。
搜索输入 原版搜索栏 实时过滤,并自动展开匹配的分类。

⚙️ 配置与持久化架构

[!IMPORTANT] **💡 配置与游戏内 GameRules:**布局文件仅定义界面展开状态。游戏内规则值直接保存到你的世界存档中(level.dat / game_rules.dat)。

可折叠游戏规则自动将你的界面抽屉布局保存到:

config/collapsible-game-rules-state.json

结构概览:

{
  "schemaVersion": 1,
  "expandedCategories": [
    "gamerule.category.player",
    "gamerule.category.spawning",
    "gamerule.category.updates"
  ]
}
  • **自动迁移:**较旧的未版本化配置在启动时会自动安全升级到 schemaVersion: 1。
  • **故障安全恢复:**如果检测到损坏的 JSON 语法,模组会记录一条描述性警告,并优雅地初始化干净的默认值,而不会使游戏崩溃。
  • **优化的 I/O:**仅在你做出更改后关闭界面时才写入磁盘,确保菜单界面中 60+ FPS 的流畅度。

📖 深入指南与操作手册

1. 访问现代化游戏规则界面

  1. 世界创建:导航到单人游戏 ➔ 创建新世界 ➔ 游戏规则选项卡。
  2. 现有世界:从世界选择菜单中,选择你的世界 ➔ 点击编辑 ➔ 点击编辑游戏规则(或在支持的情况下通过暂停菜单设置访问)。
  3. 现代化的可折叠界面会立即加载,所有分类都整齐地组织好。

2. 简化大型模组包设置

  1. 在安装了数十个模组的大型模组包中,点击顶部的 [ 全部折叠 ]。
  2. 整个界面会收缩成一个整洁的分类标题列表。
  3. 仅打开你需要的分类(例如 生成 或你特定的模组分类)。
  4. 调整你想要的规则值,而不会迷失在数百个无关选项中。

3. 使用智能搜索查找设置

  1. 点击界面顶部的原版搜索栏。
  2. 输入任意关键词(例如 tick、drop 或 fire)。
  3. 仅包含匹配规则的分类会保持可见,并且它们会自动展开以显示搜索结果。
  4. 当你删除搜索文本时,你自定义的展开/折叠视图会被恢复。

4. 精准重置单个分类

  1. 如果你实验了复杂的生物或生成规则,并想在不触碰玩家调整的情况下还原它们,请找到生物分类标题。
  2. 将鼠标悬停在标题右侧的 ↺ 板上。
  3. 点击该板。该分类中的所有规则立即恢复为官方默认值!

5. 多会话持久化

  1. 当你配置好理想布局后(例如保持 玩家 和 更新 打开,同时保持 杂项 折叠),点击完成。
  2. 可折叠游戏规则将你的偏好提交到 collapsible-game-rules-state.json。
  3. 每次你创建新世界或编辑设置时,你的首选布局都已就绪。

🧩 推荐的姊妹模组

如果你喜欢可折叠游戏规则,这些配套模组可以无缝接入:

  • 🧠 Dasik Library:核心通用基础,为动态 GameRule 注册和自动翻译注入提供支持。
  • 📦 Stack Size Adjuster:将物品堆叠上限自定义到极端数量,并通过可折叠游戏规则中直接组织好的整洁 GameRules 进行配置。
  • 🌿 Natural Reproduction:通过原生分类 GameRules 配置的自主 27 物种野生动物繁殖与遗传。

🌟 浏览我的个人主页以获取更多原版友好的增强功能和独立工具。


💬 加入社区并获取支持

正在寻求帮助、想要测试早期测试版构建,或为即将推出的功能投票?加入我们的官方 Discord 社区!

Join Official Discord


☕ 支持

如果你喜欢这个生态系统,请考虑为未来的更新提供动力!

Ko-fi SocioBuzz Saweria

[!NOTE] **🇮🇩 印度尼西亚用户:**如果你想在不使用 PayPal/Ko-fi 的情况下支持我,SocioBuzz 和 Saweria 支持本地支付方式(Gopay、OVO、Dana 等)!


📜 致谢与模组包权限

角色 / 属性 作者 / 链接
创建者 / 作者 Dasik(Rifaditya)
社区 官方 Discord
合集 Universal UI Overhaul
许可证 GNU 通用公共许可证 v3.0(GPLv3)
源代码 GitHub - Rifaditya/Collapsible-Game-Rule-Screen
问题追踪 GitHub Issues
文档 / Wiki GitHub Wiki

[!IMPORTANT] 📦 模组包权限与分发:
我们完全欢迎你将此模组包含在任何平台上的任何模组包中!但是,模组文件必须通过官方分发渠道(Modrinth 或 CurseForge)直接下载。严禁将原始模组 JAR 重新上传、镜像或重新分发到第三方镜像站、爬虫门户或未授权的启动器。

⚖️ 许可证与分支指南(禁止零改动重新上传):
本项目在 GNU GPLv3 下开源。我们完全鼓励你检查代码、从中学习,并分支仓库以创建真正的修改、实质性的功能扩展或社区移植——前提是你的项目在 GPLv3 下保持开源并给予适当署名。
然而,严格禁止直接 1:1 重新上传、没有有意义功能改动的克隆分支,或以不同项目名称重新发布相同构建(例如为了刷下载量或奖励)。


用 ❤️ 为 Minecraft 社区打造

Universal UI Overhaul 的一部分