diff --git a/src/main/java/com/volmit/iris/core/loader/IrisData.java b/src/main/java/com/volmit/iris/core/loader/IrisData.java index 1b1eac6cf..3ba37bb9e 100644 --- a/src/main/java/com/volmit/iris/core/loader/IrisData.java +++ b/src/main/java/com/volmit/iris/core/loader/IrisData.java @@ -85,7 +85,6 @@ public class IrisData implements ExclusionStrategy, TypeAdapterFactory { private ResourceLoader expressionLoader; private ResourceLoader objectLoader; private ResourceLoader scriptLoader; - private ResourceLoader matterLoader; private ResourceLoader caveLoader; private ResourceLoader ravineLoader; private KMap> possibleSnippets; @@ -169,10 +168,6 @@ public class IrisData implements ExclusionStrategy, TypeAdapterFactory { return loadAny(key, (dm) -> dm.getScriptLoader().load(key, false)); } - public static IrisMatter loadAnyMatter(String key) { - return loadAny(key, (dm) -> dm.getMatterLoader().load(key, false)); - } - public static IrisRavine loadAnyRavine(String key) { return loadAny(key, (dm) -> dm.getRavineLoader().load(key, false)); } @@ -333,7 +328,6 @@ public class IrisData implements ExclusionStrategy, TypeAdapterFactory { this.blockLoader = registerLoader(IrisBlockData.class); this.expressionLoader = registerLoader(IrisExpression.class); this.objectLoader = registerLoader(IrisObject.class); - this.matterLoader = registerLoader(IrisMatter.class); this.scriptLoader = registerLoader(IrisScript.class); gson = builder.create(); } diff --git a/src/main/java/com/volmit/iris/engine/IrisComplex.java b/src/main/java/com/volmit/iris/engine/IrisComplex.java index 33cc8be87..50e985dad 100644 --- a/src/main/java/com/volmit/iris/engine/IrisComplex.java +++ b/src/main/java/com/volmit/iris/engine/IrisComplex.java @@ -116,6 +116,7 @@ public class IrisComplex implements DataProvider { .getAllBiomes(this).forEach((b) -> b .getGenerators() .forEach((c) -> registerGenerator(c.getCachedGenerator(this))))); + Iris.info("Interpolators: " + generators.size()); overlayStream = ProceduralStream.ofDouble((x, z) -> 0D); engine.getDimension().getOverlayNoise().forEach((i) -> overlayStream.add((x, z) -> i.get(rng, getData(), x, z))); rockStream = engine.getDimension().getRockPalette().getLayerGenerator(rng.nextParallelRNG(45), data).stream() diff --git a/src/main/java/com/volmit/iris/engine/object/IrisGenerator.java b/src/main/java/com/volmit/iris/engine/object/IrisGenerator.java index ffd2532ed..da04e7558 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisGenerator.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisGenerator.java @@ -211,7 +211,6 @@ public class IrisGenerator extends IrisRegistrant { public double getHeight(double rx, double ry, double rz, long superSeed, boolean no3d) { if (composite.isEmpty()) { - Iris.warn("Useless Generator: Composite is empty in " + getLoadKey()); return 0; } @@ -219,12 +218,25 @@ public class IrisGenerator extends IrisRegistrant { double h = multiplicitive ? 1 : 0; double tp = 0; - for (IrisNoiseGenerator i : composite) { + if(composite.size() == 1) + { if (multiplicitive) { - h *= i.getNoise(seed + superSeed + hc, (rx + offsetX) / zoom, (rz + offsetZ) / zoom, getLoader()); + h *= composite.get(0).getNoise(seed + superSeed + hc, (rx + offsetX) / zoom, (rz + offsetZ) / zoom, getLoader()); } else { - tp += i.getOpacity(); - h += i.getNoise(seed + superSeed + hc, (rx + offsetX) / zoom, (rz + offsetZ) / zoom, getLoader()); + tp += composite.get(0).getOpacity(); + h += composite.get(0).getNoise(seed + superSeed + hc, (rx + offsetX) / zoom, (rz + offsetZ) / zoom, getLoader()); + } + } + + else + { + for (IrisNoiseGenerator i : composite) { + if (multiplicitive) { + h *= i.getNoise(seed + superSeed + hc, (rx + offsetX) / zoom, (rz + offsetZ) / zoom, getLoader()); + } else { + tp += i.getOpacity(); + h += i.getNoise(seed + superSeed + hc, (rx + offsetX) / zoom, (rz + offsetZ) / zoom, getLoader()); + } } }