diff --git a/common/src/main/java/org/embeddedt/modernfix/ModernFix.java b/common/src/main/java/org/embeddedt/modernfix/ModernFix.java index 3d18f4ca..17e27d64 100644 --- a/common/src/main/java/org/embeddedt/modernfix/ModernFix.java +++ b/common/src/main/java/org/embeddedt/modernfix/ModernFix.java @@ -63,14 +63,19 @@ public class ModernFix { ClassInfoManager.clear(); } + @SuppressWarnings("ConstantValue") public void onServerDead(MinecraftServer server) { /* Clear as much data from the integrated server as possible, in case a mod holds on to it */ try { for(ServerLevel level : server.getAllLevels()) { ChunkMap chunkMap = level.getChunkSource().chunkMap; - chunkMap.updatingChunkMap.clear(); - chunkMap.visibleChunkMap.clear(); - chunkMap.pendingUnloads.clear(); + // Null check for mods that replace chunk system + if(chunkMap.updatingChunkMap != null) + chunkMap.updatingChunkMap.clear(); + if(chunkMap.visibleChunkMap != null) + chunkMap.visibleChunkMap.clear(); + if(chunkMap.pendingUnloads != null) + chunkMap.pendingUnloads.clear(); } } catch(RuntimeException e) { ModernFix.LOGGER.error("Couldn't clear chunk data", e); diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/chunk_meshing/RebuildTaskMixin.java b/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/chunk_meshing/RebuildTaskMixin.java index a083aa56..9a9bd9e7 100644 --- a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/chunk_meshing/RebuildTaskMixin.java +++ b/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/chunk_meshing/RebuildTaskMixin.java @@ -3,6 +3,7 @@ package org.embeddedt.modernfix.common.mixin.perf.chunk_meshing; import net.minecraft.client.renderer.chunk.SectionCompiler; import net.minecraft.core.BlockPos; import org.embeddedt.modernfix.annotation.ClientOnlyMixin; +import org.embeddedt.modernfix.annotation.RequiresMod; import org.embeddedt.modernfix.util.blockpos.SectionBlockPosIterator; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -10,6 +11,7 @@ import org.spongepowered.asm.mixin.injection.Redirect; @Mixin(value = SectionCompiler.class, priority = 2000) @ClientOnlyMixin +@RequiresMod("!fluidlogged") public class RebuildTaskMixin { /** * @author embeddedt