mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-01 16:29:45 +01:00
c151c956e0
Fixes #10165
98 lines
3.7 KiB
Diff
98 lines
3.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Shane Freeder <theboyetronic@gmail.com>
|
|
Date: Sat, 3 Jul 2021 21:18:41 +0100
|
|
Subject: [PATCH] WorldCreator#keepSpawnLoaded
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/WorldCreator.java b/src/main/java/org/bukkit/WorldCreator.java
|
|
index afc0ce2eaa7cf48d1255fec7377103b1f7a99734..58e3e3e0e772640b3944b4acb5a92d96431728a7 100644
|
|
--- a/src/main/java/org/bukkit/WorldCreator.java
|
|
+++ b/src/main/java/org/bukkit/WorldCreator.java
|
|
@@ -23,7 +23,7 @@ public class WorldCreator {
|
|
private boolean generateStructures = true;
|
|
private String generatorSettings = "";
|
|
private boolean hardcore = false;
|
|
- private boolean keepSpawnInMemory = true;
|
|
+ private net.kyori.adventure.util.TriState keepSpawnLoaded = net.kyori.adventure.util.TriState.NOT_SET; // Paper
|
|
|
|
/**
|
|
* Creates an empty WorldCreationOptions for the given world name
|
|
@@ -123,7 +123,7 @@ public class WorldCreator {
|
|
type = world.getWorldType();
|
|
generateStructures = world.canGenerateStructures();
|
|
hardcore = world.isHardcore();
|
|
- keepSpawnInMemory = world.getKeepSpawnInMemory();
|
|
+ this.keepSpawnLoaded = net.kyori.adventure.util.TriState.byBoolean(world.getKeepSpawnInMemory()); // Paper
|
|
|
|
return this;
|
|
}
|
|
@@ -146,7 +146,7 @@ public class WorldCreator {
|
|
generateStructures = creator.generateStructures();
|
|
generatorSettings = creator.generatorSettings();
|
|
hardcore = creator.hardcore();
|
|
- keepSpawnInMemory = creator.keepSpawnInMemory();
|
|
+ keepSpawnLoaded = creator.keepSpawnLoaded(); // Paper
|
|
|
|
return this;
|
|
}
|
|
@@ -470,21 +470,23 @@ public class WorldCreator {
|
|
*
|
|
* @param keepSpawnInMemory Whether the spawn chunks will be kept loaded
|
|
* @return This object, for chaining
|
|
+ * @deprecated use {@link #keepSpawnLoaded(net.kyori.adventure.util.TriState)}
|
|
*/
|
|
@NotNull
|
|
+ @Deprecated(forRemoval = true) // Paper
|
|
public WorldCreator keepSpawnInMemory(boolean keepSpawnInMemory) {
|
|
- this.keepSpawnInMemory = keepSpawnInMemory;
|
|
-
|
|
- return this;
|
|
+ return this.keepSpawnLoaded(net.kyori.adventure.util.TriState.byBoolean(keepSpawnInMemory)); // Paper
|
|
}
|
|
|
|
/**
|
|
* Gets whether or not the spawn chunks will be kept loaded.
|
|
*
|
|
* @return True if the spawn chunks will be kept loaded
|
|
+ * @deprecated use {@link #keepSpawnLoaded()}
|
|
*/
|
|
+ @Deprecated(forRemoval = true) // Paper
|
|
public boolean keepSpawnInMemory() {
|
|
- return keepSpawnInMemory;
|
|
+ return this.keepSpawnLoaded() == net.kyori.adventure.util.TriState.TRUE; // Paper
|
|
}
|
|
|
|
/**
|
|
@@ -594,4 +596,31 @@ public class WorldCreator {
|
|
|
|
return result;
|
|
}
|
|
+
|
|
+ // Paper start - keep spawn loaded tristate
|
|
+ /**
|
|
+ * Returns the current intent to keep the world loaded, @see {@link WorldCreator#keepSpawnLoaded(net.kyori.adventure.util.TriState)}
|
|
+ *
|
|
+ * @return the current tristate value
|
|
+ */
|
|
+ @NotNull
|
|
+ public net.kyori.adventure.util.TriState keepSpawnLoaded() {
|
|
+ return keepSpawnLoaded;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Controls if a world should be kept loaded or not, default (NOT_SET) will use the servers standard
|
|
+ * configuration, otherwise, will act as an override towards this setting
|
|
+ *
|
|
+ * @param keepSpawnLoaded the new value
|
|
+ * @return This object, for chaining
|
|
+ */
|
|
+ @NotNull
|
|
+ public WorldCreator keepSpawnLoaded(@NotNull net.kyori.adventure.util.TriState keepSpawnLoaded) {
|
|
+ Preconditions.checkArgument(keepSpawnLoaded != null, "keepSpawnLoaded");
|
|
+ this.keepSpawnLoaded = keepSpawnLoaded;
|
|
+ return this;
|
|
+ }
|
|
+
|
|
+ // Paper end - keep spawn loaded tristate
|
|
}
|