This mod allows you to write kotlin mods/plugins without having to ship the kotlin runtime.
Thus avoiding conflicts with other mods/plugins.
It currently comes with kotlin version 2.1.0
and the following libraries :
- The standard library
- The reflection library
- The coroutines library
- The serialization library (json only)
If you want to use other kotlin libraries, don't mind creating an issue.
Besides downloading this mod alongside your mod/plugin, you need to also make sure you do not include the kotlin stdlib when compiling your project. To do so, just add the following in your build script:
configurations.runtimeClasspath {
exclude("org.jetbrains.kotlin")
exclude("org.jetbrains.kotlinx")
}
Or if you need precise exclusions:
configurations.runtimeClasspath {
exclude("org.jetbrains.kotlin", "kotlin-stdlib")
exclude("org.jetbrains.kotlin", "kotlin-stdlib-common")
exclude("org.jetbrains.kotlin", "kotlin-stdlib-jdk8")
exclude("org.jetbrains.kotlin", "kotlin-reflect")
// Add the following lines if you use coroutines
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-jdk8")
// Add the following line if you use serialization json
exclude("org.jetbrains.kotlinx", "kotlinx-serialization-json")
}
This mod requires Mindustry v145 or later and Java 8 or later.
./gradlew shadowJar
to only compile the plugin (it will be located at/build/libs/kotlin-runtime.jar
)../gradlew runMindustryServer
to run the plugin in a local Mindustry server../gradlew runMindustryClient
to run a local Mindustry client.