From dad2ce21e43160d449e2caca9bf75dc9c32149ec Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Fri, 18 Oct 2024 19:43:06 +0200 Subject: [PATCH] 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. --- src/main/java/com/alttd/custommobs/config/MobTypes.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alttd/custommobs/config/MobTypes.java b/src/main/java/com/alttd/custommobs/config/MobTypes.java index 636683c..00dc1fa 100644 --- a/src/main/java/com/alttd/custommobs/config/MobTypes.java +++ b/src/main/java/com/alttd/custommobs/config/MobTypes.java @@ -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 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 keys = configurationSection.getKeys(false); keys.forEach(key -> { List abilities = config.getStringList(prefix + key, ".abilities", null).stream() .map(MobTypes.MOB_TYPES::getAbility)