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

By: DerFrZocker <derrieple@gmail.com>
This commit is contained in:
CraftBukkit/Spigot 2021-05-18 08:14:59 +10:00
parent fac154e1cd
commit 097e647d7a
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()));