From 9d66edee5992c7677de45406fe8035c597dca051 Mon Sep 17 00:00:00 2001 From: Jonathan Coates Date: Mon, 28 Sep 2026 14:07:34 +0100 Subject: [PATCH] Use Fabric mixin in common classes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is what both Fabric and NeoForge uses. This fixes the compilation mismatch in DataFixersMixin — ModifyArg.at is now an array, so the annotation data is slightly different. Annoyingly `javap -v` doesn't show this, but asm's textifier does. --- gradle/libs.versions.toml | 4 ++-- projects/common/build.gradle.kts | 9 --------- projects/fabric/build.gradle.kts | 3 --- projects/forge/build.gradle.kts | 3 --- 4 files changed, 2 insertions(+), 17 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d15317941..a5eeff516 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,7 +11,7 @@ fabric-api = "0.160.5+26.3" fabric-loader = "0.19.4" neoForge = "26.3.0.26-beta" neoMergeTool = "2.0.0" -mixin = "0.8.5" +mixin = "0.17.4+mixin.0.8.7" # Core dependencies (these versions are tied to the version Minecraft uses) fastutil = "8.5.18" @@ -103,7 +103,7 @@ iris-forge = { module = "maven.modrinth:iris", version.ref = "iris-forge" } jei-api = { module = "mezz.jei:jei-26.3-common-api", version.ref = "jei" } jei-fabric = { module = "mezz.jei:jei-26.3-fabric", version.ref = "jei" } jei-forge = { module = "mezz.jei:jei-26.3-neoforge", version.ref = "jei" } -mixin = { module = "org.spongepowered:mixin", version.ref = "mixin" } +mixin = { module = "net.fabricmc:sponge-mixin", version.ref = "mixin" } mixinExtra = { module = "io.github.llamalad7:mixinextras-common", version.ref = "mixinExtra" } modmenu = { module = "com.terraformersmc:modmenu", version.ref = "modmenu" } rei-api = { module = "me.shedaniel:RoughlyEnoughItems-api", version.ref = "rei" } diff --git a/projects/common/build.gradle.kts b/projects/common/build.gradle.kts index 327b645ce..7130bd6aa 100644 --- a/projects/common/build.gradle.kts +++ b/projects/common/build.gradle.kts @@ -41,15 +41,6 @@ sourceSets.testFixtures { compileClasspath += sourceSets.main.get().compileClasspath + sourceSets.client.get().compileClasspath } -repositories { - exclusiveContent { - forRepositories(maven("https://maven.neoforged.net/releases")) - filter { - includeModule("org.spongepowered", "mixin") - } - } -} - dependencies { // Pull in our other projects. See comments in MinecraftConfigurations on this nastiness. api(project(":core")) diff --git a/projects/fabric/build.gradle.kts b/projects/fabric/build.gradle.kts index e4c333cf9..9dbfc57c7 100644 --- a/projects/fabric/build.gradle.kts +++ b/projects/fabric/build.gradle.kts @@ -252,9 +252,6 @@ tasks.verifyClassesMatch { options.errorprone { option("ModLoader", "fabric") } - - // For some reason we get a different class, despite the two files being the same. - ignoredFiles.add("dan200/computercraft/mixin/DataFixersMixin.class") } val runGametest = tasks.named("runGametest") { diff --git a/projects/forge/build.gradle.kts b/projects/forge/build.gradle.kts index 8c0e26ae2..0d1910f8d 100644 --- a/projects/forge/build.gradle.kts +++ b/projects/forge/build.gradle.kts @@ -246,9 +246,6 @@ tasks.verifyClassesMatch { options.errorprone { option("ModLoader", "forge") } - - // For some reason we get a different class, despite the two files being the same. - ignoredFiles.add("dan200/computercraft/mixin/DataFixersMixin.class") } val runGametest = tasks.named("runGametest") {