From 72488c9d185ba337d892de49c1b8b596753452b6 Mon Sep 17 00:00:00 2001 From: dfsek Date: Sat, 4 Dec 2021 20:40:07 -0700 Subject: [PATCH] move config discovery to separate method --- .../terra/config/pack/ConfigPackImpl.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java b/common/implementation/base/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java index 856e08df1..dfc011024 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java @@ -167,6 +167,9 @@ public class ConfigPackImpl implements ConfigPack { ConfigPackAddonsTemplate addonsTemplate = new ConfigPackAddonsTemplate(); selfLoader.load(addonsTemplate, packManifest); this.addons = addonsTemplate.getAddons(); + + Map configurations = discoverConfigurations(); + registerMeta(configurations); platform.getEventManager().callEvent( new ConfigPackPreLoadEvent(this, template -> selfLoader.load(template, packManifest))); @@ -177,14 +180,6 @@ public class ConfigPackImpl implements ConfigPack { configTypes.values().forEach(list -> list.forEach(pair -> configTypeRegistry.register(pair.getLeft(), pair.getRight()))); - Map configurations = new HashMap<>(); - - platform.getEventManager().callEvent(new ConfigurationDiscoveryEvent(this, loader, - (s, c) -> configurations.put(s.replace("\\", "/"), - c))); // Create all the configs. - - registerMeta(configurations); - Map, List> configs = new HashMap<>(); for(Configuration configuration : configurations.values()) { // Sort the configs @@ -224,6 +219,14 @@ public class ConfigPackImpl implements ConfigPack { checkDeadEntries(); } + private Map discoverConfigurations() { + Map configurations = new HashMap<>(); + platform.getEventManager().callEvent(new ConfigurationDiscoveryEvent(this, loader, + (s, c) -> configurations.put(s.replace("\\", "/"), + c))); // Create all the configs. + return configurations; + } + private void registerMeta(Map configurations) { MetaStringPreprocessor stringPreprocessor = new MetaStringPreprocessor(configurations); selfLoader.registerPreprocessor(Meta.class, stringPreprocessor);