package com.github.jamesnorris.ablockalypse.event.bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import com.github.jamesnorris.ablockalypse.Ablockalypse;
import com.github.jamesnorris.ablockalypse.DataContainer;
import com.github.jamesnorris.ablockalypse.aspect.ZAPlayer;
public class PlayerTeleport implements Listener {
private DataContainer data = Ablockalypse.getData();
/* Called when a player teleports from one location to the other.
* Used mainly for preventing teleportation for ZAPlayers when an ender pearl is thrown. */
@EventHandler(priority = EventPriority.HIGHEST) public void PTE(PlayerTeleportEvent event) {
Player player = event.getPlayer();
if (data.isZAPlayer(player)) {
ZAPlayer zap = data.getZAPlayer(player);
if (event.getCause() == TeleportCause.ENDER_PEARL) {
event.setCancelled(true);
} else if (zap.isInLastStand()) {
zap.getSeat().sit(player);
event.setCancelled(true);
}
}
}
}