From 62eacc5816022e5473e6c76fbcd602047f639400 Mon Sep 17 00:00:00 2001 From: Tux Date: Sun, 7 Dec 2014 16:15:39 -0500 Subject: [PATCH] Expose previous server. Closes #11, #12 --- .../imaginarycode/minecraft/redisbungee/DataManager.java | 7 ++++--- .../events/PlayerChangedServerNetworkEvent.java | 8 +++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/DataManager.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/DataManager.java index e915c57..1c9527e 100644 --- a/src/main/java/com/imaginarycode/minecraft/redisbungee/DataManager.java +++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/DataManager.java @@ -263,13 +263,14 @@ public class DataManager implements Listener { }); break; case SERVER_CHANGE: - final DataManagerMessage message3 = RedisBungee.getGson().fromJson(jsonObject, new TypeToken>() { + final DataManagerMessage message3 = RedisBungee.getGson().fromJson(jsonObject, new TypeToken>() + { }.getType()); - serverCache.put(message3.getTarget(), message3.getPayload().getServer()); + final String oldServer = serverCache.put(message3.getTarget(), message3.getPayload().getServer()); plugin.getProxy().getScheduler().runAsync(plugin, new Runnable() { @Override public void run() { - plugin.getProxy().getPluginManager().callEvent(new PlayerChangedServerNetworkEvent(message3.getTarget(), message3.getPayload().getServer())); + plugin.getProxy().getPluginManager().callEvent(new PlayerChangedServerNetworkEvent(message3.getTarget(), oldServer, message3.getPayload().getServer())); } }); break; diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerChangedServerNetworkEvent.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerChangedServerNetworkEvent.java index f497fa1..48bd5fb 100644 --- a/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerChangedServerNetworkEvent.java +++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerChangedServerNetworkEvent.java @@ -23,10 +23,12 @@ import java.util.UUID; @ToString public class PlayerChangedServerNetworkEvent extends Event { private final UUID uuid; + private final String previousServer; private final String server; - public PlayerChangedServerNetworkEvent(UUID uuid, String server) { + public PlayerChangedServerNetworkEvent(UUID uuid, String previousServer, String server) { this.uuid = uuid; + this.previousServer = previousServer; this.server = server; } @@ -37,4 +39,8 @@ public class PlayerChangedServerNetworkEvent extends Event { public String getServer() { return server; } + + public String getPreviousServer() { + return previousServer; + } }