package me.combo5.EventTime;
import config.Config;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
public class EventTime
extends JavaPlugin
{
public int PID = 0;
public String timestring = "0";
public int time = 0;
public Integer timeint = Integer.valueOf(0);
public String prefix = ChatColor.GREEN + "[Event] " + ChatColor.BLUE + " ";
public String line;
public boolean start = true;
public boolean run;
public boolean pcmd;
public boolean english;
public boolean german;
EventTime plugin = this;
public void onEnable()
{
System.out.println(this.prefix + "started");
new Config(this).createConfig();
loadConfig();
}
public void onDisable()
{
stop(null);
}
public void loadConfig()
{
this.english = getConfig().getBoolean("CountDown.Language.english");
this.german = getConfig().getBoolean("EventTime --> Sprache: german");
}
public boolean stop(Player p)
{
if (this.run)
{
Bukkit.getServer().getScheduler().cancelTask(this.PID);
if (this.pcmd)
{
if (this.english) {
p.sendMessage(this.prefix + "stopped.");
} else if (this.german) {
p.sendMessage(this.prefix + "Leider schon vorbei ;( !");
}
}
else if (this.english) {
System.out.println(this.prefix + "stopped.");
} else if (this.german) {
System.out.println(this.prefix + "Leider schon vorbei.");
}
return true;
}
if (this.pcmd) {
if (this.english) {
p.sendMessage(this.prefix + "no CountDown in progress");
} else if (this.german) {
p.sendMessage(this.prefix + "Momentan ist Leider kein Event aber Bald ;)");
}
}
return true;
}
public boolean start(final Player p, final String[] args)
{
this.run = true;
this.PID = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable()
{
public void run()
{
if (EventTime.this.start)
{
if (args.length == 1)
{
if (EventTime.this.english) {
p.sendMessage(EventTime.this.prefix + "finish in " + EventTime.this.time + " seconds.");
} else if (EventTime.this.german) {
p.sendMessage(EventTime.this.prefix + "Das Event beginnt in: " + EventTime.this.time + " Sekunden ...");
}
}
else if (EventTime.this.english) {
p.sendMessage(EventTime.this.prefix + "finish in " + EventTime.this.time + " seconds with the Message: " + EventTime.this.line);
} else if (EventTime.this.german) {
p.sendMessage(EventTime.this.prefix + "Event beginnt in: " + EventTime.this.time + " Sekunden! --> " + EventTime.this.line);
}
EventTime.this.start = false;
}
new Check(EventTime.this.time, EventTime.this.prefix).Timer();
if (EventTime.this.time == 0)
{
EventTime.this.pcmd = true;
p.playSound(p.getLocation(), Sound.ENDERDRAGON_DEATH, 3.0F, 3.0F);
if (args.length == 1)
{
EventTime.this.stop(p);
if (EventTime.this.english) {
Bukkit.getServer().broadcastMessage(EventTime.this.prefix + "finish!");
} else if (EventTime.this.german) {
Bukkit.getServer().broadcastMessage(EventTime.this.prefix + "It's EventTime :D by combo5");
}
}
else
{
EventTime.this.stop(p);
Bukkit.getServer().broadcastMessage(ChatColor.AQUA + EventTime.this.line);
}
EventTime.this.pcmd = false;
EventTime.this.start = true;
EventTime.this.run = false;
}
EventTime.this.time -= 1;
}
}, 0L, 20L);
return true;
}
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
{
Player p = (Player)sender;
if ((cmd.getName().equalsIgnoreCase("et")) &&
(p.hasPermission("eventtime.controle")))
{
if (args.length == 0)
{
if (this.english)
{
p.sendMessage(this.prefix + "Usage: /et <seconds> <message>");
p.sendMessage(this.prefix + "Stop with /countdown stop");
p.sendMessage(this.prefix + "Plugin by Jamba");
}
else if (this.german)
{
p.sendMessage(this.prefix + "Verwendung: /et <Länge>");
p.sendMessage(this.prefix + "Stopp mit /et stop");
p.sendMessage(this.prefix + "Plugin gecodet by combo5");
p.sendMessage(this.prefix + "Plugin version: 1.0 (1.7.2)");
}
return true;
}
if (!args[0].equalsIgnoreCase("ende")) {
if (!args[0].equalsIgnoreCase("lade"))
{
if (args.length > 1)
{
for (int i = 1; i < args.length; i++) {
if (i == 1) {
this.line = args[i];
} else {
this.line = (this.line + " " + args[i]);
}
}
this.line = ChatColor.translateAlternateColorCodes('&', this.line);
}
try
{
this.timestring = args[0];
this.time = Integer.parseInt(this.timestring);
this.timeint = new Integer(this.timestring);
}
catch (NumberFormatException f)
{
if (this.english)
{
p.sendMessage(this.prefix + "Usage: /countdown <seconds> <message>");
p.sendMessage(this.prefix + "Stop with /countdown stop");
}
else if (this.german)
{
p.sendMessage(this.prefix + "Verwendung: /et <Sekunden> <Nachricht>");
p.sendMessage(this.prefix + "Stopp mit /et stop");
}
return true;
}
if (this.run)
{
if (this.english) {
p.sendMessage(this.prefix + "already in progress!");
} else if (this.german) {
p.sendMessage(this.prefix + "Der Countdown läuft bereits! :3");
}
}
else {
start(p, args);
}
return true;
}
}
if (args[0].equalsIgnoreCase("ende"))
{
this.pcmd = true;
stop(p);
this.run = false;
this.start = true;
this.pcmd = false;
return true;
}
}
return false;
}
}