57 lines
1.5 KiB
Java
57 lines
1.5 KiB
Java
package eu.univento.maya.game;
|
|
|
|
import eu.univento.maya.Maya;
|
|
import eu.univento.maya.Utils;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.scheduler.BukkitRunnable;
|
|
import org.bukkit.scoreboard.DisplaySlot;
|
|
import org.bukkit.scoreboard.Objective;
|
|
import org.bukkit.scoreboard.Score;
|
|
import org.bukkit.scoreboard.Scoreboard;
|
|
|
|
|
|
/**
|
|
* runnable for game counter
|
|
* @author joethei
|
|
* @version 0.2
|
|
*/
|
|
public class GameCounter extends BukkitRunnable{
|
|
|
|
int time = 0;
|
|
int maxTime = 80;
|
|
|
|
public void run() {
|
|
if(Maya.getStage() == GameStage.InGame) {
|
|
updateScoreboard();
|
|
if(Maya.getPlayers().size() <= 1) {
|
|
Utils.endGame(Maya.getStage());
|
|
}
|
|
if(time == maxTime) {
|
|
Maya.setStage(GameStage.Buy);
|
|
Maya.buyID = Maya.getInstance().getServer().getScheduler().scheduleSyncRepeatingTask(Maya.getInstance(), new BuyCounter(), 20L, 20L);
|
|
Bukkit.getScheduler().cancelTask(Maya.gameID);
|
|
}
|
|
time++;
|
|
}
|
|
return;
|
|
}
|
|
|
|
void updateScoreboard() {
|
|
Scoreboard board = Bukkit.getScoreboardManager().getMainScoreboard();
|
|
|
|
Objective obj = board.getObjective("maya");
|
|
if(obj == null) {
|
|
obj = board.registerNewObjective("maya", "dummy");
|
|
}
|
|
|
|
obj.setDisplayName("§6Maya");
|
|
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
|
|
|
|
Score time = obj.getScore("§6Zeit:");
|
|
time.setScore(this.time);
|
|
|
|
if(this.time == maxTime) {
|
|
obj.unregister();
|
|
}
|
|
}
|
|
} |