2
0
mirror of https://github.com/proxiodev/RedisBungee.git synced 2024-10-29 17:58:00 +00:00

Fixed null when fetching server id. (#118)

(cherry picked from commit 219a4ab360)
This commit is contained in:
Joël | NoPermission 2024-09-16 13:44:35 +02:00 committed by mohammed jasem alaajel
parent 981d42d4a8
commit d8704c8a8f
Signed by: ham1255
GPG Key ID: EF343502046229F4

View File

@ -28,10 +28,7 @@ import redis.clients.jedis.Response;
import redis.clients.jedis.UnifiedJedis; import redis.clients.jedis.UnifiedJedis;
import java.net.InetAddress; import java.net.InetAddress;
import java.util.HashMap; import java.util.*;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
public abstract class PlayerDataManager<P, LE, DE, PS extends IPubSubMessageEvent, SC extends IPlayerChangedServerNetworkEvent, NJE extends IPlayerLeftNetworkEvent, CE> { public abstract class PlayerDataManager<P, LE, DE, PS extends IPubSubMessageEvent, SC extends IPlayerChangedServerNetworkEvent, NJE extends IPlayerLeftNetworkEvent, CE> {
@ -248,7 +245,9 @@ public abstract class PlayerDataManager<P, LE, DE, PS extends IPubSubMessageEven
public Multimap<String, UUID> doPooledPipeline(Pipeline pipeline) { public Multimap<String, UUID> doPooledPipeline(Pipeline pipeline) {
HashMap<UUID, Response<String>> responses = new HashMap<>(); HashMap<UUID, Response<String>> responses = new HashMap<>();
for (UUID uuid : uuids) { 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(); pipeline.sync();
responses.forEach((uuid, response) -> { responses.forEach((uuid, response) -> {
@ -264,13 +263,14 @@ public abstract class PlayerDataManager<P, LE, DE, PS extends IPubSubMessageEven
public Multimap<String, UUID> clusterPipeline(ClusterPipeline pipeline) { public Multimap<String, UUID> clusterPipeline(ClusterPipeline pipeline) {
HashMap<UUID, Response<String>> responses = new HashMap<>(); HashMap<UUID, Response<String>> responses = new HashMap<>();
for (UUID uuid : uuids) { 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(); pipeline.sync();
responses.forEach((uuid, response) -> { responses.forEach((uuid, response) -> {
String key = response.get(); String key = response.get();
if (key == null) return; if (key == null) return;
builder.put(key, uuid); builder.put(key, uuid);
}); });
return builder.build(); return builder.build();