Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-18 12:30:06 +01:00
Added 'generate-structure' setting support and WorldCreator property.
Fixes BUKKIT-655 and BUKKIT-592
Dieser Commit ist enthalten in:
Ursprung
f1a35effb0
Commit
3a419481ea
@ -217,6 +217,7 @@ public class MinecraftServer implements Runnable, ICommandListener, IMinecraftSe
|
||||
j = WorldSettings.a(j);
|
||||
log.info("Default game type: " + j);
|
||||
// CraftBukkit start (+ removed worldsettings and servernbtmanager)
|
||||
boolean generateStructures = this.propertyManager.getBoolean("generate-structures", true);
|
||||
int worldCount = 3;
|
||||
|
||||
for (int k = 0; k < worldCount; ++k) {
|
||||
@ -244,7 +245,7 @@ public class MinecraftServer implements Runnable, ICommandListener, IMinecraftSe
|
||||
String name = (dimension == 0) ? s : s + "_" + worldType;
|
||||
|
||||
ChunkGenerator gen = this.server.getGenerator(name);
|
||||
WorldSettings settings = new WorldSettings(i, j, true, false, worldtype);
|
||||
WorldSettings settings = new WorldSettings(i, j, generateStructures, false, worldtype);
|
||||
|
||||
if (k == 0) {
|
||||
world = new WorldServer(this, new ServerNBTManager(server.getWorldContainer(), s, true), s, dimension, settings, org.bukkit.World.Environment.getEnvironment(dimension), gen); // CraftBukkit
|
||||
|
@ -521,6 +521,7 @@ public final class CraftServer implements Server {
|
||||
File folder = new File(getWorldContainer(), name);
|
||||
World world = getWorld(name);
|
||||
WorldType type = WorldType.a(creator.type().getName());
|
||||
boolean generateStructures = creator.generateStructures();
|
||||
|
||||
if (world != null) {
|
||||
return world;
|
||||
@ -552,7 +553,8 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
} while(used);
|
||||
boolean hardcore = false;
|
||||
WorldServer internal = new WorldServer(console, new ServerNBTManager(getWorldContainer(), name, true), name, dimension, new WorldSettings(creator.seed(), getDefaultGameMode().getValue(), true, hardcore, type), creator.environment(), generator);
|
||||
|
||||
WorldServer internal = new WorldServer(console, new ServerNBTManager(getWorldContainer(), name, true), name, dimension, new WorldSettings(creator.seed(), getDefaultGameMode().getValue(), generateStructures, hardcore, type), creator.environment(), generator);
|
||||
|
||||
if (!(worlds.containsKey(name.toLowerCase()))) {
|
||||
return null;
|
||||
|
@ -978,4 +978,8 @@ public class CraftWorld implements World {
|
||||
public org.bukkit.WorldType getWorldType() {
|
||||
return org.bukkit.WorldType.getByName(world.getWorldData().getType().name());
|
||||
}
|
||||
|
||||
public boolean canGenerateStructures() {
|
||||
return world.getWorldData().o();
|
||||
}
|
||||
}
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren