forked from SteamWar/SteamWar
Rework FixedFlagStorage and FixedGlobalFlagStorage to not be sensitive on adding a new Flag
This commit is contained in:
+6
-3
@@ -41,13 +41,16 @@ public class FixedFlagStorage implements FlagStorage {
|
||||
|
||||
@Override
|
||||
public @NonNull <T extends Enum<T> & Flag.Value<T>> RegionFlagPolicy has(@NonNull Flag<T> 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
|
||||
|
||||
+7
-7
@@ -42,16 +42,16 @@ public class FixedGlobalFlagStorage implements FlagStorage {
|
||||
|
||||
@Override
|
||||
public @NonNull <T extends Enum<T> & Flag.Value<T>> RegionFlagPolicy has(@NonNull Flag<T> 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
|
||||
|
||||
Reference in New Issue
Block a user