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.

54

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.

ADS