Modscraper Modscraper Minecraft
MixinBooter logo

MixinBooter

Mod

The Mixin Library for 1.8 - 1.12.2.

Type

Mod

Modrinth Downloads

1,613,126

Modrinth ID

G1ckZuWK

Last Updated

Jul 26, 2026

Description

MixinBooter

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

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.

  • As of 10.0, MixinBooter follows Mixin 0.8.7

  • As of 11.0, MixinBooter is built on CleanMix. As an effort to create an unified backend with Cleanroom.

    • No longer would you need to declare dependencies for the annotation processor yourself.
    • Also adds a config file (config/mixinbooter.cfg) to blacklist mixin configs and toggle debug options
    • Dedicated logs/mixinbooter.log mixin log. With ability to trace class-loading for precise debugging.
    • Allows traditional MixinConfig + MixinConnector manifest attribute entries to be fully involved in the ecosystem
    • Mod discovery for mixin owners, better isModLoaded checks
    • Suppresses Forge's corrupt zip warnings
    • Phased out mixin "phases"

For Developers ~ Getting Started:

  1. Add CleanroomMC's repository and depend on MixinBooter's maven entry:
repositories { maven { url 'https://maven.cleanroommc.com' } } dependencies { def mixin = 'zone.rong:mixinbooter:11.0' implementation (mixin) { transitive = false } annotationProcessor mixin // RetroFuturaGradle for refmap generation: modUtils.enableMixins(mixin) // modUtils.enableMixins(mixin, 'mod_id.mixins.refmap.json') << add refmap name as 2nd arg (optional) }
  1. Pick how to register your mixin configurations. MixinBooter supports lots of approaches:

(As of 11.0, early/late divide is no longer present, therefore IEarly/ILateMixinLoaders are deprecated)

  • MixinConfigs manifest attribute: no loader class needed. Add a space-separated list of your mixin configuration names to your jar's manifest. MixinBooter reads it straight from the jar's manifest and registers them.
  • MixinConnector manifest attribute: register configs programmatically. Point it at a class implementing org.spongepowered.asm.mixin.connect.IMixinConnector, its connect() is called during boot, where you call Mixins.addConfiguration(...) yourself.

Both manifest attributes are set on your jar task:

jar { manifest { attributes( 'MixinConfigs': 'mixins.mymod.json', 'MixinConnector': 'com.example.mymod.MyMixinConnector' ) } } public class MyMixinConnector implements IMixinConnector { @Override public void connect() { // Check if mod is loaded before registering? // Possible with zone.rong.mixinbooter.service.ModDiscoverer.isModPresent(String modId) Mixins.addConfiguration("mixins.mymod.json"); } }

Compatibility

Mod Loaders

Forge

Game Versions

1.8 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 +14 more

Similar Mods

Included in Modpacks

External Resources