Skip to content

Commit

Permalink
improve target processing order, fixes #257
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmonkey4eva committed Jul 25, 2018
1 parent f7f2b37 commit 3edb34b
Showing 1 changed file with 42 additions and 42 deletions.
84 changes: 42 additions & 42 deletions src/main/java/org/mcmonkey/sentinel/SentinelTrait.java
Original file line number Diff line number Diff line change
Expand Up @@ -1521,16 +1521,35 @@ public boolean isIgnored(LivingEntity entity) {
if (isInvisible(entity)) {
return true;
}
if (entity.hasMetadata("NPC")) {
return ignores.contains(SentinelTarget.NPCS.name()) ||
isRegexTargeted(CitizensAPI.getNPCRegistry().getNPC(entity).getName(), npcNameIgnores);
}
if (entity.getUniqueId().equals(getLivingEntity().getUniqueId())) {
return true;
}
if (getGuarding() != null && entity.getUniqueId().equals(getGuarding())) {
return true;
}
if (SentinelTarget.v1_9) {
if (entity.getEquipment() != null && entity.getEquipment().getItemInMainHand() != null
&& isRegexTargeted(entity.getEquipment().getItemInMainHand().getType().name(), heldItemIgnores)) {
return true;
}
}
else {
if (entity.getEquipment() != null && entity.getEquipment().getItemInHand() != null
&& isRegexTargeted(entity.getEquipment().getItemInHand().getType().name(), heldItemIgnores)) {
return true;
}
}
for (SentinelIntegration integration : SentinelPlugin.integrations) {
for (String text : otherIgnores) {
if (integration.isTarget(entity, text)) {
return true;
}
}
}
if (entity.hasMetadata("NPC")) {
return ignores.contains(SentinelTarget.NPCS.name()) ||
isRegexTargeted(CitizensAPI.getNPCRegistry().getNPC(entity).getName(), npcNameIgnores);
}
else if (entity instanceof Player) {
if (((Player) entity).getGameMode() == GameMode.CREATIVE || ((Player) entity).getGameMode() == GameMode.SPECTATOR) {
return true;
Expand Down Expand Up @@ -1558,25 +1577,6 @@ else if (isRegexTargeted(entity.getCustomName() == null ? entity.getType().name(
return true;
}
}
if (SentinelTarget.v1_9) {
if (entity.getEquipment() != null && entity.getEquipment().getItemInMainHand() != null
&& isRegexTargeted(entity.getEquipment().getItemInMainHand().getType().name(), heldItemIgnores)) {
return true;
}
}
else {
if (entity.getEquipment() != null && entity.getEquipment().getItemInHand() != null
&& isRegexTargeted(entity.getEquipment().getItemInHand().getType().name(), heldItemIgnores)) {
return true;
}
}
for (SentinelIntegration integration : SentinelPlugin.integrations) {
for (String text : otherIgnores) {
if (integration.isTarget(entity, text)) {
return true;
}
}
}
return false;
}

Expand All @@ -1595,6 +1595,25 @@ public boolean isTargeted(LivingEntity entity) {
if (currentTargets.contains(target)) {
return true;
}
if (SentinelTarget.v1_9) {
if (entity.getEquipment() != null && entity.getEquipment().getItemInMainHand() != null
&& isRegexTargeted(entity.getEquipment().getItemInMainHand().getType().name(), heldItemTargets)) {
return true;
}
}
else {
if (entity.getEquipment() != null && entity.getEquipment().getItemInHand() != null
&& isRegexTargeted(entity.getEquipment().getItemInHand().getType().name(), heldItemTargets)) {
return true;
}
}
for (SentinelIntegration integration : SentinelPlugin.integrations) {
for (String text : otherTargets) {
if (integration.isTarget(entity, text)) {
return true;
}
}
}
if (entity.hasMetadata("NPC")) {
return targets.contains(SentinelTarget.NPCS.name()) ||
isRegexTargeted(CitizensAPI.getNPCRegistry().getNPC(entity).getName(), npcNameTargets);
Expand Down Expand Up @@ -1623,25 +1642,6 @@ else if (isRegexTargeted(entity.getCustomName() == null ? entity.getType().name(
return true;
}
}
if (SentinelTarget.v1_9) {
if (entity.getEquipment() != null && entity.getEquipment().getItemInMainHand() != null
&& isRegexTargeted(entity.getEquipment().getItemInMainHand().getType().name(), heldItemTargets)) {
return true;
}
}
else {
if (entity.getEquipment() != null && entity.getEquipment().getItemInHand() != null
&& isRegexTargeted(entity.getEquipment().getItemInHand().getType().name(), heldItemTargets)) {
return true;
}
}
for (SentinelIntegration integration : SentinelPlugin.integrations) {
for (String text : otherTargets) {
if (integration.isTarget(entity, text)) {
return true;
}
}
}
return false;
}

Expand Down

0 comments on commit 3edb34b

Please sign in to comment.