Skip to content

Commit

Permalink
Add "on entity teleports" world script event. Now you can stop enderm…
Browse files Browse the repository at this point in the history
…en from teleporting.
  • Loading branch information
davidcernat committed Jul 3, 2013
1 parent e009a6b commit 4a08886
Showing 1 changed file with 19 additions and 2 deletions.
Expand Up @@ -26,6 +26,7 @@
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityRegainHealthEvent;
import org.bukkit.event.entity.EntityTargetEvent;
import org.bukkit.event.entity.EntityTeleportEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.*;
import org.bukkit.event.server.ServerCommandEvent;
Expand Down Expand Up @@ -576,12 +577,28 @@ public void entityTarget(EntityTargetEvent event) {

String determination;

determination = doEvent(entity.getType().name() + " targets " + target.getType().name(), null, (Player) event.getEntity(), context);
determination = doEvent(entity.getType().name() + " targets " + target.getType().name(), null, null, context);

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

determination = doEvent(entity.getType().name() + " targets " + target.getType().name() + " because " + event.getReason().name(), null, (Player) event.getEntity(), context);
determination = doEvent(entity.getType().name() + " targets " + target.getType().name() + " because " + event.getReason().name(), null, null, context);

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

@EventHandler
public void entityTeleport(EntityTeleportEvent event) {

Map<String, Object> context = new HashMap<String, Object>();
Entity entity = event.getEntity();

context.put("entity", new dEntity(entity));
context.put("origin", new dLocation(event.getFrom()));
context.put("destination", new dLocation(event.getTo()));

String determination = doEvent(entity.getType().name() + " teleports", null, null, context);

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

0 comments on commit 4a08886

Please sign in to comment.