functional events in YamlAddon

This commit is contained in:
dfsek
2021-07-21 20:17:45 -07:00
parent 315da531b7
commit 185df6e8a4
@@ -6,26 +6,23 @@ import com.dfsek.terra.api.addon.TerraAddon;
import com.dfsek.terra.api.addon.annotations.Addon; import com.dfsek.terra.api.addon.annotations.Addon;
import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Author;
import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.addon.annotations.Version;
import com.dfsek.terra.api.event.EventListener;
import com.dfsek.terra.api.event.events.config.ConfigurationDiscoveryEvent; import com.dfsek.terra.api.event.events.config.ConfigurationDiscoveryEvent;
import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.injection.annotations.Inject;
@Addon("language-yaml") @Addon("language-yaml")
@Version("1.0.0") @Version("1.0.0")
@Author("Terra") @Author("Terra")
public class YamlAddon extends TerraAddon implements EventListener { public class YamlAddon extends TerraAddon {
@Inject @Inject
private TerraPlugin main; private TerraPlugin main;
@Override @Override
public void initialize() { public void initialize() {
main.getEventManager().registerListener(this, this); main.getEventManager()
} .register(ConfigurationDiscoveryEvent.class)
.then(event -> event.getLoader().open("", ".yml").thenEntries(entries -> entries.forEach(entry -> {
public void loadYamlConfigs(ConfigurationDiscoveryEvent event) { main.getDebugLogger().info("Discovered config " + entry.getKey());
event.getLoader().open("", ".yml").thenEntries(entries -> entries.forEach(entry -> { event.register(entry.getKey(), new YamlConfiguration(entry.getValue(), entry.getKey()));
main.getDebugLogger().info("Discovered config " + entry.getKey()); })));
event.register(entry.getKey(), new YamlConfiguration(entry.getValue(), entry.getKey()));
}));
} }
} }