From 19ef66145730556b6fa238b0913a89002583b773 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Sat, 21 Aug 2021 07:33:45 -0400 Subject: [PATCH] Revert "f" This reverts commit 7946221f0b6c8781c755b358fca222deb4f2b8da. --- .../volmit/iris/engine/IrisEngineMantle.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/main/java/com/volmit/iris/engine/IrisEngineMantle.java b/src/main/java/com/volmit/iris/engine/IrisEngineMantle.java index c4f844900..b19098805 100644 --- a/src/main/java/com/volmit/iris/engine/IrisEngineMantle.java +++ b/src/main/java/com/volmit/iris/engine/IrisEngineMantle.java @@ -63,6 +63,8 @@ public class IrisEngineMantle implements EngineMantle { private final KList components; private final int radius; private final AtomicCache radCache = new AtomicCache<>(); + private ProceduralStream> featureChunkStream; + private ProceduralStream> featureStream; public IrisEngineMantle(Engine engine) { this.engine = engine; @@ -72,6 +74,21 @@ public class IrisEngineMantle implements EngineMantle { registerComponent(new MantleFeatureComponent(this)); registerComponent(new MantleJigsawComponent(this)); registerComponent(new MantleObjectComponent(this)); + featureChunkStream = ProceduralStream.of((x, z) + -> EngineMantle.super.getFeaturesInChunk(x.intValue(), z.intValue()), + Interpolated.of((i) -> 0D, (i) -> new KList())).cache2D(2048); + featureStream = ProceduralStream.of(EngineMantle.super::forEachFeature, + Interpolated.of((i) -> 0D, (i) -> new KList())).cache2D(8192); + } + + @ChunkCoordinates + public KList getFeaturesInChunk(int x, int z) { + return featureChunkStream.get(x, z); + } + + @BlockCoordinates + public KList forEachFeature(double x, double z) { + return featureStream.get(x, z); } @Override