HidedCommands
HideCommands gives you centralized command visibility control for Velocity + Paper networks. It is built for fast admin workflows, live updates, and a clean permission management experience.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
HidedCommands
HideCommands ✨
Velocity + Paper gives you centralized command visibility control for Velocity + Paper networks. It is built for fast admin workflows, live updates, and a clean permission management experience.
🌟 Why Use It
- Control command visibility with `none`, `all`, and `admin+` groups. - Apply changes at backend, plugin/category, subtree, or single-command level. - Get live command-tree refresh after permission/group changes. - Use both chat tools and inventory GUI for management. - Keep backend/plugin icon customization persistent across restarts. - Share plugin icons globally across backends, with command icons inherited from their plugin. - Companion-aware behavior with clear runtime states in Paper.
🧱 Architecture
- `velocity`: filtering engine, persistence, permissions, bridge server, chat commands. - `paper`: inventory GUI, admin interactions, bridge client, companion probes. - `core`: shared bridge protocol and packet models.
🚀 Setup (Requirements + Installation)
1. Put `hidecommands-velocity-<version>.jar` in the Velocity proxy `plugins/` folder. 2. Put `hidecommands-paper-<version>.jar` in every Paper backend `plugins/` folder. 3. Start or restart proxy and backends with matching plugin versions. 4. Verify from: - Velocity: `/hc status` - Paper: `/hcstatus`
✅ Important for GUI Operations
- The plugin must be installed on the one player online inside that target backend and on the one player online inside that target backend servers. - You can use the GUI from the backend you want to edit, or from another backend. - For changes to apply to a one player online inside that target backend, there must be at least one player online inside that target backend.
🔗 Companion Link States (Classic Mode)
Paper uses classic plugin-messaging bridge detection.
- `waiting-companion-link`: backend is running but no recent bridge response exists yet. - `connected`: bridge responses are arriving normally.
Behavior summary:
- After backend restart, state begins at `waiting-companion-link`. - State switches to `connected` after a successful bridge roundtrip. - If responses stop longer than timeout, it returns to `waiting-companion-link`.
⚙️ Configuration
Velocity files:
- `plugins/hidecommands/global.yml` - `plugins/hidecommands/backends/<backend>.yml` - `plugins/hidecommands/backend-icons.yml`
Paper file:
- `plugins/HideCommandsPaper/config.yml`
Example:
```yml companion: proxy-detection-timeout-seconds: 12 ```
Notes:
- `plugin-icons` and `backend-icons` are saved automatically when changed from GUI. - If a backend is detected as companion-enabled and filtering is not explicitly set, filtering defaults to enabled.
🛡️ Permission Management
There are two management paths:
- Chat management: command/chat workflows from Velocity or Paper command relay. - GUI management: Paper inventory menus for backend/plugin/command actions.
Both paths update the same backend configuration state.
🎨 Icon Customization
- Backend icons are customizable and persistent. - Plugin icons are shared by normalized plugin name globally. - If the same plugin appears in multiple backends, it keeps the same icon everywhere. - Commands inherit the icon of the plugin/category they belong to.
🧰 Available Commands
Velocity
- `/hc reload`: Reloads plugin configuration and refreshes command trees. - `/hc status`: Shows runtime status, bridge state, and backend diagnostics. - `/hc gui`: Opens the Velocity chat GUI main menu. - `/hc gui main [page]`: Opens chat GUI main menu at a specific page. - `/hc gui backend <backend> [page]`: Opens backend-focused chat GUI view. - `/hc gui category <backend> <category> [page]`: Opens one plugin/category chat view. - `/hc gui command <backend> <encoded-path> [page]`: Opens one command chat view. - `/hc gui set <backend> <encoded-path> <group>`: Sets an explicit group for one command path. - `/hc gui cycle <backend> <encoded-path>`: Cycles one command path to the next group. - `/hc gui cyclecategory <backend> <category>`: Cycles all commands in a category. - `/hc gui cyclebackend <backend>`: Cycles all commands in a backend. - `/hc gui filter <backend> <on|off|toggle>`: Enables/disables/toggles backend filtering.
Paper
- `/hc`: Main admin entry command on Paper. - `/hcgui`: Alias that opens the inventory GUI. - `/hcstatus`: Requests and displays proxy status from Paper. - `/hc gui`: Opens Paper inventory GUI. - `/hc status`: Requests status from proxy. - `/hc reload`: Requests proxy reload through bridge. - `/hc chat [main|gui|status|reload|search <text>]`: Opens or controls chat shortcuts panel. - `/hc search <text>`: Applies command search in the current command context. - `/hcgui input <text>`: Sends private text input used by GUI search flow.
🔐 Permission Node
- `hidecommands.admin`
📄 License
This project is licensed under the MIT License. See `LICENSE`.
🤝 Contributing
Please read `CONTRIBUTING.md` before opening a PR.