Перейти к содержимому
Mineforgian

MixinBooter

The Mixin Library for 1.8 - 1.12.2.

Загрузки
1.8M
Подписчики
39
Обновлён
18 августа 2026 г.
Лицензия
LGPL-2.1-only

Опубликован 2 сентября 2023 г.

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");
    }
    
}

Ченджлог

11.14Релиз1.12, 1.12.1, 1.12.2 · 18 августа 2026 г.

Fixed

  • ModDirector/FileDirectory and JsonPaintings mods not being properly discovered
  • Certain mods being recognized twice for discovery

Changed

  • Updated CleanMix to 0.7.2

Full changelog between 11.13 and 11.14: https://github.com/CleanroomMC/MixinBooter/compare/11.13...11.14

11.13Релиз1.12, 1.12.1, 1.12.2 · 5 августа 2026 г.

Fixed

  • Parent and child mixins to reconciling properly, issue noted first in GroovyScript's Mixin for the Calculator mod

Changed

  • Updated CleanMix to 0.7.1
  • Always scan @Mod annotations (thanks @youyihj!)
  • Compressed logo size (thanks @RuiXuqi!)

Full changelog between 11.12 and 11.13: https://github.com/CleanroomMC/MixinBooter/compare/11.12...11.13

11.12Релиз1.12, 1.12.1, 1.12.2 · 28 июля 2026 г.

Changed

  • Updated MixinExtras to use our own fork

Fixed

  • Compatibility with mods that use older MixinExtras versions that load late

Full changelog between 11.11 and 11.12: https://github.com/CleanroomMC/MixinBooter/compare/11.11...11.12

11.11Релиз1.12, 1.12.1, 1.12.2 · 27 июля 2026 г.

Fixed

  • Fixed INIT phase transition failing silently

Full changelog between 11.10 and 11.11: https://github.com/CleanroomMC/MixinBooter/compare/11.10...11.11

11.10Релиз1.12, 1.12.1, 1.12.2 · 26 июля 2026 г.

Fixed

  • Errors with INIT and DEFAULT mixins when being consumed by CleanMix too early

Changed

  • Update CleanMix to 0.7.0

Full changelog between 11.9 and 11.10: https://github.com/CleanroomMC/MixinBooter/compare/11.9...11.10

11.9Бета1.12, 1.12.1, 1.12.2 · 26 июля 2026 г.

Changed

  • Update CleanMix to 0.6.1
11.8Бета1.12, 1.12.1, 1.12.2 · 24 июля 2026 г.

Added

  • A new @Compatibility annotation, can be explicitly set to enact localized compatibility to replicate an older behaviour

Fixed

  • Compatibility with mods that relied on old injection/field initialization order behaviour

Changed

  • Updated CleanMix to 0.6.0

Full changelog between 11.7 and 11.8: https://github.com/CleanroomMC/MixinBooter/compare/11.7...11.8

11.7Бета1.12, 1.12.1, 1.12.2 · 23 июля 2026 г.

Changed

  • Updated CleanMix to 0.5.1, accessors now eagerly load their targets

Full changelog between 11.6 and 11.7: https://github.com/CleanroomMC/MixinBooter/compare/11.6...11.7

Комментарии

Загружаем…