Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
FermiumBooter

FermiumBooter

Simplistic mixin mod utility to allow developers to load mixins both early and late

54.2k
2
Library
Utility

Compatibility

Minecraft: Java Edition

1.12.2

Platforms

Forge

Supported environments

Client-side
Server-side
Client and server (optional)

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Links

Report issues View source Join Discord server
Donate on Ko-fiDonate on Patreon

Creators

fonnymunkey
fonnymunkey Member

Details

Licensed LGPL-3.0-or-later
Published last year
Updated last week
DescriptionChangelogVersions

FermiumBooter is a mixin mod utility to allow developers to load mixins both early and late, allowing for modifying classes that normally could not be modified otherwise.

Current features include;

  • Enqueue mixins to be applied both early and late, to allow for for modifying Vanilla/Forge classes, as well as mod classes

  • @MixinConfig annotation system to expand on the Forge @Config system, to allow for automatic mixin enqueue based on config toggles

  • Optional compatibility handling through the config annotation system to allow developers to define required/incompatible mods for specific mixins

  • Logged warnings when a mixin using the config annotation system fails compatibility checks

  • Optional forced mixin disabling when a mixin using the config annotation system fails compatibility checks

  • Ingame (disable-able) warning rendering when mixins using the config annotation system fail compatibility checks

  • Enable/disable enqueued mixins prior to application through the use of a Supplier, to allow developer control over optional mixins

  • Utility method to check if a ModID is present similar to Loader.isModLoaded() however usable during mixin enqueue/early mixin application unlike Loader.isModLoaded()

  • Disallow other FermiumBooter enqueued mixins from applying, for testing or tweaking purposes

  • Shadows Mixin 0.8.7 and MixinExtras 0.4.1

For developer usage:

In your IFMLLoadingPlugin init, instead of "Mixins.addConfiguration("mixinConfigName")", use "FermiumRegistryAPI.enqueueMixin("mixinConfigName").
If you are registering it as a late-loaded mixin use "FermiumRegistryAPI.enqueueMixin(true, "mixinConfigName")".
That is all that is required, and FermiumBooter takes care of the rest.
For additional utilities as described previously, all are documented in code with explanations of usage and purpose.

If you have any issues/suggestions/requests, please post them to the Github issue tracker linked above.

Need to get in contact with me, or want to support me? Click the badges below:

Discord Patreon Ko-Fi

Need a server? Click the banner below and use code "fonny" for 25% off your first month with Bisect Hosting: Bisect Banner

Modrinth is open source.

main@4b75cb8

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.