description |
---|
(aka "How the hell do I add OneConfig to my mod?") |
If you're unfamiliar with Java, or Minecraft Modding, please read Modding Basics first. It's a fantastic beginner's guide.
If you're just starting out or need more advanced features like multiple versions, we highly recommend looking at our updated example mod.
If you want to avoid using our own mod template, or wish to include OneConfig in one of your new or existing mods, add this to your build.gradle(.kts)
{% tabs %} {% tab title="Groovy" %}
loom {
launchConfigs {
client {
// Loads OneConfig in dev env. Replace other tweak classes with this, but keep any other attributes!
arg("--tweakClass", "cc.polyfrost.oneconfig.loader.stage0.LaunchWrapperTweaker")
}
}
}
repositories {
maven { url 'https://repo.polyfrost.cc/releases' }
}
dependencies {
// Basic OneConfig dependencies for legacy versions. See OneConfig example mod for more info
compileOnly('cc.polyfrost:oneconfig-1.8.9-forge:0.2.2-alpha+') // Should not be included in jar
// include should be replaced with a configuration that includes this in the jar
include('cc.polyfrost:oneconfig-wrapper-launchwrapper:1.0.0-beta+') // Should be included in jar
}
jar { // loads OneConfig at launch. Add these launch attributes but keep your old attributes!
manifest.attributes(
"ModSide": "CLIENT",
"TweakOrder": "0",
"ForceLoadAsMod": true,
"TweakClass": "cc.polyfrost.oneconfig.loader.stage0.LaunchWrapperTweaker",
)
}
{% endtab %}
{% tab title="Kotlin" %}
loom {
launchConfigs.named("client") {
// Loads OneConfig in dev env. Replace other tweak classes with this, but keep any other attributes!
arg("--tweakClass", "cc.polyfrost.oneconfig.loader.stage0.LaunchWrapperTweaker")
}
}
repositories {
maven("https://repo.polyfrost.cc/releases")
}
dependencies {
// Basic OneConfig dependencies for legacy versions. See OneConfig example mod for more info
compileOnly("cc.polyfrost:oneconfig-1.8.9-forge:0.2.2-alpha+") // Should not be included in jar
// include should be replaced with a configuration that includes this in the jar
include("cc.polyfrost:oneconfig-wrapper-launchwrapper:1.0.0-beta+") // Should be included in jar
}
tasks {
jar { // loads OneConfig at launch. Add these launch attributes but keep your old attributes!
manifest.attributes += mapOf(
"ModSide" to "CLIENT",
"TweakOrder" to 0,
"ForceLoadAsMod" to true,
"TweakClass" to "cc.polyfrost.oneconfig.loader.stage0.LaunchWrapperTweaker"
)
}
}
{% endtab %} {% endtabs %}