Solved Cancelling a Repeating Task

Discussion in 'Plugin Development' started by HenrySartori, Feb 1, 2016.

Thread Status:
Not open for further replies.
  1. Offline

    HenrySartori

    Hey there!
    So, I got stucked in a Problem with a Repeating Task.
    I want to play a particle in the player`s location every 5 ticks, but if the player die, it will stop.
    I Tried creating an separated BukkitRunnable but it won`t works.

    My Code:
    Code:
    if (args[0].equalsIgnoreCase("flash")){
                                if (MainClass.plugin().getConfig().getBoolean("OneCharacterPerLife") == true){
                                    FlashApi.PERLIFE.add(p.getName());
                                }
                                BukkitRunnable br = new BukkitRunnable() {
                                  
                                    @Override
                                    public void run() {
                                        if (!p.isDead()){
                                            p.getWorld().playEffect(p.getLocation(), Effect.FLAME, 0);
                                        } else {
                                            cancel();
                                        }
                                    }
                                };
                                schedule.scheduleSyncRepeatingTask(MainClass.plugin(), br, 0L, 5L);
                                Bukkit.broadcastMessage(p.getDisplayName() + ChatColor.GOLD + " Became The Flash!");
                                p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 1000000000, 5));
                                return false;
                            }
    My Error:
    Code:
    java.lang.IllegalStateException: Not scheduled yet
        at org.bukkit.scheduler.BukkitRunnable.getTaskId(BukkitRunnable.java:134) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.scheduler.BukkitRunnable.cancel(BukkitRunnable.java:18) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at Characters.CharacterManager$1.run(CharacterManager.java:41) ~[?:?]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:641) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
    [23:01:08] [Server thread/WARN]: [TheFlashPlugin] Task #15 for TheFlashPlugin v1.0 generated an exception
    java.lang.IllegalStateException: Not scheduled yet
        at org.bukkit.scheduler.BukkitRunnable.getTaskId(BukkitRunnable.java:134) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.scheduler.BukkitRunnable.cancel(BukkitRunnable.java:18) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at Characters.CharacterManager$1.run(CharacterManager.java:41) ~[?:?]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:641) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
    [23:01:08] [Server thread/WARN]: [TheFlashPlugin] Task #15 for TheFlashPlugin v1.0 generated an exception
    java.lang.IllegalStateException: Not scheduled yet
        at org.bukkit.scheduler.BukkitRunnable.getTaskId(BukkitRunnable.java:134) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.scheduler.BukkitRunnable.cancel(BukkitRunnable.java:18) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at Characters.CharacterManager$1.run(CharacterManager.java:41) ~[?:?]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:641) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
    [23:01:08] [Server thread/WARN]: [TheFlashPlugin] Task #15 for TheFlashPlugin v1.0 generated an exception
    java.lang.IllegalStateException: Not scheduled yet
        at org.bukkit.scheduler.BukkitRunnable.getTaskId(BukkitRunnable.java:134) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.scheduler.BukkitRunnable.cancel(BukkitRunnable.java:18) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at Characters.CharacterManager$1.run(CharacterManager.java:41) ~[?:?]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:641) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
    [23:01:09] [Server thread/WARN]: [TheFlashPlugin] Task #15 for TheFlashPlugin v1.0 generated an exception
    java.lang.IllegalStateException: Not scheduled yet
        at org.bukkit.scheduler.BukkitRunnable.getTaskId(BukkitRunnable.java:134) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.scheduler.BukkitRunnable.cancel(BukkitRunnable.java:18) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at Characters.CharacterManager$1.run(CharacterManager.java:41) ~[?:?]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:641) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
    [23:01:09] [Server thread/WARN]: [TheFlashPlugin] Task #15 for TheFlashPlugin v1.0 generated an exception
    java.lang.IllegalStateException: Not scheduled yet
        at org.bukkit.scheduler.BukkitRunnable.getTaskId(BukkitRunnable.java:134) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.scheduler.BukkitRunnable.cancel(BukkitRunnable.java:18) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at Characters.CharacterManager$1.run(CharacterManager.java:41) ~[?:?]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:641) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
    
    It said `Not Scheduled Yet`. I don`t know what do to.
    Thanks anyway!
    EDIT: It shows normally the particle every 5 ticks, but it gives me the error when I die!
     
  2. Offline

    teej107

  3. Offline

    HenrySartori

    Hi, I`m Henry, I know how to read. I already did this because I know how to read and to write. Reading I could do this:
    Code:
    if (!p.isDead()){
                                            p.getWorld().playEffect(p.getLocation(), Effect.FLAME, 0);
                                        } else {
                                            this.cancel();
                                        }
    And this did the same error.
     
  4. Offline

    teej107

    @HenrySartori Did you even click the link? Did you read the post?
     
  5. Offline

    Xerox262

    Don't use scheduler to make the bukkit runnable run, use BukkitRunnable#runTaskTimer(Plugin, Delay, LoopWait);
     
  6. Offline

    HenrySartori

    I feel so dumb... Thank you!

    Obviously I did, and I did the same with other 10 links I read and couldn`t find the answer.
    BTW, I already found a solution. Thanks anyway.


    [merged by moderator: please use the edit button instead of double-posting]
     
    Last edited by a moderator: Feb 1, 2016
  7. Offline

    blue1

Thread Status:
Not open for further replies.

Share This Page