Update cache mixin to 1.20.2
This commit is contained in:
parent
c4ac0e586c
commit
2cecb2d347
|
|
@ -4,7 +4,6 @@ import com.google.common.cache.CacheBuilder;
|
||||||
import com.mojang.authlib.minecraft.MinecraftProfileTexture;
|
import com.mojang.authlib.minecraft.MinecraftProfileTexture;
|
||||||
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
||||||
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
|
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
|
||||||
import net.minecraft.client.resources.SkinManager;
|
|
||||||
import org.embeddedt.modernfix.annotation.ClientOnlyMixin;
|
import org.embeddedt.modernfix.annotation.ClientOnlyMixin;
|
||||||
import org.spongepowered.asm.mixin.Unique;
|
import org.spongepowered.asm.mixin.Unique;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
|
@ -13,12 +12,12 @@ import org.spongepowered.asm.mixin.injection.At;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Mixin(value=SkinManager.class)
|
@Mixin(targets="net.minecraft.client.resources.SkinManager$TextureCache")
|
||||||
@ClientOnlyMixin
|
@ClientOnlyMixin
|
||||||
public abstract class SkinManagerMixin {
|
public abstract class SkinManagerMixin {
|
||||||
/**
|
/**
|
||||||
* @author Fury_Phoenix
|
* @author Fury_Phoenix
|
||||||
* @reason No lib mixins on (neo)forge, yet
|
* @reason No lib mixins on (neo)forge, yet.
|
||||||
* **/
|
* **/
|
||||||
@Unique
|
@Unique
|
||||||
private final Map<MinecraftProfileTexture, String> hashCache = CacheBuilder.newBuilder()
|
private final Map<MinecraftProfileTexture, String> hashCache = CacheBuilder.newBuilder()
|
||||||
|
|
@ -31,13 +30,13 @@ public abstract class SkinManagerMixin {
|
||||||
@WrapOperation
|
@WrapOperation
|
||||||
(
|
(
|
||||||
// Mixes (un)obfuscated types
|
// Mixes (un)obfuscated types
|
||||||
method = "m_118828_",
|
method = {"getOrLoad", "registerTexture"},
|
||||||
at = @At(
|
at = @At(
|
||||||
value = "INVOKE",
|
value = "INVOKE",
|
||||||
target = "Lcom/mojang/authlib/minecraft/MinecraftProfileTexture;getHash()Ljava/lang/String;"
|
target = "Lcom/mojang/authlib/minecraft/MinecraftProfileTexture;getHash()Ljava/lang/String;",
|
||||||
),
|
|
||||||
remap = false
|
remap = false
|
||||||
)
|
)
|
||||||
|
)
|
||||||
private String stashCachedHash(MinecraftProfileTexture texture, Operation<String> original) {
|
private String stashCachedHash(MinecraftProfileTexture texture, Operation<String> original) {
|
||||||
return hashCache.computeIfAbsent(texture, k -> original.call(k));
|
return hashCache.computeIfAbsent(texture, k -> original.call(k));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user