Client Access
Whether a given player may drive this plugin from a client-side mod, and what they are allowed to do once they can.
Two independent gates, because they answer different people's questions:
The server owner's gate —
targets.client-mod.enabledinconfig.yml. Some servers do not want client mods at all, or do not want this one. Setting it false makes the plugin refuse the handshake outright, and a conforming mod hides its UI rather than showing a button that silently does nothing.The player's gate — the
despi.clientpermission. On a server that does allow client mods, an admin can still decide which ranks get the in-game interface.
Neither gate changes what the commands can do: /despi remains the universal surface that works on any client, and a server that switches client mods off loses nothing.
Types
Properties
Permission controlling whether a player may use the client-mod interface.
Protocol revision. Sent in the handshake so a mod can refuse to talk to a server it does not understand — and so this plugin can evolve the wire format later without breaking older mods.
Functions
The capabilities player has, as flags a client mod can use to grey out controls it must not offer. Sent with the handshake so the mod never has to guess — and so a player is never shown a button that the server will refuse.
Null when player may use the client interface, else the reason they may not.