After the first start, the plugin creates:
- plugins/BlockCommand/config.yml
- plugins/BlockCommand/README.md
The JAR should stay in plugins/ as usual.
2) Main config sections (config.yml)
messages:
console-only -> Message sent when a player executes a console-only command.
no-permission -> Message sent when the player lacks the extra permission <base-node>.<command>.
console-only:
enabled -> If true, commands in this list can only be executed from the server console.
commands -> List of commands to block in-game (e.g. op, deop, reload, pl, version, seed, etc.).
permissions-filter:
enabled -> If true, BlockCommand applies the global permission filter.
bypass-permission -> Permission that completely skips the filter (default: blockcommand.bypass).
ignore-commands -> Commands that are ignored by the filter (login, register, msg, etc.).
base-node -> Prefix used to build the extra permission for each command.
3) Permission logic
For each player command:
- If the command is in console-only.commands -> it is blocked for players and only allowed from console.
- Else if permissions-filter.enabled is false -> the command is not filtered.
- Else if the player has the bypass-permission -> the command is not filtered.
- Else if the command is in ignore-commands -> the command is not filtered.
- Else the player must have the permission: <base-node>.<command>.
Example with base-node: cmd
/bw -> cmd.bw
/tab -> cmd.tab
/fly -> cmd.fly
Remember: this is an extra check on top of the plugin’s own permissions (Essentials, BedWars, vanilla, etc.).
4) Typical setups
- Protect op/reload/pl/version:
Add them to console-only.commands so they can only be run from the console.
- Control all gameplay commands via LuckPerms:
Use base-node: cmd and give permissions like cmd.bw, cmd.spawn, cmd.fly to the groups you want.
- Allow login/auth commands without touching them:
Put login, register, l, etc. in ignore-commands.
5) Troubleshooting
- Players can’t use any commands:
Check that permissions-filter.enabled is true and that you have given the corresponding cmd.<command> permissions.
- Login/register stopped working:
Add those commands to ignore-commands and reload the plugin.
- Owner does not want to be limited:
Give the owner the permission: blockcommand.bypass