Adding the entity will add and then immediately remove an entity load ticket, which would result in the chunk loading and then unloading before being loaded again once the player chunk loader reacts (delay can vary based on rate limit configs)
By adding a ticket with a short removal delay we attempt to keep the chunk loaded until the player chunk loader reacts, but this is not a guarantee due to the aforementioned rate limit configs. Plugins should still handle load/unload events as normal, however this will reduce redundant calls.
The delay is currently set to 2 seconds, however we may want to adjust this before merging
* Item serialization as json
* Add ItemStackAdapter for Gson
* A javadoc note at #serialize() and #deserialize()
* Rebase
* Move serialize closer to deserialize
* Add explaining comment about SERIALIZE_CUSTOM_AS_SNBT usage
* Apply lynxplay requests
* Forgot `@NotNull`
* Very important diff was removed
* Rebase
* Javadocs
---------
Co-authored-by: Bjarne Koll <lynxplay101@gmail.com>
* wip tags
* use generics in tag registrars
* comment out varargs methods for now
* split up patch
* cache loaded service provider
* finish renames
* use builderWithExpectedSize
* finalize
The updated velocity native compilation pipeline seems to emit binaries
that are not compatible with alpine.
The commit temporarily reverts the natives included until a proper
solution is found.
In the case where multiple messages from different players are being processed in parallel, there was a potential race condition where the messages would be sent to the client in a different order than the message signature cache was updated. However, the cache relies on the fact that the client and server get the exact same updates in the same order. This race condition would cause the caches to become corrupted, and any future message received by the client would fail to validate.
This also applies to the last seen state of the server, which becomes inconsistent in the same way as the message signature cache and would cause any messages sent to be rejected by the server too.
When trying to fall back to offline player data in onlide mode,
we need to use the player file. This fixes a mistake during
update where 'file' was used, but the new code uses 'file1'
for the player file.