diff --git a/Plugins/Mineplex.Core/src/mineplex/core/account/CoreClientManager.java b/Plugins/Mineplex.Core/src/mineplex/core/account/CoreClientManager.java index 833e2a55a..7ed4313e7 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/account/CoreClientManager.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/account/CoreClientManager.java @@ -1,7 +1,5 @@ package mineplex.core.account; -import java.sql.Timestamp; -import java.util.Date; import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -174,7 +172,6 @@ public class CoreClientManager extends MiniPlugin public void loadClientByName(final String playerName, final Runnable runnable) { final CoreClient client = Add(playerName); - final UUID uuid = UUIDFetcher.getUUIDOf(playerName); Bukkit.getServer().getScheduler().runTaskAsynchronously(GetPlugin(), new Runnable() { @@ -183,6 +180,12 @@ public class CoreClientManager extends MiniPlugin ClientToken token = null; Gson gson = new Gson(); + // Fails if not in DB and if duplicate. + UUID uuid = loadUUIDFromDB(playerName); + + if (uuid == null) + uuid = UUIDFetcher.getUUIDOf(playerName); + String response = _repository.getClientByUUID(uuid); token = gson.fromJson(response, ClientToken.class); @@ -330,9 +333,28 @@ public class CoreClientManager extends MiniPlugin }, name, rank, perm); } + public void checkPlayerNameExact(final Callback callback, final String playerName) + { + _repository.matchPlayerName(new Callback>() + { + public void run(List matches) + { + for (String match : matches) + { + if (match.equalsIgnoreCase(playerName)) + { + callback.run(true); + } + } + + callback.run(false); + } + }, playerName); + } + public void checkPlayerName(final Player caller, final String playerName, final Callback callback) { - _repository.MatchPlayerName(new Callback>() + _repository.matchPlayerName(new Callback>() { public void run(List matches) { diff --git a/Plugins/Mineplex.Core/src/mineplex/core/account/command/UpdateRank.java b/Plugins/Mineplex.Core/src/mineplex/core/account/command/UpdateRank.java index 59b039dd2..860cd124a 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/account/command/UpdateRank.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/account/command/UpdateRank.java @@ -52,7 +52,7 @@ public class UpdateRank extends CommandBase if ((rank == Rank.YOUTUBE && Plugin.Get(caller).GetRank().Has(Rank.OWNER)) || rank == Rank.MODERATOR || rank == Rank.HELPER || rank == Rank.ALL || rank == Rank.MAPDEV || rank == Rank.SNR_MODERATOR) { - Plugin.getRepository().MatchPlayerName(new Callback>() + Plugin.getRepository().matchPlayerName(new Callback>() { public void run(List matches) { diff --git a/Plugins/Mineplex.Core/src/mineplex/core/account/repository/AccountRepository.java b/Plugins/Mineplex.Core/src/mineplex/core/account/repository/AccountRepository.java index 11070f4de..827ba0f78 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/account/repository/AccountRepository.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/account/repository/AccountRepository.java @@ -264,7 +264,7 @@ public class AccountRepository extends RepositoryBase } - public void MatchPlayerName(final Callback> callback, final String userName) + public void matchPlayerName(final Callback> callback, final String userName) { Thread asyncThread = new Thread(new Runnable() { @@ -274,7 +274,7 @@ public class AccountRepository extends RepositoryBase callback.run(tokenList); } }); - + asyncThread.start(); } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/command/CommandBase.java b/Plugins/Mineplex.Core/src/mineplex/core/command/CommandBase.java index f08909055..dd274ce22 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/command/CommandBase.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/command/CommandBase.java @@ -89,6 +89,7 @@ public abstract class CommandBase implements ICom return matches; } + @SuppressWarnings("rawtypes") protected List getMatches(String start, Enum[] numerators) { List matches = new ArrayList(); diff --git a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/BoosterCommand.java b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/BoosterCommand.java index 231d64b49..77c894662 100644 --- a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/BoosterCommand.java +++ b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/BoosterCommand.java @@ -27,7 +27,10 @@ public class BoosterCommand extends CommandBase final String playerName = args[0]; final int amount = Integer.parseInt(args[1]); - UUID uuid = UUIDFetcher.getUUIDOf(playerName); + UUID uuid = Plugin.getClientManager().loadUUIDFromDB(playerName); + + if (uuid == null) + UUIDFetcher.getUUIDOf(playerName); Plugin.getDonationManager().PurchaseUnknownSalesPackage(null, playerName, uuid, "Gem Booster " + amount, false, 0, false); Plugin.getInventoryManager().addItemToInventoryForOffline(new Callback() diff --git a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/CoinCommand.java b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/CoinCommand.java index 8367ce2ae..6d9d2087f 100644 --- a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/CoinCommand.java +++ b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/CoinCommand.java @@ -26,7 +26,10 @@ public class CoinCommand extends CommandBase String playerName = args[0]; int amount = Integer.parseInt(args[1]); - UUID uuid = UUIDFetcher.getUUIDOf(playerName); + UUID uuid = Plugin.getClientManager().loadUUIDFromDB(playerName); + + if (uuid == null) + UUIDFetcher.getUUIDOf(playerName); Plugin.getDonationManager().RewardCoins(null, caller.getName(), playerName, uuid, amount); caller.sendMessage(F.main(Plugin.getName(), "Added " + amount + " coins to " + playerName + "'s account!")); diff --git a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/GemHunterCommand.java b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/GemHunterCommand.java index 76f257b67..d5c2bb514 100644 --- a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/GemHunterCommand.java +++ b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/GemHunterCommand.java @@ -26,7 +26,10 @@ public class GemHunterCommand extends CommandBase String playerName = args[0]; int amount = Integer.parseInt(args[1]); int experience = 0; - UUID uuid = UUIDFetcher.getUUIDOf(playerName); + UUID uuid = Plugin.getClientManager().loadUUIDFromDB(playerName); + + if (uuid == null) + UUIDFetcher.getUUIDOf(playerName); if (amount == 4) experience = 70000; diff --git a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/TreasureChestCommand.java b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/TreasureChestCommand.java index 55363cb09..c0229e908 100644 --- a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/TreasureChestCommand.java +++ b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/TreasureChestCommand.java @@ -27,7 +27,10 @@ public class TreasureChestCommand extends CommandBase final String playerName = args[0]; final int amount = Integer.parseInt(args[1]); - UUID uuid = UUIDFetcher.getUUIDOf(playerName); + UUID uuid = Plugin.getClientManager().loadUUIDFromDB(playerName); + + if (uuid == null) + UUIDFetcher.getUUIDOf(playerName); Plugin.getDonationManager().PurchaseUnknownSalesPackage(null, playerName, uuid, "Treasure Chest " + amount, false, 0, false); Plugin.getInventoryManager().addItemToInventoryForOffline(new Callback() diff --git a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/TreasureKeyCommand.java b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/TreasureKeyCommand.java index b3cde9224..a6964f2a1 100644 --- a/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/TreasureKeyCommand.java +++ b/Plugins/Mineplex.StaffServer/src/mineplex/staffServer/salespackage/command/TreasureKeyCommand.java @@ -27,7 +27,10 @@ public class TreasureKeyCommand extends CommandBase final String playerName = args[0]; final int amount = Integer.parseInt(args[1]); - UUID uuid = UUIDFetcher.getUUIDOf(playerName); + UUID uuid = Plugin.getClientManager().loadUUIDFromDB(playerName); + + if (uuid == null) + UUIDFetcher.getUUIDOf(playerName); Plugin.getDonationManager().PurchaseUnknownSalesPackage(null, playerName, uuid, "Treasure Key " + amount, false, 0, false); Plugin.getInventoryManager().addItemToInventoryForOffline(new Callback()