Official page:
| Feature | ||
|---|---|---|
| Setup | Manually list every command | Works automatically by permission |
| New plugins | Update config every time | Covered instantly, zero config |
| Aliases & namespaces | Must list each variant | Auto-resolved from CommandMap |
| Execution blocking | Tab-complete only | Packet-level blocking included |
| Per-group rules | Limited or none | Full profile system with priorities |
| Permission changes | Requires rejoin | Instant refresh via LuckPerms |
When PlaceholderAPI is installed, HyHide exposes the following placeholders per player:
| Placeholder | Description |
|---|---|
| %hyhide_visible_count% | Number of commands visible to the player |
| %hyhide_hidden_count% | Number of commands hidden from the player |
| %hyhide_total_count% | Total number of registered commands |
| %hyhide_visible_percentage% | Percentage of commands visible to the player |
Use them in scoreboards, holograms, tab lists, or anywhere PlaceholderAPI is supported. Values are cached per player (configurable via placeholder-cache-ttl in config) to keep performance smooth.
Required:
PacketEvents - Powers packet-level command blocking. Hidden commands are blocked at the network level so players can't execute them even by typing manually.
Optional:
LuckPerms - Enables real-time permission refresh when groups/permissions change.
PlaceholderAPI - Exposes visible/hidden command count placeholders.
HyHide requires PacketEvents for full protection. LuckPerms and PlaceholderAPI are optional but recommended for the best experience.
| Command | Permission | Description |
|---|---|---|
| /hyhide reload | hyhide.reload | Reload configuration |
| /hyhide refresh | hyhide.refresh | Refresh your command tree |
| /hyhide refreshall | hyhide.refresh | Refresh all online players |
| /hyhide debug | hyhide.debug | Toggle debug logging |
| Permission | Default | Description |
|---|---|---|
| hyhide.admin | OP | Grants all permissions below |
| hyhide.reload | OP | Allows reloading HyHide configuration |
| hyhide.refresh | OP | Allows refreshing player command trees |
| hyhide.debug | OP | Allows toggling debug mode |
| hyhide.bypass | OP | Bypass packet-level command blocking — player can execute hidden commands |
| hyhide.profile.<name> | — | Assigns a visibility profile to the player (e.g. hyhide.profile.staff) |