remove assumption that world starts at Y=0

This commit is contained in:
dfsek
2021-02-24 19:48:43 -07:00
parent dd446b3034
commit 4a47815be7
11 changed files with 51 additions and 58 deletions
@@ -39,7 +39,7 @@ public class UserDefinedCarver extends Carver {
private final Expression yRad;
private final Expression zRad;
private final Map<World, CarverCache> cacheMap = new ConcurrentHashMap<>();
private final Map<Long, CarverCache> cacheMap = new ConcurrentHashMap<>();
private final TerraPlugin main;
private double step = 2;
private Range recalc = new Range(8, 10);
@@ -108,7 +108,7 @@ public class UserDefinedCarver extends Carver {
@Override
public void carve(int chunkX, int chunkZ, World w, BiConsumer<Vector3, CarvingType> consumer) {
synchronized(cacheMap) {
CarverCache cache = cacheMap.computeIfAbsent(w, world -> new CarverCache(world, main, this));
CarverCache cache = cacheMap.computeIfAbsent(w.getSeed(), world -> new CarverCache(w, main, this));
int carvingRadius = getCarvingRadius();
for(int x = chunkX - carvingRadius; x <= chunkX + carvingRadius; x++) {
for(int z = chunkZ - carvingRadius; z <= chunkZ + carvingRadius; z++) {