SPIGOT-5901: Improve multiworld support

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot
2020-07-17 08:56:56 +10:00
parent f313337709
commit deab30f8b2
3 changed files with 29 additions and 4 deletions

View File

@@ -73,7 +73,15 @@
this.portalTravelAgent = new PortalTravelAgent(this);
this.N();
this.O();
@@ -97,8 +131,42 @@
@@ -91,14 +125,48 @@
iworlddataserver.setGameType(minecraftserver.getGamemode());
}
- this.structureManager = new StructureManager(this, minecraftserver.getSaveData().getGeneratorSettings());
+ this.structureManager = new StructureManager(this, this.worldDataServer.getGeneratorSettings()); // CraftBukkit
if (this.getDimensionManager().isCreateDragonBattle()) {
- this.dragonBattle = new EnderDragonBattle(this, minecraftserver.getSaveData().getGeneratorSettings().getSeed(), minecraftserver.getSaveData().B());
+ this.dragonBattle = new EnderDragonBattle(this, this.worldDataServer.getGeneratorSettings().getSeed(), this.worldDataServer.B()); // CraftBukkit
} else {
this.dragonBattle = null;
}
@@ -301,7 +309,7 @@
if (iprogressupdate != null) {
iprogressupdate.a(new ChatMessage("menu.savingLevel"));
}
@@ -626,6 +740,14 @@
@@ -626,11 +740,19 @@
chunkproviderserver.save(flag);
}
@@ -316,6 +324,12 @@
}
private void ag() {
if (this.dragonBattle != null) {
- this.server.getSaveData().a(this.dragonBattle.a());
+ this.worldDataServer.a(this.dragonBattle.a()); // CraftBukkit
}
this.getChunkProvider().getWorldPersistentData().a();
@@ -691,11 +813,24 @@
@Override