diff --git a/README.md b/README.md index e6e7fb25..fb094bbe 100644 --- a/README.md +++ b/README.md @@ -18,15 +18,34 @@ LuckPerms also includes an extensive API for developers, and support for a varie LuckPerms uses Maven to handle dependencies. #### Requirements +* Java 8 JDK * Maven 3.3.x (the older versions will not work.) * Git #### Then run ```sh 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](https://projectlombok.org/download.html) 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](https://google.github.io/styleguide/javaguide.html), 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`](https://github.com/lucko/LuckPerms/blob/master/LICENSE.txt) for more info.