From 3742d5ef81c47cb3136b17b6453e2a42eb19b028 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Sun, 13 Dec 2020 10:13:52 -0500 Subject: [PATCH] Fix decorant issues --- .../generator/decorator/IrisEngineDecorator.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/volmit/iris/generator/decorator/IrisEngineDecorator.java b/src/main/java/com/volmit/iris/generator/decorator/IrisEngineDecorator.java index a375bd5c6..35ad5e8d9 100644 --- a/src/main/java/com/volmit/iris/generator/decorator/IrisEngineDecorator.java +++ b/src/main/java/com/volmit/iris/generator/decorator/IrisEngineDecorator.java @@ -3,6 +3,8 @@ package com.volmit.iris.generator.decorator; import com.volmit.iris.object.DecorationPart; import com.volmit.iris.object.IrisBiome; import com.volmit.iris.object.IrisDecorator; +import com.volmit.iris.scaffold.cache.Cache; +import com.volmit.iris.util.KList; import com.volmit.iris.util.RNG; import com.volmit.iris.scaffold.engine.Engine; import com.volmit.iris.scaffold.engine.EngineAssignedComponent; @@ -25,17 +27,21 @@ public abstract class IrisEngineDecorator extends EngineAssignedComponent implem protected IrisDecorator getDecorator(IrisBiome biome, double realX, double realZ) { + KList v = new KList<>(); + RNG rng = new RNG(Cache.key((int)realX, (int)realZ)); + for(IrisDecorator i : biome.getDecorators()) { - if(i.getPartOf().equals(part)) + if(i.getPartOf().equals(part) && i.getBlockData(biome, this.rng, realX, realZ, getData()) != null) { - if(i.getBlockData(biome, rng, realX, realZ, getData()) != null) - { - return i; - } + v.add(i); } } + if(v.isNotEmpty()) { + return v.get(rng.nextInt(v.size())); + } + return null; } }