diff --git a/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemDefinition.java b/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemDefinition.java index a9af8af..8d3e972 100644 --- a/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemDefinition.java +++ b/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemDefinition.java @@ -105,8 +105,13 @@ public record DataDrivenItemDefinition( Map componentConfigs ) { + /** Compact constructor: default null componentConfigs to empty immutable map. */ + public DataDrivenItemDefinition { + if (componentConfigs == null) componentConfigs = Map.of(); + } + /** Check whether this definition declares a given component type. */ public boolean hasComponent(ComponentType type) { - return componentConfigs != null && componentConfigs.containsKey(type); + return componentConfigs.containsKey(type); } } diff --git a/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemRegistry.java b/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemRegistry.java index e0e25ec..5e726e2 100644 --- a/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemRegistry.java +++ b/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemRegistry.java @@ -185,14 +185,12 @@ public final class DataDrivenItemRegistry { DataDrivenItemDefinition def = entry.getValue(); Map components = new EnumMap<>(ComponentType.class); - if (def.componentConfigs() != null) { - for (Map.Entry compEntry : - def.componentConfigs().entrySet()) { - components.put( - compEntry.getKey(), - compEntry.getKey().create(compEntry.getValue()) - ); - } + for (Map.Entry compEntry : + def.componentConfigs().entrySet()) { + components.put( + compEntry.getKey(), + compEntry.getKey().create(compEntry.getValue()) + ); } holders.put( entry.getKey(),