MixinBooter

MixinBooter

Mod

The Mixin Library for 1.8 - 1.12.2.

Client and server LibraryUtility

152.2k downloads
12 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

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.3') {
        transitive = false
    }
    annotationProcessor ('zone.rong:mixinbooter:9.3') {
        transitive = false
    }
    
    // RetroFuturaGradle:
    String mixinBooter = modUtils.enableMixins('zone.rong:mixinbooter:9.3')
    // modUtils.enableMixins('zone.rong:mixinbooter:9.3', '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

  • As of 9.2, MixinBooter reinstates the older MixinLoader annotation for 1.8.x usages.

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's , as of 4.2, deprecated. The functionality is akin to ILateMixinLoader. Both can be used at the same time, especially for 1.8.x versions where it is needed.

Project members

Cleanroom

Owner

Rongmario

Lead Developer

Details

Licensed LGPL-2.1-only
Published a year ago
Updated a month ago