From bc371df796b54b288cca07b7cd56ab53b34e72ee Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Sat, 2 Aug 2025 08:01:25 +0200 Subject: [PATCH] Rework FixedFlagStorage and FixedGlobalFlagStorage to not be sensitive on adding a new Flag --- .../bausystem/region/fixed/FixedFlagStorage.java | 9 ++++++--- .../region/fixed/FixedGlobalFlagStorage.java | 14 +++++++------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedFlagStorage.java b/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedFlagStorage.java index 6893f904..b9abc5b3 100644 --- a/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedFlagStorage.java +++ b/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedFlagStorage.java @@ -41,13 +41,16 @@ public class FixedFlagStorage implements FlagStorage { @Override public @NonNull & Flag.Value> RegionFlagPolicy has(@NonNull Flag flag) { - if (flag.oneOf(Flag.ITEMS) && Core.getVersion() < 20) { - return RegionFlagPolicy.NOT_APPLICABLE; + if (flag.oneOf(Flag.COLOR, Flag.TNT, Flag.FIRE, Flag.FREEZE, Flag.PROTECT, Flag.NO_GRAVITY, Flag.CHANGED)) { + return RegionFlagPolicy.WRITABLE; + } + if (flag.oneOf(Flag.ITEMS) && Core.getVersion() >= 20) { + return RegionFlagPolicy.WRITABLE; } if (flag.oneOf(Flag.TESTBLOCK)) { return RegionFlagPolicy.READ_ONLY; } - return RegionFlagPolicy.WRITABLE; + return RegionFlagPolicy.NOT_APPLICABLE; } @Override diff --git a/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedGlobalFlagStorage.java b/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedGlobalFlagStorage.java index 164b40e6..9017cf96 100644 --- a/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedGlobalFlagStorage.java +++ b/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedGlobalFlagStorage.java @@ -42,16 +42,16 @@ public class FixedGlobalFlagStorage implements FlagStorage { @Override public @NonNull & Flag.Value> RegionFlagPolicy has(@NonNull Flag flag) { - if (flag.oneOf(Flag.PROTECT, Flag.TESTBLOCK, Flag.NO_GRAVITY, Flag.CHANGED)) { - return RegionFlagPolicy.NOT_APPLICABLE; - } - if (flag.oneOf(Flag.ITEMS) && Core.getVersion() < 20) { - return RegionFlagPolicy.NOT_APPLICABLE; - } if (flag.oneOf(Flag.COLOR)) { return RegionFlagPolicy.READ_ONLY; } - return RegionFlagPolicy.WRITABLE; + if (flag.oneOf(Flag.ITEMS) && Core.getVersion() >= 20) { + return RegionFlagPolicy.WRITABLE; + } + if (flag.oneOf(Flag.TNT, Flag.FIRE, Flag.FREEZE)) { + return RegionFlagPolicy.WRITABLE; + } + return RegionFlagPolicy.NOT_APPLICABLE; } @Override