A permissions plugin for Minecraft servers.
Go to file
2017-09-17 19:30:43 +01:00
.locale Update zh-CN locale (#466) 2017-09-12 08:47:37 +01:00
api Always load dependencies into the plugin classloader, and not it's parent - fixes #479 2017-09-17 19:30:43 +01:00
bukkit Fix startup deadlock 2017-09-13 21:24:35 +01:00
bukkit-legacy Add tracing to /lp verbose, API updates/cleanup, add login process event, and utilise string interning for faster context/node comparisons 2017-09-10 21:25:00 +01:00
bungee Fix startup deadlock 2017-09-13 21:24:35 +01:00
common Always load dependencies into the plugin classloader, and not it's parent - fixes #479 2017-09-17 19:30:43 +01:00
sponge Fix startup deadlock 2017-09-13 21:24:35 +01:00
.gitignore Update .gitignore 2016-10-30 13:37:25 +00:00
LICENSE.txt Cleanup poms, update copyright header 2017-04-15 19:01:52 +01:00
pom.xml Add tracing to /lp verbose, API updates/cleanup, add login process event, and utilise string interning for faster context/node comparisons 2017-09-10 21:25:00 +01:00
README.md Update README.md 2017-05-26 20:48:41 +01:00

alt text

LuckPerms Build Status

LuckPerms is an advanced permissions implementation aiming to be a fast, reliable and flexible alternative to existing permission plugins. The project's main goals are centered around high performance and a wide feature set, filling the gaps of functionality and building upon existing features found in other plugins.

LuckPerms also includes an extensive API for developers, and support for a variety of Minecraft server software & data storage options.

See the charts below for a partial list of features & comparison with other providers.

Building

LuckPerms uses Maven to handle dependencies.

Requirements

  • Java 8 JDK
  • Maven 3.3.x (the older versions will not work.)
  • Git

Then run

git clone https://github.com/lucko/LuckPerms.git
cd LuckPerms/
mvn clean package

You can find the output jars in the target directories.

Contributing

In order to contribute to and make changes to the plugin, you will need the dependencies listed above, plus the Lombok plugin for your IDE.

Pull Requests

If you make any changes or improvements to the plugin which you think would be beneficial upstream, please consider making a Pull Request to merge your changes back into the upstream project. (especially if your changes are bug fixes!)

LuckPerms loosely follows the Google Java Style Guide, with a few minor changes here and there. Generally, try to copy the style of code found in the class you're editing.

Project Layout

The project is split up into 5 seperate modules.

  • API - The public facing API classes used by other plugins when integrating with LuckPerms. This is basically just a collection of interfaces implemented inside of the plugin.
  • Common - This includes all of the classes shared by separate implementations of LuckPerms. This is where the bulk of the project is.
  • Bukkit, BungeeCord & Sponge - Includes all of the platform specific classes used to implement LuckPerms on each of the 3 supported platforms.

License

LuckPerms is licensed under the permissive MIT license. Please see LICENSE.txt for more info.

LuckPerms vs Other Plugins

Bukkit

alt text

Sponge

alt text

Thanks

JProfiler

Thanks to ej-technologies for granting LuckPerms an open source licence to their Java Profiling Software.