diff options
Diffstat (limited to 'patches/api/0345-WorldCreator-keepSpawnLoaded.patch')
-rw-r--r-- | patches/api/0345-WorldCreator-keepSpawnLoaded.patch | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/patches/api/0345-WorldCreator-keepSpawnLoaded.patch b/patches/api/0345-WorldCreator-keepSpawnLoaded.patch new file mode 100644 index 0000000000..287c313c58 --- /dev/null +++ b/patches/api/0345-WorldCreator-keepSpawnLoaded.patch @@ -0,0 +1,97 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Shane Freeder <[email protected]> +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 + } |