diff --git a/TwosideKeeper.jar b/TwosideKeeper.jar index fee5107..88375e5 100644 Binary files a/TwosideKeeper.jar and b/TwosideKeeper.jar differ diff --git a/src/sig/plugin/TwosideKeeper/EliteMonster.java b/src/sig/plugin/TwosideKeeper/EliteMonster.java index 7ba09da..3c6dbd1 100644 --- a/src/sig/plugin/TwosideKeeper/EliteMonster.java +++ b/src/sig/plugin/TwosideKeeper/EliteMonster.java @@ -361,7 +361,7 @@ public class EliteMonster { m.eject(); } LivingEntity l = m.getTarget(); - if (l!=null) { + if (l!=null && l.getWorld().equals(m.getWorld())) { if (l.isDead()) { targetlist.remove(l); if (targetlist.size()>0) { diff --git a/src/sig/plugin/TwosideKeeper/HelperStructures/Common/GenericFunctions.java b/src/sig/plugin/TwosideKeeper/HelperStructures/Common/GenericFunctions.java index 92d4523..019437a 100644 --- a/src/sig/plugin/TwosideKeeper/HelperStructures/Common/GenericFunctions.java +++ b/src/sig/plugin/TwosideKeeper/HelperStructures/Common/GenericFunctions.java @@ -3026,7 +3026,7 @@ public class GenericFunctions { if (damager!=null) { if (md.hitlist.containsKey(damager.getUniqueId())) { long time = md.hitlist.get(damager.getUniqueId()); - TwosideKeeper.log("Last hit on "+time+". Current time: "+TwosideKeeper.getServerTickTime(), 2); + TwosideKeeper.log("Last hit on "+time+". Current time: "+TwosideKeeper.getServerTickTime(), 5); if (time+10Last hit on "+time+". Current time: "+TwosideKeeper.getServerTickTime(), 2); + TwosideKeeper.log("->Last hit on "+time+". Current time: "+TwosideKeeper.getServerTickTime(), 5); if (time+100) { Location rand_node=getRandomNode(); diff --git a/src/sig/plugin/TwosideKeeper/TwosideKeeper.java b/src/sig/plugin/TwosideKeeper/TwosideKeeper.java index b0e3a52..1bb48bd 100644 --- a/src/sig/plugin/TwosideKeeper/TwosideKeeper.java +++ b/src/sig/plugin/TwosideKeeper/TwosideKeeper.java @@ -86,6 +86,7 @@ import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityDamageEvent.DamageCause; import org.bukkit.event.entity.EntityDamageEvent.DamageModifier; import org.bukkit.event.entity.EntityDeathEvent; +import org.bukkit.event.entity.EntityPortalEvent; import org.bukkit.event.entity.EntityRegainHealthEvent; import org.bukkit.event.entity.EntityShootBowEvent; import org.bukkit.event.entity.EntityTargetEvent.TargetReason; @@ -4179,10 +4180,19 @@ public class TwosideKeeper extends JavaPlugin implements Listener { } } } + + @EventHandler(priority=EventPriority.LOW,ignoreCancelled = true) + public void onEliteTeleport(EntityPortalEvent ev) { + if (ev.getEntity() instanceof Monster && MonsterController.getMonsterDifficulty((Monster)ev.getEntity()).equals(MonsterDifficulty.ELITE)) { + ev.setTo(ev.getFrom()); + ev.setCancelled(true); + } + } @EventHandler(priority=EventPriority.LOW,ignoreCancelled = true) public void onEndermanTeleport(EntityTeleportEvent ev) { - if (elitemonsters.contains(ev.getEntity())) { + if (ev.getEntity() instanceof Monster && MonsterController.getMonsterDifficulty((Monster)ev.getEntity()).equals(MonsterDifficulty.ELITE)) { + ev.setTo(ev.getFrom()); ev.setCancelled(true); }