package me.StevenLawson.TotalFreedomMod.commands; import com.earth2me.essentials.User; import me.StevenLawson.TotalFreedomMod.bridge.EssentialsBridge; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.OfflinePlayer; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @CommandPermissions(level = AdminLevel.SUPER, source = SourceType.ONLY_IN_GAME) public class Command_offlinetp extends FreedomCommand { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { if(args.length < 1) { return false; } OfflinePlayer target = null; String searchString = args[0]; for (OfflinePlayer offlinePlayer : Bukkit.getOfflinePlayers()) { if(offlinePlayer.getName().equalsIgnoreCase(searchString)) { target = offlinePlayer; break; } else if (offlinePlayer.getName().startsWith(searchString.toLowerCase())) { target = offlinePlayer; break; } } if(target == null) { playerMsg(sender, FreedomCommand.PLAYER_NOT_FOUND); return true; } if(target.isOnline()) { playerMsg(sender, "That player is already online. Use /tp."); return true; } playerMsg(sender, String.format("Teleporting to %s's last known location...", target.getName())); try { Location location = EssentialsBridge.getEssentialsUser(target.getName()).getLastLocation(); sender_p.teleport(location); } catch (Exception e) { playerMsg(sender, "Oops"); } return true; } }