mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-25 09:41:29 +01:00
24b8f3c641
A previous fix for SPIGOT-6814 implemented a callback function for the PDC implementation that could be set to actively define a chunk as unsaved, allowing chunks that have not been mutated through block changes to still require saving if the chunks pdc was mutated. This implementation however would pass a callback that references the chunk access internally, meaning the PDC now actively holds onto a callback that holds a reference to the entire chunk. Aditionally, this change also impacted the pdc for item metas and entities for really no reason whatsoever. This commit re-implements the fix by introducing a new child of the pdc implementation that the chunk now uses as its pdc. This specific implementation maintains a dirty flag that is set to `true` on any form of mutation and set back to false by the chunk that owns the PDC whenever the chunk itself is flag as no longer dirty. By: Bjarne Koll <lynxplay101@gmail.com> |
||
---|---|---|
.. | ||
block | ||
border | ||
chunk | ||
entity | ||
gameevent/vibrations | ||
levelgen | ||
material | ||
portal | ||
saveddata/maps | ||
storage | ||
CommandBlockListenerAbstract.patch | ||
Explosion.patch | ||
GameRules.patch | ||
GeneratorAccess.patch | ||
IBlockAccess.patch | ||
IWorldWriter.patch | ||
MobSpawnerAbstract.patch | ||
RayTrace.patch | ||
SpawnerCreature.patch | ||
StructureManager.patch | ||
World.patch | ||
WorldAccess.patch |