Thanks for wanting to help with this project, we appreciate you taking your time to help improve this project. In order to make this as easy and as enjoyable as possible, please read the following guidelines.
Before you make a contribution, please make sure it follows these ground rules:
- Make sure you're using the latest version, chances are that the problem has already been solved.
- Check if there's already an issue made (which is the same as yours) before you make another one.
- Don't post your issue in other issues, please keep everything nicely organized and make a separate one.
- Don't ask for support for outdated Minecraft versions, we won't add it.
- Please keep the issues section for actual bugs or code problems, not for support. You can ask support on SpigotMC and DevBukkit.
- Make sure your pull request benefits all users, not just you. If you want to add features specific for you or your server, please consider maintaining a fork of the project or using the API.
- Make sure you're pull request hasn't already been made.
- If you're making a pull request regarding an issue, please link that issue as well.
- Follow the conventions notated in the style_guide file in this repository.
- Check and fix any warnings/errors that your IDE has given you, before submitting the pull request.
If you want to help with this project, but don't know where to start, take a look at the currently opened issues. There are always some people who could use your help.
If you're wanting to make a pull request which involves settings (in either the config.yml / messages.yml), I highly recommend you to take a look at this specific class. In short this will manage all your settings. So no more hassle with config#isSet or config#addDefault, that will already been handled for you. You just have to add the settings to either the default config.yml or messages.yml and can continue programming.
When you want to fix an issue, make sure no one is assigned to that issue as of yet. If someone is assigned, (s)he will fix it. Also when you're more experienced with this projefct, please leave issues tagged with "good first issue" for people with less experience, unless there are no other issues available.
Note that issues tagged with "good first issue" don't necessarily mean this has to be your first issue. You can still fix those issues if you feel like you don't have that much experience with this project or aren't very comfortable with it.
When you want to fix an issue, please leave a comment stating that you're going to fix this issue so we can assign you to it. This ensures that people aren't wasting their time by fixing the same issue.
If your pull request is bigger than a few lines (say 10 max.) make a fork of the project and add the changes there first. Changes that are smaller (documentation changes, spelling/grammer fixes, adding comments, constant values errors, additional logging messages, etc.) can be done direclty without the need for a new fork.
When submitting an issue, a template will be shown. Please don't discard this, but instead fill in the information asked for. There's room at the bottom for additional info you'd like to include, in case needed. This template is for users submitting a bug. If you aren't reporting a bug, but rather suggesting code improvements, pointing out spelling mistakes etc, you can discard the template.