diff --git a/src/net/theprogrammersworld/herobrine/AI/AICore.java b/src/net/theprogrammersworld/herobrine/AI/AICore.java index 44aa33e..bc74dc4 100644 --- a/src/net/theprogrammersworld/herobrine/AI/AICore.java +++ b/src/net/theprogrammersworld/herobrine/AI/AICore.java @@ -121,7 +121,7 @@ public class AICore { final int playerRolled = Util.getRandomPlayerNum(allOnPlayers); if (allOnPlayers[playerRolled].getEntityId() != Herobrine.herobrineEntityID) { if (Herobrine.getPluginCore().getConfigDB().useWorlds.contains(allOnPlayers[playerRolled].getLocation().getWorld().getName()) && Herobrine.getPluginCore().canAttackPlayerNoMSG(allOnPlayers[playerRolled])) { - cancelTarget(Core.CoreType.ANY); + cancelTarget(Core.CoreType.ANY, true); AICore.PlayerTarget = allOnPlayers[playerRolled]; AICore.isTarget = true; setCoreTypeNow(Core.CoreType.START); @@ -135,7 +135,7 @@ public class AICore { } } - public void cancelTarget(final Core.CoreType coreType) { + public void cancelTarget(final Core.CoreType coreType, boolean withTask) { if ((coreType == currentCore) || (coreType == Core.CoreType.ANY)) { if (AICore.isTarget) { if (currentCore == Core.CoreType.ATTACK) { @@ -154,12 +154,17 @@ public class AICore { nowloc.setPitch(1.0f); Herobrine.herobrineNPC.moveTo(nowloc); currentCore = Core.CoreType.ANY; - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { - @Override - public void run() { - AICore.this.findPlayer(); - } - }, (6 / Herobrine.getPluginCore().getConfigDB().ShowRate) * (Herobrine.getPluginCore().getConfigDB().ShowInterval * 1L)); + if(withTask) { + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { + @Override + public void run() { + AICore.this.findPlayer(); + } + }, (6 / Herobrine.getPluginCore().getConfigDB().ShowRate) * (Herobrine.getPluginCore().getConfigDB().ShowInterval * 1L)); + } + } + else { + AICore.this.findPlayer(); } } } @@ -182,10 +187,10 @@ public class AICore { getCore(Core.CoreType.HAUNT).runCore(data); } } else { - cancelTarget(Core.CoreType.START); + cancelTarget(Core.CoreType.START, true); } } else { - cancelTarget(Core.CoreType.START); + cancelTarget(Core.CoreType.START, true); } } @@ -204,7 +209,7 @@ public class AICore { public void graveyardTeleport(final Player player) { if (player.isOnline()) { showHero(player); - cancelTarget(Core.CoreType.ANY); + cancelTarget(Core.CoreType.ANY, true); Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { @Override public void run() { @@ -233,11 +238,11 @@ public class AICore { final String playername = player.getName(); final Location loc = player.getLocation(); AICore.isTotemCalled = true; - cancelTarget(Core.CoreType.ANY); + cancelTarget(Core.CoreType.ANY, true); Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { @Override public void run() { - AICore.this.cancelTarget(Core.CoreType.ANY); + AICore.this.cancelTarget(Core.CoreType.ANY, true); final Object[] data = { loc, playername }; AICore.this.getCore(Core.CoreType.TOTEM).runCore(data); } @@ -296,7 +301,7 @@ public class AICore { public void callByDisc(final Player player) { AICore.isDiscCalled = false; if (player.isOnline()) { - cancelTarget(Core.CoreType.ANY); + cancelTarget(Core.CoreType.ANY, true); setHauntTarget(player); } } diff --git a/src/net/theprogrammersworld/herobrine/AI/cores/Attack.java b/src/net/theprogrammersworld/herobrine/AI/cores/Attack.java index 96761cd..8e24dc8 100644 --- a/src/net/theprogrammersworld/herobrine/AI/cores/Attack.java +++ b/src/net/theprogrammersworld/herobrine/AI/cores/Attack.java @@ -90,7 +90,7 @@ public class Attack extends Core { if (AICore.PlayerTarget.isOnline() && AICore.isTarget && (Herobrine.getPluginCore().getAICore().getCoreTypeNow() == CoreType.ATTACK)) { if (!AICore.PlayerTarget.isDead()) { if (ticksToEnd == 160) { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK, true); } else { ++ticksToEnd; final Location ploc = AICore.PlayerTarget.getLocation(); @@ -118,10 +118,10 @@ public class Attack extends Core { } } } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK, true); } } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK, true); } } @@ -143,13 +143,13 @@ public class Attack extends Core { } } } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK, true); } } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK, true); } } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK, true); } } @@ -205,10 +205,10 @@ public class Attack extends Core { } Herobrine.herobrineNPC.moveTo(ploc); } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK, true); } } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK, true); } } @@ -228,10 +228,10 @@ public class Attack extends Core { } }, 45L); } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK, true); } } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.ATTACK, true); } } diff --git a/src/net/theprogrammersworld/herobrine/AI/cores/Graveyard.java b/src/net/theprogrammersworld/herobrine/AI/cores/Graveyard.java index 5265e72..f5044c9 100644 --- a/src/net/theprogrammersworld/herobrine/AI/cores/Graveyard.java +++ b/src/net/theprogrammersworld/herobrine/AI/cores/Graveyard.java @@ -121,7 +121,7 @@ public class Graveyard extends Core { } Herobrine.getPluginCore().getAICore(); if (AICore.PlayerTarget == savedPlayer) { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.GRAVEYARD); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.GRAVEYARD, true); } savedPlayer.teleport(new Location(savedWorld, savedX, savedY, savedZ)); } diff --git a/src/net/theprogrammersworld/herobrine/AI/cores/Haunt.java b/src/net/theprogrammersworld/herobrine/AI/cores/Haunt.java index 7df14f7..07a0e5f 100644 --- a/src/net/theprogrammersworld/herobrine/AI/cores/Haunt.java +++ b/src/net/theprogrammersworld/herobrine/AI/cores/Haunt.java @@ -65,7 +65,7 @@ public class Haunt extends Core { if (AICore.PlayerTarget.isOnline() && AICore.isTarget && (Herobrine.getPluginCore().getAICore().getCoreTypeNow() == CoreType.HAUNT)) { if (!AICore.PlayerTarget.isDead()) { if (_ticks > 290) { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT, true); } else { final Object[] data = { AICore.PlayerTarget }; Herobrine.getPluginCore().getAICore().getCore(CoreType.SOUNDF).runCore(data); @@ -115,10 +115,10 @@ public class Haunt extends Core { isFirst = false; } } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT, true); } } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT, true); } } @@ -231,10 +231,10 @@ public class Haunt extends Core { } } } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT, true); } } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT, true); } } @@ -247,13 +247,13 @@ public class Haunt extends Core { ploc.setY(ploc.getY() + 1.5); Herobrine.herobrineNPC.lookAtPoint(ploc); } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT, true); } } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT, true); } } else { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.HAUNT, true); } } diff --git a/src/net/theprogrammersworld/herobrine/AI/cores/Totem.java b/src/net/theprogrammersworld/herobrine/AI/cores/Totem.java index a71d1cb..b53be79 100644 --- a/src/net/theprogrammersworld/herobrine/AI/cores/Totem.java +++ b/src/net/theprogrammersworld/herobrine/AI/cores/Totem.java @@ -65,7 +65,7 @@ public class Totem extends Core { } } if (hasTarget) { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.TOTEM); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.TOTEM, true); Herobrine.getPluginCore().getAICore().setAttackTarget(target); final Player player = target; for (Player oplayer : Bukkit.getOnlinePlayers()) { @@ -93,7 +93,7 @@ public class Totem extends Core { } } if (hasTarget) { - Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.TOTEM); + Herobrine.getPluginCore().getAICore().cancelTarget(CoreType.TOTEM, true); Herobrine.getPluginCore().getAICore().setAttackTarget(target); final Player player = target; for (Player oplayer : Bukkit.getOnlinePlayers()) { diff --git a/src/net/theprogrammersworld/herobrine/Herobrine.java b/src/net/theprogrammersworld/herobrine/Herobrine.java index 30ce0cf..b053344 100644 --- a/src/net/theprogrammersworld/herobrine/Herobrine.java +++ b/src/net/theprogrammersworld/herobrine/Herobrine.java @@ -124,7 +124,7 @@ public class Herobrine extends JavaPlugin implements Listener { @Override public void onDisable() { entMng.killAllMobs(); - aicore.cancelTarget(Core.CoreType.ANY); + aicore.cancelTarget(Core.CoreType.ANY, false); aicore.stopBD(); aicore.stopMAIN(); aicore.stopRC(); diff --git a/src/net/theprogrammersworld/herobrine/commands/CmdExecutor.java b/src/net/theprogrammersworld/herobrine/commands/CmdExecutor.java index b627031..bef2998 100644 --- a/src/net/theprogrammersworld/herobrine/commands/CmdExecutor.java +++ b/src/net/theprogrammersworld/herobrine/commands/CmdExecutor.java @@ -568,7 +568,7 @@ public class CmdExecutor implements CommandExecutor { } } else if (args[0].equalsIgnoreCase("cancel")) { if (player.hasPermission("herobrine.cancel")) { - P_Core.getAICore().cancelTarget(Core.CoreType.ANY); + P_Core.getAICore().cancelTarget(Core.CoreType.ANY, true); player.sendMessage(ChatColor.RED + "[Herobrine] The current Herobrine victim has been saved."); } else { @@ -956,7 +956,7 @@ public class CmdExecutor implements CommandExecutor { log.info("Usage: /herobrine pluginreport "); } } else if (args[0].equalsIgnoreCase("cancel")) { - P_Core.getAICore().cancelTarget(Core.CoreType.ANY); + P_Core.getAICore().cancelTarget(Core.CoreType.ANY, true); log.info(ChatColor.RED + "[Herobrine] The current Herobrine victim has been saved."); } else if (args[0].equalsIgnoreCase("reload")) { diff --git a/src/net/theprogrammersworld/herobrine/listeners/EntityListener.java b/src/net/theprogrammersworld/herobrine/listeners/EntityListener.java index 853bce3..9bdfb6d 100644 --- a/src/net/theprogrammersworld/herobrine/listeners/EntityListener.java +++ b/src/net/theprogrammersworld/herobrine/listeners/EntityListener.java @@ -120,7 +120,7 @@ public class EntityListener implements Listener { } } } - Herobrine.getPluginCore().getAICore().cancelTarget(Core.CoreType.ANY); + Herobrine.getPluginCore().getAICore().cancelTarget(Core.CoreType.ANY, true); Herobrine.HerobrineHP = Herobrine.HerobrineMaxHP; Player player = (Player)dEvent.getDamager(); player.sendMessage(" " + Herobrine.getPluginCore().getConfigDB().DeathMessage); @@ -139,7 +139,7 @@ public class EntityListener implements Listener { { if (Herobrine.getPluginCore().getAICore().getCoreTypeNow() == Core.CoreType.RANDOM_POSITION) { - Herobrine.getPluginCore().getAICore().cancelTarget(Core.CoreType.ANY); + Herobrine.getPluginCore().getAICore().cancelTarget(Core.CoreType.ANY, true); Herobrine.getPluginCore().getAICore().setAttackTarget((Player)arrow.getShooter()); } else if (event.getDamage() >= Herobrine.HerobrineHP) @@ -155,7 +155,7 @@ public class EntityListener implements Listener { } } } - Herobrine.getPluginCore().getAICore().cancelTarget(Core.CoreType.ANY); + Herobrine.getPluginCore().getAICore().cancelTarget(Core.CoreType.ANY, true); Herobrine.HerobrineHP = Herobrine.HerobrineMaxHP; Player player = (Player)arrow.getShooter(); player.sendMessage(" " + Herobrine.getPluginCore().getConfigDB().DeathMessage); @@ -172,7 +172,7 @@ public class EntityListener implements Listener { Location newloc = Herobrine.herobrineNPC.getBukkitEntity().getLocation(); newloc.setY(-20.0D); Herobrine.herobrineNPC.moveTo(newloc); - Herobrine.getPluginCore().getAICore().cancelTarget(Core.CoreType.ANY); + Herobrine.getPluginCore().getAICore().cancelTarget(Core.CoreType.ANY, true); } } else if (Herobrine.getPluginCore().getAICore().getCoreTypeNow() == Core.CoreType.RANDOM_POSITION) @@ -180,7 +180,7 @@ public class EntityListener implements Listener { Location newloc = Herobrine.herobrineNPC.getBukkitEntity().getLocation(); newloc.setY(-20.0D); Herobrine.herobrineNPC.moveTo(newloc); - Herobrine.getPluginCore().getAICore().cancelTarget(Core.CoreType.ANY); + Herobrine.getPluginCore().getAICore().cancelTarget(Core.CoreType.ANY, true); } } } diff --git a/src/net/theprogrammersworld/herobrine/listeners/PlayerListener.java b/src/net/theprogrammersworld/herobrine/listeners/PlayerListener.java index 01e3ae4..bd8fb59 100644 --- a/src/net/theprogrammersworld/herobrine/listeners/PlayerListener.java +++ b/src/net/theprogrammersworld/herobrine/listeners/PlayerListener.java @@ -119,7 +119,7 @@ public class PlayerListener implements Listener { final Player player = event.getPlayer(); Herobrine.getPluginCore().getAICore(); AICore.isDiscCalled = true; - Herobrine.getPluginCore().getAICore().cancelTarget(Core.CoreType.ANY); + Herobrine.getPluginCore().getAICore().cancelTarget(Core.CoreType.ANY, true); Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { @Override public void run() { @@ -174,7 +174,7 @@ public class PlayerListener implements Listener { (Herobrine.herobrineNPC.getNMSEntity().getBukkitEntity().getLocation().getBlockX() < -Herobrine.getPluginCore().getConfigDB().WalkingModeXRadius) && (Herobrine.herobrineNPC.getNMSEntity().getBukkitEntity().getLocation().getBlockZ() > Herobrine.getPluginCore().getConfigDB().WalkingModeZRadius) && (Herobrine.herobrineNPC.getNMSEntity().getBukkitEntity().getLocation().getBlockZ() < -Herobrine.getPluginCore().getConfigDB().WalkingModeZRadius)) { - Herobrine.getPluginCore().getAICore().cancelTarget(Core.CoreType.RANDOM_POSITION); + Herobrine.getPluginCore().getAICore().cancelTarget(Core.CoreType.RANDOM_POSITION, true); Herobrine.herobrineNPC.moveTo(new Location(Bukkit.getServer().getWorlds().get(0), 0.0D, -20.0D, 0.0D)); } }