package de.otteo.ultihome.commands;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import de.otteo.ultihome.main.Main;
public class HomeCommand implements CommandExecutor {
private int seconds = Main.cfg.getInt("countdownseconds");
@Override
public boolean onCommand(CommandSender s, Command cmd, String l, String[] args) {
String prefix = ChatColor.translateAlternateColorCodes('&', Main.cfg.getString("prefix"));
String homenotexist = ChatColor.translateAlternateColorCodes('&', Main.cfg.getString("homenotexist"));
String noperms = ChatColor.translateAlternateColorCodes('&', Main.cfg.getString("noperms"));
String invalidargsdelhome = ChatColor.translateAlternateColorCodes('&', Main.cfg.getString("invalidargshome"));
String hometeleport = ChatColor.translateAlternateColorCodes('&', Main.cfg.getString("hometeleport"));
Player p = (Player) s;
if(s instanceof Player) {
if(p.hasPermission("ultimatehome.delhome")) {
if(args.length == 1) {
if(!Main.homecfg.isSet(p.getName() + "." + args[0])) {
homenotexist = homenotexist.replace("%prefix%", prefix);
homenotexist = homenotexist.replace("%homename%", args[0]);
p.sendMessage(homenotexist);
return true;
} else {
double X = Main.homecfg.getDouble(p.getName() + "." + args[0] + ".X");
double Y = Main.homecfg.getDouble(p.getName() + "." + args[0] + ".Y");
double Z = Main.homecfg.getDouble(p.getName() + "." + args[0] + ".Z");
float Yaw = (float) Main.homecfg.getDouble(p.getName() + "." + args[0] + ".Yaw");
float Pitch = (float) Main.homecfg.getDouble(p.getName() + "." + args[0] + ".Pitch");
World world = Bukkit.getWorld(Main.homecfg.getString(p.getName() + "." + args[0] + ".World"));
Location home = new Location(world, X, Y, Z, Yaw, Pitch);
hometeleport = hometeleport.replace("%prefix%", prefix);
hometeleport = hometeleport.replace("%homename%", args[0]);
p.sendMessage(hometeleport);
if(Main.cfg.getBoolean("countdown") == true) {
Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getPlugin(), new Runnable() {
@Override
public void run() {
if(seconds == Main.cfg.getInt("countdownseconds")) {
p.sendMessage("&eTeleportation in " + Main.cfg.getInt("countdownseconds") + " Sekunden.");
}
if(seconds == 0) {
seconds = Main.cfg.getInt("countdownseconds");
p.teleport(home);
}
}
}, 0, 20);
} else {
p.teleport(home);
}
}
} else {
invalidargsdelhome = invalidargsdelhome.replace("%prefix%", prefix);
p.sendMessage(invalidargsdelhome);
}
} else {
noperms = noperms.replace("%prefix%", prefix);
p.sendMessage(noperms);
}
}
return false;
}
}