mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-18 14:50:56 +00:00
configure SurfaceLocator
This commit is contained in:
+25
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
+3
-2
@@ -4,17 +4,18 @@ import com.dfsek.terra.api.TerraPlugin;
|
|||||||
import com.dfsek.terra.api.block.state.BlockState;
|
import com.dfsek.terra.api.block.state.BlockState;
|
||||||
import com.dfsek.terra.api.structure.feature.Locator;
|
import com.dfsek.terra.api.structure.feature.Locator;
|
||||||
import com.dfsek.terra.api.util.ConstantRange;
|
import com.dfsek.terra.api.util.ConstantRange;
|
||||||
|
import com.dfsek.terra.api.util.Range;
|
||||||
import com.dfsek.terra.api.world.Column;
|
import com.dfsek.terra.api.world.Column;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class SurfaceLocator implements Locator {
|
public class SurfaceLocator implements Locator {
|
||||||
private final ConstantRange search;
|
private final Range search;
|
||||||
|
|
||||||
private final BlockState air;
|
private final BlockState air;
|
||||||
|
|
||||||
public SurfaceLocator(ConstantRange search, TerraPlugin main) {
|
public SurfaceLocator(Range search, TerraPlugin main) {
|
||||||
this.search = search;
|
this.search = search;
|
||||||
this.air = main.getWorldHandle().air();
|
this.air = main.getWorldHandle().air();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user