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

CleanroomMC/MixinBooter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c6ab15b · Feb 3, 2024
Sep 13, 2023
May 28, 2023
Feb 3, 2024
Aug 12, 2023
Feb 3, 2024
Jun 7, 2022
Feb 3, 2024
Jan 30, 2024
Feb 3, 2024
Nov 2, 2020
Nov 2, 2020
May 28, 2023

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.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages