diff options
author | Glease <4586901+Glease@users.noreply.github.com> | 2023-03-07 12:12:59 +0800 |
---|---|---|
committer | Glease <4586901+Glease@users.noreply.github.com> | 2023-03-07 12:12:59 +0800 |
commit | 907b34642dfea8293a10eb93f37846f0bd73746e (patch) | |
tree | 75c5ff0bc4118657a3a57b1a545d81e371d43539 /src/main/java/com | |
parent | f619df41ad277093bc9be47d39947348926c334b (diff) | |
download | GT5-Unofficial-907b34642dfea8293a10eb93f37846f0bd73746e.tar.gz GT5-Unofficial-907b34642dfea8293a10eb93f37846f0bd73746e.tar.bz2 GT5-Unofficial-907b34642dfea8293a10eb93f37846f0bd73746e.zip |
fix ChunkDataHandler causing CME at chunk unload
Diffstat (limited to 'src/main/java/com')
-rw-r--r-- | src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java | 4 |
1 files changed, 3 insertions, 1 deletions
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()); } } |