From c64ca2e54b5ac89f6e6e2fef52caf37abb340174 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Sun, 12 Apr 2026 16:36:44 -0400 Subject: [PATCH] Fix potential crash with mods that inject custom surface building logic Fixes #638 --- .../mixin/perf/optimize_surface_rules/SurfaceSystemMixin.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/embeddedt/modernfix/common/mixin/perf/optimize_surface_rules/SurfaceSystemMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/optimize_surface_rules/SurfaceSystemMixin.java index aa26d345..c80b375e 100644 --- a/src/main/java/org/embeddedt/modernfix/common/mixin/perf/optimize_surface_rules/SurfaceSystemMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/optimize_surface_rules/SurfaceSystemMixin.java @@ -26,7 +26,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import java.util.function.Function; -@Mixin(SurfaceSystem.class) +@Mixin(value = SurfaceSystem.class, priority = 2000) public class SurfaceSystemMixin { private static final ThreadLocal MFIX_LOOKUP_CACHE = ThreadLocal.withInitial(ChunkBiomeLookup::new); private static final ThreadLocal MFIX_BLOCK_COLUMN = new ThreadLocal<>(); @@ -43,7 +43,7 @@ public class SurfaceSystemMixin { return lookup; } - @Inject(method = "buildSurface", at = @At("RETURN")) + @Inject(method = "buildSurface", at = @At("TAIL")) private void finishAndDisposeLookups(RandomState randomState, BiomeManager biomeManager, Registry biomes, boolean p_224652_, WorldGenerationContext context, ChunkAccess chunk, NoiseChunk noiseChunk, SurfaceRules.RuleSource ruleSource, CallbackInfo ci) { MFIX_LOOKUP_CACHE.get().dispose(); var column = MFIX_BLOCK_COLUMN.get();