### Optional Dependencies for Local Builds Source: https://github.com/legacymoddingmc/unimixins/blob/master/docs/developer-usage.md Example dependencies for using optional UniMixins modules, particularly when building locally. ```gradle //implementation("io.github.legacymoddingmc.unimixins:unimixins-mixin-1.7.10-spongepowered:$unimixinsVersion") //implementation("io.github.legacymoddingmc.unimixins:unimixins-mixin-1.7.10-fabric:$unimixinsVersion") //implementation("io.github.legacymoddingmc.unimixins:unimixins-mixin-1.7.10-gtnh:$unimixinsVersion") ``` -------------------------------- ### Gradle Dependencies for UniMixins Source: https://github.com/legacymoddingmc/unimixins/blob/master/docs/developer-usage.md Example dependencies to include UniMixins modules in your project's build.gradle file. ```gradle dependencies { implementation("com.github.LegacyModdingMC.UniMixins:unimixins-mixin-1.7.10:$unimixinsVersion") // You don't need all the modules, only the ones your mod requires. implementation("com.github.LegacyModdingMC.UniMixins:unimixins-compat-1.7.10:$unimixinsVersion:dev") implementation("com.github.LegacyModdingMC.UniMixins:unimixins-spongemixins-1.7.10:$unimixinsVersion:dev") implementation("com.github.LegacyModdingMC.UniMixins:unimixins-mixinbooterlegacy-1.7.10:$unimixinsVersion:dev") implementation("com.github.LegacyModdingMC.UniMixins:unimixins-mixinextras-1.7.10:$unimixinsVersion:dev") implementation("com.github.LegacyModdingMC.UniMixins:unimixins-gtnhmixins-1.7.10:$unimixinsVersion:dev") implementation("com.github.LegacyModdingMC.UniMixins:unimixins-mixingasm-1.7.10:$unimixinsVersion:dev") } ``` -------------------------------- ### Shaded ASM Package Name Migration Source: https://github.com/legacymoddingmc/unimixins/blob/master/docs/developer-usage.md A patch example showing the change in ASM package import from `org.spongepowered.libraries.org.objectweb.asm` to `org.spongepowered.asm.lib`. ```patch -import org.spongepowered.libraries.org.objectweb.asm.tree.ClassNode; +import org.spongepowered.asm.lib.tree.ClassNode; ``` -------------------------------- ### Mixin Configuration File Source: https://github.com/legacymoddingmc/unimixins/blob/master/module-gtnhmixins/README.original.md Example of a mixins..json file for GTNH Mixins. ```json { "required": true, "minVersion": "0.8.3-GTNH", "package": "com.company.mypackage.mixins", "refmap": "mixins.yourmodid.refmap.json", "target": "@env(DEFAULT)", "compatibilityLevel": "JAVA_8" } ``` -------------------------------- ### Removing `--mods` Hack Source: https://github.com/legacymoddingmc/unimixins/blob/master/docs/developer-usage.md A patch example demonstrating the removal of the `--mods` program argument workaround, which is no longer necessary with UniMix and GTNH's Mixin fork. ```patch - arguments += [ - "--mods=../build/libs/$archivesBaseName-${version}.jar" - ] ``` -------------------------------- ### Publish Release Script Source: https://github.com/legacymoddingmc/unimixins/blob/master/publish/README.txt This command executes the build and release script, requiring a GitHub token and optionally CurseForge and Modrinth tokens. ```sh sh ./build_and_release.sh $GITHUB_TOKEN [$CURSEFORGE_TOKEN] [$MODRINTH_TOKEN] ``` -------------------------------- ### Build a specific module Source: https://github.com/legacymoddingmc/unimixins/blob/master/README.md This command demonstrates how to build a specific module, identified by 'XXX', using Gradle. ```bash ./gradlew module-XXX:build ``` -------------------------------- ### Compiling with Java 8 Source: https://github.com/legacymoddingmc/unimixins/blob/master/README.md The project needs to be compiled using Java 8. This command shows how to set the JAVA_HOME environment variable to a Java 8 JDK and then run the Gradle build command. ```bash JAVA_HOME=/path/to/jdk8 ./gradlew build ``` -------------------------------- ### GTNHMixins Early Loader Implementation Source: https://github.com/legacymoddingmc/unimixins/blob/master/docs/testing.md Shows the implementation for loading all early mixins, including the one for transparent chat background. ```java https://github.com/GTNewHorizons/Hodgepodge/blob/035015166f138ab56c5d5c5acd8d13dad79f95fc/src/main/java/com/mitchej123/hodgepodge/core/HodgepodgeCore.java#L35-L50 ``` ```java https://github.com/GTNewHorizons/Hodgepodge/blob/2.0.27/src/main/java/com/mitchej123/hodgepodge/mixins/Mixins.java#L98-L103 ``` -------------------------------- ### BugTorch Classpath Manipulation Source: https://github.com/legacymoddingmc/unimixins/blob/master/docs/testing.md Shows how adding a mod to the classpath early was successful for Witchery's bounding boxes. ```java https://github.com/jss2a98aj/BugTorch/blob/95480e11c5ea922f4cc2a7540ca944ef4a9aeaec/src/main/java/jss/bugtorch/core/BugTorchMixinPlugin.java#L149-L166 ``` -------------------------------- ### GTNHMixins Late Loader Implementation Source: https://github.com/legacymoddingmc/unimixins/blob/master/docs/testing.md Details the implementation for loading all late mixins, including the one for centered inventory GUI. ```java https://github.com/GTNewHorizons/Hodgepodge/blob/2.0.27/src/main/java/com/mitchej123/hodgepodge/HodgepodgeLateMixins.java ``` ```java https://github.com/GTNewHorizons/Hodgepodge/blob/2.0.27/src/main/java/com/mitchej123/hodgepodge/mixins/Mixins.java#L489-L494 ``` -------------------------------- ### MixinBooterLegacy Early Loader Source: https://github.com/legacymoddingmc/unimixins/blob/master/docs/testing.md Indicates that 'Mixing MixinFMLIndexedMessageToMessageCodec from mixin.forgenetworkfix.json' appears in the fml-server-latest.log. ```log Mixing MixinFMLIndexedMessageToMessageCodec from mixin.forgenetworkfix.json ``` -------------------------------- ### BugTorch Mod Annotation Dependency Source: https://github.com/legacymoddingmc/unimixins/blob/master/docs/testing.md Demonstrates how BugTorch hard depends on SpongeMixins in its mod annotation. ```java https://github.com/jss2a98aj/BugTorch/blob/95480e11c5ea922f4cc2a7540ca944ef4a9aeaec/src/main/java/jss/bugtorch/core/BugTorchCore.java#L22 ``` -------------------------------- ### MixinExtras Implementation with @WrapWithCondition Source: https://github.com/legacymoddingmc/unimixins/blob/master/docs/testing.md The mixin implementing the transparent chat background feature uses @WrapWithCondition. ```java https://github.com/GTNewHorizons/Hodgepodge/blob/2.0.27/src/main/java/com/mitchej123/hodgepodge/mixins/early/minecraft/MixinGuiNewChat_TransparentChat.java ``` -------------------------------- ### Enabling Mixin Hot Swapping Source: https://github.com/legacymoddingmc/unimixins/blob/master/docs/developer-usage.md Gradle snippet to configure the Java agent for enabling Mixin hot swapping, typically used with UniMixins or GTNH's Mixin fork. ```gradle afterEvaluate { File uni = configurations.compileClasspath.findAll { it.name.contains("unimixins-all-") || it.name.contains("unimixins-mixin-") || it.name.contains("unimixins-0.") }.first() runClient { extraJvmArgs.add( '-javaagent:' + uni.getPath() ) } } ``` -------------------------------- ### GTNHMixins Mod Annotation Dependency Source: https://github.com/legacymoddingmc/unimixins/blob/master/docs/testing.md Illustrates GTNHMixins' hard dependency in Hodgepodge's mod annotation. ```java https://github.com/GTNewHorizons/Hodgepodge/blob/035015166f138ab56c5d5c5acd8d13dad79f95fc/src/main/java/com/mitchej123/hodgepodge/Hodgepodge.java#L21 ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.