use binarycolumn in locator

This commit is contained in:
dfsek
2021-07-28 08:12:38 -07:00
parent 220a981b05
commit 7a44b74b61
4 changed files with 7 additions and 8 deletions

View File

@@ -1,6 +1,7 @@
package com.dfsek.terra.addons.feature.locator.locators;
import com.dfsek.terra.addons.feature.locator.patterns.Pattern;
import com.dfsek.terra.api.structure.feature.BinaryColumn;
import com.dfsek.terra.api.structure.feature.Locator;
import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.world.Column;
@@ -18,7 +19,7 @@ public class PatternLocator implements Locator {
}
@Override
public List<Integer> getSuitableCoordinates(Column column) {
public BinaryColumn getSuitableCoordinates(Column column) {
List<Integer> locations = new ArrayList<>();
for(int y : search) {

View File

@@ -1,5 +1,6 @@
package com.dfsek.terra.addons.feature.locator.locators;
import com.dfsek.terra.api.structure.feature.BinaryColumn;
import com.dfsek.terra.api.structure.feature.Locator;
import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.world.Column;
@@ -19,7 +20,7 @@ public class RandomLocator implements Locator {
}
@Override
public List<Integer> getSuitableCoordinates(Column column) {
public BinaryColumn getSuitableCoordinates(Column column) {
long seed = column.getWorld().getSeed();
seed = 31 * seed + column.getX();
seed = 31 * seed + column.getZ();

View File

@@ -2,13 +2,12 @@ package com.dfsek.terra.addons.feature.locator.locators;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.structure.feature.BinaryColumn;
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 Range search;
@@ -21,7 +20,7 @@ public class SurfaceLocator implements Locator {
}
@Override
public List<Integer> getSuitableCoordinates(Column column) {
public BinaryColumn getSuitableCoordinates(Column column) {
for(int y : search) {
if(column.getBlock(y).matches(air) && !column.getBlock(y-1).matches(air)) {
return Collections.singletonList(y);

View File

@@ -2,8 +2,6 @@ package com.dfsek.terra.api.structure.feature;
import com.dfsek.terra.api.world.Column;
import java.util.List;
public interface Locator {
List<Integer> getSuitableCoordinates(Column column);
BinaryColumn getSuitableCoordinates(Column column);
}