mirror of
https://github.com/EngineHub/WorldGuard.git
synced 2024-10-07 02:57:28 +02:00
Don't check region group if the flag value is null.
This commit is contained in:
parent
0f10e89f7c
commit
095f2aa67e
@ -390,25 +390,28 @@ public <V> V getEffectiveFlag(final ProtectedRegion region, Flag<V> flag, @Nulla
|
|||||||
|
|
||||||
while (current != null) {
|
while (current != null) {
|
||||||
V value = current.getFlag(flag);
|
V value = current.getFlag(flag);
|
||||||
boolean use = true;
|
|
||||||
|
|
||||||
if (flag.getRegionGroupFlag() != null) {
|
if (value != null) {
|
||||||
RegionGroup group = current.getFlag(flag.getRegionGroupFlag());
|
boolean use = true;
|
||||||
if (group == null) {
|
|
||||||
group = flag.getRegionGroupFlag().getDefault();
|
if (flag.getRegionGroupFlag() != null) {
|
||||||
|
RegionGroup group = current.getFlag(flag.getRegionGroupFlag());
|
||||||
|
if (group == null) {
|
||||||
|
group = flag.getRegionGroupFlag().getDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (subject == null) {
|
||||||
|
use = group.contains(Association.NON_MEMBER);
|
||||||
|
} else if (!group.contains(subject.getAssociation(region))) {
|
||||||
|
use = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (subject == null) {
|
if (use) {
|
||||||
use = group.contains(Association.NON_MEMBER);
|
return value;
|
||||||
} else if (!group.contains(subject.getAssociation(region))) {
|
|
||||||
use = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (use && value != null) {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
|
|
||||||
current = current.getParent();
|
current = current.getParent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user