Abort world server startup when any deed or rune file fails to parse
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ad476db166
commit
7309159f83
3 files changed
+16
-4
No files matched your search
+6
@@ -30,6 +30,7 @@ public class DeedParser {
|
||||
File[] deedFiles = CacheParserUtil.listJsonFiles(deedPath);
|
||||
int templateId;
|
||||
JSONObject deedJson;
|
||||
int failedCount = 0;
|
||||
|
||||
for (File deedFile : deedFiles) {
|
||||
try {
|
||||
@@ -38,11 +39,16 @@ public class DeedParser {
|
||||
deedTemplates.put(templateId, parseDeedEntry(templateId, deedJson));
|
||||
} catch (Exception e) {
|
||||
Logger.error(deedFile.getName() + ": " + e);
|
||||
failedCount++;
|
||||
}
|
||||
}
|
||||
|
||||
Logger.info("Loaded " + deedTemplates.size() + " of " + deedFiles.length + " deed templates");
|
||||
|
||||
// Partial deed data is never usable; null tells the caller to abort
|
||||
if (failedCount > 0)
|
||||
return null;
|
||||
|
||||
return deedTemplates;
|
||||
}
|
||||
|
||||
|
||||
+6
@@ -30,6 +30,7 @@ public class RuneParser {
|
||||
File[] runeFiles = CacheParserUtil.listJsonFiles(runePath);
|
||||
int templateId;
|
||||
JSONObject runeJson;
|
||||
int failedCount = 0;
|
||||
|
||||
for (File runeFile : runeFiles) {
|
||||
try {
|
||||
@@ -38,11 +39,16 @@ public class RuneParser {
|
||||
runeTemplates.put(templateId, parseRuneEntry(templateId, runeJson));
|
||||
} catch (Exception e) {
|
||||
Logger.error(runeFile.getName() + ": " + e);
|
||||
failedCount++;
|
||||
}
|
||||
}
|
||||
|
||||
Logger.info("Loaded " + runeTemplates.size() + " of " + runeFiles.length + " rune templates");
|
||||
|
||||
// Partial rune data is never usable; null tells the caller to abort
|
||||
if (failedCount > 0)
|
||||
return null;
|
||||
|
||||
return runeTemplates;
|
||||
}
|
||||
|
||||
|
||||
@@ -310,16 +310,16 @@ public class WorldServer {
|
||||
Logger.info("Loading Deed Templates");
|
||||
DeedTemplate._deeds = DeedParser.parseDeedFolder();
|
||||
|
||||
if (DeedTemplate._deeds.isEmpty()) {
|
||||
Logger.error("ABORT! No deed templates loaded!");
|
||||
if (DeedTemplate._deeds == null || DeedTemplate._deeds.isEmpty()) {
|
||||
Logger.error("ABORT! Deed templates failed to load!");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
Logger.info("Loading Rune Templates");
|
||||
RuneTemplate._runes = RuneParser.parseRuneFolder();
|
||||
|
||||
if (RuneTemplate._runes.isEmpty()) {
|
||||
Logger.error("ABORT! No rune templates loaded!");
|
||||
if (RuneTemplate._runes == null || RuneTemplate._runes.isEmpty()) {
|
||||
Logger.error("ABORT! Rune templates failed to load!");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user