diff --git a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/LocatorAddon.java b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/LocatorAddon.java index 3bddc8a80..0427d9dd4 100644 --- a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/LocatorAddon.java +++ b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/LocatorAddon.java @@ -1,6 +1,7 @@ package com.dfsek.terra.addons.feature.locator; import com.dfsek.tectonic.loading.object.ObjectTemplate; +import com.dfsek.terra.addons.feature.locator.config.RandomLocatorTemplate; import com.dfsek.terra.addons.feature.locator.config.SurfaceLocatorTemplate; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.addon.TerraAddon; @@ -33,5 +34,6 @@ public class LocatorAddon extends TerraAddon implements EventListener { public void onPackLoad(ConfigPackPreLoadEvent event) { CheckedRegistry>> locatorRegistry = event.getPack().getOrCreateRegistry(LOCATOR_TOKEN); locatorRegistry.register("SURFACE", () -> new SurfaceLocatorTemplate(main)); + locatorRegistry.register("RANDOM", RandomLocatorTemplate::new); } } diff --git a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/RandomLocatorTemplate.java b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/RandomLocatorTemplate.java new file mode 100644 index 000000000..ca666e201 --- /dev/null +++ b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/RandomLocatorTemplate.java @@ -0,0 +1,21 @@ +package com.dfsek.terra.addons.feature.locator.config; + +import com.dfsek.tectonic.annotations.Value; +import com.dfsek.tectonic.loading.object.ObjectTemplate; +import com.dfsek.terra.addons.feature.locator.locators.RandomLocator; +import com.dfsek.terra.addons.feature.locator.locators.SurfaceLocator; +import com.dfsek.terra.api.structure.feature.Locator; +import com.dfsek.terra.api.util.Range; + +public class RandomLocatorTemplate implements ObjectTemplate { + @Value("height") + private Range height; + + @Value("amount") + private Range amount; + + @Override + public Locator get() { + return new RandomLocator(height, amount); + } +}