Fix NPE with dimension handling in online mode

This change should be fine since all dimensions are iterated through in the registry cache
This commit is contained in:
Camotoy 2024-10-03 18:02:01 -04:00
parent 26c4c5250a
commit 4820893792
No known key found for this signature in database
GPG key ID: 7EEFB66FE798081F

View file

@ -716,9 +716,10 @@ public class GeyserSession implements GeyserConnection, GeyserCommandSource {
* Send all necessary packets to load Bedrock into the server
*/
public void connect() {
int minY = this.dimensionType.minY();
int maxY = this.dimensionType.maxY();
for (JavaDimension javaDimension : this.getRegistryCache().dimensions().values()) {
// Note: this.dimensionType may be null here if the player is connecting from online mode
int minY = BedrockDimension.OVERWORLD.minY();
int maxY = BedrockDimension.OVERWORLD.maxY();
for (JavaDimension javaDimension : this.registryCache.dimensions().values()) {
if (javaDimension.bedrockId() == BedrockDimension.OVERWORLD_ID) {
minY = Math.min(minY, javaDimension.minY());
maxY = Math.max(maxY, javaDimension.maxY());