enties.json mapping: allow field to index mapping (not auto calculated)

This commit is contained in:
Bixilon 2020-11-19 18:48:20 +01:00
parent cd9fb2ec39
commit afb39712c8
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4

View File

@ -429,10 +429,19 @@ public class VersionMapping {
}
// meta data index
if (data.has("data")) {
JsonArray metaDataJson = data.getAsJsonArray("data");
for (JsonElement jsonElement : metaDataJson) {
String field = jsonElement.getAsString();
entityMetaIndexMap.put(EntityMetaDataFields.valueOf(field), metaDataIndexOffset++);
JsonElement metaDataJson = data.get("data");
if (metaDataJson instanceof JsonArray metaDataJsonArray) {
for (JsonElement jsonElement : metaDataJsonArray) {
String field = jsonElement.getAsString();
entityMetaIndexMap.put(EntityMetaDataFields.valueOf(field), metaDataIndexOffset++);
}
} else if (metaDataJson instanceof JsonObject metaDataJsonObject) {
for (String key : metaDataJsonObject.keySet()) {
entityMetaIndexMap.put(EntityMetaDataFields.valueOf(key), metaDataJsonObject.get(key).getAsInt());
metaDataIndexOffset++;
}
} else {
throw new RuntimeException("entities.json is invalid");
}
}
entityMetaIndexOffsetParentMapping.put(identifier, new Pair<>(parent, metaDataIndexOffset));