78 lines
2.8 KiB
Java
78 lines
2.8 KiB
Java
package xyz.etztech.qol.commands;
|
|
|
|
import com.google.gson.JsonObject;
|
|
import com.google.gson.JsonParser;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.ChatColor;
|
|
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;
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.InputStreamReader;
|
|
import java.net.URL;
|
|
|
|
public class UUIDCommand implements CommandExecutor {
|
|
|
|
|
|
QoL plugin;
|
|
|
|
public UUIDCommand(QoL paramQoL)
|
|
{
|
|
this.plugin = paramQoL;
|
|
}
|
|
|
|
@Override
|
|
public boolean onCommand(CommandSender commandSender, Command command, String s, String[] args) {
|
|
if (!commandSender.hasPermission("qol.uuid")) {
|
|
EtzTechUtil.sms(commandSender, Lang.NO_PERMISSION.getDef());
|
|
return true;
|
|
}
|
|
if (args.length < 1) {
|
|
EtzTechUtil.sms(commandSender, ChatColor.RED + "Please specify a username.");
|
|
return true;
|
|
}
|
|
|
|
StringBuilder message = buildMessage(args[0]);
|
|
EtzTechUtil.sms(commandSender, message.toString());
|
|
|
|
return true;
|
|
}
|
|
|
|
private StringBuilder buildMessage(String username) {
|
|
StringBuilder message = new StringBuilder(ChatColor.GOLD + "===== UUID Utility =====");
|
|
|
|
boolean local = false;
|
|
String uuid = null;
|
|
for (Player player : Bukkit.getOnlinePlayers()) {
|
|
if (player.getName().toLowerCase().equals(username.toLowerCase())) {
|
|
uuid = player.getUniqueId().toString();
|
|
message.append("\n" + ChatColor.GREEN + "Name: " + ChatColor.YELLOW + player.getName());
|
|
message.append("\n" + ChatColor.GREEN + "UUID: " + ChatColor.YELLOW + uuid);
|
|
local = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!local) {
|
|
try {
|
|
InputStream response = new URL(EtzTechUtil.MOJANG_API + EtzTechUtil.path(EtzTechUtil.UUID_API, "name", username)).openStream();
|
|
BufferedReader reader = new BufferedReader(new InputStreamReader(response));
|
|
JsonObject jsonObject = new JsonParser().parse(reader.readLine()).getAsJsonObject();
|
|
uuid = jsonObject.get("id").getAsString();
|
|
message.append("\n" + ChatColor.GREEN + "Name: " + ChatColor.YELLOW + jsonObject.get("name").getAsString());
|
|
message.append("\n" + ChatColor.GREEN + "UUID: " + ChatColor.YELLOW + uuid);
|
|
} catch (Exception e) {
|
|
message = new StringBuilder(ChatColor.RED + "Mojang API returned nothing. Make sure the name is spelled correctly.");
|
|
}
|
|
}
|
|
return message;
|
|
}
|
|
}
|