If you need to "break" one (or more) of the following guidelines, you are required to explain this in form of JavaDocs at this location of your source. This allows us to decide if we deem it necessary or not.
Before you can submit an addon to our addon store, make sure you are following these guidelines:
- Addons cannot impact the game experience negatively, this includes performance.
- Don't create objects every tick or frame if you can cache them.
- Respect the privacy of your users.
- Do not use the player's session identifier maliciously.
- If creating a connection to a private server, do not store or send any information that is not specifically required.
- Only access the users' file system if necessary.
- Allow the user & servers to completely disable your addon at any time (see Create a Basic Configuration).
- Make sure your addon is compatible and remains so for the foreseeable future.
- Do not use deprecated methods and/or classes that already have a replacement.
- Do not use Reflection in any way. If you want to get access to a field or method that is private or protected, use mixin.
- Do not try to modify the LabyMod source in any way. If you are missing a sub-feature of one of our official features, suggest it here.
- If you're injecting code via mixin, don't overdo it. Replacing a method in its entirety can cause incompatibilities.
- You need to use our Internationalization system for every text the user sees.
- Excluded from this are strings that are the same for every language (like for example the prefix of commands).
- While LabyMod 4 is still in beta, do not port LabyMod 3 addons without the creators' permission to LabyMod 4.