Solved Runnable won't subtract...

Discussion in 'Plugin Development' started by ShadowLAX, Aug 13, 2013.

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

    ShadowLAX

    Hello bukkit, I'm having a problem with a runnable i'm using. I can't get it to subtract one everytime it runs. I know I have to use the --, but it still won't subtract... It always broadcasts the first if statement even though i used the number--; at the bottom... I don't know what i'm doing wrong, please help and thanks!
    Code:
    Code:
    int number;
     
    int number2;
     
    counter = plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
                            public void run() {
                                number = 20;
                                if (number == 20) {
                                    Bukkit.broadcastMessage(ChatColor.AQUA + "" + number + " " + message);
                                } else if (number == 15) {
                                    Bukkit.broadcastMessage(ChatColor.AQUA + "" + number + " " + message);
                                } else if (number == 10) {
                                    Bukkit.broadcastMessage(ChatColor.AQUA + "" + number + " " + message);
                                } else if (number == 9) {
                                    Bukkit.broadcastMessage(ChatColor.AQUA + "" + number + " " + message);
                                } else if (number == 8) {
                                    Bukkit.broadcastMessage(ChatColor.AQUA + "" + number + " " + message);
                                } else if (number == 7) {
                                    Bukkit.broadcastMessage(ChatColor.AQUA + "" + number + " " + message);
                                } else if (number == 6) {
                                    Bukkit.broadcastMessage(ChatColor.AQUA + "" + number + " " + message);
                                } else if (number == 5) {
                                    Bukkit.broadcastMessage(ChatColor.AQUA + "" + number + " " + message);
                                } else if (number == 4) {
                                    Bukkit.broadcastMessage(ChatColor.AQUA + "" + number + " " + message);
                                } else if (number == 3) {
                                    Bukkit.broadcastMessage(ChatColor.AQUA + "" + number + " " + message);
                                } else if (number == 2) {
                                    Bukkit.broadcastMessage(ChatColor.AQUA + "" + number + " " + message);
                                } else if (number == 1) {
                                    Bukkit.broadcastMessage(ChatColor.AQUA + "" + number + " " + message);
                                } else if (number == 0) {
                                    for (Player player : Bukkit.getOnlinePlayers()) {
                                        String playern = player.getName();
                                        if (Main.alive.contains(playern)) {
                                            player.teleport(plugin.getLobby());
                                            Bukkit.getServer().getScheduler().cancelTask(counter);
                                            Main.game();
                                        }
                                    }
                                    counter2 = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
                                        public void run() {
                                            number2 = 0;
                                            if (number2 == 60) {
                                                Bukkit.broadcastMessage(ChatColor.AQUA + "" + "9 " + message2);
                                            } else if (number2 == 120) {
                                                Bukkit.broadcastMessage(ChatColor.AQUA + "" + "8 "+ message2);
                                            } else if (number2 == 180) {
                                                Bukkit.broadcastMessage(ChatColor.AQUA + "" + "7 " + message2);
                                            } else if (number2 == 240) {
                                                Bukkit.broadcastMessage(ChatColor.AQUA + "" + "6 " + message2);
                                            } else if (number2 == 300) {
                                                Bukkit.broadcastMessage(ChatColor.AQUA + "" + "5 " + message2);
                                            } else if (number2 == 360) {
                                                Bukkit.broadcastMessage(ChatColor.AQUA + "" + "4 " + message2);
                                            } else if (number2 == 420) {
                                                Bukkit.broadcastMessage(ChatColor.AQUA + "" + "3 " + message2);
                                            } else if (number2 == 480) {
                                                Bukkit.broadcastMessage(ChatColor.AQUA + "" + "2 " + message2);
                                            } else if (number2 == 540) {
                                                Bukkit.broadcastMessage(ChatColor.AQUA + "" + "1 " + message2);
                                            } else if (number2 == 600) {
                                                Bukkit.broadcastMessage(ChatColor.GREEN + "game has ended!");
                                                Bukkit.getServer().getScheduler().cancelTask(counter2);
                                                number = 20;
                                                number2 = 0;
                                                game = false;
                                                for (Player player : Bukkit.getOnlinePlayers()) {
                                                    String playern = player.getName();
                                                    if (Main.alive.contains(playern) || Main.dead.contains(playern)) {
                                                        player.teleport(plugin.getLobby());
                                                        if (Main.alive.contains(playern)) {
                                                        Main.alive.remove(playern);
                                                        } else if (Main.dead.contains(playern)) {
                                                        Main.dead.remove(playern);
                                                        }
                                                    }
                                                }
                                                Main.locs.clear();
                                            }
                                            number2--;
                                        }
                                       
                                    }, 0L, 20L);
                                   
                                }
                                number--;
                                }
                            }
                           
                        }, 0L, 20L);
                        }
                    }
     
                    } else {
                        sender.sendMessage(ChatColor.RED + "You can't join at this time!");
                        for (Player p : Bukkit.getOnlinePlayers()) {
                            if (p.isOp()) {
                                p.sendMessage(ChatColor.RED + "game is not configured! Check with the owner in console that there is no error!");
                            }
                        }
                    }
                } else {
                    sender.sendMessage("You must be a player to use this command!");
                }
            return true;
        }
     
    };
     
  2. Offline

    ZeusAllMighty11

    You are telling the scheduler that every X interval it's running, to:
    - Define number as 20 <--- Your problem
    - Check number


    You should just use a switch method instead of else/if on those, or maybe even a method.
     
  3. Offline

    ShadowLAX

    TheGreenGamerHD oh wow, i can't believe i didn't see that >.< Thank you!
     
Thread Status:
Not open for further replies.

Share This Page