diff --git a/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemParser.java b/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemParser.java index f0da6eb..221b2ae 100644 --- a/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemParser.java +++ b/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemParser.java @@ -279,9 +279,17 @@ public final class DataDrivenItemParser { entry.getKey() ); if (compType != null) { - JsonObject config = entry.getValue().isJsonObject() - ? entry.getValue().getAsJsonObject() - : new JsonObject(); + JsonObject config; + if (entry.getValue().isJsonObject()) { + config = entry.getValue().getAsJsonObject().deepCopy(); + } else { + LOGGER.warn( + "[DataDrivenItemParser] Component '{}' in item '{}' has non-object config, using defaults", + entry.getKey(), + fileId + ); + config = new JsonObject(); + } componentConfigs.put(compType, config); } else { LOGGER.warn(