PandaLib/Readme.md
Marc Baloup f976350ee1
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)
2022-08-08 03:16:00 +02:00

56 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Pandalib
### Development library for Minecraft server applications and plugins
This repository contains a collection of maven modules that are used for the development of our Minecraft server. Those
modules are made open source so they can be used by other developpers. Each of them provides different functionalities
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-bungee` Utility and helper classes to use in Bungeecord plugins;
- `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-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
To use one of the module as a Maven dependency, add the Jitpack repository in the `<repositories>` section in your `pom.xml`:
```xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
```
Then, add any module you need in your `<dependencies>` section:
```xml
<dependencies>
<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 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).