diff --git a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineAddon.java b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineAddon.java index a0bed6170..e82f990d0 100644 --- a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineAddon.java +++ b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineAddon.java @@ -19,7 +19,7 @@ import com.dfsek.terra.api.addon.annotations.Addon; import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.event.EventListener; -import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder; import com.dfsek.terra.api.util.seeded.SourceSeeded; diff --git a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/NoiseChunkGenerator3DAddon.java b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/NoiseChunkGenerator3DAddon.java index 3dbfdd39d..03c2dd66b 100644 --- a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/NoiseChunkGenerator3DAddon.java +++ b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/NoiseChunkGenerator3DAddon.java @@ -7,7 +7,7 @@ import com.dfsek.terra.api.addon.annotations.Addon; import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.event.EventListener; -import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.registry.exception.DuplicateEntryException; import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider; diff --git a/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/BiomeConfigAddon.java b/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/BiomeConfigAddon.java index ede3bba77..ab0740c71 100644 --- a/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/BiomeConfigAddon.java +++ b/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/BiomeConfigAddon.java @@ -9,7 +9,7 @@ import com.dfsek.terra.api.addon.annotations.Addon; import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.event.EventListener; -import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; import com.dfsek.terra.api.injection.annotations.Inject; @Addon("config-biome") diff --git a/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/FloraAddon.java b/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/FloraAddon.java index 7d3cc6e03..9477a1f27 100644 --- a/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/FloraAddon.java +++ b/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/FloraAddon.java @@ -9,8 +9,8 @@ import com.dfsek.terra.api.addon.annotations.Addon; import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.event.EventListener; -import com.dfsek.terra.api.event.events.config.ConfigLoadEvent; -import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; +import com.dfsek.terra.api.event.events.config.ConfigurationLoadEvent; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.registry.exception.DuplicateEntryException; import com.dfsek.terra.api.util.seeded.BiomeBuilder; @@ -43,7 +43,7 @@ public class FloraAddon extends TerraAddon implements EventListener { .applyLoader(BlockLayer.class, BlockLayerTemplate::new); } - public void onBiomeLoad(ConfigLoadEvent event) { + public void onBiomeLoad(ConfigurationLoadEvent event) { if(BiomeBuilder.class.isAssignableFrom(event.getType().getTypeClass())) { flora.put(event.getConfiguration().getID(), event.load(new BiomeFloraTemplate()).getFlora()); } diff --git a/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/NoiseAddon.java b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/NoiseAddon.java index 3a2ecfc99..9fbc64aae 100644 --- a/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/NoiseAddon.java +++ b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/NoiseAddon.java @@ -32,7 +32,7 @@ import com.dfsek.terra.api.addon.annotations.Addon; import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.event.EventListener; -import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.registry.CheckedRegistry; import com.dfsek.terra.api.util.seeded.NoiseProvider; diff --git a/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/OreAddon.java b/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/OreAddon.java index 574ab1d3b..3ad6c7474 100644 --- a/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/OreAddon.java +++ b/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/OreAddon.java @@ -6,7 +6,7 @@ import com.dfsek.terra.api.addon.annotations.Addon; import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.event.EventListener; -import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.registry.exception.DuplicateEntryException; import com.dfsek.terra.api.world.generator.GenerationStageProvider; diff --git a/common/addons/config-palette/src/main/java/com/dfsek/terra/addons/palette/PaletteAddon.java b/common/addons/config-palette/src/main/java/com/dfsek/terra/addons/palette/PaletteAddon.java index 0ee51a855..5e3e2bb5c 100644 --- a/common/addons/config-palette/src/main/java/com/dfsek/terra/addons/palette/PaletteAddon.java +++ b/common/addons/config-palette/src/main/java/com/dfsek/terra/addons/palette/PaletteAddon.java @@ -8,7 +8,7 @@ import com.dfsek.terra.api.addon.annotations.Addon; import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.event.EventListener; -import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; import com.dfsek.terra.api.injection.annotations.Inject; @Addon("config-palette") diff --git a/common/addons/config-structure/src/main/java/com/dfsek/terra/addons/structure/StructureAddon.java b/common/addons/config-structure/src/main/java/com/dfsek/terra/addons/structure/StructureAddon.java index 686f35029..ee14c6a50 100644 --- a/common/addons/config-structure/src/main/java/com/dfsek/terra/addons/structure/StructureAddon.java +++ b/common/addons/config-structure/src/main/java/com/dfsek/terra/addons/structure/StructureAddon.java @@ -6,7 +6,7 @@ import com.dfsek.terra.api.addon.annotations.Addon; import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.event.EventListener; -import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.structure.ConfiguredStructure; diff --git a/common/addons/config-tree/src/main/java/com/dfsek/terra/addons/tree/TreeAddon.java b/common/addons/config-tree/src/main/java/com/dfsek/terra/addons/tree/TreeAddon.java index d27117b66..378f3c40d 100644 --- a/common/addons/config-tree/src/main/java/com/dfsek/terra/addons/tree/TreeAddon.java +++ b/common/addons/config-tree/src/main/java/com/dfsek/terra/addons/tree/TreeAddon.java @@ -8,8 +8,8 @@ import com.dfsek.terra.api.addon.annotations.Addon; import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.event.EventListener; -import com.dfsek.terra.api.event.events.config.ConfigLoadEvent; -import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; +import com.dfsek.terra.api.event.events.config.ConfigurationLoadEvent; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.registry.exception.DuplicateEntryException; import com.dfsek.terra.api.util.seeded.BiomeBuilder; @@ -41,7 +41,7 @@ public class TreeAddon extends TerraAddon implements EventListener { event.getPack().applyLoader(TreeLayer.class, TreeLayerTemplate::new); } - public void onBiomeLoad(ConfigLoadEvent event) { + public void onBiomeLoad(ConfigurationLoadEvent event) { if(BiomeBuilder.class.isAssignableFrom(event.getType().getTypeClass())) { trees.put(event.getConfiguration().getID(), event.load(new BiomeTreeTemplate()).getTrees()); } diff --git a/common/addons/language-yaml/src/main/java/com/dfsek/terra/addons/yaml/YamlAddon.java b/common/addons/language-yaml/src/main/java/com/dfsek/terra/addons/yaml/YamlAddon.java index 116cb5e70..a8567658e 100644 --- a/common/addons/language-yaml/src/main/java/com/dfsek/terra/addons/yaml/YamlAddon.java +++ b/common/addons/language-yaml/src/main/java/com/dfsek/terra/addons/yaml/YamlAddon.java @@ -7,7 +7,7 @@ import com.dfsek.terra.api.addon.annotations.Addon; import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.event.EventListener; -import com.dfsek.terra.api.event.events.config.ConfigurationLoadEvent; +import com.dfsek.terra.api.event.events.config.ConfigurationDiscoveryEvent; import com.dfsek.terra.api.injection.annotations.Inject; @Addon("language-yaml") @@ -22,7 +22,7 @@ public class YamlAddon extends TerraAddon implements EventListener { main.getEventManager().registerListener(this, this); } - public void loadYamlConfigs(ConfigurationLoadEvent event) { + public void loadYamlConfigs(ConfigurationDiscoveryEvent event) { event.getLoader().open("", ".yml").thenEntries(entries -> entries.forEach(entry -> event.register(new YamlConfiguration(entry.getValue(), entry.getKey())))); } } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/TerraScriptAddon.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/TerraScriptAddon.java index 38c4aab4f..862e1b287 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/TerraScriptAddon.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/TerraScriptAddon.java @@ -10,7 +10,7 @@ import com.dfsek.terra.api.addon.annotations.Addon; import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.event.EventListener; -import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.registry.CheckedRegistry; import com.dfsek.terra.api.registry.exception.DuplicateEntryException; diff --git a/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigLoadEvent.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigLoadEvent.java deleted file mode 100644 index ee8dbb486..000000000 --- a/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigLoadEvent.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.dfsek.terra.api.event.events.config; - -import com.dfsek.tectonic.abstraction.AbstractConfiguration; -import com.dfsek.tectonic.config.ConfigTemplate; -import com.dfsek.terra.api.config.ConfigPack; -import com.dfsek.terra.api.config.ConfigType; -import com.dfsek.terra.api.event.events.PackEvent; - -import java.util.function.Consumer; - -/** - * Fired when each individual configuration is loaded. - */ -public class ConfigLoadEvent implements PackEvent { - private final ConfigPack pack; - private final AbstractConfiguration configuration; - private final Consumer loader; - private final ConfigType type; - - private final Object loaded; - - public ConfigLoadEvent(ConfigPack pack, AbstractConfiguration configuration, Consumer loader, ConfigType type, Object loaded) { - this.pack = pack; - this.configuration = configuration; - this.loader = loader; - this.type = type; - this.loaded = loaded; - } - - @Override - public ConfigPack getPack() { - return pack; - } - - public AbstractConfiguration getConfiguration() { - return configuration; - } - - public T load(T template) { - loader.accept(template); - return template; - } - - public ConfigType getType() { - return type; - } - - @SuppressWarnings("unchecked") - public T getLoadedObject(Class clazz) { - if(!clazz.isAssignableFrom(type.getTypeClass())) throw new ClassCastException("Cannot assign object from loader of type " + type.getTypeClass().getCanonicalName() + " to class " + clazz.getCanonicalName()); - return (T) loaded; - } -} diff --git a/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigurationDiscoveryEvent.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigurationDiscoveryEvent.java new file mode 100644 index 000000000..0037dacc2 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigurationDiscoveryEvent.java @@ -0,0 +1,40 @@ +package com.dfsek.terra.api.event.events.config; + +import com.dfsek.tectonic.config.Configuration; +import com.dfsek.terra.api.config.ConfigPack; +import com.dfsek.terra.api.config.Loader; +import com.dfsek.terra.api.event.events.PackEvent; + +import java.util.function.Consumer; + +/** + * Fired when a pack is searched for {@link Configuration}s. + *

+ * Addons should listen to this event if they wish to add + * another configuration format. + */ +public class ConfigurationDiscoveryEvent implements PackEvent { + private final ConfigPack pack; + private final Loader loader; + + private final Consumer consumer; + + public ConfigurationDiscoveryEvent(ConfigPack pack, Loader loader, Consumer consumer) { + this.pack = pack; + this.loader = loader; + this.consumer = consumer; + } + + @Override + public ConfigPack getPack() { + return pack; + } + + public Loader getLoader() { + return loader; + } + + public void register(Configuration config) { + consumer.accept(config); + } +} diff --git a/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigurationLoadEvent.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigurationLoadEvent.java index 8565c7c17..8c6aa5b90 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigurationLoadEvent.java +++ b/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigurationLoadEvent.java @@ -1,22 +1,33 @@ package com.dfsek.terra.api.event.events.config; -import com.dfsek.tectonic.config.Configuration; +import com.dfsek.tectonic.abstraction.AbstractConfiguration; +import com.dfsek.tectonic.config.ConfigTemplate; import com.dfsek.terra.api.config.ConfigPack; -import com.dfsek.terra.api.config.Loader; +import com.dfsek.terra.api.config.ConfigType; import com.dfsek.terra.api.event.events.PackEvent; import java.util.function.Consumer; +/** + * Fired when each individual configuration is loaded. + *

+ * Addons should listen to this event if they wish to add + * config values to existing {@link ConfigType}s. + */ public class ConfigurationLoadEvent implements PackEvent { private final ConfigPack pack; - private final Loader loader; + private final AbstractConfiguration configuration; + private final Consumer loader; + private final ConfigType type; - private final Consumer consumer; + private final Object loaded; - public ConfigurationLoadEvent(ConfigPack pack, Loader loader, Consumer consumer) { + public ConfigurationLoadEvent(ConfigPack pack, AbstractConfiguration configuration, Consumer loader, ConfigType type, Object loaded) { this.pack = pack; + this.configuration = configuration; this.loader = loader; - this.consumer = consumer; + this.type = type; + this.loaded = loaded; } @Override @@ -24,11 +35,23 @@ public class ConfigurationLoadEvent implements PackEvent { return pack; } - public Loader getLoader() { - return loader; + public AbstractConfiguration getConfiguration() { + return configuration; } - public void register(Configuration config) { - consumer.accept(config); + public T load(T template) { + loader.accept(template); + return template; + } + + public ConfigType getType() { + return type; + } + + @SuppressWarnings("unchecked") + public T getLoadedObject(Class clazz) { + if(!clazz.isAssignableFrom(type.getTypeClass())) + throw new ClassCastException("Cannot assign object from loader of type " + type.getTypeClass().getCanonicalName() + " to class " + clazz.getCanonicalName()); + return (T) loaded; } } diff --git a/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackLoadEvent.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/config/pack/ConfigPackLoadEvent.java similarity index 95% rename from common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackLoadEvent.java rename to common/api/src/main/java/com/dfsek/terra/api/event/events/config/pack/ConfigPackLoadEvent.java index 08238e3fa..78fc99f76 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackLoadEvent.java +++ b/common/api/src/main/java/com/dfsek/terra/api/event/events/config/pack/ConfigPackLoadEvent.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.event.events.config; +package com.dfsek.terra.api.event.events.config.pack; import com.dfsek.tectonic.config.ConfigTemplate; import com.dfsek.tectonic.exception.ConfigException; diff --git a/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPostLoadEvent.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/config/pack/ConfigPackPostLoadEvent.java similarity index 86% rename from common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPostLoadEvent.java rename to common/api/src/main/java/com/dfsek/terra/api/event/events/config/pack/ConfigPackPostLoadEvent.java index 7ebced059..139c8284e 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPostLoadEvent.java +++ b/common/api/src/main/java/com/dfsek/terra/api/event/events/config/pack/ConfigPackPostLoadEvent.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.event.events.config; +package com.dfsek.terra.api.event.events.config.pack; import com.dfsek.tectonic.config.ConfigTemplate; import com.dfsek.terra.api.config.ConfigPack; diff --git a/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPreLoadEvent.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/config/pack/ConfigPackPreLoadEvent.java similarity index 89% rename from common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPreLoadEvent.java rename to common/api/src/main/java/com/dfsek/terra/api/event/events/config/pack/ConfigPackPreLoadEvent.java index bd5ff66c1..4f9e86dca 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPreLoadEvent.java +++ b/common/api/src/main/java/com/dfsek/terra/api/event/events/config/pack/ConfigPackPreLoadEvent.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.event.events.config; +package com.dfsek.terra.api.event.events.config.pack; import com.dfsek.tectonic.config.ConfigTemplate; import com.dfsek.terra.api.config.ConfigPack; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java b/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java index 16ffaea5f..a38adcab1 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java @@ -18,10 +18,10 @@ import com.dfsek.terra.api.config.ConfigFactory; import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.api.config.ConfigType; import com.dfsek.terra.api.config.Loader; -import com.dfsek.terra.api.event.events.config.ConfigLoadEvent; -import com.dfsek.terra.api.event.events.config.ConfigPackPostLoadEvent; -import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; import com.dfsek.terra.api.event.events.config.ConfigurationLoadEvent; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPostLoadEvent; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; +import com.dfsek.terra.api.event.events.config.ConfigurationDiscoveryEvent; import com.dfsek.terra.api.registry.CheckedRegistry; import com.dfsek.terra.api.registry.OpenRegistry; import com.dfsek.terra.api.registry.exception.DuplicateEntryException; @@ -232,7 +232,7 @@ public class ConfigPackImpl implements ConfigPack { List configurations = new ArrayList<>(); - main.getEventManager().callEvent(new ConfigurationLoadEvent(this, loader, configurations::add)); // Create all the configs. + main.getEventManager().callEvent(new ConfigurationDiscoveryEvent(this, loader, configurations::add)); // Create all the configs. Map, List> configs = new HashMap<>(); @@ -248,7 +248,7 @@ public class ConfigPackImpl implements ConfigPack { try { Object loaded = ((ConfigFactory) configType.getFactory()).build(selfLoader.load(configType.getTemplate(this, main), config), main); registry.register(config.getID(), loaded); - main.getEventManager().callEvent(new ConfigLoadEvent(this, config, template -> selfLoader.load(template, config), configType, loaded)); + main.getEventManager().callEvent(new ConfigurationLoadEvent(this, config, template -> selfLoader.load(template, config), configType, loaded)); } catch(DuplicateEntryException e) { throw new LoadException("Duplicate registry entry: ", e); } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/TerraListener.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/TerraListener.java index 62c24d5d1..c28474109 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/TerraListener.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/TerraListener.java @@ -4,7 +4,7 @@ import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.event.EventListener; import com.dfsek.terra.api.event.annotations.Global; import com.dfsek.terra.api.event.annotations.Priority; -import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; import com.dfsek.terra.api.registry.exception.DuplicateEntryException; import com.dfsek.terra.api.world.Tree; import com.dfsek.terra.bukkit.world.BukkitAdapter; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java index b8d2a2612..5c238344e 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java @@ -2,9 +2,7 @@ package com.dfsek.terra.fabric; import com.dfsek.tectonic.exception.ConfigException; import com.dfsek.tectonic.exception.LoadException; -import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.tectonic.loading.TypeRegistry; -import com.dfsek.tectonic.loading.object.ObjectTemplate; import com.dfsek.terra.api.Logger; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.addon.TerraAddon; @@ -20,8 +18,8 @@ import com.dfsek.terra.api.event.EventListener; import com.dfsek.terra.api.event.EventManager; import com.dfsek.terra.api.event.annotations.Global; import com.dfsek.terra.api.event.annotations.Priority; -import com.dfsek.terra.api.event.events.config.ConfigPackPostLoadEvent; -import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPostLoadEvent; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; import com.dfsek.terra.api.handle.ItemHandle; import com.dfsek.terra.api.handle.WorldHandle; import com.dfsek.terra.api.lang.Language; @@ -79,10 +77,8 @@ import org.apache.logging.log4j.LogManager; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.lang.reflect.Type; import java.util.HashMap; import java.util.Map; -import java.util.function.Supplier; public class TerraFabricPlugin implements TerraPlugin, ModInitializer {