package xyz.etztech.qol.commands; 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 xyz.etztech.qol.QoL; import xyz.etztech.qol.EtzTechUtil; import xyz.etztech.qol.Lang; public class PortalCommand implements CommandExecutor { QoL plugin; public PortalCommand(QoL paramQoL) { this.plugin = paramQoL; } @Override public boolean onCommand(CommandSender commandSender, Command command, String s, String[] args) { if (!( commandSender instanceof Player)) { EtzTechUtil.sms(commandSender, Lang.NO_CONSOLE.getDef()); return true; } if (!commandSender.hasPermission("qol.portal")) { EtzTechUtil.sms(commandSender, Lang.NO_PERMISSION.getDef()); return true; } Player player = (Player) commandSender; Location location = player.getLocation(); int x = location.getBlockX(); int y = location.getBlockY(); int z = location.getBlockZ(); World.Environment world = player.getWorld().getEnvironment(); if (world.equals(World.Environment.THE_END)) { EtzTechUtil.sms(commandSender, ChatColor.RED + "This command doesn't work in The End!"); } int newX = 0, newZ = 0; String worldStr = ""; if (world.equals(World.Environment.NORMAL)) { // Calculate Nether coordinates newX = x/8; newZ = z/8; worldStr = "Nether"; } else if (world.equals(World.Environment.NETHER)) { // Calculate Overworld coordinates newX = x*8; newZ = z*8; worldStr = "Overworld"; } StringBuilder message = new StringBuilder(ChatColor.GOLD + "===== Nether Portal Utility ====="); message.append("\n" + ChatColor.GREEN + "Current Location: " + x + ", " + y + ", " + z); message.append("\n" + ChatColor.GREEN + "Location in the " + worldStr + ": " + newX + ", " + y + ", " + newZ); EtzTechUtil.sms(commandSender, message.toString()); return true; } }