mirror of
https://github.com/PaperMC/Folia.git
synced 2024-12-02 13:43:31 +01:00
388cdacd1b
Most significant changes are to portal/teleport logic, there may be some bugs there. Not really concerned about the passenger teleport, as Folia had already added support for that. Not sure how the spark changes are going to work.
25 lines
1.3 KiB
Diff
25 lines
1.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
|
Date: Sun, 23 Apr 2023 07:08:26 -0700
|
|
Subject: [PATCH] Block reading in-world tile entities on worldgen threads
|
|
|
|
The returned TE may be in the world, in which case it is unsafe
|
|
for the current thread to modify or access its contents.
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/chunk/ImposterProtoChunk.java b/src/main/java/net/minecraft/world/level/chunk/ImposterProtoChunk.java
|
|
index d7d332d8ba3442887e80d2c3d7bddb9de2674c2d..f135ed136aa01bf18b4bd107109db8f8ebf440d2 100644
|
|
--- a/src/main/java/net/minecraft/world/level/chunk/ImposterProtoChunk.java
|
|
+++ b/src/main/java/net/minecraft/world/level/chunk/ImposterProtoChunk.java
|
|
@@ -92,6 +92,11 @@ public class ImposterProtoChunk extends ProtoChunk implements ca.spottedleaf.moo
|
|
@Nullable
|
|
@Override
|
|
public BlockEntity getBlockEntity(BlockPos pos) {
|
|
+ // Folia start - block reading possibly in-world block data for worldgen threads
|
|
+ if (!this.allowWrites && !ca.spottedleaf.moonrise.common.util.TickThread.isTickThread()) {
|
|
+ return null;
|
|
+ }
|
|
+ // Folia end - block reading possibly in-world block data for worldgen threads
|
|
return this.wrapped.getBlockEntity(pos);
|
|
}
|
|
|