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.
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.