No description
Find a file
2022-01-02 14:05:03 +01:00
bukkit removed max version requirement on proxy ping 2022-01-02 14:05:03 +01:00
bukkit-api removed max version requirement on proxy ping 2022-01-02 14:05:03 +01:00
bungee removed max version requirement on proxy ping 2022-01-02 14:05:03 +01:00
bungee-api removed max version requirement on proxy ping 2022-01-02 14:05:03 +01:00
core removed max version requirement on proxy ping 2022-01-02 14:05:03 +01:00
core-api removed max version requirement on proxy ping 2022-01-02 14:05:03 +01:00
docs added docs, move distributionManagement to github 2021-09-16 15:04:04 +02:00
.gitignore improved pagination features for CategoryInventory with overriding the CategoryInventory#setPaginatedItems method 2020-08-02 16:31:43 +02:00
.gitlab-ci.yml added new gitlab repository, fixed Messenger 2020-08-23 13:25:07 +02:00
ci_settings.xml implemented latest networkmanager & cloud 2020-08-23 23:03:49 +02:00
pom.xml removed max version requirement on proxy ping 2022-01-02 14:05:03 +01:00
README.md 10.9.3 Update: fixed CoreWorld id, added version to CoreWorld, fixed coins update in bungeecord when changed from bukkit, fixed bungee nicks reloading, added WorldGrowCanceller and registered as default, fixed /perms usage to make it impossible to remove all groups from a player, fixed language checking for translation usages, simplified Overwatch permissions 2020-11-10 18:49:57 +01:00

MCONE-CoreSystem

Description

This projects acts as default or core plugin for every bungee and bukkit server on the mcone network. It contains built in features and APIs for default commands, inventories, scoreboard, npcs, holograms, player data, packets, punish/reports, worlds, items, sounds, labymod, friends, party, and much more.

View more features explained in the Wiki.
Javadocs can be found here.

Build and Compile

Use mvn install to compile a server ready plugin jar.
Please utilize the database credentials JVM options like here:
-DHost=$DB_HOST -DPort=$DB_PORT -DUsername=$DB_USERNAME -DPassword=$DB_PASSWORD

Coding conventions

Please familiarize yourself with the Oracle java code conventions. All source code in this repository must be formatted as described there.

Bukkit specific code conventions

Replace *** with the function name of the class in CamelCase

  • Variable names for the following classes and their child classes must be named as specified: Player p, CorePlayer cp, GamePlayer gp, Event e.
  • The plugin must have a Main class having the name of the plugin in CamelCase.
  • The Main class must extend eu.mcone.coresystem.api.bukkit.CorePlugin and must only contain command & listener registrations, manager initializations, and player management.
  • All listener classes must be named ***Listener and must be put in a listener package which is located in the main class' package.
  • All command classes must be named ***CMD and must be put in a command package which is located in the main class' package.
  • All inventory classes, like CoreInventories must be named ***Inventory and must be put in a inventory package that is located in the main class' package.
  • All scoreboard classes must be named ***Scoreboard/***Tablist/***Objective and must be put in a scoreboard package that is located in the main class' package.
  • All other classes must not be placed in the package where the main class is (The plugin package must only contain the main class). They must be placed in custom named packages.

Versioning Conventions

We dont utilize Semantic Versioning here, as it my not be necessary to increase the version on every commit. Therefore we added the Bugfix Versioning. The rest partly depends on Semantic Versioning.

  • The Version syntax is of 3 numbers seperated by dots and a -SNAPSHOT behind them (i.e. 0.0.1-SNAPSHOT).
  • If the plugin is still in creation process use 0. at the beginning. Otherwise the first number must be greater than 0.
  • You can increase the version of your project if there are some small or big changes. Please change the maven project version in all pom.xml files of your repository. (You can use Ctrl+Shift+F in IntelliJ with the file filter pom.xml to replace all old versions with the new one)
  • [Bugfix] If you just changed one or two classes in course of a small bugfix and you only changed a few lines of code, you dont necessarily have to increase the version.
  • [Patch] If your project does not have an API or you just changed some code that dont modified the API, then increase only the last number (i.e. from 1.0.0-SNAPSHOT to 1.0.1-SNAPSHOT).
  • [Minor] If the API code was changed or a bigger amount of code was changed, increase the second number (i.e. from 1.0.1-SNAPSHOT to 1.1.0-SNAPSHOT)
  • [Major] If the API code was changed and a breaking major new feature was added, increase the second number (i.e. from 1.1.0-SNAPSHOT to 2.0.0-SNAPSHOT)