geforkt von Mirrors/Paper
SPIGOT-4822: Existing world fails to load
By: md_5 <git@md-5.net>
Dieser Commit ist enthalten in:
Ursprung
39114e773e
Commit
03d3b41708
@ -908,7 +908,8 @@ public final class CraftServer implements Server {
|
|||||||
|
|
||||||
WorldNBTStorage sdm = new WorldNBTStorage(getWorldContainer(), name, getServer(), getHandle().getServer().dataConverterManager);
|
WorldNBTStorage sdm = new WorldNBTStorage(getWorldContainer(), name, getServer(), getHandle().getServer().dataConverterManager);
|
||||||
WorldData worlddata = sdm.getWorldData();
|
WorldData worlddata = sdm.getWorldData();
|
||||||
WorldSettings worldSettings = null;
|
WorldSettings worldSettings;
|
||||||
|
// See MinecraftServer.a(String, String, long, WorldType, JsonElement)
|
||||||
if (worlddata == null) {
|
if (worlddata == null) {
|
||||||
worldSettings = new WorldSettings(creator.seed(), EnumGamemode.getById(getDefaultGameMode().getValue()), generateStructures, hardcore, type);
|
worldSettings = new WorldSettings(creator.seed(), EnumGamemode.getById(getDefaultGameMode().getValue()), generateStructures, hardcore, type);
|
||||||
JsonElement parsedSettings = new JsonParser().parse(creator.generatorSettings());
|
JsonElement parsedSettings = new JsonParser().parse(creator.generatorSettings());
|
||||||
@ -916,8 +917,10 @@ public final class CraftServer implements Server {
|
|||||||
worldSettings.setGeneratorSettings(parsedSettings.getAsJsonObject());
|
worldSettings.setGeneratorSettings(parsedSettings.getAsJsonObject());
|
||||||
}
|
}
|
||||||
worlddata = new WorldData(worldSettings, name);
|
worlddata = new WorldData(worldSettings, name);
|
||||||
|
} else {
|
||||||
|
worlddata.a(name);
|
||||||
|
worldSettings = new WorldSettings(worlddata);
|
||||||
}
|
}
|
||||||
worlddata.checkName(name); // CraftBukkit - Migration did not rewrite the level.dat; This forces 1.8 to take the last loaded world as respawn (in this case the end)
|
|
||||||
|
|
||||||
DimensionManager actualDimension = DimensionManager.a(creator.environment().getId());
|
DimensionManager actualDimension = DimensionManager.a(creator.environment().getId());
|
||||||
DimensionManager internalDimension = new DimensionManager(dimension, name, name, (w, manager) -> actualDimension.getWorldProvider(w), actualDimension.hasSkyLight());
|
DimensionManager internalDimension = new DimensionManager(dimension, name, name, (w, manager) -> actualDimension.getWorldProvider(w), actualDimension.hasSkyLight());
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren