Avoid error from mods that replace chunk system
This commit is contained in:
parent
7c550a1ce4
commit
fec7eb66ea
|
|
@ -63,14 +63,19 @@ public class ModernFix {
|
||||||
ClassInfoManager.clear();
|
ClassInfoManager.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("ConstantValue")
|
||||||
public void onServerDead(MinecraftServer server) {
|
public void onServerDead(MinecraftServer server) {
|
||||||
/* Clear as much data from the integrated server as possible, in case a mod holds on to it */
|
/* Clear as much data from the integrated server as possible, in case a mod holds on to it */
|
||||||
try {
|
try {
|
||||||
for(ServerLevel level : server.getAllLevels()) {
|
for(ServerLevel level : server.getAllLevels()) {
|
||||||
ChunkMap chunkMap = level.getChunkSource().chunkMap;
|
ChunkMap chunkMap = level.getChunkSource().chunkMap;
|
||||||
chunkMap.updatingChunkMap.clear();
|
// Null check for mods that replace chunk system
|
||||||
chunkMap.visibleChunkMap.clear();
|
if(chunkMap.updatingChunkMap != null)
|
||||||
chunkMap.pendingUnloads.clear();
|
chunkMap.updatingChunkMap.clear();
|
||||||
|
if(chunkMap.visibleChunkMap != null)
|
||||||
|
chunkMap.visibleChunkMap.clear();
|
||||||
|
if(chunkMap.pendingUnloads != null)
|
||||||
|
chunkMap.pendingUnloads.clear();
|
||||||
}
|
}
|
||||||
} catch(RuntimeException e) {
|
} catch(RuntimeException e) {
|
||||||
ModernFix.LOGGER.error("Couldn't clear chunk data", e);
|
ModernFix.LOGGER.error("Couldn't clear chunk data", e);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user