From 04fe933f4c24817100f3101f088accf55a621f8a Mon Sep 17 00:00:00 2001 From: isxander Date: Thu, 11 Apr 2024 18:43:06 +0100 Subject: Extremely fragile and broken multiversion build with stonecutter --- .../yacl3/mixin/AbstractSelectionListMixin.java | 25 ---------------------- .../dev/isxander/yacl3/mixin/MinecraftMixin.java | 16 -------------- .../yacl3/mixin/OptionInstanceAccessor.java | 13 ----------- 3 files changed, 54 deletions(-) delete mode 100644 common/src/main/java/dev/isxander/yacl3/mixin/AbstractSelectionListMixin.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/mixin/MinecraftMixin.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/mixin/OptionInstanceAccessor.java (limited to 'common/src/main/java/dev/isxander/yacl3/mixin') diff --git a/common/src/main/java/dev/isxander/yacl3/mixin/AbstractSelectionListMixin.java b/common/src/main/java/dev/isxander/yacl3/mixin/AbstractSelectionListMixin.java deleted file mode 100644 index 471fa19..0000000 --- a/common/src/main/java/dev/isxander/yacl3/mixin/AbstractSelectionListMixin.java +++ /dev/null @@ -1,25 +0,0 @@ -package dev.isxander.yacl3.mixin; - -import net.minecraft.client.gui.components.AbstractSelectionList; -import org.objectweb.asm.Opcodes; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; - -import java.util.List; - -@Mixin(AbstractSelectionList.class) -public abstract class AbstractSelectionListMixin> { - @Shadow public abstract List children(); - - /** - * Mojang use the field access of children to get max index to loop through keyboard navigation to find the next entry. - * YACL modifies these children() method to filter out hidden entries, so we need to redirect the field access to the - * method, so we don't get ArrayIndexOutOfBoundsException. - */ - @Redirect(method = "nextEntry(Lnet/minecraft/client/gui/navigation/ScreenDirection;Ljava/util/function/Predicate;Lnet/minecraft/client/gui/components/AbstractSelectionList$Entry;)Lnet/minecraft/client/gui/components/AbstractSelectionList$Entry;", at = @At(value = "FIELD", target = "Lnet/minecraft/client/gui/components/AbstractSelectionList;children:Ljava/util/List;", opcode = Opcodes.GETFIELD)) - private List modifyChildrenCall(AbstractSelectionList instance) { - return children(); - } -} diff --git a/common/src/main/java/dev/isxander/yacl3/mixin/MinecraftMixin.java b/common/src/main/java/dev/isxander/yacl3/mixin/MinecraftMixin.java deleted file mode 100644 index 45bc314..0000000 --- a/common/src/main/java/dev/isxander/yacl3/mixin/MinecraftMixin.java +++ /dev/null @@ -1,16 +0,0 @@ -package dev.isxander.yacl3.mixin; - -import dev.isxander.yacl3.gui.image.ImageRendererManager; -import net.minecraft.client.Minecraft; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(Minecraft.class) -public class MinecraftMixin { - @Inject(method = "destroy", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;close()V", shift = At.Shift.BEFORE)) - private void closeImages(CallbackInfo ci) { - ImageRendererManager.closeAll(); - } -} diff --git a/common/src/main/java/dev/isxander/yacl3/mixin/OptionInstanceAccessor.java b/common/src/main/java/dev/isxander/yacl3/mixin/OptionInstanceAccessor.java deleted file mode 100644 index 429e383..0000000 --- a/common/src/main/java/dev/isxander/yacl3/mixin/OptionInstanceAccessor.java +++ /dev/null @@ -1,13 +0,0 @@ -package dev.isxander.yacl3.mixin; - -import net.minecraft.client.OptionInstance; -import org.jetbrains.annotations.ApiStatus; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -@ApiStatus.Internal -@Mixin(OptionInstance.class) -public interface OptionInstanceAccessor { - @Accessor - T getInitialValue(); -} -- cgit