We can use the existing full chunk map so that we do not need
to iterate over all ChunkHolders. Additionally, do not use streams
to do the iteration either.
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
Ports the follow commits from spigot to paper.
All credits to go the respective commit authors listed below.
CraftBukkit: 3b4fd5b321f4440a2b3a67f3945739b45e6e687f
By: md_5 <git@md-5.net>
The exit location passed to PlayerTeleportEvent/PlayerTeleportEndGatewayEvent in ServerPlayer#teleport(TeleportTransition) needs to be cloned, as it is later compared in case it was changed. Not cloning it results in the ability for plugins to mutate it but such changes will be ignored, as the instance of the Location being the same results in a successful equality check.
It is not necessary to clone the location in other instantiations of the event (or subclasses) as those are not compared afterwards to change the outcome.
* CraftServerTickManager - silence feedback when sprinting
* CraftServerTickManager - forgot secondary note
* ServerTickRateManager - only set to silent if not already sprinting
Set the old pos/rot to be the same as the current pos/rot for new
entities as the default value for the old pos/rot is zero.
Fixes https://github.com/PaperMC/Folia/issues/302
While the running server will still be using the recently introduced
copy-mechanic for vanilla command namespacing, the data converter logic
relies on the fact that namespaced aliases were redirects as well.
To not break the converted, the commands type now takes a modern flag
only set by the running server.