-
Notifications
You must be signed in to change notification settings - Fork 0
26.2 Home
📌 Repository Source Disclaimer: The documentation in this Wiki reflects the current source code state in the repository, which may include recent unreleased commits or developmental features ahead of public release builds on CurseForge and Modrinth.
This section provides the complete technical and player documentation for Collapsible Game Rules targeting Minecraft 26.2+ (Modern Sovereign Era).
All documentation in this section reflects the exact source code implemented in collapsible-game-rules (1.0.9+26.2), built with Java 25, Fabric Loader 0.19.1, and DasikLibrary 1.7.4.
-
🗂️ Collapsible Categories — Interactive category headers, directional arrows (
▼/▶), hover highlights, and child count badges. -
🌎 Global Actions & Bulk Toggles — Top-pinned
[ Expand All ]and[ Collapse All ]bulk operations. - 🔍 Smart Search Integration — Automatic category expansion when typing queries in the vanilla search bar.
- ⌨️ Keyboard Navigation & Accessibility — Space/Enter toggle, Left/Right arrow control, UI click sound events, and screen narration.
-
🧠 State Persistence & JSON Config — JSON file structure (
collapsible-game-rules-state.json),isDirtythrottling, and screen exit saving. - ✨ Category Prettification & Naming — Dynamic regex/delimiter formatting for unlocalized modded category keys.
- 🎛️ Game Rule Presets & Widgets — Built-in presets (Builder, Fast Play, Hardcore), interactive numeric sliders, and toggle switches.
- 📜 GameRules Reference Table — Complete breakdown of vanilla categories and modded dynamic category support.
-
💬 Brigadier Commands & Absence Scope — Absence policy documentation: client-side GUI focus with vanilla
/gamerulecompatibility. - 🏆 Advancements & Absence Scope — Absence policy documentation: client-side UI scope and vanilla advancement compatibility.
-
🖥️ HUD, Diagnostics & UI Rendering —
GuiGraphicsExtractorpipelines, font metrics, and narration elements. -
🛠️ Developer Setup & Gradle Builds — JDK 25 configuration, Loom Gradle build commands, and
ModVersionGuard. - 🧩 Architecture & Mixin Subsystem — Complete package architecture, Mixin descriptors, accessors, and injection points.
-
📚 DasikLibrary API Integration —
DasikMetadataHelperclassloading isolation andDynamicGameRuleManagerquery mechanics.
┌─────────────────────────────────────────────────────────────────────────────┐
│ COLLAPSIBLE GAME RULES ARCHITECTURE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Vanilla Screen: AbstractGameRulesScreen │
│ │ │
│ ▼ (Mixin: AbstractGameRulesScreenRuleListMixin) │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ populateChildren(filter) │ │
│ │ ├─ Cache master list in allEntries │ │
│ │ └─ updateVisibleEntries() │ │
│ │ ├─ Index 0: GlobalActionsRuleEntry ([ Expand ] / [ Collapse ])│ │
│ │ ├─ For each CategoryRuleEntry: │ │
│ │ │ ├─ Calculate child count badge │ │
│ │ │ ├─ Prettify key / Query DasikMetadataHelper │ │
│ │ │ ├─ Evaluate isExpanded (Search Query || Config State) │ │
│ │ │ └─ Add CollapsibleCategoryRuleEntry (Click/Key Toggle) │ │
│ │ └─ For each Child RuleEntry: │ │
│ │ └─ Only add to list if parent Category isExpanded == true│ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ (Mixin: ScreenMixin on removed()) │
│ GameRuleStateConfig.saveIfDirty() ──> config/collapsible-game-rules-state.json│
│ │
└─────────────────────────────────────────────────────────────────────────────┘
Collapsible Game Rules • Built & Maintained by Dasik (Rifaditya)
Released under the GNU General Public License v3.0 (GPL-3.0-or-later)
GitHub Repository • Modrinth • CurseForge • Issue Tracker
📌 Repository Source Disclaimer: The documentation in this Wiki reflects the current source code state in the repository, which may include recent unreleased commits or developmental features ahead of public release builds on CurseForge and Modrinth.