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

MixinBooter

The Mixin Library for 1.8 - 1.12.2.

1.5M загрузок38 подписчиковLGPL-2.1-onlyforge

Обновлён 5 июля 2026 г. · опубликован 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.2Релиз1.11.2, 1.12, 1.12.1, 1.12.2forge5 июля 2026 г..jar (2.3 МБ)
11.1Релиз1.11.2, 1.12, 1.12.1, 1.12.2forge1 июля 2026 г..jar (2.3 МБ)
11.0Бета1.11.2, 1.12, 1.12.1, 1.12.2forge27 июня 2026 г..jar (2.3 МБ)
10.7Релиз1.11.2, 1.12, 1.12.1, 1.12.2forge30 сентября 2025 г..jar (2.3 МБ)
10.6Релиз1.11.2, 1.12, 1.12.1, 1.12.2forge25 марта 2025 г..jar (2.3 МБ)
10.5Релиз1.11.2, 1.12, 1.12.1, 1.12.2forge4 февраля 2025 г..jar (2.3 МБ)
10.4Релиз1.11.2, 1.12, 1.12.1, 1.12.2forge24 января 2025 г..jar (2.3 МБ)
10.3Релиз1.11.2, 1.12, 1.12.1, 1.12.2forge14 января 2025 г..jar (2.3 МБ)
10.2Релиз1.11.2, 1.12, 1.12.1, 1.12.2forge16 ноября 2024 г..jar (2.3 МБ)
10.1Бета1.11.2, 1.12, 1.12.1, 1.12.2forge4 ноября 2024 г..jar (2.3 МБ)
10.0Бета1.11.2, 1.12, 1.12.1, 1.12.2forge2 ноября 2024 г..jar (2.3 МБ)
9.4Релиз1.11.2, 1.12, 1.12.1, 1.12.2forge20 сентября 2024 г..jar (1.7 МБ)
9.3Релиз1.11.2, 1.12, 1.12.1, 1.12.2forge18 августа 2024 г..jar (1.7 МБ)
9.2Бета1.11.2, 1.12, 1.12.1, 1.12.2forge8 августа 2024 г..jar (1.7 МБ)
9.1Бета1.11.2, 1.12, 1.12.1, 1.12.2forge3 февраля 2024 г..jar (1.7 МБ)

Показаны последние 15 из 22 версий. Все версии — на Modrinth.

Ченджлог

11.2Релиз1.12, 1.12.1, 1.12.2 · 5 июля 2026 г.

Fixed

  • #124, now MixinExtras won't crash in older Minecraft versions
  • #126, injects CoremodRescuer earlier in the tweakers list, helps mods using wrong APIs to still submit mixin configurations properly
  • Incompatibility with mods like VintageFix which errors due to an upstream regression for synthetic inner classes

Changed

  • Updated CleanMix to 0.4.1
  • Prefer reading ForgeVersion with reflection for the current Minecraft version (thanks to @ZZZank)

Full changelog between 11.1 and 11.2: https://github.com/CleanroomMC/MixinBooter/compare/11.1...11.2

11.1Релиз1.12, 1.12.1, 1.12.2 · 1 июля 2026 г.

Fixed

  • Compatibilities with older minecraft versions

Changed

  • To have more robust suppression of class reading errors presented by Forge

Full changelog between 11.0 and 11.1: https://github.com/CleanroomMC/MixinBooter/compare/11.0...11.1

11.0Бета1.12, 1.12.1, 1.12.2 · 27 июня 2026 г.

Added

  • Allowing traditional MixinConfigs & MixinConnector way of registering mixins once again
  • Suppression of "corrupt zip" warnings from Forge when reading mods and parsing data
  • Mod discovery (properly done). Accessible via ModDiscoverer
  • Way to resolve mod ids in a more correct and explicit manner
  • Dedicated mixin logging output: /logs/mixinbooter.log
  • Configuration for various mixin flags and audit file
  • Class-loading now traceable, helps with certain mixins trying to mixin classes that are loaded too early, good way to debug this issue
  • Better testing within the workspace
  • Warnings of mods shading mixins into their own jar file
  • Documentation

Changed

  • CleanMix! Bridged the gap, CleanMix will be used in Cleanroom (as it updates soon tm)
  • Deprecated early/mixin loading stages, division is no longer present
  • Deprecated loader, hijacker interfaces
  • Included annotation processor dependencies for maven artifact
  • Better "mod is present" checks
  • Phasing out mixin "phases", configs gets immediately selected and processed

Removed

  • Explicit mod fixes
10.7Релиз1.12, 1.12.1, 1.12.2 · 30 сентября 2025 г.

Changed

  • Updated MixinExtras from 0.5.0-rc.1 to 0.5.0

Full changelog between 10.6 and 10.7: https://github.com/CleanroomMC/MixinBooter/compare/10.6...10.7

10.6Релиз1.12, 1.12.1, 1.12.2 · 25 марта 2025 г.

Changed

  • Updated MixinExtras from 0.5.0-beta.5 to 0.5.0-rc.1

Fixed

  • GsonBuilder#setLenient not existing on older Gson versions

Full changelog between 10.5 and 10.6: https://github.com/CleanroomMC/MixinBooter/compare/10.5...10.6

10.5Релиз1.12, 1.12.1, 1.12.2 · 4 февраля 2025 г.

Added

  • Explicit compatibility with checking if Optifine is loaded at coremod stages (for the Context obj)
  • Hotswap Agent related manifest entries to allow hotswapping outside of dev

Fixed

  • Edge-cases in reading some mods' mcmod.infos

Full changelog between 10.4 and 10.5: https://github.com/CleanroomMC/MixinBooter/compare/10.4...10.5

10.4Релиз1.12, 1.12.1, 1.12.2 · 24 января 2025 г.

Changed

  • Made reading mod metadata quicker and simpler
  • Updated MixinExtras to 0.5.0-beta.5

Fixed

  • SpongeForge compatibility, due to a Forge oversight

Full changelog between 10.3 and 10.4: https://github.com/CleanroomMC/MixinBooter/compare/10.3...10.4

10.3Релиз1.12, 1.12.1, 1.12.2 · 14 января 2025 г.

Added

  • Context to IMixinConfigHijacker

Changed

  • Allowed all mixin configs to be hijacked

Fixed

  • Use JsonReader#setLenient over GsonBuilder#setLenient for older Gson versions supplied by older Minecraft versions
  • Use deprecated Handle constructor for older ASM versions supplied by older Minecraft versions
  • Catch loader issues instead of exiting and not loading subsequent loaders

Full changelog between 10.2 and 10.3: https://github.com/CleanroomMC/MixinBooter/compare/10.2...10.3

Полная история изменений — на Modrinth.

Комментарии

Загружаем…