diff --git a/src/main/java/com/denizenscript/denizencore/flags/SavableMapFlagTracker.java b/src/main/java/com/denizenscript/denizencore/flags/SavableMapFlagTracker.java index 4f3a4ad2..e3619185 100644 --- a/src/main/java/com/denizenscript/denizencore/flags/SavableMapFlagTracker.java +++ b/src/main/java/com/denizenscript/denizencore/flags/SavableMapFlagTracker.java @@ -31,7 +31,7 @@ public MapTag getMap() { if (string.startsWith("map@")) { map = MapTag.valueOf(string, CoreUtilities.noDebugContext); } - else { + if (map == null) { map = new MapTag(); map.putObject(valueString, ObjectFetcher.pickObjectFor(string, CoreUtilities.noDebugContext)); } @@ -107,6 +107,12 @@ public void doTotalClean() { } else if (val.string.startsWith("map@")) { MapTag quickMap = MapTag.valueOf(val.string, CoreUtilities.noDebugContext, false); + if (quickMap == null) { + val.getMap(); + val.string = null; + modified = true; + continue; + } if (CoreConfiguration.debugVerbose) { Debug.log("Verbose: MapFlagTracker, quickMap = " + quickMap.debuggable()); }