diff --git a/src/main/java/ch/njol/skript/effects/EffWorldBorderExpand.java b/src/main/java/ch/njol/skript/effects/EffWorldBorderExpand.java index 045a6e51447..6bc58e756bf 100644 --- a/src/main/java/ch/njol/skript/effects/EffWorldBorderExpand.java +++ b/src/main/java/ch/njol/skript/effects/EffWorldBorderExpand.java @@ -14,10 +14,13 @@ import ch.njol.skript.util.Timespan.TimePeriod; import ch.njol.util.Kleenean; import ch.njol.util.Math2; +import org.bukkit.Bukkit; import org.bukkit.WorldBorder; import org.bukkit.event.Event; import org.jetbrains.annotations.Nullable; +import java.util.Objects; + @Name("Expand/Shrink World Border") @Description({ "Expand or shrink the size of a world border.", @@ -80,14 +83,23 @@ protected void execute(Event event) { if (to) { input = Math2.fit(1, input, MAX_WORLDBORDER_SIZE); for (WorldBorder worldBorder : worldBorders) - worldBorder.setSize(input, speed); + if (Objects.equals(Bukkit.getBukkitVersion().split("-")[0], "1.21.11")) { + worldBorder.changeSize(input, speed); + } else { + worldBorder.setSize(input, speed); + + } } else { if (shrink) input = -input; for (WorldBorder worldBorder : worldBorders) { double size = worldBorder.getSize(); size = Math2.fit(1, size + input, MAX_WORLDBORDER_SIZE); - worldBorder.setSize(size, speed); + if (Objects.equals(Bukkit.getBukkitVersion().split("-")[0], "1.21.11")) { + worldBorder.changeSize(size, speed); + } else { + worldBorder.setSize(size, speed); + } } } } diff --git a/src/main/java/ch/njol/skript/expressions/ExprWorldBorder.java b/src/main/java/ch/njol/skript/expressions/ExprWorldBorder.java index 90ee78c974e..d9772b5da94 100644 --- a/src/main/java/ch/njol/skript/expressions/ExprWorldBorder.java +++ b/src/main/java/ch/njol/skript/expressions/ExprWorldBorder.java @@ -7,12 +7,15 @@ import ch.njol.skript.doc.Since; import ch.njol.skript.expressions.base.SimplePropertyExpression; import ch.njol.util.coll.CollectionUtils; +import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.WorldBorder; import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.jetbrains.annotations.Nullable; +import java.util.Objects; + @Name("World Border") @Description({ "Get the border of a world or a player.", @@ -64,7 +67,12 @@ public void change(Event event, Object @Nullable [] delta, ChangeMode mode) { worldBorder.setDamageAmount(to.getDamageAmount()); worldBorder.setDamageBuffer(to.getDamageBuffer()); worldBorder.setWarningDistance(to.getWarningDistance()); - worldBorder.setWarningTime(to.getWarningTime()); + if (Objects.equals(Bukkit.getBukkitVersion().split("-")[0], "1.21.11")) { + worldBorder.setWarningTimeTicks(to.getWarningTimeTicks()); + } else { + worldBorder.setWarningTime(to.getWarningTime()); + + } } else if (object instanceof Player player) { player.setWorldBorder(to); } diff --git a/src/main/java/ch/njol/skript/expressions/ExprWorldBorderWarningTime.java b/src/main/java/ch/njol/skript/expressions/ExprWorldBorderWarningTime.java index bac607fbf9e..d42529d02b0 100644 --- a/src/main/java/ch/njol/skript/expressions/ExprWorldBorderWarningTime.java +++ b/src/main/java/ch/njol/skript/expressions/ExprWorldBorderWarningTime.java @@ -11,10 +11,13 @@ import ch.njol.skript.util.Timespan.TimePeriod; import ch.njol.util.Math2; import ch.njol.util.coll.CollectionUtils; +import org.bukkit.Bukkit; import org.bukkit.WorldBorder; import org.bukkit.event.Event; import org.jetbrains.annotations.Nullable; +import java.util.Objects; + @Name("Warning Time of World Border") @Description("The warning time of a world border. If the border is shrinking, the player's screen will be tinted red once the border will catch the player within this time period.") @Example("set world border warning time of {_worldborder} to 1 second") @@ -27,7 +30,7 @@ public class ExprWorldBorderWarningTime extends SimplePropertyExpression input; - case ADD -> Math2.addClamped(worldBorder.getWarningTime(), input); - case REMOVE -> Math2.addClamped(worldBorder.getWarningTime(), -input); + case ADD -> Math2.addClamped(warnTime, input); + case REMOVE -> Math2.addClamped(warnTime, -input); default -> throw new IllegalStateException(); }; setWarningTime(worldBorder, warningTime); @@ -57,7 +63,13 @@ private static void setWarningTime(WorldBorder worldBorder, long inputTime) { long time = Math2.multiplyClamped(inputTime, 20); // fit and convert back to seconds int warningTime = ((int) Math2.fit(0, time, Integer.MAX_VALUE)) / 20; - worldBorder.setWarningTime(warningTime); + if (Objects.equals(Bukkit.getBukkitVersion().split("-")[0], "1.21.11")) { + worldBorder.setWarningTimeTicks(warningTime); + } else { + worldBorder.setWarningTime(warningTime); + + } + } @Override