Battles for might, land and glory.
KingdomsX is plugin similar to Factions which provides more advanced core features and introduces new mechanics such as turrets, structures and invasions to make the game more fun. Kingdomsx is heavily optimized and easy to use.
- SpigotMC: The first original page of KingdomsX plugin.
- Modrinth: The official modrinth page of KingdomsX plugin. It's easier to keep track of plugin versions for people who still wish to use outdated server patches here.
- Discord: Official Kingdoms Discord server. Ask questions, suggest features and report bugs.
- Polymart: Official Kingdoms Polymart page. (Currently really inactive since kingdoms publications are automated but Polymart's API is broken right now and is being worked on.)
- Wiki: Learn how Kingdoms works.
Currently, the plugin is not open source. See this FAQ for more information. However, the configs, GUIs, language files and addons are open source and any contribution is welcome.
- For contributing to translations and GUIs see here.
- For contributing to addons continue reading below.
Kingdoms relies on a complex network of systems built with Gradle. This includes everything from building and publishing the project to various platforms to managing data sharing between add-ons and configuring how add-ons are downloaded. However, since the core plugin is not open source, contributing to add-ons can be challenging because the build files reference settings and plugins that are not publicly available.
This guide explains how to configure the build.gradle.kts
file for add-ons, enabling you to build the project
without issues and submit pull requests effectively.
- Familiarize yourself with both Gradle and Kotlin since the project doesn't only use Kotlin for Gradle, but it also uses Kotlin extensively in the add-on code.
- Download Python (at least v3.6.0 or above)
- Download and place KingdomsX Source Tool.py in a separate folder, this will be the add-ons root folder. (Download it using Ctrl+S when on the page) which handles transforming the build files into usable local projects. You need internet access during the duration of the source tool's generation process to download the necessary files. This tool will handle everything, from downloading the project to remapping kingdom libraries.
- Open the folder with your favourite IDE (IntelliJ is preferred.)
Warning
-
There are very rare cases where the Kotlin compiled code can have broken metadata which causes named parameters, default method members or static methods to stop working.
-
Add-ons that require other add-ons like Outposts which requires EngineHub need to have their projects built separatedly first.
-
To submit pull requests, you may need to add additional rules to your
.gitignore
since the other add-ons are most likely not preset in your root folder.