TheNextLvlTheNextLvl

Command Visibility

Control command visibility in tab completion

GitHub Edit on GitHub

Hiding and Revealing Commands

Hiding commands allows you to control which commands appear in tab completion, creating a cleaner experience for players while still allowing the commands to be executed by those who know them.

Commands

Hide a Command

Usage: /command hide <command>
Hides a command from tab completion.

Examples:

# Hide specific commands
/command hide plugins
/command hide pl

# Hide all commands
/command hide "*"

# Hide all bukkit namespaced commands
/command hide "bukkit:*"

# Hide all namespaced commands
/command hide "*:*"

Using /command hide "*" will hide literally ALL commands, including /command itself.
Use /command reveal "*" to quickly restore all hidden commands.

Reveal a Command

Usage: /command reveal <command> Makes a previously hidden command visible again in tab completions.

Examples:

# Reveal specific commands
/command reveal plugins
/command reveal pl

# Reveal all hidden commands
/command reveal "*"

# Reveal all bukkit namespaced commands
/command reveal "bukkit:*"

# Reveal all namespaced commands
/command reveal "*:*"

Bypass Permission

Players with the commander.bypass permission can see all hidden commands.

Wildcard permissions (like *) are ignored for the bypass permission.
Players must have the explicit commander.bypass permission to see hidden commands.

Use Cases

Clean Command Lists

Hide administrative or utility commands that regular players shouldn't see:

/command hide plugins
/command hide pl
/command hide version
/command hide ver

Server-Specific Commands

Hide commands that are only relevant to certain server types or gamemodes.

Development Commands

Hide debugging or development commands from production environments.

Configuration

Hidden commands are stored in a JSON configuration file.
The file contains a simple array of command names that should be hidden.

hidden-commands.json:

[
  "plugins",
  "pl",
  "version",
  "ver"
]

Tips

  • Commands are hidden without the / prefix in the configuration
  • Both the full command name and aliases should be hidden if desired
  • Use /command reload to reload the configuration if manually edited

Last updated on