3
0
Mirror von https://github.com/GeyserMC/Geyser.git synchronisiert 2024-10-03 08:21:06 +02:00

Get the highest dimension out of all possible dimensions

Dieser Commit ist enthalten in:
RaphiMC 2024-09-29 20:54:07 +02:00
Ursprung e9b313bf40
Commit 29efe0f9fe
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 0F6BB0657A03AC94

Datei anzeigen

@ -716,11 +716,23 @@ public class GeyserSession implements GeyserConnection, GeyserCommandSource {
* Send all necessary packets to load Bedrock into the server
*/
public void connect() {
if (this.dimensionType.bedrockId() == BedrockDimension.OVERWORLD_ID && this.dimensionType.minY() < BedrockDimension.OVERWORLD.minY() || this.dimensionType.maxY() > BedrockDimension.OVERWORLD.maxY()) {
int minY = Math.max(this.dimensionType.minY(), -512);
int maxY = Math.min(this.dimensionType.maxY(), 512);
int minY = this.dimensionType.minY();
int maxY = this.dimensionType.maxY();
for (JavaDimension javaDimension : this.getRegistryCache().dimensions().values()) {
if (javaDimension.bedrockId() == BedrockDimension.OVERWORLD_ID) {
minY = Math.min(minY, this.dimensionType.minY());
maxY = Math.max(maxY, this.dimensionType.maxY());
}
}
minY = Math.max(minY, -512);
maxY = Math.min(maxY, 512);
if (minY < BedrockDimension.OVERWORLD.minY() || maxY > BedrockDimension.OVERWORLD.maxY()) {
final boolean isInOverworld = this.bedrockDimension == this.bedrockOverworldDimension;
this.bedrockOverworldDimension = new BedrockDimension(minY, maxY - minY, true, BedrockDimension.OVERWORLD_ID);
this.bedrockDimension = this.bedrockOverworldDimension;
if (isInOverworld) {
this.bedrockDimension = this.bedrockOverworldDimension;
}
geyser.getLogger().debug("Extending overworld dimension to " + minY + " - " + maxY);
DimensionDataPacket dimensionDataPacket = new DimensionDataPacket();