Download UniMixins — Minecraft Mods — MetaMods

UniMixins

Active

Downloads

5

Last update

3 months ago

Versions

1.7.10
Client
Forge
Libraries

UniMixins

UniMixins is a Mixin loader for Minecraft versions 1.7.10 with partial support for 1.8.9-1.12.2, designed to achieve maximum compatibility. Its main goal is to combine the capabilities of various Mixin loaders into a single solution. Thanks to its modular architecture, you can use it alongside other loaders if needed.

Project Background

For Minecraft version 1.7.10, there are numerous Mixin loaders, each offering its own set of additional functions that we refer to as "extras". Since all these loaders are created as monolithic systems, their simultaneous use is impossible due to inevitable feature overlap. UniMixins solves this problem by offering each function as a separate module (although a combined jar file is also provided for convenience).

Comparison Table

Below is a comparison table of the functional capabilities of known Mixin loaders.

Mixin Loaders Comparison Table

  • [NOP]: Does not perform any actions
  • [SEP]: Available as a separate mod

Usage

Download the jar file with the -all suffix and place it in the mods folder. Remove all other conflicting Mixin loaders (see the table above).

Important: The jar file name must be first in alphabetical order to avoid sorting issues in mods that include Mixin. This is why the jar file starts with the + character. If you encounter problems with renamed files, you can replace this character with !.

For reference, the sorting order of some characters: ! < + < 0 < [ < _ < a

Advanced Usage

You can also assemble your own combination of modules using individual module jar files. Some modules depend on others - see the "List of Modules" section.

In the absence of other Mixin loaders, the following modules are typically recommended:

  • Mixin (any version)
  • Compat and Mixingasm (optional but highly recommended)
  • Modules providing the extras you need

The game will crash if module dependencies are missing. This can be disabled in the configuration.

List of Modules

All modules depend on the Mixin module. Dependencies don't necessarily have to come from UniMixins modules - they can also be provided by other mods.

Included in all-jar

  • Mixin (UniMix): Provides a Mixin fork maintained by UniMixins developers, based on the Fabric fork.
  • SpongeMixins [1.7.10 only]: Emulates SpongeMixins extras.
  • MixinBooterLegacy [1.7.10 only]: Emulates MixinBooterLegacy extras and provides relocated MixinExtras.
  • MixinExtras: Provides MixinExtras.
  • GasStation [1.7.10 only]: Emulates GasStation extras.
    • Depends on SpongeMixins
    • Depends on MixinBooterLegacy
    • Depends on MixinExtras
  • GTNHMixins [1.7.10 only]: Emulates GTNHMixins extras and provides relocated MixinExtras.
    • Depends on SpongeMixins
  • Compat: Various compatibility tweaks:
    • Remaps invalid references to Mixin classes in mods
    • Adds mixin information to crash reports [1.7.10 only]
  • Mixingasm: Improves Mixin compatibility with ASM transformers.

Optional Modules

  • Future Compat [1.8.9+ only]: Makes many modules usable on versions 1.8.9+. Required for the mod to work on 1.8+. (Not required for Mixingasm)

Experimental Modules

These modules are not included in releases and mainly exist for testing purposes. (Note: Only one Mixin module can be used at a time.)

  • Mixin (SpongePowered): Provides the original Mixin fork
  • Mixin (Fabric): Provides the Fabric Mixin fork
  • Mixin (GasMix): Provides the GasStation Mixin fork
  • Mixin (GTNH): Provides the GTNH Mixin fork

Frequently Asked Questions

Why another Mixin loader?

Before UniMixins was created, there was excessive fragmentation among Mixin loaders for version 1.7.10, with different mods requiring different incompatible loaders. This was due to both conflicts between developers and technical reasons (loaders were designed as monolithic systems). This project solves both of these problems.

Modularity

Why use the Fabric fork of Mixin? Isn't this a Forge mod?

The Fabric fork of Mixin is more actively maintained than the original fork and contains additional fixes. Most of the Fabric fork's changes are not Fabric-specific.

What exactly do the "extras" do?

  • SpongeMixins, Grimoire, MixinBooterLegacy, GasStation and GTNHMixins offer various ways to inject into non-coremod classes (this is not natively supported in Mixin).
    • MixinBooterLegacy, GasStation and GTNHMixins add a "late" mixin phase that triggers before the first mod construction event
    • SpongeMixins allows manually adding mods to the classpath earlier using their file names
    • We recommend new mods use GTNHMixins as the most actively used and maintained option
  • Mixingasm fixes a Mixin issue that breaks some ASM transformers
  • MixinExtras adds new Mixin features allowing for less intrusive mixins

What's the difference between Mixin, mixin, SpongeMixins and SpongePowered?

  • Mixin: Java library for transforming Java classes
  • SpongePowered: organization that created Mixin
  • mixin: special Java class defining a "change" that should be applied to a class
  • SpongeMixins: Mixin loader with a very generic name

License

UniMixins is licensed under the Unlicense, with the exception of some modules.