Skip to main content

Getting Started

Terminology​

Please familiarize yourself with the basic terms of Koremods. We'll be using them quite often throughout the documentation.

📦 Script Pack​

A Script Pack represents a bundle of Koremods kotlin scripts. It can exist in the form of a directory, zip or jar archive. Contained source scripts must use the core.kts file extension, or jar for pre-compiled scripts.

📄 Script​

A single Script can be any valid Kotlin Script file which has the core.kts file extension, and therefore uses the Koremods Script Definition.

🧩 Frontend​

A frontend represents an adapter between the target platform and Koremods Script. It uses the Koremods launch API to configure and handle the script loading process.

Modules and Libraries​

Koremods is split into multiple libraries for easier management, debugging, and sharing common code.

Koremods Script​

Koremods Script is the core library of Koremods, containing the Kotlin Script definition, configuration classes, and code related to discovering and evaluating scripts. It's supposed to be platform-independent, serving as a backend for frontend implementations.

Koremods Gradle​

Koremods Gradle is a Gradle Plugin used to pre-compile scripts during packaging. It automatically detects valid script packs in source sets, compiles the scripts during build-time and replaces each script source in the jar with the script compiler ouput.

By pre-compiling scripts, we don't have to ship the heavy kotlin embedded compiler (~50MB) with the runtime, and compiled scripts can be loaded into the JVM instantly without the need of additional preprocessing, just like regular classes.

Koremods Modlauncher​

Koremods Modlauncher is the current primary frontend for Koremods. It allows users to run Koremods alongside Modlauncher, MinecraftForge's associated library for "launching Java programs with in-flight transformation ability". The following pages of this documentation will guide you to configure and set up an environment using this frontent.