From 907b34642dfea8293a10eb93f37846f0bd73746e Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Tue, 7 Mar 2023 12:12:59 +0800 Subject: fix ChunkDataHandler causing CME at chunk unload --- .../com/github/technus/tectech/mechanics/data/ChunkDataHandler.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/main/java/com') diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java b/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java index 5a70d35e10..aed20e0b9e 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java @@ -55,7 +55,9 @@ public class ChunkDataHandler { event.getData().removeTag(BASE_TAG_NAME); } else { chunkData.isLoaded = true; - event.getData().setTag(BASE_TAG_NAME, chunkData.data); + // make a copy of chunk data. this tag will be serialized on another thread. not making a copy might + // cause the other thread to encounter CME. + event.getData().setTag(BASE_TAG_NAME, chunkData.data.copy()); } } -- cgit