As seen in https://github.com/PaperMC/Paper/issues/12645, the BlockStateListPopulator always destroy
block entity data when the block state change. However this is something that should be supported
so plugin can retrieve block entity data of captured blocks.
Additionally only create snapshots at the end of the capture so we don't need to refresh block entity
data for decorator like the beehive, this is possible since multiple capture
at the same position is not supported and will overwrite the previous data anyway.
alternative to 320f25cb04, this commit has the side effect of
not including the waterlogged block into the block list for the later event. Generally this logic is fragile and should be handled by
the BlockStateListPopulator in the future.
Mostly around the fact that player inventories now properly support
setting and getting the BODY and SADDLE equipment slot. The slots are
exposed to the API via the extra contents array.
random other server classes
Note: Scoreboards may need handling for the waypoints.
/net/minecraft/world/entity/animal/wolf
Also properly mark the item dropped when shearing as force drops
net/minecraft/world/entity/vehicle/
Nothing much to note, reworked the loot table inventory serialization a bit
net/minecraft/world/level/
net/minecraft/world/entity/player
Note that a method was removed on Armorstand for a bug fix that makes literally zero sense, probably very old.
Also added and fixed the logic for leashes, as any entity can hold leashes but anything can be leashed.
Also very sad hack used to detect if the value was set.
/net/minecraft/world/level/block/entity/trialspawner/
/net/minecraft/server/network
ExperienceOrb award methods were consolidated to avoid this large of a
conflict in future versions for what is a single override.
Callers are expected to now pass null to the 3rd overload param as well.
Replaced the Boolean-based visual fire system with TriState for improved clarity and flexibility, enabling three distinct states: TRUE, FALSE, and NOT_SET. Deprecated older methods in favor of new ones and updated internal handling to reflect these changes. Adjusted serialization and deserialization logic to accommodate the new TriState implementation.