From 790be710b5829c649d06b60b94ec096682b00c07 Mon Sep 17 00:00:00 2001 From: DerFrZocker Date: Sun, 9 Apr 2023 05:24:52 +0200 Subject: [PATCH] SPIGOT-7332: Persistent Data Container of Chunk not saving on stop or restart. --- src/main/java/org/bukkit/craftbukkit/CraftChunk.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java index 01d9473d2..88833a1b7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java @@ -30,6 +30,7 @@ import net.minecraft.world.level.chunk.DataPaletteBlock; import net.minecraft.world.level.chunk.IChunkAccess; import net.minecraft.world.level.chunk.NibbleArray; import net.minecraft.world.level.chunk.PalettedContainerRO; +import net.minecraft.world.level.chunk.ProtoChunkExtension; import net.minecraft.world.level.chunk.storage.ChunkRegionLoader; import net.minecraft.world.level.chunk.storage.EntityStorage; import net.minecraft.world.level.entity.PersistentEntitySectionManager; @@ -78,7 +79,14 @@ public class CraftChunk implements Chunk { } public IChunkAccess getHandle(ChunkStatus chunkStatus) { - return worldServer.getChunk(x, z, chunkStatus); + IChunkAccess chunkAccess = worldServer.getChunk(x, z, chunkStatus); + + // SPIGOT-7332: Get unwrapped extension + if (chunkAccess instanceof ProtoChunkExtension extension) { + return extension.getWrapped(); + } + + return chunkAccess; } @Override