Cookiecutter template for Java 25 Mindustry plugins in the XCore ecosystem.
What you get:
- Gradle Kotlin DSL
toxopidwith generatedplugin.jsonshadowJar- Avaje Inject + Lombok
- optional
XCore-plugindependency - optional
FluBundledependency - GitHub Actions build workflow
- Gradle wrapper included
- Python 3
cookiecutter- Java 25
Install Cookiecutter:
pip install cookiecutterIf your system Python does not provide pip, install Cookiecutter with your package manager or create a virtual environment first.
Generate a new plugin from GitHub:
cookiecutter gh:XCore-mindustry/xcore-plugin-templateGenerate from a local checkout:
cookiecutter /path/to/xcore-plugin-templateuse_xcore_plugin=trueaddscompileOnlydependency onXCore-pluginand declares an XCore mod dependency in generated metadata.use_flubundle=trueaddsFluBundle; when XCore is enabled it usescompileOnly, otherwise it usesimplementationso the classes are bundled into the plugin jar.plugin.jsonis generated throughtoxopidmetadata inbuild.gradle.kts.- The template uses Cookiecutter features directly: conditional Jinja blocks, derived private variables, prompts via
__prompts__, and_copy_without_renderfor the Gradle wrapper binary assets.
cd your-plugin-directory
./gradlew shadowJarThe built jar will be written to build/libs/.
- Java 25 toolchain
toxopid,shadow, Avaje Inject, and Lombok- generated
plugin.json - starter
PluginBootstrapservice - starter localization bundle when
use_flubundle=true - GitHub Actions build workflow without Maven publish by default