Fix fireworks on non-finite regions crashing the server #1065
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.
Fixes a critical issue that crashes the server when trying to spawn fireworks for infinite regions, because they try to spawn at integer-limit x coordinate, and the server has a hard time finding bounding boxes there.
This was caused by a subtle change to behavior on getOpenSpace above, which returned the block's location instead of the location with a different Y, causing a Location with x=Infinity (a double) to turn into x=int limit (block.getLocation()'s result).
This has been fixed in 3 different ways:
The changes have been tested across several gamemodes (ctw, dtc, dtm, ctf, cp) and work as intended.