From 09f830c315383abb8708498535853c61aeedfcef Mon Sep 17 00:00:00 2001 From: CocoTheOwner Date: Thu, 22 Jul 2021 23:40:25 +0200 Subject: [PATCH] patch faulty null exit --- src/main/java/com/volmit/iris/core/TreeManager.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/TreeManager.java b/src/main/java/com/volmit/iris/core/TreeManager.java index 7d3a49332..04c2bdd4a 100644 --- a/src/main/java/com/volmit/iris/core/TreeManager.java +++ b/src/main/java/com/volmit/iris/core/TreeManager.java @@ -67,12 +67,7 @@ public class TreeManager implements Listener { // Calculate size, type & placement Cuboid saplingPlane = getSaplings(event.getLocation(), blockData -> event.getLocation().getBlock().getBlockData().equals(blockData), event.getWorld()); - - // Check if any were returned - if (saplingPlane == null) { - Iris.debug(this.getClass().getName() + " found no matching sapling sizes for the grow event, which should be impossible (considering the one that grew is an option)"); - return; - } + Iris.debug("Sapling plane is: " + saplingPlane.getSizeX() + " by " + saplingPlane.getSizeZ()); // Find best object placement based on sizes IrisObjectPlacement placement = getObjectPlacement(worldAccess, event.getLocation(), event.getSpecies(), new IrisTreeSize(1, 1)); @@ -183,16 +178,19 @@ public class TreeManager implements Listener { private IrisObjectPlacement getObjectPlacement(IrisAccess worldAccess, Location location, TreeType type, IrisTreeSize size) { KList placements = new KList<>(); + KList allObjects = new KList<>(); boolean isUseAll = ((Engine)worldAccess.getEngineAccess(location.getBlockY())).getDimension().getTreeSettings().getMode().equals(IrisTreeModes.ALL); // Retrieve objectPlacements of type `species` from biome IrisBiome biome = worldAccess.getBiome(location.getBlockX(), location.getBlockY(), location.getBlockZ()); placements.addAll(matchObjectPlacements(biome.getObjects(), size, type)); + allObjects.addAll(biome.getObjects()); // Add more or find any in the region if (isUseAll || placements.isEmpty()){ IrisRegion region = worldAccess.getCompound().getDefaultEngine().getRegion(location.getBlockX(), location.getBlockZ()); placements.addAll(matchObjectPlacements(region.getObjects(), size, type)); + allObjects.addAll(region.getObjects()); } // TODO: Add more or find any in the dimension @@ -277,7 +275,7 @@ public class TreeManager implements Listener { cuboidIsValid = true; } - return null; + return new Cuboid(at, at); } /**