
ProAntiTab
Hide Commands, Custom F3 Brand, Block Unwanted Tab-Completion & Suggestions
2.3.0 | New Features, Improved MiniMessage Support, Bug fixes
release29 января 2026 г.New
Added per-server PAT group permissions
You can now give PAT related permissions using a LuckPerms server context to only give this PAT group for a user on a certain server. Similar to the
per-worldPAT group implementation! :D
Added negated 'plugin=
Using
plugin=<plugin>adds all commands from a certain plugin without writing each command inside the storage.yml.Now with
!plugin=<plugin>all commands from a plugin can be negated instead.
Added playable sounds on the proxy Unfortunately not for Bungeecord.
Available sounds: https://www.digminecraft.com/lists/sound_list_pc.php Syntax: sound::soundName::volume::pitch Example: sound::entity.ender_dragon.growl::1.0::1.0
Added new setting: 'forward-console-notification-alerts'
Allows you to forward proxy notifications to the backend server's console.
Added %offline_players% for sub-arguments
Only for standalone Spigot servers
Changed usage of 'pat extract' command
New usage: /pat extract (plugin / *) <group> <mode>
mode = non-colon, only-colon, both
Description: With the new syntax, it's now possible to either only extract non-colon, only colon, or both colon and non-colon commands from a plugin.
Writing no mode chooses non-colon by default. Writing no group will use the global section by default.
MiniMessage Support for Custom Responses
Added full support for MiniMessage (e.g: HEX) in any custom response
You can now use MiniMessage for all custom response types. Inside actionbars, titles and your messages.
example-for-anything:
triggers:
- "*"
message:
- "<rainbow>MiniMessage</rainbow> &a&land &e&lLegacy"
actions:
- "actionbar::<rainbow>Sorry %player%, but this command is blocked.</rainbow>"
- "title::<rainbow>MiniMessage title</rainbow>::&cLegacy &asub&etitle::5::20::5"
Fixes
- Updated libraries
- Improved performance and reduced memory usage improving the PAT group recognition.
- Fixed issue that some PAT group commands were not working.
- Fixed exception on backend servers with a Bungeecord network.
- Fixed exception on legacy servers using PAT on a network.
- Fixed exception when removing the entire
server,groups, andgroups.<group>.serverssection. - Fixed sub-argument hiding from commands using the Mojang Brigadier Library.
- Fixed issue with %args[...]% placeholder in custom-responses.
- Fixed issue that PAT in BLACKLIST mode was not blocking sub-arguments correctly.
- Fixed sub-argument tabbing for
custom-versionandcustom-pluginscommands if they were whitelisted. - Fixed that all commands disappear on Bungeecord once PAT is reloading.
- Fixed unnecessary data synchronization if
disable-syncis enabled. - Fixed wrong conversion of CommandWhitelist sub-arguments.
- Fixed raw CraftBukkit support.
2.2.0 | New Features, Commands & Bug fixes
release11 декабря 2025 г.New Features:
Added new variable "plugin=pluginname" to add all commands from a plugin
Warning: This only works on standalone Spigot (+Fork) servers!
You can now add all commands from a plugin by simply adding
plugin=<pluginname>to your storage.yml.You can then use the negation operator (
!) to block a few of these commands. Here an example:
# Adds all Essentials commands and blocks off these few commands.
# It does not matter if the plugin name is written with big or small letters.
- "plugin=essentials"
- "!about"
- "!anvil"
Added new option for block-namespace-commands
A new option called
always-block-commandhas been added.It's enabled by default and basically means that commands are still not executable, even though the cancellation for command executions has been disabled inside
cancel-blocked-commandsfor example.
block-namespace-commands:
enabled: false
# Basically blocks the command execution no matter if
# 'cancel-blocked-commands' is enabled or not.
always-block-command: true
Added new option "allow-group-overruling"
Allows to block commands inside a PAT group, if the commands were considered allowed according to the
globalsection before.Blocking commands inside a PAT group works by using the negation operator (
!) afront of a command.
# (!) Warning:
# Enabling this could lead to performance issues depending on
# the amount of players and commands. (> 1100)
#
# This allows PAT groups to block commands, which have been allowed
# inside the global section. This can be achieved by negating commands
# inside a PAT group.
allow-group-overruling: false
Added negation of PAT group commands! (Basically blocking commands via PAT groups)
Allows to block commands inside a PAT group using the negation operator (
!) afront of a command.Warning: It only blocks the command, if it's not been allowed inside the
globalsection before. But this can be bypassed by enabling the new option allow-group-overruling. (above)
New Commands:
Command to convert another plugin/command hider plugin into PAT
Usage:
/(b)pat convert (plugin)Description: Converts the config.yml from another "plugin/command hider" plugin into PAT's format of the storage.yml. For example, converting theconfig.ymlof AdvancedPlHider into a PAT storage.yml. This should simplify the process of switching to PAT. ^^Example:
/pat convert AdvancedPlHiderSupported plugins:
AdvancedPlHide, CommandWhitelist, PlHide(Pro), PluginHiderPlus
Command to extract ALL commands from a plugin
Usage:
/pat extract (plugin) <use-colon>or/pat extract (plugin) <group> <use-colon>Description: Extracts all commands from a plugin and writes them directly into the storage.yml.Parts explanation:
<use-colon>= Includesplugin:commandcommands. (e.g:essentials:feed)<group>= PAT group if you want to extract the commands in there.Example:
/pat extract essentials true= Writes all Essentials commands in the global section of PAT with and without colon commands. = So it includes bothessentials:feedandfeedetc.
/pat extract fastasyncworldedit builder false= Writes all FAWE commands into the PAT group calledbuilderwithout any colon commands. = So it only includes commands such as//wandbut not/fastasyncworldedit:/wand
Fixes:
- Improved "missing-parts" warning
- Fixed TOKEN not updating after PAT reload
- Fixed auto-config-updater option
- Fixed wrong size of PAT group commands
- Fixed potential error message for proxies
- Fixed issue filtering colon commands with PAT in BLACKLIST mode
- Fixed in-code wrong data type for "load-from-env.name"
- Fixed tab-completion issue with Bungeecord commands while having bypass permissions (sub-arguments)
- Fixed tab-completion issue with Bungeecord commands on 1.8.8 servers (player-names and commands)
- Fixed wrong filtering process of custom-plugins & custom-version commands for legacy servers
- Fixed wrong tab-completion of available commands (
/(b)pat add <...>) - Fixed wrong last-sync time in post-debug
- Disabled custom-plugins and custom-version feature on backend servers if
handle-through-proxyis enabled - Fixed missing server-name using bpat-serv commands with an unknown group-name
2.1.1 | New Features + Operators, Exploit & Bug Fixes
release9 ноября 2025 г.Features
Added Per-World-Commands feature by giving PAT group permissions using LuckPerms context.
# (!) Warning:
# Enabling this could lead to performance issues if many players
# change worlds frequently in short amount of time.
#
# This decides whether PAT updates the commands for a player after changing worlds.
# Enabling this allows you to make per-world commands using PAT's group system by
# giving a user/group the PAT group permission using a LuckPerms world as context.
#
# Example command:
# lp (...) permission set proantitab.group.<group> world=<world>
update-commands-per-world: false
Added support for the permissions plugin GroupManager
Added lower- & uppercased variants for %numbers%
0 1 2 3 4 5 6 7 8 9 . k K m M b B
New Operators:
Added (!) operator to negate a command. (Mostly fit for WHITELIST mode)
- gm
- "!gm creative" # Allows all /gm commands, except for '/gm creative'
Added (-_) operator to block the base-command only and not the sub-arguments
- gm -_ # Disallows '/gm', if it does not have any sub-arguments included
- gm creative
- gm survival
Added Base-Command-Case-Sensitive option
Example when allowing "HelP" and enabling case-sensitivity:
/help --> Blocked
/HElp --> Blocked
/HelP --> Allowed
Added new options for custom-response variable %args[...]%
%args[from-to]% to get the command arguments
Example if you've typed: /shop open gui user
# A:
%args[1]% = shop
%args[2]% = open
A-B:
%args[1-2]% = shop open
%args[1-3]% = shop open gui
%args[2-4]% = open gui user
A_:
%args[1_]% = shop open gui user
%args[2_]% = open gui user
%args[3_]% = gui user
_B:
%args[_1]% = shop
%args[_2]% = shop open
%args[_3]% = shop open gui
Fixes
- Rewrote the entire permissions detection system
- Improved auto-commands updater for Bungeecord networks (even more independent now)
- Improved proxy-commands detection for Bungeecord (Fixed
MyCommandissues) - Improved PAT debug post (
/(b)pat postdebug) - Fixed unnecessary tab-completions for
/(b)pat creategroup <...> - Fixed overall memory issue
- Fixed StackOverflow crash exploit (Auto-Lowercase feature)
- Fixed 1.8.8 command detection on Velocity (CarbonSpigot)
- Fixed overall 1.8.8 server related issues (Sub-Arguments)
- Fixed issue with PAT in BLACKLIST mode on a network
- Fixed issue with Folia related forks
- Fixed potential injection issues with different server software (e.g: Leaf-1.20.6)
- Fixed
%players%variable issue with online players detection by their prefix (e.g: Rayzs -> Rayzs_YT) - Fixed wrong display of missing parts in config after plugin-reload
- Fixed minor issues with MyCommand for Bungeecord commands
- Fixed wrong display of commands at
/pat add <tab>(Bukkit only) - Fixed wrong amount of groups. (
/(b)pat listgroups)
Small Bug fixes and Adjustments
release9 августа 2025 г.- Fixed display of wrong message when removing a command which isn't even listed (if similar with spaces was already there)
- Added 'k', 'm', 'b' to number specification for %numbers%
Fixed Reload Command
release8 августа 2025 г.- Fixed the
/(b)pat reloadcommand that it wouldn't adapt the storage.yml changes.
