diff --git a/src/main/java/us/tastybento/bskyblock/database/flatfile/FlatFileDatabaseHandler.java b/src/main/java/us/tastybento/bskyblock/database/flatfile/FlatFileDatabaseHandler.java index 93b2398cc..bb2ba54d4 100644 --- a/src/main/java/us/tastybento/bskyblock/database/flatfile/FlatFileDatabaseHandler.java +++ b/src/main/java/us/tastybento/bskyblock/database/flatfile/FlatFileDatabaseHandler.java @@ -311,13 +311,11 @@ public class FlatFileDatabaseHandler extends AbstractDatabaseHandler { // Collections need special serialization if (Map.class.isAssignableFrom(propertyDescriptor.getPropertyType())) { // Maps need to have keys serialized - //plugin.getLogger().info("DEBUG: Map for " + storageLocation); if (value != null) { Map result = new HashMap<>(); for (Entry object : ((Map)value).entrySet()) { - // Serialize all key types - // TODO: also need to serialize values? - result.put(serialize(object.getKey()), object.getValue()); + // Serialize all key and values + result.put(serialize(object.getKey()), serialize(object.getValue())); } // Save the list in the config file config.set(storageLocation, result); @@ -388,6 +386,18 @@ public class FlatFileDatabaseHandler extends AbstractDatabaseHandler { if (clazz.equals(Long.class) && value.getClass().equals(Integer.class)) { return Long.valueOf((Integer) value); } + if (clazz.equals(Integer.class) && value.getClass().equals(String.class)) { + return Integer.valueOf((String)value); + } + if (clazz.equals(Long.class) && value.getClass().equals(String.class)) { + return Long.valueOf((String)value); + } + if (clazz.equals(Double.class) && value.getClass().equals(String.class)) { + return Double.valueOf((String)value); + } + if (clazz.equals(Float.class) && value.getClass().equals(String.class)) { + return Float.valueOf((String)value); + } if (clazz.equals(UUID.class)) { value = UUID.fromString((String)value); }