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
|
@Override
|
||||||
public @NonNull <T extends Enum<T> & Flag.Value<T>> RegionFlagPolicy has(@NonNull Flag<T> flag) {
|
public @NonNull <T extends Enum<T> & Flag.Value<T>> RegionFlagPolicy has(@NonNull Flag<T> flag) {
|
||||||
if (flag.oneOf(Flag.ITEMS) && Core.getVersion() < 20) {
|
if (flag.oneOf(Flag.COLOR, Flag.TNT, Flag.FIRE, Flag.FREEZE, Flag.PROTECT, Flag.NO_GRAVITY, Flag.CHANGED)) {
|
||||||
return RegionFlagPolicy.NOT_APPLICABLE;
|
return RegionFlagPolicy.WRITABLE;
|
||||||
|
}
|
||||||
|
if (flag.oneOf(Flag.ITEMS) && Core.getVersion() >= 20) {
|
||||||
|
return RegionFlagPolicy.WRITABLE;
|
||||||
}
|
}
|
||||||
if (flag.oneOf(Flag.TESTBLOCK)) {
|
if (flag.oneOf(Flag.TESTBLOCK)) {
|
||||||
return RegionFlagPolicy.READ_ONLY;
|
return RegionFlagPolicy.READ_ONLY;
|
||||||
}
|
}
|
||||||
return RegionFlagPolicy.WRITABLE;
|
return RegionFlagPolicy.NOT_APPLICABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+7
-7
@@ -42,16 +42,16 @@ public class FixedGlobalFlagStorage implements FlagStorage {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull <T extends Enum<T> & Flag.Value<T>> RegionFlagPolicy has(@NonNull Flag<T> flag) {
|
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)) {
|
if (flag.oneOf(Flag.COLOR)) {
|
||||||
return RegionFlagPolicy.READ_ONLY;
|
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
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user