From 92121c11e2b5e8d3acc8eb6989dd544c240bea6f Mon Sep 17 00:00:00 2001 From: fullwall Date: Mon, 1 Oct 2018 18:36:12 +0800 Subject: [PATCH] Trial portals --- main/src/main/java/net/citizensnpcs/EventListen.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/main/src/main/java/net/citizensnpcs/EventListen.java b/main/src/main/java/net/citizensnpcs/EventListen.java index 14ab03087..3ee8b90aa 100644 --- a/main/src/main/java/net/citizensnpcs/EventListen.java +++ b/main/src/main/java/net/citizensnpcs/EventListen.java @@ -26,6 +26,7 @@ import org.bukkit.event.entity.EntityDamageByBlockEvent; import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityDeathEvent; +import org.bukkit.event.entity.EntityPortalEvent; import org.bukkit.event.entity.EntityTargetEvent; import org.bukkit.event.entity.PlayerLeashEntityEvent; import org.bukkit.event.entity.PotionSplashEvent; @@ -270,6 +271,17 @@ public class EventListen implements Listener { } } + @EventHandler + public void onEntityPortal(EntityPortalEvent event) { + NPC npc = npcRegistry.getNPC(event.getEntity()); + if (npc == null && event.getEntityType() != EntityType.PLAYER) + return; + event.setCancelled(true); + npc.despawn(DespawnReason.PENDING_RESPAWN); + event.getTo().getChunk(); + npc.spawn(event.getTo(), SpawnReason.RESPAWN); + } + @EventHandler(priority = EventPriority.HIGHEST) public void onEntitySpawn(CreatureSpawnEvent event) { if (event.isCancelled() && npcRegistry.isNPC(event.getEntity())) {