Bug fix and changes

This commit is contained in:
ShadowRanger
2015-06-23 13:31:26 +10:00
parent bc40e91215
commit 902def1dd7
19 changed files with 512 additions and 185 deletions

View File

@@ -1,25 +1,58 @@
package com.lishid.openinv.utils;
import java.util.Arrays;
import java.util.Collection;
import java.util.Map;
import java.util.UUID;
import org.apache.commons.lang.Validate;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
public class UUIDUtil {
private static Player getPlayer(String name) {
Validate.notNull(name, "Name cannot be null");
Player found = null;
String lowerName = name.toLowerCase();
int delta = Integer.MAX_VALUE;
Collection<? extends Player> players = Bukkit.getOnlinePlayers();
for (Player player : players) {
if (player.getName().toLowerCase().startsWith(lowerName)) {
int curDelta = player.getName().length() - lowerName.length();
if (curDelta < delta) {
found = player;
delta = curDelta;
}
if (curDelta == 0) break;
}
}
return found;
}
public static UUID getUUIDOf(String name) {
UUID uuid = null;
Player player = getPlayer(name);
UUIDFetcher fetcher = new UUIDFetcher(Arrays.asList(name));
Map<String, UUID> response;
try {
response = fetcher.call();
uuid = response.get(name);
if (player != null) {
// Player was found online
uuid = player.getUniqueId();
}
catch (Exception e) {
Bukkit.getServer().getLogger().warning("Exception while running UUIDFetcher");
e.printStackTrace();
else {
// Player was not found online. Fetch their UUID instead
UUIDFetcher fetcher = new UUIDFetcher(Arrays.asList(name));
Map<String, UUID> response;
try {
response = fetcher.call();
uuid = response.get(name);
}
catch (Exception e) {
Bukkit.getServer().getLogger().warning("Exception while running UUIDFetcher");
e.printStackTrace();
}
}
return uuid;