From 72bd9b3f5ccdda35bbc60d5eaa327d11f9c98de7 Mon Sep 17 00:00:00 2001 From: Alex 'mcmonkey' Goodwin Date: Wed, 13 Jan 2021 09:09:59 -0800 Subject: [PATCH] add better legacy saves update error messages, empty section handling --- .../denizen/utilities/LegacySavesUpdater.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/LegacySavesUpdater.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/LegacySavesUpdater.java index b2099d21df..142ad56432 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/LegacySavesUpdater.java +++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/LegacySavesUpdater.java @@ -54,7 +54,7 @@ public static void updateLegacySaves() { Debug.log("==== Update global data ===="); YamlConfiguration globalSection = saveSection.getConfigurationSection("Global"); if (globalSection.contains("Flags")) { - applyFlags(Denizen.getInstance().serverFlagMap, globalSection.getConfigurationSection("Flags")); + applyFlags("Server", Denizen.getInstance().serverFlagMap, globalSection.getConfigurationSection("Flags")); } if (globalSection.contains("Scripts")) { YamlConfiguration scriptsSection = globalSection.getConfigurationSection("Scripts"); @@ -83,7 +83,7 @@ public static void updateLegacySaves() { YamlConfiguration actual = subSection.getConfigurationSection(uuidString.str); AbstractFlagTracker tracker = player.getFlagTracker(); if (actual.contains("Flags")) { - applyFlags(tracker, actual.getConfigurationSection("Flags")); + applyFlags(player.identify(), tracker, actual.getConfigurationSection("Flags")); } if (actual.contains("Scripts")) { YamlConfiguration scriptsSection = actual.getConfigurationSection("Scripts"); @@ -118,7 +118,7 @@ public void run() { } AbstractFlagTracker tracker = npc.getFlagTracker(); if (actual.contains("Flags")) { - applyFlags(tracker, actual.getConfigurationSection("Flags")); + applyFlags(npc.identify(), tracker, actual.getConfigurationSection("Flags")); } npc.reapplyTracker(tracker); Debug.log("==== Done late-updating NPC data ===="); @@ -130,8 +130,11 @@ public void run() { Debug.log("==== Done updating legacy saves (except NPCs) ===="); } - public static void applyFlags(AbstractFlagTracker tracker, YamlConfiguration section) { + public static void applyFlags(String object, AbstractFlagTracker tracker, YamlConfiguration section) { try { + if (section == null || section.getKeys(false).isEmpty()) { + return; + } for (StringHolder flagName : section.getKeys(false)) { if (flagName.low.endsWith("-expiration")) { continue; @@ -147,6 +150,7 @@ public static void applyFlags(AbstractFlagTracker tracker, YamlConfiguration sec } } catch (Throwable ex) { + Debug.echoError("Error while updating legacy flags for " + object); Debug.echoError(ex); } }