diff --git a/Bukkit/src/main/java/com/plotsquared/bukkit/BukkitPlatform.java b/Bukkit/src/main/java/com/plotsquared/bukkit/BukkitPlatform.java index 61ba28413..cd7dc4c7f 100644 --- a/Bukkit/src/main/java/com/plotsquared/bukkit/BukkitPlatform.java +++ b/Bukkit/src/main/java/com/plotsquared/bukkit/BukkitPlatform.java @@ -238,6 +238,16 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl return this.version; } + @Override + public int versionMinHeight() { + return serverVersion()[1] >= 18 ? -64 : 0; + } + + @Override + public int versionMaxHeight() { + return serverVersion()[1] >= 18 ? 319 : 255; + } + @Override public @NonNull String serverImplementation() { return Bukkit.getVersion(); diff --git a/Core/src/main/java/com/plotsquared/core/PlotPlatform.java b/Core/src/main/java/com/plotsquared/core/PlotPlatform.java index 491431b6c..3ef79df52 100644 --- a/Core/src/main/java/com/plotsquared/core/PlotPlatform.java +++ b/Core/src/main/java/com/plotsquared/core/PlotPlatform.java @@ -98,6 +98,20 @@ public interface PlotPlatform
extends LocaleHolder {
*/
int[] serverVersion();
+ /**
+ * Gets the default minimum world height for the version of Minecraft that the server is running.
+ *
+ * @return minimum world height
+ */
+ int versionMinHeight();
+
+ /**
+ * Gets the default maximum world height for the version of Minecraft that the server is running.
+ *
+ * @return maximum world height
+ */
+ int versionMaxHeight();
+
/**
* Gets the server implementation name and version
*
diff --git a/Core/src/main/java/com/plotsquared/core/plot/PlotArea.java b/Core/src/main/java/com/plotsquared/core/plot/PlotArea.java
index 87a346c44..6c0867f4f 100644
--- a/Core/src/main/java/com/plotsquared/core/plot/PlotArea.java
+++ b/Core/src/main/java/com/plotsquared/core/plot/PlotArea.java
@@ -142,10 +142,10 @@ public abstract class PlotArea {
private boolean homeAllowNonmember = false;
private BlockLoc nonmemberHome;
private BlockLoc defaultHome;
- private int maxBuildHeight = 255;
- private int minBuildHeight = 1;
- private int maxGenHeight = 255;
- private int minGenHeight = 0;
+ private int maxBuildHeight = PlotSquared.platform().versionMaxHeight();
+ private int minBuildHeight = PlotSquared.platform().versionMinHeight() + 1;
+ private int maxGenHeight = PlotSquared.platform().versionMaxHeight();
+ private int minGenHeight = PlotSquared.platform().versionMinHeight();
private GameMode gameMode = GameModes.CREATIVE;
private Map