Fixed issue with plugin attempting to register a task when being disabled under certain conditions
This commit is contained in:
parent
0e009401be
commit
7dd20f599e
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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));
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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()) {
|
||||
|
@ -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();
|
||||
|
@ -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 <message>");
|
||||
}
|
||||
} 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")) {
|
||||
|
@ -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> " + 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> " + 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user