From 9544c953a2fba2334fe87952b42b3d2bc90c6f9b Mon Sep 17 00:00:00 2001
From: lars <larslukasneuhaus@gmx.de>
Date: Wed, 9 Apr 2025 23:05:46 +0200
Subject: [PATCH] fixed shrinking border warning

---
 .../metaGameplay/settings/datatypes/IntegerSetting.java       | 2 ++
 .../appliances/metaGameplay/settings/datatypes/Setting.java   | 2 +-
 .../metaGameplay/shrinkingBorder/ShrinkingBorderListener.java | 4 ++--
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/IntegerSetting.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/IntegerSetting.java
index 6cd61d4..06824da 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/IntegerSetting.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/IntegerSetting.java
@@ -82,6 +82,8 @@ public abstract class IntegerSetting extends Setting<Integer> {
         this.state = container.has(this.getNamespacedKey())
             ? Integer.valueOf(Objects.requireNonNull(container.get(this.getNamespacedKey(), PersistentDataType.STRING)))
             : this.defaultValue();
+
+        if(!this.options.contains(this.state)) this.state = this.defaultValue();
     }
 
     @Override
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/Setting.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/Setting.java
index a9bd678..f36af4a 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/Setting.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/Setting.java
@@ -17,7 +17,7 @@ import org.bukkit.persistence.PersistentDataContainer;
 import java.util.List;
 
 public abstract class Setting<TDataType> {
-    TDataType state;
+    protected TDataType state;
     private final Settings.Key key;
 
     public Setting(Settings.Key key) {
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorderListener.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorderListener.java
index c1d42b4..7a382cb 100644
--- a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorderListener.java
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorderListener.java
@@ -48,8 +48,8 @@ public class ShrinkingBorderListener extends ApplianceListener<ShrinkingBorder>
     private boolean isSave(Location playerLocation) {
         WorldBorder worldBorder = playerLocation.getWorld().getWorldBorder();
         Location relativeLocation = playerLocation.clone().subtract(worldBorder.getCenter());
-        if(relativeLocation.getX() > this.getAppliance().getOption(ShrinkingBorderCommand.Argument.MINIMUM_SIZE)) return false;
-        if(relativeLocation.getZ() > this.getAppliance().getOption(ShrinkingBorderCommand.Argument.MINIMUM_SIZE)) return false;
+        if(Math.abs(relativeLocation.getX()) > this.getAppliance().getOption(ShrinkingBorderCommand.Argument.MINIMUM_SIZE)) return false;
+        if(Math.abs(relativeLocation.getZ()) > this.getAppliance().getOption(ShrinkingBorderCommand.Argument.MINIMUM_SIZE)) return false;
         return true;
     }
 }