Maya/src/main/java/eu/univento/maya/game/GameCounter.java

56 lines
1.5 KiB
Java
Raw Normal View History

2016-09-17 12:04:34 +02:00
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{
2016-10-10 16:52:10 +02:00
private int time = 0;
private int maxTime = 80;
2016-09-17 12:04:34 +02:00
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++;
}
}
2016-10-10 16:52:10 +02:00
private void updateScoreboard() {
2016-09-17 12:04:34 +02:00
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();
}
}
}