From f7d375c76ce5b504d4d361f594ab4dd4fa96f5f9 Mon Sep 17 00:00:00 2001 From: dordsor21 Date: Fri, 3 Jul 2020 16:29:27 +0100 Subject: [PATCH] Lazy heightmap range fix --- .../com/sk89q/worldedit/math/convolution/HeightMap.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/math/convolution/HeightMap.java b/worldedit-core/src/main/java/com/sk89q/worldedit/math/convolution/HeightMap.java index 432445223..ea4d57ff3 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/math/convolution/HeightMap.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/math/convolution/HeightMap.java @@ -286,7 +286,12 @@ public class HeightMap { if (existing.getBlockType().getMaterial().isMovementBlocker()) { int y0 = newHeight - 1; for (int setY = y0, getY = curHeight - 1; setY >= curHeight; setY--, getY--) { - BlockState get = session.getBlock(xr, getY, zr); + BlockState get; + if (getY >= 0 && getY < 256) { + get = session.getBlock(xr, getY, zr); + } else { + get = BlockTypes.AIR.getDefaultState(); + } if (get != BlockTypes.AIR.getDefaultState()) tmpBlock = get; session.setBlock(xr, setY, zr, tmpBlock); ++blocksChanged;