PandaLib/Readme.md

3.0 KiB
Raw Blame History

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-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;
  • 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:

    <repositories>
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>
    </repositories>

Then, add any module you need in your <dependencies> section:

    <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.