From 376d7a88789a2c6c16c7b44b18694651983bd693 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Sat, 28 Aug 2021 19:54:41 -0400 Subject: [PATCH] Fixes --- .../com/volmit/iris/engine/object/biome/IrisBiome.java | 6 +++--- .../iris/engine/object/decoration/IrisDecorator.java | 4 ++++ src/main/java/com/volmit/iris/util/data/B.java | 8 ++++++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/volmit/iris/engine/object/biome/IrisBiome.java b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiome.java index cd8a6b106..8106cb1e3 100644 --- a/src/main/java/com/volmit/iris/engine/object/biome/IrisBiome.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiome.java @@ -401,9 +401,9 @@ public class IrisBiome extends IrisRegistrant implements IRare { return data; } - for (int i = 0; i < layers.size(); i++) { + for (int i = 0; i < caveCeilingLayers.size(); i++) { CNG hgen = getLayerHeightGenerators(random, rdata).get(i); - double d = hgen.fit(layers.get(i).getMinHeight(), layers.get(i).getMaxHeight(), wx / layers.get(i).getZoom(), wz / layers.get(i).getZoom()); + double d = hgen.fit(caveCeilingLayers.get(i).getMinHeight(), caveCeilingLayers.get(i).getMaxHeight(), wx / caveCeilingLayers.get(i).getZoom(), wz / caveCeilingLayers.get(i).getZoom()); if (d <= 0) { continue; @@ -415,7 +415,7 @@ public class IrisBiome extends IrisRegistrant implements IRare { } try { - data.add(getCaveCeilingLayers().get(i).get(random.nextParallelRNG(i + j), (wx + j) / layers.get(i).getZoom(), j, (wz - j) / layers.get(i).getZoom(), rdata)); + data.add(getCaveCeilingLayers().get(i).get(random.nextParallelRNG(i + j), (wx + j) / caveCeilingLayers.get(i).getZoom(), j, (wz - j) / caveCeilingLayers.get(i).getZoom(), rdata)); } catch (Throwable e) { Iris.reportError(e); e.printStackTrace(); diff --git a/src/main/java/com/volmit/iris/engine/object/decoration/IrisDecorator.java b/src/main/java/com/volmit/iris/engine/object/decoration/IrisDecorator.java index e195c1e27..92420e544 100644 --- a/src/main/java/com/volmit/iris/engine/object/decoration/IrisDecorator.java +++ b/src/main/java/com/volmit/iris/engine/object/decoration/IrisDecorator.java @@ -47,6 +47,10 @@ public class IrisDecorator { @Desc("Forcefully place this decorant anywhere it is supposed to go even if it should not go on a specific surface block. For example, you could force tallgrass to place on top of stone by using this.") private boolean forcePlace = false; + @DependsOn({"scaleStack", "stackMin", "stackMax"}) + @Desc("If stackMax is set to true, use this to limit its max height for large caverns") + private int absoluteMaxStack = 30; + @Desc("Dispersion is used to pick places to spawn. Scatter randomly places them (vanilla) or Wispy for a streak like patch system.") private IrisGeneratorStyle style = NoiseStyle.STATIC.style(); diff --git a/src/main/java/com/volmit/iris/util/data/B.java b/src/main/java/com/volmit/iris/util/data/B.java index a112b4c28..e449dbac2 100644 --- a/src/main/java/com/volmit/iris/util/data/B.java +++ b/src/main/java/com/volmit/iris/util/data/B.java @@ -150,6 +150,10 @@ public class B { IntSet b = new IntOpenHashSet(); Arrays.stream(new Material[]{ GLOWSTONE, + AMETHYST_CLUSTER, + SMALL_AMETHYST_BUD, + MEDIUM_AMETHYST_BUD, + LARGE_AMETHYST_BUD, END_ROD, SOUL_SAND, TORCH, @@ -211,6 +215,10 @@ public class B { return IntSets.unmodifiable(b); } + public static boolean isOre(BlockData blockData) { + return blockData.getMaterial().name().endsWith("_ORE"); + } + private static IntSet buildStorageChestCache() { IntSet b = new IntOpenHashSet(storageCache); b.remove(SMOKER.ordinal());