Simplify config loading

This commit is contained in:
Marcel Konrad
2021-07-26 00:02:19 +02:00
parent a085897990
commit 28d746653e
2 changed files with 3 additions and 21 deletions

View File

@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

View File

@@ -7,14 +7,11 @@ import java.util.List;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import com.electronwill.nightconfig.core.file.CommentedFileConfig;
import exopandora.worldhandler.event.KeyHandler; import exopandora.worldhandler.event.KeyHandler;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.common.ForgeConfigSpec; import net.minecraftforge.common.ForgeConfigSpec;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.config.ModConfig;
import net.minecraftforge.fml.config.ModConfig.Reloading; import net.minecraftforge.fml.config.ModConfig.Reloading;
import net.minecraftforge.fml.config.ModConfig.Type; import net.minecraftforge.fml.config.ModConfig.Type;
@@ -23,9 +20,6 @@ public class Config
public static final ForgeConfigSpec CLIENT_SPEC; public static final ForgeConfigSpec CLIENT_SPEC;
public static final ClientConfig CLIENT; public static final ClientConfig CLIENT;
private static ModConfig MOD_CONFIG;
private static CommentedFileConfig CONFIG_DATA;
static static
{ {
Pair<ClientConfig, ForgeConfigSpec> pair = new ForgeConfigSpec.Builder().configure(ClientConfig::new); Pair<ClientConfig, ForgeConfigSpec> pair = new ForgeConfigSpec.Builder().configure(ClientConfig::new);
@@ -94,27 +88,15 @@ public class Config
{ {
if(configValue != null && value != null && (!value.equals(configValue.get()) || configValue.get() instanceof List<?>)) if(configValue != null && value != null && (!value.equals(configValue.get()) || configValue.get() instanceof List<?>))
{ {
Config.CONFIG_DATA.set(configValue.getPath(), value); configValue.set(value);
configValue.clearCache();
}
}
@SubscribeEvent
public static void configLoad(ModConfig.Loading event)
{
if(event.getConfig().getType().equals(Type.CLIENT))
{
Config.MOD_CONFIG = event.getConfig();
Config.CONFIG_DATA = (CommentedFileConfig) Config.MOD_CONFIG.getConfigData();
} }
} }
@SubscribeEvent @SubscribeEvent
public static void configReload(Reloading event) public static void configReload(Reloading event)
{ {
if(event.getConfig().getType().equals(Type.CLIENT) && Config.CONFIG_DATA != null) if(event.getConfig().getType().equals(Type.CLIENT))
{ {
Config.CONFIG_DATA.load();
KeyHandler.updatePosKeys(); KeyHandler.updatePosKeys();
} }
} }