diff --git a/src/main/java/org/geysermc/connect/GeyserConnectConfig.java b/src/main/java/org/geysermc/connect/GeyserConnectConfig.java index 707b362..cbe0233 100644 --- a/src/main/java/org/geysermc/connect/GeyserConnectConfig.java +++ b/src/main/java/org/geysermc/connect/GeyserConnectConfig.java @@ -34,6 +34,7 @@ import org.geysermc.connector.utils.WebUtils; import org.geysermc.connect.storage.AbstractStorageManager; import org.geysermc.connect.utils.Server; +import java.util.ArrayList; import java.util.List; @Getter @@ -57,7 +58,7 @@ public class GeyserConnectConfig { private GeyserConfigSection geyser; - private List servers; + private List servers = new ArrayList<>(); @JsonProperty("custom-servers") private CustomServersSection customServers; diff --git a/src/main/java/org/geysermc/connect/ui/UIHandler.java b/src/main/java/org/geysermc/connect/ui/UIHandler.java index d7b4a2b..5289c0f 100644 --- a/src/main/java/org/geysermc/connect/ui/UIHandler.java +++ b/src/main/java/org/geysermc/connect/ui/UIHandler.java @@ -39,6 +39,7 @@ import org.geysermc.common.window.component.ToggleComponent; import org.geysermc.common.window.response.CustomFormResponse; import org.geysermc.common.window.response.SimpleFormResponse; import org.geysermc.connect.MasterServer; +import org.geysermc.connect.utils.Logger; import org.geysermc.connect.utils.Player; import org.geysermc.connect.utils.Server; @@ -231,8 +232,14 @@ public class UIHandler { int port = Integer.valueOf(data.getInputResponses().get(1)); boolean online = data.getToggleResponses().get(2); - // Make sure we got an address and port - if (address == null || "".equals(address) || port <= 0 || port >= 65535) { + // Make sure we got an address + if (address == null || "".equals(address)) { + player.sendWindow(FormID.MAIN, getServerList(player.getServers())); + return; + } + + // Make sure we got a valid port + if (port <= 0 || port >= 65535) { player.resendWindow(); return; } @@ -286,8 +293,14 @@ public class UIHandler { boolean online = data.getToggleResponses().get(2); boolean bedrock = data.getToggleResponses().get(3); - // Make sure we got an address and port - if (address == null || "".equals(address) || port <= 0 || port >= 65535) { + // Make sure we got an address + if (address == null || "".equals(address)) { + player.sendWindow(FormID.EDIT_SERVERS, getEditServerList(player.getServers())); + return; + } + + // Make sure we got a valid port + if (port <= 0 || port >= 65535) { player.resendWindow(); return; } @@ -394,8 +407,14 @@ public class UIHandler { boolean online = data.getToggleResponses().get(3); boolean bedrock = data.getToggleResponses().get(4); - // Make sure we got an address and port - if (address == null || "".equals(address) || port <= 0 || port >= 65535) { + // Make sure we got an address + if (address == null || "".equals(address)) { + player.sendWindow(FormID.EDIT_SERVERS, getEditServerList(player.getServers())); + return; + } + + // Make sure we got a valid port + if (port <= 0 || port >= 65535) { player.resendWindow(); return; } diff --git a/src/main/java/org/geysermc/connect/utils/PalleteManger.java b/src/main/java/org/geysermc/connect/utils/PaletteManger.java similarity index 99% rename from src/main/java/org/geysermc/connect/utils/PalleteManger.java rename to src/main/java/org/geysermc/connect/utils/PaletteManger.java index 012122b..8ccd681 100644 --- a/src/main/java/org/geysermc/connect/utils/PalleteManger.java +++ b/src/main/java/org/geysermc/connect/utils/PaletteManger.java @@ -36,7 +36,7 @@ import java.io.InputStream; /** * This class is mostly copied from core Geyser */ -public class PalleteManger { +public class PaletteManger { public static final NbtList BLOCK_PALLETE; public static final NbtMap BIOMES_PALLETE; diff --git a/src/main/java/org/geysermc/connect/utils/Player.java b/src/main/java/org/geysermc/connect/utils/Player.java index 2d2be8c..a0f7f5f 100644 --- a/src/main/java/org/geysermc/connect/utils/Player.java +++ b/src/main/java/org/geysermc/connect/utils/Player.java @@ -129,7 +129,7 @@ public class Player { startGamePacket.setCurrentTick(0); startGamePacket.setEnchantmentSeed(0); startGamePacket.setMultiplayerCorrelationId(""); - startGamePacket.setBlockPalette(PalleteManger.BLOCK_PALLETE); + startGamePacket.setBlockPalette(PaletteManger.BLOCK_PALLETE); startGamePacket.setVanillaVersion("*"); session.sendPacket(startGamePacket); @@ -138,13 +138,13 @@ public class Player { data.setChunkX(0); data.setChunkZ(0); data.setSubChunksLength(0); - data.setData(PalleteManger.EMPTY_LEVEL_CHUNK_DATA); + data.setData(PaletteManger.EMPTY_LEVEL_CHUNK_DATA); data.setCachingEnabled(false); session.sendPacket(data); // Send the biomes BiomeDefinitionListPacket biomeDefinitionListPacket = new BiomeDefinitionListPacket(); - biomeDefinitionListPacket.setDefinitions(PalleteManger.BIOMES_PALLETE); + biomeDefinitionListPacket.setDefinitions(PaletteManger.BIOMES_PALLETE); session.sendPacket(biomeDefinitionListPacket); // Let the client know the player can spawn diff --git a/src/main/resources/biome_definitions.dat b/src/main/resources/biome_definitions.dat deleted file mode 100644 index 6d72cc9..0000000 Binary files a/src/main/resources/biome_definitions.dat and /dev/null differ diff --git a/src/main/resources/runtime_block_states.dat b/src/main/resources/runtime_block_states.dat deleted file mode 100644 index feeeda6..0000000 Binary files a/src/main/resources/runtime_block_states.dat and /dev/null differ