package cn.citycraft.ResExtras.flags; import org.bukkit.ChatColor; import org.bukkit.Location; 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.bekvon.bukkit.residence.Residence; import com.bekvon.bukkit.residence.protection.ClaimedResidence; import cn.citycraft.ResExtras.ResExtras; public class EnderPearl implements Listener { ChatColor derpa = ChatColor.RED; @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onEnderPearl(final PlayerTeleportEvent event) { final Location loc = event.getTo(); final Player player = event.getPlayer(); final ClaimedResidence res = Residence.getResidenceManager().getByLoc(loc); final boolean resadmin = Residence.isResAdminOn(player); final String playername = player.getName(); if (res != null) { if (event.getCause() == TeleportCause.ENDER_PEARL && !res.getPermissions().playerHas(playername, "enderpearl", true) && !resadmin) { event.setCancelled(true); ResExtras.sendMessage(player, "EnderPearl"); } } } }