Improve handling of Role#getPosition and canInteract #2085
Merged
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.
Pull Request Etiquette
Changes
Closes Issue: NaN
Description
This improves the user experience for RoleDeleteEvent and allows
Role#getPosition
to still be usable once it's detached from cache. This position value is naturally not accurate for long, but still good enough for informational purposes at the time of deletion. Like any other entity value, this drifts over time after detaching from cache.Additionally, this optimizes
Role#canInteract(Role)
by not re-calculating positions for both roles each time. We can completely rely oncompareTo
as this is only a relative comparison, rather than absolute positions.