Add null check for configuration section in MobTypes

Ensure that the configuration section is not null before attempting to retrieve keys. This prevents potential null pointer exceptions and adds a warning log for missing configuration sections.
This commit is contained in:
Teriuihi 2024-10-18 19:43:06 +02:00
parent 989873247a
commit dad2ce21e4

View File

@ -7,6 +7,7 @@ import com.alttd.custommobs.abilities.MobType;
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
import lombok.extern.slf4j.Slf4j;
import org.bukkit.attribute.Attribute;
import org.bukkit.configuration.ConfigurationSection;
import org.reflections.Reflections;
import java.io.File;
@ -45,7 +46,12 @@ public class MobTypes extends AbstractConfig {
@SuppressWarnings("unused")
private static void load() {
MOB_TYPES.clear();
Set<String> keys = config.getConfigurationSection(prefix.substring(0, prefix.length() - 1)).getKeys(false);
ConfigurationSection configurationSection = config.getConfigurationSection(prefix.substring(0, prefix.length() - 1));
if (configurationSection == null) {
log.warn("No config section found for {}", prefix.substring(0, prefix.length() - 1));
return;
}
Set<String> keys = configurationSection.getKeys(false);
keys.forEach(key -> {
List<Ability> abilities = config.getStringList(prefix + key, ".abilities", null).stream()
.map(MobTypes.MOB_TYPES::getAbility)