Mixin is a trait/mixin framework for Java using ASM
and hooking into the runtime class-loading process via Mojang's
LegacyLauncher system. The main
documentation for Mixin can be found in the Wiki. Additional
documentation for individual features and annotations can be found in the
extensive Javadoc. For
additional help use the channel #spongedev
on the Espernet IRC network.
Mixin uses the Gradle build automation system. To perform a build, use gradle version 2.11 and execute
gradle
from within the project root directory. (If you do not have Gradle installed on
your system you can instead run the supplied Gradle wrapper gradlew
)
The Mixin project can be integrated easily with Eclipse using the Gradle
Plugin.
Simply choose Import
-> Gradle Project
and follow the prompts.
When developing using Mixin, you can use the Mixin Annotation Processor within Eclipse to provide context-sensitive errors and warnings to help you more easily troubleshoot your mixins. To do so:
- Run the
gradle build
command to generate the mixin jar - Open the properties of your eclipse project and navigate to
Java Compiler
->Annotation Processing
->Factory Path
- Check the
Enable project specific settings
checkbox - Click the
Add External JARs
button and select the generated mixin jar with the suffix -processor (hint: it should be inMixin/build/libs
) - Navigate up one level to
Java Compiler
->Annotation Processing
- Check the
Enable project specific settings
checkbox - Check the
Enable annotation processing
checkbox - Click the
New...
button next to theProcessor options
box
- Set
Key
to reobfSrgFile - Set
Value
to the fully-qualified path to themcp-srg.srg
file (for Sponge this can be found inSponge/build/srgs/mcp-srg.srg
)
- Click
OK
to apply the changes
Enhanced functionality for working with Mixin in IntelliJ IDEA is available via the Minecraft Development for IntelliJ IDEA plugin developed by DemonWav.
Version | Features / Changes | Date |
---|---|---|
0.1 |
|
January 2015 |
0.2 |
|
March 2015 |
0.3 |
|
March 2015 |
0.3.1 |
|
April 2015 |
0.3.2 |
|
April 2015 |
0.4 |
|
May 2015 |
0.4.3 |
|
May 2015 |
0.4.4 |
|
July 2015 |
0.4.6 |
|
September 2015 |
0.4.8 |
|
December 2015 |
0.4.10 |
|
December 2015 |
0.4.11 |
|
January 2016 |
0.4.13 |
|
January 2016 |
0.4.14 |
|
January 2016 |
0.4.15 |
|
January 2016 |
0.4.17 |
|
January 2016 |
0.4.18 |
|
February 2016 |
0.4.19 |
|
February 2016 |
0.5.1 |
|
February 2016 |
0.5.2 |
|
February 2016 |
0.5.3 |
|
February 2016 |
0.5.4 |
|
April 2016 |
0.5.5 |
|
April 2016 |
0.5.6 |
|
May 2016 |
0.5.7 |
|
June 2016 |
0.5.8 |
|
June 2016 |
0.5.9 |
|
June 2016 |
0.5.10 |
|
June 2016 |
0.5.13 |
|
September 2016 |
0.5.14 |
|
September 2016 |
0.5.16 |
|
October 2016 |
0.5.17 |
|
October 2016 |
0.6 |
|
October 2016 |
0.6.1 |
|
November 2016 |
0.6.2 |
|
December 2016 |
0.6.3 |
|
December 2016 |
0.6.4 |
|
January 2017 |
0.6.5 |
|
January 2017 |
0.6.6 |
|
January 2017 |
0.6.7 |
|
January 2017 |
0.6.8 |
|
February 2017 |
0.6.10 |
|
May 2017 |
0.6.11 |
|
June 2017 |
0.6.12 |
|
June 2017 |
0.6.13 |
|
July 2017 |
0.6.14 |
|
July 2017 |
0.6.15 |
|
July 2017 |
0.7 |
|
July 2017 |
0.7.1 |
|
August 2017 |
0.7.2 |
|
August 2017 |