Memoize VanillaRegistres.createLookup

This commit is contained in:
embeddedt 2025-08-09 20:44:08 -04:00
parent b30b319214
commit f71277eb64
No known key found for this signature in database
GPG Key ID: A69433EC199B5613

View File

@ -0,0 +1,22 @@
package org.embeddedt.modernfix.common.mixin.perf.compact_mojang_registries;
import com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod;
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
import net.minecraft.core.HolderLookup;
import net.minecraft.data.registries.VanillaRegistries;
import org.spongepowered.asm.mixin.Mixin;
@Mixin(VanillaRegistries.class)
public class VanillaRegistriesMixin {
private static HolderLookup.Provider STATIC_PROVIDER;
@WrapMethod(method = "createLookup")
private static HolderLookup.Provider modernfix$memoizeLookup(Operation<HolderLookup.Provider> original) {
synchronized (VanillaRegistries.class) {
if (STATIC_PROVIDER == null) {
STATIC_PROVIDER = original.call();
}
return STATIC_PROVIDER;
}
}
}