testState(relevant flags) == DENY on whitelist cases.

Fixes WORLDGUARD-3294.
This commit is contained in:
sk89q 2015-01-10 23:31:24 -08:00
parent d883c22d64
commit 6fe63838f5

View File

@ -383,7 +383,7 @@ public void onUseEntity(UseEntityEvent event) {
/* Hostile / ambient mob override */
if (Entities.isHostile(event.getEntity()) || Entities.isAmbient(event.getEntity()) || Entities.isNPC(event.getEntity())) {
canUse = event.getRelevantFlags().isEmpty() || query.testState(target, associable, combine(event));
canUse = event.getRelevantFlags().isEmpty() || query.queryState(target, associable, combine(event)) != State.DENY;
what = "use that";
/* Paintings, item frames, etc. */
@ -431,7 +431,7 @@ public void onDamageEntity(DamageEntityEvent event) {
/* Hostile / ambient mob override */
if (Entities.isHostile(event.getEntity()) || Entities.isAmbient(event.getEntity())) {
canDamage = event.getRelevantFlags().isEmpty() || query.testState(target, associable, combine(event));
canDamage = event.getRelevantFlags().isEmpty() || query.queryState(target, associable, combine(event)) != State.DENY;
what = "hit that";
/* Paintings, item frames, etc. */
@ -455,7 +455,7 @@ public void onDamageEntity(DamageEntityEvent event) {
/* Player damage not caused by another player */
} else if (event.getEntity() instanceof Player) {
canDamage = event.getRelevantFlags().isEmpty() || query.testState(target, associable, combine(event));
canDamage = event.getRelevantFlags().isEmpty() || query.queryState(target, associable, combine(event)) != State.DENY;
what = "damage that";
/* Everything else */