package me.avery246813579.hotpotato.timers; import org.bukkit.Bukkit; import org.bukkit.Sound; import me.avery246813579.hotpotato.files.FileHandler; import me.avery246813579.hotpotato.game.GameManager; import me.avery246813579.hotpotato.game.GamePlayer; import me.avery246813579.hotpotato.game.GameTimer; import me.avery246813579.hotpotato.util.MessageUtil; public class StartingTimer extends GameTimer{ public StartingTimer(GameManager game) { super(game, FileHandler.ConfigFile.getFile().getInt("lobbyTime")); } @Override protected void onScheduleEnd(int timeState) { if(FileHandler.ConfigFile.getFile().getInt("minPlayers") > getGameManager().getGamePlayers().size() && !getGameManager().isForceStart()){ for(GamePlayer gp : getGameManager().getGamePlayers()){ MessageUtil.sendTextMessage(gp.getPlayer(), "notEnoughPlayers"); } Bukkit.getScheduler().cancelTask(timeState); new LobbyTimer(getGameManager()); return; } Bukkit.getScheduler().cancelTask(timeState); getGameManager().prepareGame(); } @Override protected void onRunnableTick(int timeLeft) { if((int)(FileHandler.ConfigFile.getFile().getInt("maxPlayers") * .75) <= Bukkit.getOnlinePlayers().size() && timeLeft > (int)(timeLeft * 25)){ timeLeft = (int)(timeLeft * .25); } for(GamePlayer gp : getGameManager().getGamePlayers()){ if(timeLeft % 15 == 0 && timeLeft != 0 || timeLeft == 10 || timeLeft <= 5){ MessageUtil.sendTextMessage(gp.getPlayer(), "lobbyCountdown", Integer.toString(timeLeft)); } if(timeLeft <= 5){ gp.getPlayer().playSound(gp.getPlayer().getLocation(), Sound.NOTE_PLING, 2.0F, 1.0F); } } for (GamePlayer gp : getGameManager().getGamePlayers()) { gp.getPlayer().setLevel(timeLeft); } } }