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 46b37d6e7..00d2628f5 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 @@ -184,25 +184,7 @@ public class ConfigPackImpl implements ConfigPack { platform.getEventManager().callEvent(new ConfigurationDiscoveryEvent(this, loader, (s, c) -> configurations.put(s.replace("\\","/"), c))); // Create all the configs. - MetaStringPreprocessor stringPreprocessor = new MetaStringPreprocessor(configurations); - selfLoader.registerPreprocessor(Meta.class, stringPreprocessor); - abstractConfigLoader.registerPreprocessor(Meta.class, stringPreprocessor); - - MetaListLikePreprocessor listPreprocessor = new MetaListLikePreprocessor(configurations); - selfLoader.registerPreprocessor(Meta.class, listPreprocessor); - abstractConfigLoader.registerPreprocessor(Meta.class, listPreprocessor); - - MetaMapPreprocessor mapPreprocessor = new MetaMapPreprocessor(configurations); - selfLoader.registerPreprocessor(Meta.class, mapPreprocessor); - abstractConfigLoader.registerPreprocessor(Meta.class, mapPreprocessor); - - MetaValuePreprocessor valuePreprocessor = new MetaValuePreprocessor(configurations); - selfLoader.registerPreprocessor(Meta.class, valuePreprocessor); - abstractConfigLoader.registerPreprocessor(Meta.class, valuePreprocessor); - - MetaNumberPreprocessor numberPreprocessor = new MetaNumberPreprocessor(configurations); - selfLoader.registerPreprocessor(Meta.class, numberPreprocessor); - abstractConfigLoader.registerPreprocessor(Meta.class, numberPreprocessor); + registerMeta(configurations); Map, List> configs = new HashMap<>(); @@ -243,6 +225,28 @@ public class ConfigPackImpl implements ConfigPack { checkDeadEntries(); } + private void registerMeta(Map configurations) { + MetaStringPreprocessor stringPreprocessor = new MetaStringPreprocessor(configurations); + selfLoader.registerPreprocessor(Meta.class, stringPreprocessor); + abstractConfigLoader.registerPreprocessor(Meta.class, stringPreprocessor); + + MetaListLikePreprocessor listPreprocessor = new MetaListLikePreprocessor(configurations); + selfLoader.registerPreprocessor(Meta.class, listPreprocessor); + abstractConfigLoader.registerPreprocessor(Meta.class, listPreprocessor); + + MetaMapPreprocessor mapPreprocessor = new MetaMapPreprocessor(configurations); + selfLoader.registerPreprocessor(Meta.class, mapPreprocessor); + abstractConfigLoader.registerPreprocessor(Meta.class, mapPreprocessor); + + MetaValuePreprocessor valuePreprocessor = new MetaValuePreprocessor(configurations); + selfLoader.registerPreprocessor(Meta.class, valuePreprocessor); + abstractConfigLoader.registerPreprocessor(Meta.class, valuePreprocessor); + + MetaNumberPreprocessor numberPreprocessor = new MetaNumberPreprocessor(configurations); + selfLoader.registerPreprocessor(Meta.class, numberPreprocessor); + abstractConfigLoader.registerPreprocessor(Meta.class, numberPreprocessor); + } + @Override public ConfigPackImpl applyLoader(Type type, TypeLoader loader) { abstractConfigLoader.registerLoader(type, loader);