Skip to content

Allows any mixins that work on mods to work effortlessly. With a single class and an annotation. On 1.12.2.

License

Notifications You must be signed in to change notification settings

HTBNighty/MixinBooter

 
 

Repository files navigation

MixinBooter

Allows any mixins that work on mods to work effortlessly on 1.8 - 1.12.2

For Developers:

  • Add CleanroomMC's repository and depend on MixinBooter's maven entry:
repositories {
    maven {
        url 'https://maven.cleanroommc.com'
    }
}

dependencies {

    // Common:
    annotationProcessor 'org.ow2.asm:asm-debug-all:5.2'
    annotationProcessor 'com.google.guava:guava:32.1.2-jre'
    annotationProcessor 'com.google.code.gson:gson:2.8.9'

    // ForgeGradle:
    implementation ('zone.rong:mixinbooter:9.1') {
        transitive = false
    }
    annotationProcessor ('zone.rong:mixinbooter:9.1') {
        transitive = false
    }
    
    // RetroFuturaGradle:
    String mixinBooter = modUtils.enableMixins('zone.rong:mixinbooter:9.1')
    // modUtils.enableMixins('zone.rong:mixinbooter:9.1', 'mod_id.mixins.refmap.json') << add refmap name as 2nd arg (optional)
    api (mixinBooter) {
        transitive = false
    }
    annotationProcessor (mixinBooter) {
        transitive = false
    }
}

Pseudo-Changelog:

  • As of 4.2, MixinBooter's API has changed and all mods that uses mixins are encouraged to depend on MixinBooter, even those that mixin into vanilla/forge/library classes. To avoid mixin version mismatches with mods crashing trying to implement modded mixins (looking at you VanillaFix). Thanks to @embeddedt recommending and helping me introduce this change!

  • As of 5.0, MixinExtras by @LlamaLad7 is shaded. Available for developers to use.

  • As of 8.0, MixinBooter will now work from 1.8 - 1.12.2. One single build works with all these versions! (TODO: LiteLoader support?)

  • As of 8.4, MixinBooter actively attempts to be compatible with SpongeForge

Tidbits:

  • Consult IEarlyMixinLoader for mixins that affects vanilla, forge, or any classes that is passed to the classloader extremely early (e.g. Guava).
  • Consult ILateMixinLoader for mixins that affects mods.
  • @MixinLoader annotation is, as of 4.2, deprecated. The functionality is akin to ILateMixinLoader.

About

Allows any mixins that work on mods to work effortlessly. With a single class and an annotation. On 1.12.2.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%