From 295e51181b894ba6e32ac7f409414644402f441e Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Tue, 27 Jul 2021 15:27:21 -0400 Subject: [PATCH] Fix tree placement --- src/main/java/com/volmit/iris/core/TreeManager.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/core/TreeManager.java b/src/main/java/com/volmit/iris/core/TreeManager.java index 0302f4ccd..b7022a309 100644 --- a/src/main/java/com/volmit/iris/core/TreeManager.java +++ b/src/main/java/com/volmit/iris/core/TreeManager.java @@ -26,6 +26,7 @@ import com.volmit.iris.engine.object.*; import com.volmit.iris.engine.object.common.IObjectPlacer; import com.volmit.iris.engine.object.tile.TileData; import com.volmit.iris.util.collection.KList; +import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.data.Cuboid; import com.volmit.iris.util.math.BlockPosition; import com.volmit.iris.util.math.RNG; @@ -102,6 +103,7 @@ public class TreeManager implements Listener { saplingPlane.forEach(block -> block.setType(Material.AIR)); IrisObject object = worldAccess.getData().getObjectLoader().load(placement.getPlace().getRandom(RNG.r)); List blockStateList = new KList<>(); + KMap dataCache = new KMap<>(); IObjectPlacer placer = new IObjectPlacer() { @Override @@ -120,6 +122,7 @@ public class TreeManager implements Listener { BlockState state = b.getState(); state.setBlockData(d); blockStateList.add(b.getState()); + dataCache.put(new Location(event.getWorld(), x,y,z), d); } @Override @@ -183,7 +186,12 @@ public class TreeManager implements Listener { if (!iGrow.isCancelled()) { for (BlockState block : iGrow.getBlocks()) { - block.update(true, false); + Location l = block.getLocation(); + + if(dataCache.containsKey(l)) + { + l.getBlock().setBlockData(dataCache.get(l), false); + } } } });