diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/chunk_deadlock/ServerChunkCache_CurrentLoadingMixin.java b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/chunk_deadlock/ServerChunkCache_CurrentLoadingMixin.java index 15b3c4c1..6553f291 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/chunk_deadlock/ServerChunkCache_CurrentLoadingMixin.java +++ b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/chunk_deadlock/ServerChunkCache_CurrentLoadingMixin.java @@ -18,7 +18,7 @@ import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; import java.lang.reflect.Field; -@Mixin(ServerChunkCache.class) +@Mixin(value = ServerChunkCache.class, priority = 1100) public abstract class ServerChunkCache_CurrentLoadingMixin { @Shadow @Nullable protected abstract ChunkHolder getVisibleChunkIfPresent(long l); @@ -38,7 +38,7 @@ public abstract class ServerChunkCache_CurrentLoadingMixin { * Check the currentlyLoading field before going to the future chain, as was done in 1.16. In 1.18 upstream seems * to have only applied this to getChunkNow(). */ - @Inject(method = "getChunk", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/level/ServerChunkCache;getChunkFutureMainThread(IILnet/minecraft/world/level/chunk/ChunkStatus;Z)Ljava/util/concurrent/CompletableFuture;"), cancellable = true) + @Inject(method = "getChunk", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/level/ServerChunkCache;getChunkFutureMainThread(IILnet/minecraft/world/level/chunk/ChunkStatus;Z)Ljava/util/concurrent/CompletableFuture;"), cancellable = true, require = 0) private void checkCurrentlyLoading(int chunkX, int chunkZ, ChunkStatus requiredStatus, boolean load, CallbackInfoReturnable cir) { long i = ChunkPos.asLong(chunkX, chunkZ); ChunkHolder holder = this.getVisibleChunkIfPresent(i);