2.1.0 | New Features + Operators, Exploit & Bug Fixes


# **New Feature:**

**Added Per-World-Commands feature by giving PAT group permissions using LuckPerms context.**
```yaml
# (!) 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
```

<br>

**Added updating PAT groups after server switch, allowing users specific PAT groups only on certain servers.**

<br>

**Added support for the permissions plugin [GroupManager](https://elgarl.github.io/GroupManager/)**

<br>

**Added lower- & uppercased variants for %numbers%**
```
0 1 2 3 4 5 6 7 8 9 . k K m M b B
```

<br>

# **New Operators:**

**Added (!) operator to negate a command. (Mostly fit for WHITELIST mode)**
```yaml
- gm
- "!gm creative" # Allows all /gm commands, except for '/gm creative'
```

<br>

**Added (-_) operator to block the base-command only and not the sub-arguments**
```yaml
- gm -_ # Disallows '/gm', if it does not have any sub-arguments included
- gm creative
- gm survival
```

<br>

**Added Base-Command-Case-Sensitive option**
```
Example when allowing "HelP" and enabling case-sensitivity:
  /help --> Blocked
  /HElp --> Blocked
  /HelP --> Allowed
```

<br>

**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
```

<br>

**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 `MyCommand` issues)
- 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](https://www.spigotmc.org/resources/72445/) commands
- Fixed wrong display of commands at `/pat add <tab>` (Bukkit only)
- Fixed wrong amount of groups. (``/(b)pat listgroups``)