feature: improve handling of null issues in plot analysis

- Addresses #3865 (does not fix the underlying issue though)
This commit is contained in:
dordsor21 2022-11-11 11:29:56 +00:00
parent 28bd993680
commit 9ee3e9a3a4
No known key found for this signature in database
GPG Key ID: 1E53E88969FFCF0B

View File

@ -234,8 +234,19 @@ public class HybridUtils {
Set<BlockType> types = new HashSet<>(); Set<BlockType> types = new HashSet<>();
for (int yIndex = 0; yIndex < height; yIndex++) { for (int yIndex = 0; yIndex < height; yIndex++) {
BlockState old = oldBlocks[yIndex][x][z]; // Nullable BlockState old = oldBlocks[yIndex][x][z]; // Nullable
try {
BlockState now = newBlocks[yIndex][x][z]; // Not null BlockState now = newBlocks[yIndex][x][z]; // Not null
if (now == null) {
throw new NullPointerException(String.format(
"\"now\" block null attempting to perform plot analysis. Indexes: x=%d of %d, yIndex=%d" +
" of %d, z=%d of %d",
x,
width,
yIndex,
height,
z,
length
));
}
if (!now.equals(old) && !(old == null && now.getBlockType().equals(BlockTypes.AIR))) { if (!now.equals(old) && !(old == null && now.getBlockType().equals(BlockTypes.AIR))) {
changes[i]++; changes[i]++;
} }
@ -270,9 +281,6 @@ public class HybridUtils {
} }
types.add(now.getBlockType()); types.add(now.getBlockType());
} }
} catch (NullPointerException e) {
e.printStackTrace();
}
} }
variety[i] = types.size(); variety[i] = types.size();
i++; i++;