diff options
| author | Pugmatt <pugmatt@gmail.com> | 2019-08-11 20:39:58 -0400 |
|---|---|---|
| committer | Pugmatt <pugmatt@gmail.com> | 2019-08-11 20:39:58 -0400 |
| commit | d3676e4dbe89b25f924f9346b44a8f641c8b8c32 (patch) | |
| tree | f23fc799ca6407556e3ad35df4f2e0f90510c0f7 /serverlist-server | |
| parent | c5ae52d19134f35627922de7f97763c363177d64 (diff) | |
| download | BedrockConnect-d3676e4dbe89b25f924f9346b44a8f641c8b8c32.tar.gz BedrockConnect-d3676e4dbe89b25f924f9346b44a8f641c8b8c32.tar.bz2 BedrockConnect-d3676e4dbe89b25f924f9346b44a8f641c8b8c32.zip | |
Add featured servers to list
Diffstat (limited to 'serverlist-server')
3 files changed, 49 insertions, 19 deletions
diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/gui/UIForms.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/gui/UIForms.java index e426f3e..13b9ba2 100644 --- a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/gui/UIForms.java +++ b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/gui/UIForms.java @@ -26,9 +26,13 @@ public class UIForms { buttons.add(UIComponents.createButton("Connect to a Server")); buttons.add(UIComponents.createButton("Remove a Server")); for(int i=0;i<servers.size();i++) { - buttons.add(UIComponents.createButton(servers.get(i), "https://i.imgur.com/3BmFZRE.png", "url")); + buttons.add(UIComponents.createButton(servers.get(i), "./icon.png", "path")); } - + buttons.add(UIComponents.createButton("The Hive", "./icon.png", "path")); + buttons.add(UIComponents.createButton("Mineplex", "./icon.png", "path")); + buttons.add(UIComponents.createButton("CubeCraft Games", "./icon.png", "path")); + buttons.add(UIComponents.createButton("Lifeboat Network", "./icon.png", "path")); + buttons.add(UIComponents.createButton("Mineville City", "./icon.png", "path")); out.add("buttons", buttons); mf.setFormData(out.toString()); diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/gui/icon.png b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/gui/icon.png Binary files differnew file mode 100644 index 0000000..c4aaa2c --- /dev/null +++ b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/gui/icon.png diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/PacketHandler.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/PacketHandler.java index a1ccb90..5cf756e 100644 --- a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/PacketHandler.java +++ b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/PacketHandler.java @@ -51,21 +51,43 @@ public class PacketHandler implements BedrockPacketHandler { } else if (chosen == 1) { // Remove Server session.sendPacketImmediately(UIForms.createRemoveServer(server.getPlayer(uuid).getServerList())); } else { // Choosing Server - String address = server.getPlayer(uuid).getServerList().get(chosen-2); - if(address.split(":").length > 1) { - String ip = address.split(":")[0]; - String port = address.split(":")[1]; - try { - TransferPacket tp = new TransferPacket(); - tp.setAddress(ip); - tp.setPort(Integer.parseInt(port)); - session.sendPacketImmediately(tp); - } catch(Exception e) { - session.sendPacketImmediately(UIForms.createError("Error connecting to server. Invalid address.")); + // If server chosen is a featued server + if(chosen-2 > server.getPlayer(uuid).getServerList().size()-1) { + int featuredServer = (chosen - 2) - (server.getPlayer(uuid).getServerList().size() - 1); + + switch (featuredServer) { + case 1: // Hive + transfer("54.39.75.136", 19132); + break; + case 2: // Mineplex + transfer("108.178.12.125", 19132); + break; + case 3: // Cubecraft + transfer("213.32.11.233", 19132); + break; + case 4: // Lifeboat + transfer("63.143.40.66", 19132); + break; + case 5: // Mineville + transfer("52.234.131.7", 19132); + break; + } + } else { // If server chosen is not a featured server + String address = server.getPlayer(uuid).getServerList().get(chosen-2); + + if (address.split(":").length > 1) { + String ip = address.split(":")[0]; + String port = address.split(":")[1]; + + try { + transfer(ip, Integer.parseInt(port)); + } catch (Exception e) { + session.sendPacketImmediately(UIForms.createError("Error connecting to server. Invalid address.")); + } + } else { + session.sendPacketImmediately(UIForms.createError("Invalid server address")); } - } else { - session.sendPacketImmediately(UIForms.createError("Invalid server address")); } } } @@ -91,10 +113,7 @@ public class PacketHandler implements BedrockPacketHandler { else { serverList.add(data.get(0) + ":" + data.get(1)); server.getPlayer(uuid).setServerList(serverList); - TransferPacket tp = new TransferPacket(); - tp.setAddress(data.get(0).replace(" ", "")); - tp.setPort(Integer.parseInt(data.get(1))); - session.sendPacketImmediately(tp); + transfer(data.get(0).replace(" ", ""), Integer.parseInt(data.get(1))); } } else { TransferPacket tp = new TransferPacket(); @@ -136,6 +155,13 @@ public class PacketHandler implements BedrockPacketHandler { return false; } + public void transfer(String ip, int port) { + TransferPacket tp = new TransferPacket(); + tp.setAddress(ip); + tp.setPort(port); + session.sendPacketImmediately(tp); + } + @Override public boolean handle(SetLocalPlayerAsInitializedPacket packet) { session.sendPacketImmediately(UIForms.createMain(server.getPlayer(uuid).getServerList())); |
