mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-03 08:25:31 +00:00
Initial commit
This commit is contained in:
commit
8c577c39ab
3
common/addons/language-yaml/README.md
Normal file
3
common/addons/language-yaml/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# language-yaml
|
||||
|
||||
Allows `*.yml` files to be loaded as Terra configurations.
|
3
common/addons/language-yaml/build.gradle.kts
Normal file
3
common/addons/language-yaml/build.gradle.kts
Normal file
@ -0,0 +1,3 @@
|
||||
dependencies {
|
||||
"shadedImplementation"("com.dfsek.tectonic:yaml:2.1.2")
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package com.dfsek.terra.addons.yaml;
|
||||
|
||||
import com.dfsek.tectonic.yaml.YamlConfiguration;
|
||||
|
||||
import com.dfsek.terra.api.Platform;
|
||||
import com.dfsek.terra.api.addon.TerraAddon;
|
||||
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.events.config.ConfigurationDiscoveryEvent;
|
||||
import com.dfsek.terra.api.event.functional.FunctionalEventHandler;
|
||||
import com.dfsek.terra.api.inject.annotations.Inject;
|
||||
|
||||
|
||||
@Addon("language-yaml")
|
||||
@Version("1.0.0")
|
||||
@Author("Terra")
|
||||
public class YamlAddon extends TerraAddon {
|
||||
@Inject
|
||||
private Platform platform;
|
||||
|
||||
@Override
|
||||
public void initialize() {
|
||||
platform.getEventManager()
|
||||
.getHandler(FunctionalEventHandler.class)
|
||||
.register(this, ConfigurationDiscoveryEvent.class)
|
||||
.then(event -> event.getLoader().open("", ".yml").thenEntries(entries -> entries.forEach(entry -> {
|
||||
platform.getDebugLogger().info("Discovered config " + entry.getKey());
|
||||
event.register(entry.getKey(), new YamlConfiguration(entry.getValue(), entry.getKey()));
|
||||
})))
|
||||
.failThrough();
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user