🔒 NamespaceGater: Advanced Progression & Gating Framework
NamespaceGater is a powerful, GUI-driven utility mod for Minecraft 1.21.1 (Fabric & NeoForge) designed specifically for modpack creators and server admins. It allows you to lock entire mods (namespaces) behind custom progression stages seamlessly.
❓ The Problem
Creating staged progression in large modpacks usually requires complex KubeJS scripts, messing with external config files, and restarting the game multiple times. It's tedious, error-prone, and frustrating for server admins.
💡 The Solution
NamespaceGater provides a native, in-game Admin Panel to manage your modpack's progression visually. No coding required. Just open the GUI, select the mods you want to lock, and create a progression stage with a few clicks.
✨ Key Features
- 🎮 In-Game Rule Engine (ECA): Bind stage unlocks to actual gameplay events. Require players to
KILLa specific boss,CRAFTan item, orBREAKa block to unlock a whole new tech tier or magic mod. - 🚫 Comprehensive Gating: Once a namespace is locked, the mod intercepts item usage, block breaking/placing, entity interactions, and equipment slots. Even if a player somehow obtains a locked item, they cannot use it.
- ⚡ O(1) Performance: Engineered for high-load servers. Trigger checks are cached using O(1) hash-indexing, meaning zero impact on your server's TPS, no matter how many rules you add.
- 🌍 Global Progression: Stage unlocks are tied to the World Saved Data. Once a trigger is met, the stage unlocks for the entire server, making it perfect for cooperative SMPs.
- 🎨 Built-in Rich Text Editor: Customize access-denied and stage-unlocked messages right in the game using familiar formatting codes (like
&cfor red or&lfor bold). - 🛡️ Multi-Loader & Server Safe: Developed carefully for both Fabric and NeoForge with strict C2S payload validation. UI is fully client-sided, ensuring dedicated servers run smoothly without crashes.
⚙️ How to Use
(Requires OP / Permission Level 4 on servers) Simply open the Admin Panel using the designated keybind or command. Use the Mods Tab to globally lock/unlock namespaces, and the Stages Tab to configure dynamic triggers.

