diff --git a/src/main/java/net/krakatoa/proxy/listener/PlayerDisconnectListener.java b/src/main/java/net/krakatoa/proxy/listener/PlayerDisconnectListener.java index 602093e..9744fbd 100644 --- a/src/main/java/net/krakatoa/proxy/listener/PlayerDisconnectListener.java +++ b/src/main/java/net/krakatoa/proxy/listener/PlayerDisconnectListener.java @@ -5,6 +5,7 @@ import com.mongodb.client.model.UpdateOptions; import com.mongodb.client.model.Updates; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import net.krakatoa.proxy.ProxySystem; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.event.PlayerDisconnectEvent; @@ -27,29 +28,18 @@ public class PlayerDisconnectListener implements Listener { .getRedissonClient() .getMap("player:" + uuid); - if (!map.isEmpty()) { - map.delete(); - } - - // TODO: save redis player to mongodb - + // mongo ProxySystem.getInstance().getMongoManager().getPlayers() .find(Filters.eq("uuid", uuid)) .first((document, throwable) -> { if (document != null) { - /*List updatesList = new ArrayList<>(); + List updatesList = new ArrayList<>(); map.forEach((key, value) -> { if (!Objects.equals(key, "_id") && !Objects.equals(key, "uuid")) { updatesList.add(Updates.set(key, value)); } - }); */ - - List updatesList = new ArrayList<>(); - - updatesList.add(Updates.set("voiceSessionToken", - "et7jHeWNxeoJ4vq1E-AEpJol9cwAQ9mttJb86lgBzgGZLxLtXpOyNNDBLX-jiQtP")); - updatesList.add(Updates.set("voiceWebCode", "arxvdpfJ")); + }); Bson updates = Updates.combine(updatesList); @@ -71,6 +61,11 @@ public class PlayerDisconnectListener implements Listener { } }); + // redis + if (!map.isEmpty()) { + map.delete(); + } +