Uniformization of how permission check is handled between pandalib-(.*-)players, Paper/Bungee and pandalib-permissions.

When an *OnlinePlayer class ask for permission, it always ask for Paper/Bungee API. The pandalib-permissions system will be called by Paper/Bungee only if it used and integrated into Paper/Bungee using the appropriate modules.
This commit reduces inter-dependencies between pandalib-(.*-)permissions modules and pandalib-(.*-)players (except pandalib-players-permissible that has to depends on pandalib-permissions)
This commit is contained in:
2022-08-08 03:16:00 +02:00
parent a885c224a6
commit f976350ee1
14 changed files with 95 additions and 40 deletions

View File

@@ -9,22 +9,24 @@ that are detailed in their respective Readme file (if any).
- `pandalib-util` General purpose utility and helper classes;
- `pandalib-chat` A chat API working on top of the Adventure API;
- `pandalib-db` An ORM working with a MySQL server through JDBC;
- `pandalib-permissions` A general purpose permission system;
- `pandalib-reflect` A reflection wrapper to make reflective operation easier;
- `pandalib-netapi` A poorly designed, but working TCP network library;
- `pandalib-net` A better-designed, packet-based TCP network library (still in development);
- `pandalib-players-standalone` A library to handle classes representing online or offline player;
- `pandalib-players-permissible` An extension of `pandalib-players-standalone` with support for the permission system `pandalib-permissions`;
- `pandalib-commands` A command manager working on top of [Brigadier](https://github.com/Mojang/brigadier);
- `pandalib-core` A catch-all module for some helper classes that didnt have their own module yet;
- `pandalib-bungee` Utility and helper classes to use in Bungeecord plugins;
- `pandalib-bungee-permissions` Integration of the permission system `pandalib-permissions` into Bungeecord;
- `pandalib-bungee-players` A partial extension and implementation of `pandalib-players-standalone` for Bungeecord plugin;
- `pandalib-paper` Utility and helper classes to use in Spigot/Paper plugins;
- `pandalib-reflect` A reflection wrapper to make reflective operation easier;
- `pandalib-paper-reflect` A reflection API to ease access to NMS and OBS stuff in Paper server;
- `pandalib-paper-permissions` Integration of the permission system `pandalib-permissions` into Bukkit/Spigot/Paper permission system;
- `pandalib-paper-players` A partial extension and implementation of `pandalib-players-standalone` for Paper plugin;
- `pandalib-cli` Utility and helper classes for a standalone Java application.
- `pandalib-permissions` A general purpose permission system;
- `pandalib-bungee-permissions` Integration of the permission system `pandalib-permissions` into Bungeecord;
- `pandalib-paper-permissions` Integration of the permission system `pandalib-permissions` into Bukkit, Vault and WEPIF permission systems;
- `pandalib-players` A library to handle classes representing online or offline players;
- `pandalib-players-permissible` An extension of `pandalib-players` with support for the permission system `pandalib-permissions`;
- `pandalib-bungee-players` A partial extension and implementation of `pandalib-players` for Bungeecord plugin;
- `pandalib-paper-players` A partial extension and implementation of `pandalib-players` for Paper plugin;
- `pandalib-netapi` A poorly designed, but working TCP network library;
- `pandalib-net` A better-designed, packet-based TCP network library (_still in development_);
- `pandalib-commands` An abstract command manager working on top of [Brigadier](https://github.com/Mojang/brigadier);
- `pandalib-bungee-commands` Integrates Brigadier commands into Bungeecord, extending `pandalib-commands`;
- `pandalib-paper-commands` Integrates Brigadier commands into the Paper server, extending `pandalib-commands`;
- `pandalib-cli` Utility and helper classes for a standalone CLI Java application.
- `pandalib-core` A catch-all module for some helper classes that didnt have their own module yet;
### Use in your projects
@@ -45,11 +47,10 @@ Then, add any module you need in your `<dependencies>` section:
<dependency>
<groupId>fr.pandacube.pandalib</groupId>
<artifactId>pandalib-util</artifactId> <!-- Put here the name of the module you want -->
<version>master-SNAPSHOT</version> <!-- last version on master branch -->
<version>master-SNAPSHOT</version> <!-- last version of master branch -->
</dependency>
</dependencies>
```
You can use the version as provided in the code above, but if you want a stable version, check those available in the
[tag section](https://github.com/PandacubeFr/PandaLib/tags). Dont forget to take a look at the modules readme file,
for any details you may need related to that specific module.
[tag section](https://github.com/PandacubeFr/PandaLib/tags).