Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
World Border
This PR implements packets and methods to do with world borders.
World border is a wall defined by center point and diameter. It restricts client from going outside the border.
Implemented packets
InitializeWorldBorder
(this one was defined asWorldBorderInitialize
, but unused)SetBorderCenter
SetBorderLerpSize
SetBorderSize
SetBorderWarningDelay
SetBorderWarningDistance
TODOs
I do not yet understand the behavior of
portal_teleport_boundary
field onInitializeWorldBorder
. It seems to affect the shape of the border, sometimes making it rectangular instead of square, or making it disappear entirely.I could not replicate the appearance of the warning screen when getting close to the border.
Discussion
Take this as a draft of the API. I considered two options, basic methods on
Client
for basic usecases (current state of PR) and copying packet API to theClient
API.Is it acceptable to allow unusual usecases with manual
send_packet
only?