package tv.mineinthebox.essentials.commands;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import tv.mineinthebox.essentials.xEssentials;
import tv.mineinthebox.essentials.enums.PermissionKey;
import tv.mineinthebox.essentials.interfaces.CommandTemplate;
import tv.mineinthebox.essentials.interfaces.XOfflinePlayer;
import tv.mineinthebox.essentials.interfaces.XPlayer;
public class CmdTphere extends CommandTemplate {
private final xEssentials pl;
public CmdTphere(xEssentials pl, Command cmd, CommandSender sender) {
super(pl, cmd, sender);
this.pl = pl;
}
public boolean execute(CommandSender sender, Command cmd, String[] args) {
if(cmd.getName().equalsIgnoreCase("tphere")) {
if(sender.hasPermission(PermissionKey.CMD_TP_HERE.getPermission())) {
if(args.length == 0) {
showHelp();
} else if(args.length == 1) {
if(args[0].equalsIgnoreCase("help")) {
showHelp();
} else {
if(sender instanceof Player) {
XPlayer p = pl.getManagers().getPlayerManager().getPlayer(sender.getName());
XOfflinePlayer victem = pl.getManagers().getPlayerManager().getOfflinePlayer(args[0]);
if(victem.getBukkitPlayer() instanceof Player) {
if(p.isVanished()) {
if(victem.getBukkitPlayer().hasPermission(PermissionKey.IS_ADMIN.getPermission())) {
victem.getEssentialsPlayer().vanish();
sendMessageTo(victem.getBukkitPlayer(), "the player you teleported to has been vanished, now you are vanished to!");
}
}
sendMessage("teleported " + victem.getBukkitPlayer().getName() + " to you!");
sendMessageTo(victem.getBukkitPlayer(), ChatColor.GREEN + sender.getName() + " has teleported you to his location!");
victem.getBukkitPlayer().teleport(p.getBukkitPlayer(), TeleportCause.COMMAND);
} else {
sendMessage("could not find a online player with that name!");
}
} else {
getWarning(WarningType.PLAYER_ONLY);
}
}
}
} else {
getWarning(WarningType.NO_PERMISSION);
}
}
return false;
}
@Override
public void showHelp() {
sender.sendMessage(ChatColor.GOLD + ".oO___[tphere help]___Oo.");
sender.sendMessage(ChatColor.RED + "Admin: " + ChatColor.GRAY + "/tphere help " + ChatColor.WHITE + ": shows help");
sender.sendMessage(ChatColor.RED + "Admin: " + ChatColor.GRAY + "/tphere <player> " + ChatColor.WHITE + ": teleports a player to you!");
}
}