From 7933f5e357d8ee67c58abaf37ecb751ce026e809 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Sun, 22 Aug 2021 03:55:39 -0400 Subject: [PATCH] Fix height placement on structures --- .../iris/engine/jigsaw/PlannedStructure.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java b/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java index 0acdc9617..9cdaf127b 100644 --- a/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java +++ b/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java @@ -114,9 +114,26 @@ public class PlannedStructure { int xx = i.getPosition().getX() + sx; int zz = i.getPosition().getZ() + sz; int offset = i.getPosition().getY() - startHeight; - int height = (i.getStructure().getStructure().getLockY() == -1 ? i.getStructure().getStructure().getOverrideYRange() != null - ? (int)i.getStructure().getStructure().getOverrideYRange().get(rng, xx, zz, getData()) - : i.getStructure().getStructure().getLockY() : placer.getHighest(xx, zz, getData())) + offset + (v.getH() / 2); + int height = 0; + + if(i.getStructure().getStructure().getLockY() == -1) + { + if(i.getStructure().getStructure().getOverrideYRange() != null) + { + height = (int)i.getStructure().getStructure().getOverrideYRange().get(rng, xx, zz, getData()); + } + + else + { + height = placer.getHighest(xx, zz, getData()); + } + } + + else{ + height = i.getStructure().getStructure().getLockY(); + } + + height += offset + (v.getH() / 2); if (options.getMode().equals(ObjectPlaceMode.PAINT) || options.isVacuum()) { height = -1;