From 66da382789a92402a7a9870fdb9cf8a3a87958b3 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Thu, 23 Sep 2021 05:28:11 -0400 Subject: [PATCH] Tweaks and fixes --- .../iris/core/pregenerator/PregenTask.java | 14 -------------- .../java/com/volmit/iris/engine/IrisEngine.java | 2 ++ .../volmit/iris/engine/mantle/EngineMantle.java | 3 +-- .../iris/engine/platform/HeadlessGenerator.java | 16 ++++------------ .../com/volmit/iris/util/nbt/mca/MCAFile.java | 2 +- 5 files changed, 8 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/pregenerator/PregenTask.java b/src/main/java/com/volmit/iris/core/pregenerator/PregenTask.java index 0765d8bb6..45d958489 100644 --- a/src/main/java/com/volmit/iris/core/pregenerator/PregenTask.java +++ b/src/main/java/com/volmit/iris/core/pregenerator/PregenTask.java @@ -60,20 +60,6 @@ public class PregenTask { iterateRegion(xr, zr, s, new Position2(0,0)); } - private static Position2 avg(Position2... c) - { - double x = 0; - double z = 0; - - for(Position2 i : c) - { - x += i.getX() * 15; - z += i.getZ() * 15; - } - - return new Position2((int)(x / c.length), (int)(z / c.length)); - } - private static KList computeOrder(Position2 pull) { KList p = new KList<>(); new Spiraler(33, 33, (x, z) -> { diff --git a/src/main/java/com/volmit/iris/engine/IrisEngine.java b/src/main/java/com/volmit/iris/engine/IrisEngine.java index 7241387d9..fe3d8e878 100644 --- a/src/main/java/com/volmit/iris/engine/IrisEngine.java +++ b/src/main/java/com/volmit/iris/engine/IrisEngine.java @@ -61,6 +61,7 @@ import com.volmit.iris.util.format.C; import com.volmit.iris.util.format.Form; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.io.IO; +import com.volmit.iris.util.mantle.MantleFlag; import com.volmit.iris.util.math.M; import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.matter.MatterCavern; @@ -460,6 +461,7 @@ public class IrisEngine implements Engine { mode.generate(x, z, blocks, vbiomes, multicore); } + getMantle().getMantle().flag(x>>4, z>>4, MantleFlag.REAL, true); getMetrics().getTotal().put(p.getMilliseconds()); generated.incrementAndGet(); recycle(); diff --git a/src/main/java/com/volmit/iris/engine/mantle/EngineMantle.java b/src/main/java/com/volmit/iris/engine/mantle/EngineMantle.java index 75b0b18ca..bc5cd5e31 100644 --- a/src/main/java/com/volmit/iris/engine/mantle/EngineMantle.java +++ b/src/main/java/com/volmit/iris/engine/mantle/EngineMantle.java @@ -224,7 +224,6 @@ public interface EngineMantle extends IObjectPlacer { } burst.complete(); - getMantle().flag(x, z, MantleFlag.REAL, true); } default void generateMantleComponent(MantleWriter writer, int x, int z, MantleComponent c, MantleChunk mc) { @@ -278,7 +277,7 @@ public interface EngineMantle extends IObjectPlacer { for (int j = -s; j <= s; j++) { int xx = i + x; int zz = j + z; - if(!getMantle().hasFlag(xx, zz, MantleFlag.PLANNED)) + if(!getMantle().hasFlag(xx, zz, MantleFlag.REAL)) { return false; } diff --git a/src/main/java/com/volmit/iris/engine/platform/HeadlessGenerator.java b/src/main/java/com/volmit/iris/engine/platform/HeadlessGenerator.java index fc0e579db..25239df67 100644 --- a/src/main/java/com/volmit/iris/engine/platform/HeadlessGenerator.java +++ b/src/main/java/com/volmit/iris/engine/platform/HeadlessGenerator.java @@ -88,9 +88,9 @@ public class HeadlessGenerator implements PlatformChunkGenerator { .injector((xx, yy, zz, biomeBase) -> chunk.setBiomeAt(ox + xx, yy, oz + zz, INMS.get().getTrueBiomeBaseId(biomeBase))) .build(); - getEngine().generate(x * 16, z * 16, + getEngine().generate(x << 4, z << 4, Hunk.view((ChunkGenerator.ChunkData) tc), Hunk.view((ChunkGenerator.BiomeGrid) tc), - false); + true); chunk.cleanupPalettesAndBlockStates(); } catch (Throwable e) { Iris.error("======================================"); @@ -131,15 +131,7 @@ public class HeadlessGenerator implements PlatformChunkGenerator { } }), avgLast(x, z)); last.add(new Position2(x, z)); - e.complete(); - - J.a(() -> PregenTask.iterateRegion(x, z, (ii, jj) -> { - getEngine().cleanupMantleChunk(ii, jj); - if (listener != null) { - listener.onChunkCleaned(ii, jj); - } - })); } private Position2 avgLast(int x, int z) { @@ -153,8 +145,8 @@ public class HeadlessGenerator implements PlatformChunkGenerator { for(Position2 i : last) { - xx += 7 * (i.getX() - x); - zz += 7 * (i.getZ() - z); + xx += 27 * (i.getX() - x); + zz += 27 * (i.getZ() - z); } return new Position2((int)xx, (int)zz); diff --git a/src/main/java/com/volmit/iris/util/nbt/mca/MCAFile.java b/src/main/java/com/volmit/iris/util/nbt/mca/MCAFile.java index a394b681a..d034fb4d0 100644 --- a/src/main/java/com/volmit/iris/util/nbt/mca/MCAFile.java +++ b/src/main/java/com/volmit/iris/util/nbt/mca/MCAFile.java @@ -123,7 +123,7 @@ public class MCAFile { if (raf.readByte() == 0) { continue; } - p2.add(new Position2(x & 31, (z / 32) & 31)); + p2.add(new Position2(x & 31, (z / 31) & 31)); } return p2; }