NinjaGamers
Minecrafter
Hallo leute,
ich versuche schon seit mehreren Tagen einen funktionierenden Countdown zu machen für ein kleines Server Spiel. Das Problem ist das der Countdown nur für einen Spieler funktioniert und nicht für alle die ins Spiel rein gegangen sind. Hier mein Code:
Das ist der Countdown zum Spiel starten und meine startGame() Methode ist hier:
Bitte helft mir und sagt mir was ich falsch gemacht habe
MfG Fisell
ich versuche schon seit mehreren Tagen einen funktionierenden Countdown zu machen für ein kleines Server Spiel. Das Problem ist das der Countdown nur für einen Spieler funktioniert und nicht für alle die ins Spiel rein gegangen sind. Hier mein Code:
HTML:
public static int Countdown;
static int count = Integer.parseInt(b.getConfig().getString("Config.Countdown"));
public static boolean countdownRunning = false;
public static void startCountdown(final Bounce b, final Player p) {
countdownRunning = false;
Countdown = b.getServer().getScheduler().scheduleSyncRepeatingTask(b, new Runnable() {
public void run() {
countdownRunning = true;
if(count != -1) {
if(count != 0){
for(int i = 0; i < b.playersInGame.size(); i++) {
p.sendMessage(b.prefix_p + ChatColor.GREEN + "Spiel startet in " + ChatColor.GOLD + count + ChatColor.GREEN + " Sekunden!");
count--;
}
} else {
for(int i = 0; i < b.playersInGame.size(); i++) {
startGame(b, p);
Bukkit.getScheduler().cancelTask(Countdown);
countdownRunning = false;
setCount();
}
}
}
}
public void setCount(){
count = 30;
}
},0L, 20L);
}
Das ist der Countdown zum Spiel starten und meine startGame() Methode ist hier:
HTML:
public static boolean gameRunning = false;
public static int Game;
public static int gameTime = Integer.parseInt(b.getConfig().getString("Config.GameTime"));
public static void startGame(final Bounce b, final Player p) {
gameRunning = false;
World gameWorld = b.getServer().getWorld(b.getConfig().getString("Config.Game.Arena1.world"));
Location game = new Location(gameWorld, b.getConfig().getDouble("Config.Game.Arena1.x"), b.getConfig().getDouble("Config.Game.Arena1.y"), b.getConfig().getDouble("Config.Game.Arena1.z"));
p.teleport(game);
p.sendMessage(b.prefix_p + ChatColor.DARK_PURPLE + "The game has started! Good luck! :)");
Game = b.getServer().getScheduler().scheduleSyncRepeatingTask(b, new Runnable() {
public void run() {
gameRunning = true;
if(gameTime != -1) {
if(gameTime == 10){
for(int i = 0; i < b.playersInGame.size(); i++) {
p.sendMessage(b.prefix_p + ChatColor.GREEN + "The game ends in 10 seconds!");
}
if(gameTime != 0) {
gameTime--;
if(gameTime == 10){
for(int i = 0; i < b.playersInGame.size(); i++) {
p.sendMessage(b.prefix_p + ChatColor.GREEN + "The game ends in 10 seconds!");
}
}
} else {
for(int i = 0; i < b.playersInGame.size(); i++) {
stopGame(b, p);
Bukkit.getScheduler().cancelTask(Game);
gameRunning = false;
}
}
}
}
}
}, 0L, 20L);
}
Bitte helft mir und sagt mir was ich falsch gemacht habe
MfG Fisell