configure SurfaceLocator

This commit is contained in:
dfsek
2021-07-18 15:51:59 -07:00
parent a70641e01b
commit 913e7fd6df
2 changed files with 28 additions and 2 deletions

View File

@@ -0,0 +1,25 @@
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.SurfaceLocator;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.structure.feature.Locator;
import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.util.seeded.SeededBuilder;
public class SurfaceLocatorTemplate implements ObjectTemplate<SeededBuilder<Locator>> {
private final TerraPlugin main;
@Value("range")
private Range range;
public SurfaceLocatorTemplate(TerraPlugin main) {
this.main = main;
}
@Override
public SeededBuilder<Locator> get() {
return seed -> new SurfaceLocator(range, main);
}
}

View File

@@ -4,17 +4,18 @@ import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.structure.feature.Locator;
import com.dfsek.terra.api.util.ConstantRange;
import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.world.Column;
import java.util.Collections;
import java.util.List;
public class SurfaceLocator implements Locator {
private final ConstantRange search;
private final Range search;
private final BlockState air;
public SurfaceLocator(ConstantRange search, TerraPlugin main) {
public SurfaceLocator(Range search, TerraPlugin main) {
this.search = search;
this.air = main.getWorldHandle().air();
}