From 529c52b93f6ee22b3e87e55452cb90cafa3f29e0 Mon Sep 17 00:00:00 2001 From: cola98765 Date: Thu, 30 Sep 2021 12:28:04 +0200 Subject: [PATCH] getBuilderArray wasn't initialised correctly causing a lot of new long[] --- .../com/seibel/lod/builders/lodBuilding/LodBuilder.java | 7 +------ src/main/java/com/seibel/lod/util/ThreadMapUtil.java | 6 ++++++ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/seibel/lod/builders/lodBuilding/LodBuilder.java b/src/main/java/com/seibel/lod/builders/lodBuilding/LodBuilder.java index 6d23d8d79..6dad3f59c 100644 --- a/src/main/java/com/seibel/lod/builders/lodBuilding/LodBuilder.java +++ b/src/main/java/com/seibel/lod/builders/lodBuilding/LodBuilder.java @@ -461,12 +461,7 @@ public class LodBuilder boolean hasSkyLight = mc.getClientWorld().dimensionType().hasSkyLight(); BlockPos.Mutable blockPos = new BlockPos.Mutable(0, 0, 0); - int index = 0; - if (dataToMerge == null) - { - dataToMerge = new long[size * size]; - } - + int index; for (index = 0; index < size * size; index++) { xRel = Math.floorMod(index, size) + startX; diff --git a/src/main/java/com/seibel/lod/util/ThreadMapUtil.java b/src/main/java/com/seibel/lod/util/ThreadMapUtil.java index 6e7b19b0b..bf9b6dd49 100644 --- a/src/main/java/com/seibel/lod/util/ThreadMapUtil.java +++ b/src/main/java/com/seibel/lod/util/ThreadMapUtil.java @@ -55,6 +55,12 @@ public class ThreadMapUtil if (!threadBuilderArrayMap.containsKey(Thread.currentThread().getName()) || (threadBuilderArrayMap.get(Thread.currentThread().getName()) == null)) { long[][] array = new long[5][]; + int size = 1; + for (int i = 0; i < 5; i++) + { + array[i] = new long[size * size]; + size = size << 1; + } threadBuilderArrayMap.put(Thread.currentThread().getName(), array); } return threadBuilderArrayMap.get(Thread.currentThread().getName())[detailLevel];