diff --git a/Minepacks/src/at/pcgamingfreaks/Minepacks/Bukkit/Database/Database.java b/Minepacks/src/at/pcgamingfreaks/Minepacks/Bukkit/Database/Database.java index 4d4be45..9bbb690 100644 --- a/Minepacks/src/at/pcgamingfreaks/Minepacks/Bukkit/Database/Database.java +++ b/Minepacks/src/at/pcgamingfreaks/Minepacks/Bukkit/Database/Database.java @@ -24,6 +24,7 @@ import at.pcgamingfreaks.Minepacks.Bukkit.Database.UnCacheStrategies.OnDisconnect; import at.pcgamingfreaks.Minepacks.Bukkit.Database.UnCacheStrategies.UnCacheStrategy; import at.pcgamingfreaks.Minepacks.Bukkit.Minepacks; + import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -36,11 +37,9 @@ import java.io.File; import java.io.FileOutputStream; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Locale; -import java.util.Map; +import java.util.*; import java.util.concurrent.ConcurrentHashMap; +import java.util.logging.Level; public abstract class Database implements Listener { @@ -51,7 +50,7 @@ public abstract class Database implements Listener protected final boolean onlineUUIDs, bungeeCordMode, forceSaveOnUnload; protected boolean useUUIDSeparators, asyncSave = true; protected long maxAge; - private final Map backpacks = new ConcurrentHashMap<>(); + private final Map backpacks = new ConcurrentHashMap<>(); private final UnCacheStrategy unCacheStrategie; private final File backupFolder; @@ -78,7 +77,7 @@ public void close() { HandlerList.unregisterAll(this); asyncSave = false; - backpacks.forEach((key, value) -> value.closeAll()); + backpacks.forEach((key, value) -> { if (forceSaveOnUnload) { value.setChanged(); } value.closeAll(); }); backpacks.clear(); unCacheStrategie.close(); } @@ -91,10 +90,10 @@ public void close() ConnectionProvider connectionProvider = null; if(dbType.equals("shared") || dbType.equals("external") || dbType.equals("global")) { - /*if[STANDALONE] - plugin.getLogger().warning(ConsoleColor.RED + "The shared database connection option is not available in standalone mode!" + ConsoleColor.RESET); - return null; - else[STANDALONE]*/ + /*if[STANDALONE] + plugin.getLogger().warning(ConsoleColor.RED + "The shared database connection option is not available in standalone mode!" + ConsoleColor.RESET); + return null; + else[STANDALONE]*/ at.pcgamingfreaks.PluginLib.Database.DatabaseConnectionPool pool = at.pcgamingfreaks.PluginLib.Bukkit.PluginLib.getInstance().getDatabaseConnectionPool(); if(pool == null) { @@ -184,12 +183,12 @@ protected String getPlayerFormattedUUID(OfflinePlayer player) /** * Gets a backpack for a player. This only includes backpacks that are cached! Do not use it unless you are sure that you only want to use cached data! * - * @param player The player who's backpack should be retrieved. + * @param player The player whose backpack should be retrieved. * @return The backpack for the player. null if the backpack is not in the cache. */ public @Nullable Backpack getBackpack(@Nullable OfflinePlayer player) { - return (player == null) ? null : backpacks.get(player); + return (player == null) ? null : backpacks.get(player.getUniqueId()); } public void getBackpack(final OfflinePlayer player, final Callback callback, final boolean createNewOnFail) @@ -198,7 +197,7 @@ public void getBackpack(final OfflinePlayer player, final Callback() @@ -206,7 +205,7 @@ public void getBackpack(final OfflinePlayer player, final Callback() { @Override public void onResult(Backpack backpack) { - backpacks.put(player, backpack); + backpacks.put(player.getUniqueId(), backpack); } @Override public void onFail() { - backpacks.put(player, new Backpack(player)); + backpacks.put(player.getUniqueId(), new Backpack(player)); } }); }