SPIGOT-5569: Call WorldInitEvent before any chunks are getting generated

This commit is contained in:
DerFrZocker 2021-05-18 08:14:59 +10:00 committed by md_5
parent 1e8c432cd9
commit cc21bae977
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11
2 changed files with 5 additions and 5 deletions

View File

@ -116,7 +116,7 @@
convertable_conversionsession.convert(new IProgressUpdate() {
private long a = SystemUtils.getMonotonicMillis();
@@ -309,45 +369,194 @@
@@ -309,48 +369,197 @@
}
@ -283,7 +283,6 @@
+
+ worlddata.a(this.getServerModName(), this.getModded().isPresent());
+ this.initWorld(world, worlddata, saveData, worlddata.getGeneratorSettings());
+ this.server.getPluginManager().callEvent(new org.bukkit.event.world.WorldInitEvent(world.getWorld()));
+
+ this.worldServer.put(world.getDimensionKey(), world);
+ this.getPlayerList().setPlayerFileData(world);
@ -342,6 +341,10 @@
WorldBorder worldborder = worldserver.getWorldBorder();
worldborder.a(iworlddataserver.r());
+ this.server.getPluginManager().callEvent(new org.bukkit.event.world.WorldInitEvent(worldserver.getWorld())); // CraftBukkit - SPIGOT-5569
if (!iworlddataserver.p()) {
try {
a(worldserver, iworlddataserver, generatorsettings.c(), flag, true);
@@ -372,31 +581,8 @@
iworlddataserver.c(true);

View File

@ -182,7 +182,6 @@ import org.bukkit.event.player.PlayerChatTabCompleteEvent;
import org.bukkit.event.server.BroadcastMessageEvent;
import org.bukkit.event.server.ServerLoadEvent;
import org.bukkit.event.server.TabCompleteEvent;
import org.bukkit.event.world.WorldInitEvent;
import org.bukkit.event.world.WorldLoadEvent;
import org.bukkit.event.world.WorldUnloadEvent;
import org.bukkit.generator.ChunkGenerator;
@ -1053,8 +1052,6 @@ public final class CraftServer implements Server {
internal.setSpawnFlags(true, true);
console.worldServer.put(internal.getDimensionKey(), internal);
pluginManager.callEvent(new WorldInitEvent(internal.getWorld()));
getServer().loadSpawn(internal.getChunkProvider().playerChunkMap.worldLoadListener, internal);
pluginManager.callEvent(new WorldLoadEvent(internal.getWorld()));