diff --git a/pom.xml b/pom.xml
index cc2e29f..4cad70f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -84,8 +84,22 @@
com.github.CloudburstMC.Protocol
- bedrock-v419
- ce59d39118
+ bedrock-v422
+ 87d862d69d
+ compile
+
+
+
+ com.nukkitx.network
+ raknet
+
+
+
+
+ com.nukkitx.network
+ raknet
+ 1.6.20
+ compile
net.minecrell
diff --git a/src/main/java/org/geysermc/connect/ui/UIHandler.java b/src/main/java/org/geysermc/connect/ui/UIHandler.java
index cd9703d..a49d68a 100644
--- a/src/main/java/org/geysermc/connect/ui/UIHandler.java
+++ b/src/main/java/org/geysermc/connect/ui/UIHandler.java
@@ -58,13 +58,13 @@ public class UIHandler {
for (Server server : MasterServer.getInstance().getGeyserConnectConfig().getServers()) {
// These images would be better if there was a default to fall back on
// But that would require a web api as bedrock doesn't support doing that
- window.getButtons().add(new FormButton(server.toString(), new FormImage(FormImage.FormImageType.URL, "https://eu.mc-api.net/v3/server/favicon/" + server.getAddress() + ":" + server.getPort() + ".png?use-fallback-icon=true")));
+ window.getButtons().add(new FormButton(server.toString(), server.getFormImage()));
}
// Add a button for each personal server
if (MasterServer.getInstance().getGeyserConnectConfig().getCustomServers().isEnabled()) {
for (Server server : servers) {
- window.getButtons().add(new FormButton(server.toString(), new FormImage(FormImage.FormImageType.URL, "https://eu.mc-api.net/v3/server/favicon/" + server.getAddress() + ":" + server.getPort() + ".png?use-fallback-icon=true")));
+ window.getButtons().add(new FormButton(server.toString(), server.getFormImage()));
}
window.getButtons().add(new FormButton("Edit servers"));
diff --git a/src/main/java/org/geysermc/connect/utils/Server.java b/src/main/java/org/geysermc/connect/utils/Server.java
index 73ff139..4ba89d5 100644
--- a/src/main/java/org/geysermc/connect/utils/Server.java
+++ b/src/main/java/org/geysermc/connect/utils/Server.java
@@ -28,6 +28,7 @@ package org.geysermc.connect.utils;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
+import org.geysermc.common.window.button.FormImage;
@Getter
@AllArgsConstructor
@@ -39,6 +40,7 @@ public class Server {
private boolean online = true;
private boolean bedrock = false;
private String name = null;
+ private String imageUrl = null;
public Server(String address) {
this(address, -1);
@@ -53,7 +55,11 @@ public class Server {
}
public Server(String address, int port, boolean online, boolean bedrock) {
- this(address, port, online, false, null);
+ this(address, port, online, bedrock, null);
+ }
+
+ public Server(String address, int port, boolean online, boolean bedrock, String name) {
+ this(address, port, online, bedrock, name, null);
}
private int defaultPort() { return bedrock ? 19132 : 25565; }
@@ -64,4 +70,12 @@ public class Server {
public String toString() {
return name != null ? name : address + (getPort() != defaultPort() ? ":" + getPort() : "");
}
+
+ public FormImage getFormImage() {
+ if (imageUrl != null && !imageUrl.isEmpty()) {
+ return new FormImage(FormImage.FormImageType.URL, imageUrl);
+ } else {
+ return new FormImage(FormImage.FormImageType.URL, "https://eu.mc-api.net/v3/server/favicon/" + address + ":" + port + ".png?use-fallback-icon=true");
+ }
+ }
}
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index 861ffc7..6cbeab0 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -34,6 +34,11 @@ geyser:
# A global list of servers sent to all clients
servers:
+ - address: test.geysermc.org
+ port: 19132
+ bedrock: true
+ name: Official Geyser Test Server
+ imageUrl: https://geysermc.org/android-chrome-192x192.png
- address: "play.cubecraft.net"
- address: "127.0.0.1"
port: 25565