Skip to content

Commit acdfeae

Browse files
committed
refactor(world): log error when world generator types are missing
1 parent cd0f7d2 commit acdfeae

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

engine/src/main/java/org/destinationsol/world/GalaxyBuilder.java

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,15 @@ public GalaxyBuilder(WorldConfig worldConfig, ModuleManager moduleManager, Solar
6767
populateSolarSystemGeneratorList();
6868
} else {
6969
for (String typeName : worldConfig.getSolarSystemGenerators()) {
70-
for (Class<? extends SolarSystemGenerator> possibleGeneratorType :
71-
moduleManager.getEnvironment().getSubtypesOf(SolarSystemGenerator.class, type -> type.getName().equals(typeName))) {
72-
solarSystemGeneratorTypes.add(possibleGeneratorType);
70+
Iterable<Class<? extends SolarSystemGenerator>> generatorTypes =
71+
moduleManager.getEnvironment().getSubtypesOf(SolarSystemGenerator.class, type -> type.getName().equals(typeName));
72+
if (!generatorTypes.iterator().hasNext()) {
73+
logger.error("Unable to find SolarSystemGenerator type {}! World generation will likely be incorrect.", typeName);
74+
continue;
75+
}
76+
77+
for (Class<? extends SolarSystemGenerator> generatorType : generatorTypes) {
78+
solarSystemGeneratorTypes.add(generatorType);
7379
}
7480
}
7581
}
@@ -78,9 +84,15 @@ public GalaxyBuilder(WorldConfig worldConfig, ModuleManager moduleManager, Solar
7884
populateFeatureGeneratorList();
7985
} else {
8086
for (String typeName : worldConfig.getFeatureGenerators()) {
81-
for (Class<? extends FeatureGenerator> possibleGeneratorType :
82-
moduleManager.getEnvironment().getSubtypesOf(FeatureGenerator.class, type -> type.getName().equals(typeName))) {
83-
featureGeneratorTypes.add(possibleGeneratorType);
87+
Iterable<Class<? extends FeatureGenerator>> generatorTypes =
88+
moduleManager.getEnvironment().getSubtypesOf(FeatureGenerator.class, type -> type.getName().equals(typeName));
89+
if (!generatorTypes.iterator().hasNext()) {
90+
logger.error("Unable to find FeatureGenerator type {}! World generation will likely be incorrect.", typeName);
91+
continue;
92+
}
93+
94+
for (Class<? extends FeatureGenerator> generatorType : generatorTypes) {
95+
featureGeneratorTypes.add(generatorType);
8496
}
8597
}
8698
}

0 commit comments

Comments
 (0)