Chat & Command Lockdown

Two independent mechanisms: a global chat on/off switch, and an always-on command blocklist that has nothing to do with chat at all.


Global chat toggle

yaml
chat:
  enabled: true
  blocked-when-disabled:
    - say
    - me
    - msg
    - tell
    - w
    - minecraft:say
    - minecraft:me
    - minecraft:msg
    - minecraft:tell
    - minecraft:w
  disabled-message: "&cChat is currently disabled."

/busyhub chat <on|off|toggle> flips chat.enabled. When it's false:

  • Regular chat messages are cancelled and the sender gets disabled-message.
  • Every command in blocked-when-disabled is also blocked (both the bare label and its minecraft:-namespaced form are checked either direction).

busyhub.chat.bypass (default: op) exempts a player from both the chat cancellation and the command blocklist.


Command lockdown — always on, independent of chat

yaml
command-lockdown:
  enabled: true
  blocked-commands:
    - pl
    - plugins
    - version
    - ver
    - about
    - icanhasbukkit
    - bukkit:pl
    - bukkit:plugins
    - bukkit:version
    - bukkit:ver
    - bukkit:about
    - bukkit:icanhasbukkit
    - bukkit:help
    - bukkit:reload
    - plugman
    - plugman:*
    - pm:*
  bypass-permission: busyhub.command.bypass
  blocked-message: "&cThat command is disabled on this server."

This blocks commands that leak server information (plugin lists, versions, reload) or that you simply never want a regular player running — regardless of whether chat is on or off. It's a separate blocklist from chat.blocked-when-disabled above.

Entries are matched as full command-preprocess labels (not per-argument), checked both bare and namespaced (pl also catches bukkit:pl), with a trailing * treated as a prefix wildcard (plugman:* catches any plugman: subcommand). busyhub.command.bypass (default: op) exempts a player entirely.

Add your own entries to blocked-commands for anything else you don't want regular players running — it's not limited to the shipped defaults.