mirror of
https://github.com/GeyserMC/GeyserConnect.git
synced 2025-06-26 14:15:22 +02:00
Add custom image option for servers
This commit is contained in:
parent
9d1ecdf52c
commit
ef54d8c959
4 changed files with 38 additions and 5 deletions
18
pom.xml
18
pom.xml
|
@ -84,8 +84,22 @@
|
|||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.CloudburstMC.Protocol</groupId>
|
||||
<artifactId>bedrock-v419</artifactId>
|
||||
<version>ce59d39118</version>
|
||||
<artifactId>bedrock-v422</artifactId>
|
||||
<version>87d862d69d</version>
|
||||
<scope>compile</scope>
|
||||
<exclusions>
|
||||
<!-- Stay on the older version of Network while it's rewritten -->
|
||||
<exclusion>
|
||||
<groupId>com.nukkitx.network</groupId>
|
||||
<artifactId>raknet</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.nukkitx.network</groupId>
|
||||
<artifactId>raknet</artifactId>
|
||||
<version>1.6.20</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.minecrell</groupId>
|
||||
|
|
|
@ -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"));
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue