Cleaner and easier to use OfflineUUID CLI

This commit is contained in:
Marc Baloup 2021-04-17 00:04:06 +02:00
parent ca0a4cdf02
commit 85964ed624
Signed by: marcbal
GPG Key ID: BBC0FE3ABC30B893

View File

@ -1,28 +1,45 @@
package fr.pandacube.lib.core.util; package fr.pandacube.lib.core.util;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.util.Objects;
import java.util.Scanner;
import java.util.UUID; import java.util.UUID;
public class OfflineUUID { public class OfflineUUID {
public static void main(String[] args) {
for (String arg : args)
System.out.println("" + arg + ":" + getFromNickName(arg));
if (args.length == 0)
throw new IllegalArgumentException("no argument given. Please give at least one argument.");
}
public static UUID getFromNickName(String nickname) { public static UUID getFromNickName(String nickname) {
String str = "OfflinePlayer:" + nickname; byte[] from_str = ("OfflinePlayer:" + nickname).getBytes(Charset.forName("UTF-8"));
byte[] from_str = str.getBytes(Charset.forName("UTF-8"));
return UUID.nameUUIDFromBytes(from_str); return UUID.nameUUIDFromBytes(from_str);
} }
public static UUID[] getFromNickNames(String[] nicknames) { public static UUID[] getFromNickNames(String[] nicknames) {
if (nicknames == null) throw new NullPointerException(); Objects.requireNonNull(nicknames);
UUID[] uuids = new UUID[nicknames.length]; UUID[] uuids = new UUID[nicknames.length];
for (int i = 0; i < nicknames.length; i++) for (int i = 0; i < nicknames.length; i++)
uuids[i] = getFromNickName(nicknames[i]); uuids[i] = getFromNickName(nicknames[i]);
return uuids; return uuids;
} }
public static void main(String[] args) {
if (args.length == 0) {
try (Scanner s = new Scanner(System.in)) {
for(;;) {
System.out.print("Please input a player name: ");
if (!s.hasNext())
break;
String line = s.nextLine();
System.out.println(getFromNickName(line));
}
}
}
else {
for (String arg : args)
System.out.println("" + arg + ":" + getFromNickName(arg));
}
}
} }