diff --git a/src/main/java/net/minestom/server/thread/MinestomThread.java b/src/main/java/net/minestom/server/thread/MinestomThread.java index c293fd622..26e718d01 100644 --- a/src/main/java/net/minestom/server/thread/MinestomThread.java +++ b/src/main/java/net/minestom/server/thread/MinestomThread.java @@ -33,7 +33,7 @@ public class MinestomThread extends Thread { final int requiredLength = index + 1; if (array.length < requiredLength) { Object[] temp = new Object[requiredLength]; - System.arraycopy(array, 0, temp, 0, index); + System.arraycopy(array, 0, temp, 0, array.length); array = temp; this.locals = array; } diff --git a/src/test/java/thread/LocalThreadCache.java b/src/test/java/thread/LocalThreadCache.java index 3a4f67b95..14e1217c5 100644 --- a/src/test/java/thread/LocalThreadCache.java +++ b/src/test/java/thread/LocalThreadCache.java @@ -18,16 +18,16 @@ public class LocalThreadCache { public void run() { final int dummy = -1; - var value = localCache(0, () -> 5); + var value = localCache(1, () -> 7); + assertEquals(7, value); + + value = localCache(0, () -> 5); assertEquals(5, value); + assertEquals(7, localCache(1, () -> dummy)); value = localCache(0, () -> dummy); assertEquals(5, value); - value = localCache(1, () -> 7); - assertEquals(7, value); - assertEquals(5, localCache(0, () -> dummy)); - value = localCache(2, () -> 5); assertEquals(5, value); assertEquals(7, localCache(1, () -> dummy));