From 23944f73131d9169aab9fceef22e007d654cd15b Mon Sep 17 00:00:00 2001 From: Tux Date: Mon, 28 Oct 2013 22:42:26 -0400 Subject: [PATCH] Initial support for BungeeCord 1.7 server list ping changes. --- pom.xml | 4 ++-- .../minecraft/redisbungee/RedisBungee.java | 15 ++++++++++++--- src/main/resources/plugin.yml | 2 +- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index cba9e48..24e79a9 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ com.imaginarycode.minecraft RedisBungee - 0.2-SNAPSHOT + 0.2.1-SNAPSHOT @@ -106,7 +106,7 @@ net.md-5 bungeecord-api - 1.6.2-SNAPSHOT + 1.7-SNAPSHOT jar provided diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java index b9e859a..7b14d2e 100644 --- a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java +++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java @@ -319,8 +319,17 @@ public class RedisBungee extends Plugin implements Listener { @EventHandler public void onPing(ProxyPingEvent event) { ServerPing old = event.getResponse(); - int players = getCount(); - ServerPing newResponse = new ServerPing(old.getProtocolVersion(), old.getGameVersion(), old.getMotd(), players, old.getMaxPlayers()); - event.setResponse(newResponse); + List players = new ArrayList<>(); + for (String player : getPlayers()) { + // TODO: Find a better way of doing the UUIDs - right now I'm simply flunking it rather badly. + players.add(new ServerPing.PlayerInfo(player, new UUID(player.hashCode() + System.currentTimeMillis(), player.hashCode() + System.nanoTime()).toString())); + } + ServerPing reply = new ServerPing(); + reply.setPlayers(new ServerPing.Players(players.size(), old.getPlayers().getMax())); + reply.setSample((ServerPing.PlayerInfo[]) players.toArray()); + reply.setDescription(old.getDescription()); + reply.setFavicon(old.getFavicon()); + reply.setVersion(old.getVersion()); + event.setResponse(reply); } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 293c479..e75871f 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,4 +1,4 @@ name: RedisBungee main: com.imaginarycode.minecraft.redisbungee.RedisBungee -version: 0.2 +version: 0.2.1 author: tuxed \ No newline at end of file