Major JarInJar system changes since v3.0.0 please refer to V3 Doc
Iridium Sticker
[](https://github.com/TeamVoided/iridium)Iridium Usage
pluginManagement {
repositories {
//other repos
maven("https://maven.teamvoided.org/releases")
}
}plugins {
id("org.teamvoided.iridium") version "3.0.0" //will automatically use root project for jarInJar
//maven publishing id("iridium.project.publish-script")
}plugins {
id("iridium.mod.build-script")
//upload mod to modrinth id("iridium.mod.upload-script")
//maven publishing id("iridium.project.publish-script")
}plugins {
id("iridium.mod.jar-in-jar")
id("iridium.mod.build-script")
//upload mod to modrinth id("iridium.mod.upload-script")
}The Iridium Config Spec
Although you can configure Iridium in the gradle build script, Iridium can load config files in TOML, JSON5, YAML & JSON
If Iridium detects that no changes were made to the config in the gradle build script it will attempt to load config files in this order (assume all files are in the gradle/iridium directory):
- iridium.toml
- iridium.json5
- iridium.yml
- iridium.json
projectTitle: String
modId: String
githubRepo: String
discordServerInviteId: String
authors: List<String>
majorMinecraftVersion: String
minecraftVersion: String
mappings: Mappings object (details below)
fabricLoaderVersion: String
fabricApiVersion: String
fabricLangKotlinVersion: String
license: String
modules: List<String>
type: MappingsType (any of "MOJANG", "YARN", "PARCHMENT", "QUILT", "MOJPARCH", "MOJYARN"
version: String? (Irrelevant for MappingsType.MOJANG, leave either null or blank)
The JarInJar Script
Mod Build Script V1.2.0+
plugins {
kotlin("jvm") version "1.9.0"
kotlin("plugin.serialization") version "1.9.0"
id("iridium.mod.build-script")
}
modSettings {
modId("example-mod")
modName("Example Mod")
// other properties
}
/*irrelevant as of v2.0.0+*/ base.archivesName.set("example-mod")
version = project.properties["mod_version"] as String
description = "Example Mod Description"
group = project.properties["maven_group"] as StringMod Build Script V1.1.1 and under
- modId (the mod id as a string)
- modName (name of the mod as a string)
- modEntrypoints (entry points of the mod as a LinkedHashMap of String and List of Strings where the initial string is the name of the entrypoint and the list of strings contains the actual entry points)
- modMixinFiles (the mixin files of the mod as a list of strings)
- modDepends (the dependencies of the mod as a LinkedHashMap of String and String where the initial string is the mod id and the secondary string is the version of the dependency)
- isModParent (if this is the parent of all the other mods (if it is a jar-in-jar mod [boolean])
- customModIcon (a custom icon for the mod defaults to "assets/{modId}/icon.png)"
//other gradle stuff
val examplePropertyName by extra("examplePropertyValue")plugins {
//other stuff
id("iridium.mod.build-script")
}
dependencies {
implementation(dependencyHelper.modProject(":some-module"))
}