mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2025-07-13 14:48:34 +00:00
Added TFM_UuidManager to cache UUIDs. Resolves #255
All methods related to UUIDs in TFM_Util have been moved to TFM_UuidManager
This commit is contained in:
@ -117,71 +117,6 @@ public class TFM_Util
|
||||
throw new AssertionError();
|
||||
}
|
||||
|
||||
public static boolean isUniqueId(String uuid)
|
||||
{
|
||||
try
|
||||
{
|
||||
UUID.fromString(uuid);
|
||||
}
|
||||
catch (IllegalArgumentException ex)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static UUID getUniqueId(OfflinePlayer offlinePlayer)
|
||||
{
|
||||
if (offlinePlayer instanceof Player)
|
||||
{
|
||||
return TFM_PlayerData.getPlayerData((Player) offlinePlayer).getUniqueId();
|
||||
}
|
||||
|
||||
return getUniqueId(offlinePlayer.getName());
|
||||
}
|
||||
|
||||
public static UUID getUniqueId(String offlineplayer)
|
||||
{
|
||||
final UUID uuid = TFM_UuidResolver.getUUIDOf(offlineplayer);
|
||||
|
||||
if (uuid == null)
|
||||
{
|
||||
return generateUuidForName(offlineplayer);
|
||||
}
|
||||
|
||||
return uuid;
|
||||
}
|
||||
|
||||
public static UUID generateUuidForName(String name)
|
||||
{
|
||||
TFM_Log.info("Generating spoof UUID for " + name);
|
||||
name = name.toLowerCase();
|
||||
try
|
||||
{
|
||||
final MessageDigest mDigest = MessageDigest.getInstance("SHA1");
|
||||
byte[] result = mDigest.digest(name.getBytes());
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < result.length; i++)
|
||||
{
|
||||
sb.append(Integer.toString((result[i] & 0xff) + 0x100, 16).substring(1));
|
||||
}
|
||||
|
||||
return UUID.fromString(
|
||||
sb.substring(0, 8)
|
||||
+ "-" + sb.substring(8, 12)
|
||||
+ "-" + sb.substring(12, 16)
|
||||
+ "-" + sb.substring(16, 20)
|
||||
+ "-" + sb.substring(20, 32));
|
||||
}
|
||||
catch (NoSuchAlgorithmException ex)
|
||||
{
|
||||
TFM_Log.severe(ex);
|
||||
}
|
||||
|
||||
return UUID.randomUUID();
|
||||
}
|
||||
|
||||
public static void bcastMsg(String message, ChatColor color)
|
||||
{
|
||||
TFM_Log.info(message, true);
|
||||
@ -221,7 +156,7 @@ public class TFM_Util
|
||||
return player.getPlayer().getAddress().getAddress().getHostAddress().trim();
|
||||
}
|
||||
|
||||
final UUID uuid = getUniqueId(player);
|
||||
final UUID uuid = TFM_UuidManager.getUniqueId(player);
|
||||
|
||||
final TFM_Player entry = TFM_PlayerList.getEntry(uuid);
|
||||
|
||||
@ -244,7 +179,7 @@ public class TFM_Util
|
||||
|
||||
public static String formatPlayer(OfflinePlayer player)
|
||||
{
|
||||
return player.getName() + " (" + TFM_Util.getUniqueId(player) + ")";
|
||||
return player.getName() + " (" + TFM_UuidManager.getUniqueId(player) + ")";
|
||||
}
|
||||
|
||||
/**
|
||||
@ -546,7 +481,7 @@ public class TFM_Util
|
||||
TFM_Util.bcastMsg(ChatColor.RED + player.getName() + " has been banned for 1 minute.");
|
||||
|
||||
TFM_BanManager.addIpBan(new TFM_Ban(ip, player.getName(), "AutoEject", expires, kickMessage));
|
||||
TFM_BanManager.addUuidBan(new TFM_Ban(TFM_Util.getUniqueId(player), player.getName(), "AutoEject", expires, kickMessage));
|
||||
TFM_BanManager.addUuidBan(new TFM_Ban(TFM_UuidManager.getUniqueId(player), player.getName(), "AutoEject", expires, kickMessage));
|
||||
player.kickPlayer(kickMessage);
|
||||
|
||||
break;
|
||||
@ -560,7 +495,7 @@ public class TFM_Util
|
||||
TFM_Util.bcastMsg(ChatColor.RED + player.getName() + " has been banned for 3 minutes.");
|
||||
|
||||
TFM_BanManager.addIpBan(new TFM_Ban(ip, player.getName(), "AutoEject", expires, kickMessage));
|
||||
TFM_BanManager.addUuidBan(new TFM_Ban(TFM_Util.getUniqueId(player), player.getName(), "AutoEject", expires, kickMessage));
|
||||
TFM_BanManager.addUuidBan(new TFM_Ban(TFM_UuidManager.getUniqueId(player), player.getName(), "AutoEject", expires, kickMessage));
|
||||
player.kickPlayer(kickMessage);
|
||||
break;
|
||||
}
|
||||
@ -570,7 +505,7 @@ public class TFM_Util
|
||||
|
||||
TFM_BanManager.addIpBan(new TFM_Ban(ip, player.getName(), "AutoEject", null, kickMessage));
|
||||
TFM_BanManager.addIpBan(new TFM_Ban(ipAddressParts[0] + "." + ipAddressParts[1] + ".*.*", player.getName(), "AutoEject", null, kickMessage));
|
||||
TFM_BanManager.addUuidBan(new TFM_Ban(TFM_Util.getUniqueId(player), player.getName(), "AutoEject", null, kickMessage));
|
||||
TFM_BanManager.addUuidBan(new TFM_Ban(TFM_UuidManager.getUniqueId(player), player.getName(), "AutoEject", null, kickMessage));
|
||||
|
||||
TFM_Util.bcastMsg(ChatColor.RED + player.getName() + " has been banned.");
|
||||
|
||||
|
Reference in New Issue
Block a user