diff --git a/src/main/java/com/drtshock/playervaults/vaultmanagement/Serialization.java b/src/main/java/com/drtshock/playervaults/vaultmanagement/Serialization.java index 1154a51..d42b1ce 100644 --- a/src/main/java/com/drtshock/playervaults/vaultmanagement/Serialization.java +++ b/src/main/java/com/drtshock/playervaults/vaultmanagement/Serialization.java @@ -25,11 +25,7 @@ import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.JSONValue; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.Map.Entry; /** @@ -42,6 +38,12 @@ public class Serialization { @SuppressWarnings("unchecked") public static Map toMap(JSONObject object) { Map map = new HashMap<>(); + + // Weird case of bad meta causing null map to be passed here. + if (object == null) { + return map; + } + for (Object key : object.keySet()) { map.put(key.toString(), fromJson(object.get(key))); } diff --git a/src/main/java/com/drtshock/playervaults/vaultmanagement/UUIDVaultManager.java b/src/main/java/com/drtshock/playervaults/vaultmanagement/UUIDVaultManager.java index b5122fa..3baab9a 100644 --- a/src/main/java/com/drtshock/playervaults/vaultmanagement/UUIDVaultManager.java +++ b/src/main/java/com/drtshock/playervaults/vaultmanagement/UUIDVaultManager.java @@ -17,6 +17,7 @@ import java.util.List; import java.util.Map; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; +import java.util.logging.Level; /** * Class to handle vault operations with new UUIDs. @@ -312,7 +313,9 @@ public class UUIDVaultManager { } try { yaml.save(file); - } catch (IOException ignored) { + } catch (Exception e) { + PlayerVaults.getInstance().getLogger().log(Level.SEVERE, "Failed to save vault file for: " + holder.toString()); + e.printStackTrace(); } } }.runTaskAsynchronously(PlayerVaults.getInstance());