Skip to content

Commit

Permalink
Fix errors in "on entity targets entity" world event.
Browse files Browse the repository at this point in the history
  • Loading branch information
davidcernat committed Jul 3, 2013
1 parent 29568a8 commit 6834bd3
Showing 1 changed file with 32 additions and 11 deletions.
Expand Up @@ -521,21 +521,42 @@ public void entityTarget(EntityTargetEvent event) {
Map<String, Object> context = new HashMap<String, Object>();
Entity entity = event.getEntity();
Entity target = event.getTarget();
Player player = null;

String reason = event.getReason().name();
String entityType = entity.getType().name();

context.put("reason", event.getReason().name());
context.put("entity", new dEntity(entity));
context.put("reason", reason);

if (event.getTarget() instanceof Player) {
context.put("target", new dPlayer((Player) target));
}
else {
context.put("target", new dEntity(target));
}
List<String> events = new ArrayList<String>();
events.add("entity targets");
events.add("entity targets because " + reason);
events.add(entityType + " targets because " + reason);

String determination = doEvents(Arrays.asList
(entity.getType().name() + " targets " + target.getType().name(),
entity.getType().name() + " targets " + target.getType().name() + " because " + event.getReason().name()),
null, null, context);
if (target != null) {

if (event.getTarget() instanceof Player) {
player = (Player) target;
context.put("target", new dPlayer(player));
}
else {
context.put("target", new dEntity(target));
}

String targetType = target.getType().name();

events.add("entity targets entity");
events.add("entity targets entity because " + reason);
events.add("entity targets " + targetType);
events.add("entity targets " + targetType + " because " + reason);
events.add(entityType + " targets entity");
events.add(entityType + " targets entity because " + reason);
events.add(entityType + " targets " + targetType);
events.add(entityType + " targets " + targetType + " because " + reason);
}

String determination = doEvents(events, null, player, context);

if (determination.toUpperCase().startsWith("CANCELLED"))
event.setCancelled(true);
Expand Down

0 comments on commit 6834bd3

Please sign in to comment.