Safer UUID provider

This commit is contained in:
boy0001 2014-12-16 15:15:59 +11:00
parent 5a842842a2
commit d2ef1c350a

View File

@ -315,15 +315,24 @@ public class UUIDHandler {
return uuidWrapper.getUUID(player);
}
/**
* Safely provide the correct UUID provider. Ignores user preference if not possible rather than break the plugin.
*/
public static UUID getUUID(OfflinePlayer player) {
if (uuidWrapper == null) {
try {
getUUID(player);
uuidWrapper = new DefaultUUIDWrapper();
}
catch (Throwable e) {
if (Settings.OFFLINE_MODE) {
uuidWrapper = new OfflineUUIDWrapper();
}
else {
try {
getUUID(player);
uuidWrapper = new DefaultUUIDWrapper();
}
catch (Throwable e) {
uuidWrapper = new OfflineUUIDWrapper();
}
}
}
try {
return uuidWrapper.getUUID(player);