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();