Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-19 04:50:06 +01:00
SPIGOT-4822: Existing world fails to load
Dieser Commit ist enthalten in:
Ursprung
4fa2ad7c66
Commit
327c30812b
@ -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