Treat unknown enum values in deed and rune JSON as parse failures

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MagicBotandClaude Opus 5.5 committed 2026-10-17 07:48:11 -04:00
1 parent 7309159f83
commit 08d4bc2501
3 files changed
+11 -40

No files matched your search

+3 -12
View File
@@ -60,10 +60,8 @@ public class RuneParser {
JSONObject discReq;
JSONArray itemFlags;
String flag;
mbEnums.ItemFlags itemFlag;
Object subType;
JSONObject speedJson;
mbEnums.MovementType movementType;
JSONObject groupJson;
JSONArray skillGrantsJson;
JSONObject skillGrantJson;
@@ -140,10 +138,7 @@ public class RuneParser {
if (flag.equals("None"))
continue;
itemFlag = CacheParserUtil.readEnum(mbEnums.ItemFlags.class, flag, templateId, "item_flags");
if (itemFlag != null)
rune.item_flags.add(itemFlag);
rune.item_flags.add(CacheParserUtil.readEnum(mbEnums.ItemFlags.class, flag, templateId, "item_flags"));
}
rune.item_use_flags.addAll(CacheParserUtil.readEnumSet(mbEnums.ItemUseFlags.class, runeJson.getJSONArray("item_use_flags"), templateId, "item_use_flags"));
@@ -212,12 +207,8 @@ public class RuneParser {
speedJson = runeJson.getJSONObject("rune_speed");
for (String speedKey : speedJson.keySet()) {
movementType = CacheParserUtil.readEnum(mbEnums.MovementType.class, speedKey, templateId, "rune_speed");
if (movementType != null)
rune.rune_speed.put(movementType, speedJson.getFloat(speedKey));
}
for (String speedKey : speedJson.keySet())
rune.rune_speed.put(CacheParserUtil.readEnum(mbEnums.MovementType.class, speedKey, templateId, "rune_speed"), speedJson.getFloat(speedKey));
groupJson = runeJson.getJSONObject("rune_group");
rune.rune_group_type = groupJson.getInt("group_type");