From 45ac2f9dda3988b6a97e18410856f10b11e814f6 Mon Sep 17 00:00:00 2001 From: BlayTheNinth <1933180+BlayTheNinth@users.noreply.github.com> Date: Sat, 22 Feb 2025 18:14:04 +0100 Subject: [PATCH] fix: Log error and refuse setting active config to null to both prevent crashes, and debug what code paths lead to it being null https://github.com/TwelveIterationMods/ForgivingVoid/issues/47 --- .../blay09/mods/balm/api/config/AbstractBalmConfig.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/common/src/main/java/net/blay09/mods/balm/api/config/AbstractBalmConfig.java b/common/src/main/java/net/blay09/mods/balm/api/config/AbstractBalmConfig.java index 012d455f..94713c8e 100644 --- a/common/src/main/java/net/blay09/mods/balm/api/config/AbstractBalmConfig.java +++ b/common/src/main/java/net/blay09/mods/balm/api/config/AbstractBalmConfig.java @@ -11,6 +11,8 @@ import net.minecraft.server.MinecraftServer; import net.minecraft.world.entity.player.Player; import org.jetbrains.annotations.NotNull; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.File; import java.lang.reflect.Field; @@ -23,6 +25,8 @@ public abstract class AbstractBalmConfig implements BalmConfig { + private static final Logger logger = LoggerFactory.getLogger(AbstractBalmConfig.class); + private final Map, BalmConfigData> activeConfigs = new HashMap<>(); private final Map, BalmConfigData> defaultConfigs = new HashMap<>(); private final Map, Function> syncMessageFactories = new HashMap<>(); @@ -68,6 +72,11 @@ public Function void setActiveConfig(Class clazz, T config) { + if (config == null) { + logger.error("Attempted to set active config to null", new IllegalArgumentException("config must not be null")); + return; + } + activeConfigs.put(clazz, config); }