mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-17 22:31:52 +00:00
use binarycolumn in locator
This commit is contained in:
+2
-1
@@ -1,6 +1,7 @@
|
|||||||
package com.dfsek.terra.addons.feature.locator.locators;
|
package com.dfsek.terra.addons.feature.locator.locators;
|
||||||
|
|
||||||
import com.dfsek.terra.addons.feature.locator.patterns.Pattern;
|
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.structure.feature.Locator;
|
||||||
import com.dfsek.terra.api.util.Range;
|
import com.dfsek.terra.api.util.Range;
|
||||||
import com.dfsek.terra.api.world.Column;
|
import com.dfsek.terra.api.world.Column;
|
||||||
@@ -18,7 +19,7 @@ public class PatternLocator implements Locator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Integer> getSuitableCoordinates(Column column) {
|
public BinaryColumn getSuitableCoordinates(Column column) {
|
||||||
List<Integer> locations = new ArrayList<>();
|
List<Integer> locations = new ArrayList<>();
|
||||||
|
|
||||||
for(int y : search) {
|
for(int y : search) {
|
||||||
|
|||||||
+2
-1
@@ -1,5 +1,6 @@
|
|||||||
package com.dfsek.terra.addons.feature.locator.locators;
|
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.structure.feature.Locator;
|
||||||
import com.dfsek.terra.api.util.Range;
|
import com.dfsek.terra.api.util.Range;
|
||||||
import com.dfsek.terra.api.world.Column;
|
import com.dfsek.terra.api.world.Column;
|
||||||
@@ -19,7 +20,7 @@ public class RandomLocator implements Locator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Integer> getSuitableCoordinates(Column column) {
|
public BinaryColumn getSuitableCoordinates(Column column) {
|
||||||
long seed = column.getWorld().getSeed();
|
long seed = column.getWorld().getSeed();
|
||||||
seed = 31 * seed + column.getX();
|
seed = 31 * seed + column.getX();
|
||||||
seed = 31 * seed + column.getZ();
|
seed = 31 * seed + column.getZ();
|
||||||
|
|||||||
+2
-3
@@ -2,13 +2,12 @@ package com.dfsek.terra.addons.feature.locator.locators;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
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.BinaryColumn;
|
||||||
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.Range;
|
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;
|
|
||||||
|
|
||||||
public class SurfaceLocator implements Locator {
|
public class SurfaceLocator implements Locator {
|
||||||
private final Range search;
|
private final Range search;
|
||||||
@@ -21,7 +20,7 @@ public class SurfaceLocator implements Locator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Integer> getSuitableCoordinates(Column column) {
|
public BinaryColumn getSuitableCoordinates(Column column) {
|
||||||
for(int y : search) {
|
for(int y : search) {
|
||||||
if(column.getBlock(y).matches(air) && !column.getBlock(y-1).matches(air)) {
|
if(column.getBlock(y).matches(air) && !column.getBlock(y-1).matches(air)) {
|
||||||
return Collections.singletonList(y);
|
return Collections.singletonList(y);
|
||||||
|
|||||||
@@ -2,8 +2,6 @@ package com.dfsek.terra.api.structure.feature;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.world.Column;
|
import com.dfsek.terra.api.world.Column;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public interface Locator {
|
public interface Locator {
|
||||||
List<Integer> getSuitableCoordinates(Column column);
|
BinaryColumn getSuitableCoordinates(Column column);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user