From c6dd475610373a0f1ee8a816b17882bf3e87ac78 Mon Sep 17 00:00:00 2001 From: ichttt Date: Wed, 31 Jul 2019 01:39:05 +0200 Subject: [PATCH] Move world unload patch to tick function to prevent duplicate unloading, fix log message in dim manager, fix javadoc for unload method (#5964) --- .../minecraft/world/server/ChunkManager.java.patch | 12 ++++++------ .../net/minecraftforge/common/DimensionManager.java | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/patches/minecraft/net/minecraft/world/server/ChunkManager.java.patch b/patches/minecraft/net/minecraft/world/server/ChunkManager.java.patch index e4cbd1f580..da681c22a2 100644 --- a/patches/minecraft/net/minecraft/world/server/ChunkManager.java.patch +++ b/patches/minecraft/net/minecraft/world/server/ChunkManager.java.patch @@ -1,13 +1,13 @@ --- a/net/minecraft/world/server/ChunkManager.java +++ b/net/minecraft/world/server/ChunkManager.java -@@ -385,6 +385,7 @@ - while((p_223155_1_.getAsBoolean() || this.field_223181_A.size() > 2000) && (runnable = this.field_223181_A.poll()) != null) { - runnable.run(); +@@ -362,6 +362,7 @@ + iprofiler.func_219895_b("chunk_unload"); + if (!this.field_219255_i.func_217402_u()) { + this.func_223155_b(p_219204_1_); ++ if (this.field_219251_e.isEmpty()) net.minecraftforge.common.DimensionManager.unloadWorld(this.field_219255_i); } -+ if (this.field_219251_e.isEmpty()) net.minecraftforge.common.DimensionManager.unloadWorld(this.field_219255_i); - - } + iprofiler.func_76319_b(); @@ -398,6 +399,7 @@ if (this.field_219253_g.remove(p_219212_1_, p_219212_3_) && p_219185_5_ != null) { if (p_219185_5_ instanceof Chunk) { diff --git a/src/main/java/net/minecraftforge/common/DimensionManager.java b/src/main/java/net/minecraftforge/common/DimensionManager.java index 1436426623..624e6068cc 100644 --- a/src/main/java/net/minecraftforge/common/DimensionManager.java +++ b/src/main/java/net/minecraftforge/common/DimensionManager.java @@ -227,7 +227,7 @@ public class DimensionManager /** * Queues a dimension to unload, if it can be unloaded. - * @param id The id of the dimension + * @param world The world to unload */ public static void unloadWorld(ServerWorld world) { @@ -372,7 +372,7 @@ public class DimensionManager ModDimension mod = ForgeRegistries.MOD_DIMENSIONS.getValue(entry.type); if (mod == null) { - LOGGER.error(DIMMGR, "Modded dimension entry '{}' id {} in save file missing ModDimension.", entry.name.toString(), entry.id, entry.type.toString()); + LOGGER.error(DIMMGR, "Modded dimension entry '{}' id {} type {} in save file missing ModDimension.", entry.name.toString(), entry.id, entry.type.toString()); savedEntries.put(entry.name, entry); continue; }