package net.brennholz.challenges;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class Timer_Command implements CommandExecutor {
private Challenges chl = Challenges.getplugin();
public boolean timer;
private int zeit = chl.getConfig().getInt("timer.time");
private int sek;
private int min;
private int hrs;
private String ssek;
private String smin;
@Override
public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) {
timer = chl.getConfig().getBoolean("timer.enabled");
if (sender.hasPermission("challenges.timer")) {
if (args.length >= 1) {
if (args[0].equalsIgnoreCase("resume")) {
if (timer == false) {
timer = true;
chl.getServer().broadcastMessage("§aDer Timer wird fortgesetzt!");
chl.getConfig().set("timer.enabled", timer);
chl.saveConfig();
} else
sender.sendMessage("§cDer Timer läuft bereits!");
} else if (args[0].equalsIgnoreCase("pause")) {
if (timer == true) {
timer = false;
chl.getServer().broadcastMessage("§6Der Timer wurde angehalten");
chl.getConfig().set("timer.enabled", timer);
chl.saveConfig();
} else
sender.sendMessage("§cDer Timer ist bereits pausiert!");
} else if (args[0].equalsIgnoreCase("reset")) {
timer = false;
chl.getConfig().set("timer.enabled", timer);
chl.saveConfig();
zeit = 0;
sek = 0;
min = 0;
hrs = 0;
RefreshConfig();
chl.getServer().broadcastMessage("§cDer Timer wurde zurückgesetzt!");
} else if (args.length >= 2) {
if (args[0].equalsIgnoreCase("set")) {
timer = false;
chl.getConfig().set("timer.enabled", timer);
chl.saveConfig();
zeit = Integer.parseInt(args[1]);
RefreshConfig();
chl.getServer().broadcastMessage(
"§bDer Timer wurde auf §a" + hrs + ":" + smin + ":" + ssek + " §bgesetzt!");
}
} else
sender.sendMessage("§cBenutze: /timer resume/pause/reset/set [Zeit in Sekunden]");
} else {
sender.sendMessage("§c~~~~~ §6Timer command §c~~~~~");
sender.sendMessage("§c/timer resume §4- §6Setze den Timer fort");
sender.sendMessage("§c/timer pause §4- §6Pausiere den Timer");
sender.sendMessage("§c/timer reset §4- §6Setze den Timer zurück");
sender.sendMessage("§c/timer set [Zeit in Sekunden] §4- §6Setze den Timer auf eine bestimmte Zeit");
}
} else
sender.sendMessage("§cDu hast hierfür keine Berechtigung");
return true;
}
@SuppressWarnings("deprecation")
public void Run_Timer() {
Bukkit.getScheduler().scheduleAsyncRepeatingTask(chl, new Runnable() {
@Override
public void run() {
boolean ttimer = chl.getConfig().getBoolean("timer.enabled");
int ttime = chl.getConfig().getInt("timer.time");
int thrs = chl.getConfig().getInt("timer.hrs");
String tsek = chl.getConfig().getString("timer.sek");
String tmin = chl.getConfig().getString("timer.min");
if (ttimer) {
ttime = ttime + 1;
zeit = ttime;
RefreshConfig();
for (Player p : chl.getServer().getOnlinePlayers()) {
Actionbar.sendActionBarMessage(p, "§aIn Challenge: §b" + thrs + ":" + tmin + ":" + tsek);
}
} else {
for (Player p : chl.getServer().getOnlinePlayers()) {
Actionbar.sendActionBarMessage(p, "§6Timer pausiert...");
}
}
}
}, 1 * 20L, 1 * 20L);
}
public void RefreshConfig() {
min = zeit / 60;
hrs = min / 60;
min = min % 60;
sek = zeit % 60;
if (sek >= 10) {
ssek = Integer.toString(sek);
} else
ssek = '0' + Integer.toString(sek);
if (min >= 10) {
smin = Integer.toString(min);
} else
smin = '0' + Integer.toString(min);
chl.getConfig().set("timer.time", zeit);
chl.getConfig().set("timer.sek", ssek);
chl.getConfig().set("timer.min", smin);
chl.getConfig().set("timer.hrs", hrs);
chl.saveConfig();
}
}