Download MixinBooter — Minecraft Mods — MetaMods

MixinBooter

Active

Downloads

5

Last update

3 weeks ago

Versions

1.8 — 1.12.2
Client and server
Forge
Libraries
Utils

MixinBooter

Universal solution for working with mixins in versions 1.8 - 1.12.2

This library provides developers with an easy way to use mixins for mods in the specified Minecraft versions. It is based on stable versions of mixin libraries from various developers.

Technical Information

Current Mixin version: UniMix 0.15.3 by CleanroomMC (based on version 0.8.7 by LegacyModdingMC)

MixinExtra version: 0.5.0

For Developers

To add the library to your project, include CleanroomMC's repository and specify the dependencies:

repositories {
    maven {
        url 'https://maven.cleanroommc.com'
    }
}

dependencies {
    // Common dependencies:
    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'

    // For ForgeGradle:
    implementation ('zone.rong:mixinbooter:10.7') {
        transitive = false
    }
    annotationProcessor ('zone.rong:mixinbooter:10.7') {
        transitive = false
    }

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

Change History

Version 4.2: API changed, now all mods using mixins should depend on MixinBooter, even those working with vanilla classes or libraries.

Version 5.0: Added built-in support for MixinExtras by LlamaLad7 for advanced features.

Version 8.0: One build now works in all versions from 1.8 to 1.12.2 without changes.

Version 8.4: Added compatibility with SpongeForge.

Version 9.2: Restored the old MixinLoader annotation for version 1.8.x.

Version 10.0: Updated to Mixin version 0.8.7.

Usage Features

For mixins that affect vanilla classes, forge, or other classes loaded very early (like Guava), use the IEarlyMixinLoader interface.

For mixins that modify other mods, use the ILateMixinLoader interface.

The @MixinLoader annotation provides functionality similar to ILateMixinLoader. Both can be used simultaneously, especially for versions 1.8.x where it's necessary.

Project members
Rongmario

Rongmario

Developer

Cleanroom

Cleanroom

Developer

Created: 5 Sep 2023

ID: 270585