diff --git a/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java b/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java index 76bbc4d0d..8c36abed1 100644 --- a/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java +++ b/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java @@ -84,7 +84,7 @@ public class PlannedStructure { } } - public void place(IObjectPlacer placer, Mantle e, Consumer post) { + public void place(IObjectPlacer placer, Mantle e) { IrisObjectPlacement options = new IrisObjectPlacement(); options.getRotation().setEnabled(false); int startHeight = pieces.get(0).getPosition().getY(); 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 60bc22b3e..e2fccf4a7 100644 --- a/src/main/java/com/volmit/iris/engine/mantle/EngineMantle.java +++ b/src/main/java/com/volmit/iris/engine/mantle/EngineMantle.java @@ -200,12 +200,6 @@ public interface EngineMantle extends IObjectPlacer { return; } - KList post = new KList<>(); - Consumer c = (i) -> { - synchronized (post) { - post.add(i); - } - }; int s = getRealRadius(); BurstExecutor burst = burst().burst(multicore); MantleWriter writer = getMantle().write(this, x, z, s * 2); @@ -217,25 +211,18 @@ public interface EngineMantle extends IObjectPlacer { MantleChunk mc = getMantle().getChunk(xx, zz); for (MantleComponent k : getComponents()) { - generateMantleComponent(writer, xx, zz, k, c, mc); + generateMantleComponent(writer, xx, zz, k, mc); } }); } } burst.complete(); - - while (!post.isEmpty()) { - KList px = post.copy(); - post.clear(); - burst().burst(multicore, px); - } - getMantle().flag(x, z, MantleFlag.REAL, true); } - default void generateMantleComponent(MantleWriter writer, int x, int z, MantleComponent c, Consumer post, MantleChunk mc) { - mc.raiseFlag(c.getFlag(), () -> c.generateLayer(writer, x, z, post)); + default void generateMantleComponent(MantleWriter writer, int x, int z, MantleComponent c, MantleChunk mc) { + mc.raiseFlag(c.getFlag(), () -> c.generateLayer(writer, x, z)); } @ChunkCoordinates diff --git a/src/main/java/com/volmit/iris/engine/mantle/MantleComponent.java b/src/main/java/com/volmit/iris/engine/mantle/MantleComponent.java index 15bba4f76..e3e8bad5f 100644 --- a/src/main/java/com/volmit/iris/engine/mantle/MantleComponent.java +++ b/src/main/java/com/volmit/iris/engine/mantle/MantleComponent.java @@ -62,5 +62,5 @@ public interface MantleComponent { MantleFlag getFlag(); @ChunkCoordinates - void generateLayer(MantleWriter writer, int x, int z, Consumer post); + void generateLayer(MantleWriter writer, int x, int z); } diff --git a/src/main/java/com/volmit/iris/engine/mantle/components/MantleCarvingComponent.java b/src/main/java/com/volmit/iris/engine/mantle/components/MantleCarvingComponent.java index f48e84914..3be00c3ea 100644 --- a/src/main/java/com/volmit/iris/engine/mantle/components/MantleCarvingComponent.java +++ b/src/main/java/com/volmit/iris/engine/mantle/components/MantleCarvingComponent.java @@ -37,7 +37,7 @@ public class MantleCarvingComponent extends IrisMantleComponent { } @Override - public void generateLayer(MantleWriter writer, int x, int z, Consumer post) { + public void generateLayer(MantleWriter writer, int x, int z) { RNG rng = new RNG(Cache.key(x, z) + seed()); int xxx = 8 + (x << 4); int zzz = 8 + (z << 4); diff --git a/src/main/java/com/volmit/iris/engine/mantle/components/MantleFeatureComponent.java b/src/main/java/com/volmit/iris/engine/mantle/components/MantleFeatureComponent.java index 0ec022f39..392e56293 100644 --- a/src/main/java/com/volmit/iris/engine/mantle/components/MantleFeatureComponent.java +++ b/src/main/java/com/volmit/iris/engine/mantle/components/MantleFeatureComponent.java @@ -39,7 +39,7 @@ public class MantleFeatureComponent extends IrisMantleComponent { } @Override - public void generateLayer(MantleWriter writer, int x, int z, Consumer post) { + public void generateLayer(MantleWriter writer, int x, int z) { RNG rng = new RNG(Cache.key(x, z) + seed()); int xxx = 8 + (x << 4); int zzz = 8 + (z << 4); diff --git a/src/main/java/com/volmit/iris/engine/mantle/components/MantleFluidBodyComponent.java b/src/main/java/com/volmit/iris/engine/mantle/components/MantleFluidBodyComponent.java index 9f3606522..bf9b7efe0 100644 --- a/src/main/java/com/volmit/iris/engine/mantle/components/MantleFluidBodyComponent.java +++ b/src/main/java/com/volmit/iris/engine/mantle/components/MantleFluidBodyComponent.java @@ -37,7 +37,7 @@ public class MantleFluidBodyComponent extends IrisMantleComponent { } @Override - public void generateLayer(MantleWriter writer, int x, int z, Consumer post) { + public void generateLayer(MantleWriter writer, int x, int z) { RNG rng = new RNG(Cache.key(x, z) + seed() + 405666); int xxx = 8 + (x << 4); int zzz = 8 + (z << 4); diff --git a/src/main/java/com/volmit/iris/engine/mantle/components/MantleJigsawComponent.java b/src/main/java/com/volmit/iris/engine/mantle/components/MantleJigsawComponent.java index 9be6346fa..a8bebd05d 100644 --- a/src/main/java/com/volmit/iris/engine/mantle/components/MantleJigsawComponent.java +++ b/src/main/java/com/volmit/iris/engine/mantle/components/MantleJigsawComponent.java @@ -48,17 +48,17 @@ public class MantleJigsawComponent extends IrisMantleComponent { } @Override - public void generateLayer(MantleWriter writer, int x, int z, Consumer post) { + public void generateLayer(MantleWriter writer, int x, int z) { RNG rng = new RNG(cng.fit(-Integer.MAX_VALUE, Integer.MAX_VALUE, x, z)); int xxx = 8 + (x << 4); int zzz = 8 + (z << 4); IrisRegion region = getComplex().getRegionStream().get(xxx, zzz); IrisBiome biome = getComplex().getTrueBiomeStreamNoFeatures().get(xxx, zzz); - generateJigsaw(writer, rng, x, z, biome, region, post); + generateJigsaw(writer, rng, x, z, biome, region); } @ChunkCoordinates - private void generateJigsaw(MantleWriter writer, RNG rng, int x, int z, IrisBiome biome, IrisRegion region, Consumer post) { + private void generateJigsaw(MantleWriter writer, RNG rng, int x, int z, IrisBiome biome, IrisRegion region) { boolean placed = false; if (getDimension().getStronghold() != null) { @@ -68,7 +68,7 @@ public class MantleJigsawComponent extends IrisMantleComponent { for (Position2 pos : poss) { if (x == pos.getX() >> 4 && z == pos.getZ() >> 4) { IrisJigsawStructure structure = getData().getJigsawStructureLoader().load(getDimension().getStronghold()); - place(writer, pos.toIris(), structure, rng, post); + place(writer, pos.toIris(), structure, rng); placed = true; } } @@ -80,7 +80,7 @@ public class MantleJigsawComponent extends IrisMantleComponent { if (rng.nextInt(i.getRarity()) == 0) { IrisPosition position = new IrisPosition((x << 4) + rng.nextInt(15), 0, (z << 4) + rng.nextInt(15)); IrisJigsawStructure structure = getData().getJigsawStructureLoader().load(i.getStructure()); - place(writer, position, structure, rng, post); + place(writer, position, structure, rng); placed = true; } } @@ -91,7 +91,7 @@ public class MantleJigsawComponent extends IrisMantleComponent { if (rng.nextInt(i.getRarity()) == 0) { IrisPosition position = new IrisPosition((x << 4) + rng.nextInt(15), 0, (z << 4) + rng.nextInt(15)); IrisJigsawStructure structure = getData().getJigsawStructureLoader().load(i.getStructure()); - place(writer, position, structure, rng, post); + place(writer, position, structure, rng); placed = true; } } @@ -102,14 +102,14 @@ public class MantleJigsawComponent extends IrisMantleComponent { if (rng.nextInt(i.getRarity()) == 0) { IrisPosition position = new IrisPosition((x << 4) + rng.nextInt(15), 0, (z << 4) + rng.nextInt(15)); IrisJigsawStructure structure = getData().getJigsawStructureLoader().load(i.getStructure()); - place(writer, position, structure, rng, post); + place(writer, position, structure, rng); } } } } @BlockCoordinates - private void place(MantleWriter writer, IrisPosition position, IrisJigsawStructure structure, RNG rng, Consumer post) { + private void place(MantleWriter writer, IrisPosition position, IrisJigsawStructure structure, RNG rng) { if (structure.getFeature() != null) { if (structure.getFeature().getBlockRadius() == 32) { structure.getFeature().setBlockRadius((double) structure.getMaxDimension() / 3); @@ -118,6 +118,6 @@ public class MantleJigsawComponent extends IrisMantleComponent { new IrisFeaturePositional(position.getX(), position.getZ(), structure.getFeature())); } - new PlannedStructure(structure, position, rng).place(writer, getMantle(), post); + new PlannedStructure(structure, position, rng).place(writer, getMantle()); } }