diff --git a/pom.xml b/pom.xml
index e0e8e94..d2d3781 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
cc.carm.lib
bukkitjsonserializer
- 1.0.0
+ 1.0.1
BukkitJSONSerializer
A JSON serialize/deserialize util for bukkit's ConfigurationSerialization.
diff --git a/src/main/java/cc/carm/lib/bukkit/configuration/BukkitJSONSerializer.java b/src/main/java/cc/carm/lib/bukkit/configuration/BukkitJSONSerializer.java
index 762b3ac..b9cb507 100644
--- a/src/main/java/cc/carm/lib/bukkit/configuration/BukkitJSONSerializer.java
+++ b/src/main/java/cc/carm/lib/bukkit/configuration/BukkitJSONSerializer.java
@@ -1,16 +1,15 @@
package cc.carm.lib.bukkit.configuration;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
+import com.google.gson.*;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
import org.bukkit.configuration.serialization.ConfigurationSerialization;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import java.text.NumberFormat;
import java.util.LinkedHashMap;
+import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -29,8 +28,42 @@ public class BukkitJSONSerializer {
public static final String TYPE_KEY = ConfigurationSerialization.SERIALIZED_TYPE_KEY;
public static final BukkitJSONSerializer INSTANCE = BukkitJSONSerializer.create();
+
public static @NotNull BukkitJSONSerializer create() {
- return create(new GsonBuilder().disableHtmlEscaping().create(), new JsonParser());
+ return create(new GsonBuilder().enableComplexMapKeySerialization().serializeNulls().disableHtmlEscaping()
+ .registerTypeAdapter(Map.class, (JsonDeserializer