A Mixin library for mixin'ing into other mod's mixins.
See the wiki for usage
Works with MixinExtras
An MCDev Addon IntellJ Plugin can be installed from here which provides syntax highlighting and suggestions when using MixinSquared
repositories {
maven { url = "https://maven.bawnorton.com/releases" }
// Mirror
maven { url = "https://maven.enjarai.dev/mirrors" }
}
For each platform:
Fabric / Quilt
dependencies {
include(implementation(annotationProcessor("com.github.bawnorton.mixinsquared:mixinsquared-fabric:0.2.0")))
}
Forge 1.18.2+ with ForgeGradle
dependencies {
// MixinSquared's annotationProcessor MUST be registered BEFORE Mixin's one.
compileOnly(annotationProcessor("com.github.bawnorton.mixinsquared:mixinsquared-common:0.2.0"))
implementation(jarJar("com.github.bawnorton.mixinsquared:mixinsquared-forge:0.2.0")) {
jarJar.ranged(it, "[0.2.0,)")
}
}
NeoForge with NeoGradle
dependencies {
// MixinSquared's annotationProcessor MUST be registered BEFORE Mixin's one.
compileOnly(annotationProcessor("com.github.bawnorton.mixinsquared:mixinsquared-common:0.2.0"))
implementation(jarJar("com.github.bawnorton.mixinsquared:mixinsquared-neoforge:0.2.0")) {
jarJar.ranged(it, "[0.2.0,)")
}
}
Forge 1.18.2+ with Architectury Loom
dependencies {
compileOnly(annotationProcessor("com.github.bawnorton.mixinsquared:mixinsquared-common:0.2.0"))
implementation(include("com.github.bawnorton.mixinsquared:mixinsquared-forge:0.2.0"))
}
Any Other Platform
This is only a rough guide. You will need to look into the specifics of setting up ShadowJar for your platform.
plugins {
id "com.github.johnrengelman.shadow" version "8.1.0"
}
configurations {
implementation.extendsFrom shadow
}
repositories {
maven { url = "https://maven.bawnorton.com" }
}
dependencies {
shadow(annotationProcessor("com.github.bawnorton.mixinsquared:mixinsquared-common:0.2.0"))
}
shadowJar {
configurations = [project.configurations.shadow]
relocate("com.bawnorton.mixinsquared", "your.package.goes.here.mixinsquared")
mergeServiceFiles()
}
To initialize MixinSquared, simply call
MixinSquaredBootstrap.init();
In the onLoad
method inside a IMixinConfigPlugin
If you are also using MixinExtras, ensure that MixinSquared's init is called after MixinExtras' init.
Massive thanks to LlamaLad7 for providing insight and feedback on this library.