diff --git a/api/src/main/java/com/imaginarycode/minecraft/redisbungee/api/PlayerDataManager.java b/api/src/main/java/com/imaginarycode/minecraft/redisbungee/api/PlayerDataManager.java index 12f360d3..71a9196d 100644 --- a/api/src/main/java/com/imaginarycode/minecraft/redisbungee/api/PlayerDataManager.java +++ b/api/src/main/java/com/imaginarycode/minecraft/redisbungee/api/PlayerDataManager.java @@ -28,10 +28,7 @@ import redis.clients.jedis.UnifiedJedis; import java.net.InetAddress; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; -import java.util.UUID; +import java.util.*; import java.util.concurrent.TimeUnit; public abstract class PlayerDataManager { @@ -248,7 +245,9 @@ protected Multimap serversToPlayersBuilder(Object o) { public Multimap doPooledPipeline(Pipeline pipeline) { HashMap> responses = new HashMap<>(); for (UUID uuid : uuids) { - responses.put(uuid, pipeline.hget("redis-bungee::" + networkId + "::player::" + uuid + "::data", "server")); + Optional.ofNullable(pipeline.hget("redis-bungee::" + networkId + "::player::" + uuid + "::data", "server")).ifPresent(stringResponse -> { + responses.put(uuid, stringResponse); + }); } pipeline.sync(); responses.forEach((uuid, response) -> { @@ -264,13 +263,14 @@ public Multimap doPooledPipeline(Pipeline pipeline) { public Multimap clusterPipeline(ClusterPipeline pipeline) { HashMap> responses = new HashMap<>(); for (UUID uuid : uuids) { - responses.put(uuid, pipeline.hget("redis-bungee::" + networkId + "::player::" + uuid + "::data", "server")); + Optional.ofNullable(pipeline.hget("redis-bungee::" + networkId + "::player::" + uuid + "::data", "server")).ifPresent(stringResponse -> { + responses.put(uuid, stringResponse); + }); } pipeline.sync(); responses.forEach((uuid, response) -> { String key = response.get(); if (key == null) return; - builder.put(key, uuid); }); return builder.build();