From 22f4bbd503defd66582f4fa2946d8fedc9b77ba0 Mon Sep 17 00:00:00 2001 From: Su5eD Date: Mon, 2 Oct 2023 21:25:48 +0200 Subject: [PATCH] Fix renaming reflection class names in GameRuleReflectionUtils --- .../impl/gamerule/GameRuleReflectionUtils.java | 15 ++++++++------- gradle.properties | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/impl/gamerule/GameRuleReflectionUtils.java b/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/impl/gamerule/GameRuleReflectionUtils.java index 7d6ab423d..58d75886d 100644 --- a/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/impl/gamerule/GameRuleReflectionUtils.java +++ b/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/impl/gamerule/GameRuleReflectionUtils.java @@ -16,14 +16,15 @@ package net.fabricmc.fabric.impl.gamerule; -import java.lang.invoke.MethodHandles; -import java.lang.invoke.VarHandle; - import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import net.minecraftforge.coremod.api.ASMAPI; - +import cpw.mods.modlauncher.api.INameMappingService; import net.minecraft.client.gui.screen.world.EditGameRulesScreen; import net.minecraft.server.command.ServerCommandSource; +import net.minecraftforge.coremod.api.ASMAPI; +import net.minecraftforge.fml.util.ObfuscationReflectionHelper; + +import java.lang.invoke.MethodHandles; +import java.lang.invoke.VarHandle; // Provides access to instance fields of anonymous classes via reflection // as a replacement for Shadow fields due to an ongoing mixin issue https://github.com/SpongePowered/Mixin/issues/560 @@ -33,11 +34,11 @@ public final class GameRuleReflectionUtils { static { try { - Class cls = Class.forName("net.minecraft.client.gui.screen.world.EditGameRulesScreen$RuleListWidget$1"); + Class cls = Class.forName(ObfuscationReflectionHelper.remapName(INameMappingService.Domain.CLASS, "net.minecraft.client.gui.screens.worldselection.EditGameRulesScreen$RuleList$1")); MethodHandles.Lookup lookup = MethodHandles.privateLookupIn(cls, MethodHandles.lookup()); OWN_GAME_RULES_SCREEN = lookup.findVarHandle(cls, ASMAPI.mapField("f_101213_"), EditGameRulesScreen.class); - Class gameRuleCommandsCls = Class.forName("net.minecraft.server.command.GameRuleCommand$1"); + Class gameRuleCommandsCls = Class.forName(ObfuscationReflectionHelper.remapName(INameMappingService.Domain.CLASS, "net.minecraft.server.commands.GameRuleCommand$1")); MethodHandles.Lookup gameRuleCommandLookup = MethodHandles.privateLookupIn(gameRuleCommandsCls, MethodHandles.lookup()); OWN_ARGUMENT_BUILDER = gameRuleCommandLookup.findVarHandle(gameRuleCommandsCls, ASMAPI.mapField("f_137760_"), LiteralArgumentBuilder.class); } catch (Throwable t) { diff --git a/gradle.properties b/gradle.properties index a864ec1ac..372820831 100644 --- a/gradle.properties +++ b/gradle.properties @@ -68,5 +68,5 @@ fabric-client-tags-api-v1-version=1.1.1 loom.platform=forge forge_version=1.20.1-47.1.3 pack_format=15 -forgified_version=1.9.22 +forgified_version=1.9.23 forge_fabric_loader_version=2.3.4+0.14.21+1.20.1