From cb69332072fc76d01bd7ae0ab1176bc8cfd6285b Mon Sep 17 00:00:00 2001 From: Phoenix-Starlight Date: Mon, 23 Oct 2023 20:04:45 -0700 Subject: [PATCH] Switch to regex match There is exactly one overload we want, and it has a callback in its parameter. --- .../perf/cache_profile_texture_url/SkinManagerMixin.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/cache_profile_texture_url/SkinManagerMixin.java b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/cache_profile_texture_url/SkinManagerMixin.java index a914afac..68586a78 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/cache_profile_texture_url/SkinManagerMixin.java +++ b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/cache_profile_texture_url/SkinManagerMixin.java @@ -30,12 +30,16 @@ public abstract class SkinManagerMixin { @WrapOperation ( - method = "registerTexture{1}(*Lnet/minecraft/client/resources/SkinManager$SkinTextureCallback;)Lnet/minecraft/util/Identifier", + method = + "name = registerTexture " + + // Target the lone overload that has a SkinTextureAvailableCallBack + "desc = /\\(net\\/minecraft\\/class_1071\\$class_1072;\\)/", at = @At( value = "INVOKE", target = "Lcom/mojang/authlib/minecraft/MinecraftProfileTexture;getHash()Ljava/lang/String;", remap = false - ) + ), + allow = 1 ) private String stashCachedHash(MinecraftProfileTexture texture, Operation original) { return hashCache.computeIfAbsent(texture, k -> original.call());