BlockCommand – Quick Technical Reference (v1.0.1)
This document provides a
technical overview of how BlockCommand works internally and how to configure it correctly on production servers.
1) Files created
After the first server start, BlockCommand creates:
- plugins/BlockCommand/config.yml
- plugins/BlockCommand/README.md
The plugin JAR (BlockCommand-x.x.x.jar) should remain in the /plugins folder as usual.
2) Main configuration sections (config.yml)
messages
messages:
console-only: "&cEse comando solo puede ejecutarse desde la consola."
no-permission: "&cNo tienes permiso para usar este comando."
- console-only
Message sent when a player tries to execute a console-only command.
- no-permission
Message sent when the player lacks the extra permission
<base-node>.<command>.
console-only
console-only:
enabled: true
commands:
- op
- deop
- pl
- plugins
- reload
- enabled
If true, commands listed here can only be executed from the server console
(even OP players are blocked).
- commands
List of dangerous or sensitive commands to block in-game.
permissions-filter
permissions-filter:
enabled: true
bypass-permission: "blockcommand.bypass"
ignore-commands:
- login
- register
- msg
base-node: "cmd"
- enabled
Enables the global permission filter.
- bypass-permission
Players with this permission completely skip BlockCommand checks.
- ignore-commands
Commands that are not filtered by BlockCommand
(useful for auth, chat, or essential commands).
- base-node
Prefix used to build the extra permission required per command.
tab-complete
tab-complete:
enabled: true
- enabled
Enables or disables TAB-Complete protection globally.
This option can also be toggled
live from the GUI.
3) Permission logic (core behavior)
For
each player command execution, BlockCommand applies the following logic
in order:
- If the command is listed in console-only.commands
→ ❌ Blocked for players, allowed only from console.
- Else if permissions-filter.enabled is false
→ ✅ Command is not filtered.
- Else if the player has bypass-permission
→ ✅ Command is not filtered.
- Else if the command is in ignore-commands
→ ✅ Command is not filtered.
- Else the player must have:
<base-node>.<command>
Example (default base-node: cmd)
/bw -> cmd.bw
/tab -> cmd.tab
/fly -> cmd.fly
/gm -> cmd.gm
/gamemode -> cmd.gamemode
⚠️ Important:
This is an
extra permission check on top of the original plugin’s permissions
(Essentials, BedWars, vanilla commands, etc.).
4) GUI administration
BlockCommand includes a
fully interactive GUI accessible via:
/blockcommand
From the GUI you can:
- Manage Console-only commands
- Add commands
- Remove commands
- Manage Ignore-commands
- Add commands
- Remove commands
- Toggle TAB-Complete protection
- Reload configuration safely
All changes made through the GUI are:
- Saved automatically to config.yml
- Applied immediately (no restart required)
5) Permissions overview
Core permissions
- blockcommand.bypass
Full bypass of all BlockCommand protections.
- blockcommand.reload
Allows /blockcommand reload.
GUI permissions
- blockcommand.gui
Allows opening the main GUI.
- blockcommand.gui.consoleonly
Manage console-only commands from the GUI.
- blockcommand.gui.ignore
Manage ignore-commands from the GUI.
- blockcommand.gui.tab
Toggle TAB-Complete protection from the GUI.
TAB-Complete permissions
- blockcommand.tab.bypass
Allows the player to see all commands in TAB-Complete, even if protection is enabled.
6) Typical setups
Protect critical commands (op / reload / pl)
Add them to:
console-only.commands
They will only work from the server console.
Control all gameplay commands with LuckPerms
Use:
base-node: cmd
Then assign:
cmd.spawn
cmd.bw
cmd.fly
cmd.home
to the groups you want.
Allow login / auth commands
Add them to:
permissions-filter.ignore-commands
This prevents players from being locked out.
Unlimited access for owner
Give the owner:
blockcommand.bypass
7) Troubleshooting
Players cannot use any commands
- Check permissions-filter.enabled
- Ensure the correct cmd.<command> permissions are assigned.
Login / register commands stopped working
- Add them to ignore-commands
- Run /blockcommand reload.
TAB-Complete still shows commands
- Check tab-complete.enabled
- Ensure the player does not have blockcommand.tab.bypass.
8) Compatibility notes
- Fully compatible with:
- Minecraft versions:
- Java:
✅ Summary
BlockCommand provides:
- Global command security
- GUI-based administration
- Permission-based control
- TAB-Complete protection
- Full legacy and modern compatibility
Designed for servers that require
strict control without complexity.