From 99ce4e3f546098834eb6c1cc0589e0443da3c22f Mon Sep 17 00:00:00 2001 From: FreeMonoid <49086127+FreeMonoid@users.noreply.github.com> Date: Tue, 11 Apr 2023 02:27:10 +0300 Subject: [PATCH] Handle ProtocolizePlayer absence before sending packets (#40) --- .../william278/velocitab/packet/ScoreboardManager.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/william278/velocitab/packet/ScoreboardManager.java b/src/main/java/net/william278/velocitab/packet/ScoreboardManager.java index 423d3e0..a286f7d 100644 --- a/src/main/java/net/william278/velocitab/packet/ScoreboardManager.java +++ b/src/main/java/net/william278/velocitab/packet/ScoreboardManager.java @@ -4,6 +4,7 @@ import com.velocitypowered.api.proxy.Player; import dev.simplix.protocolize.api.PacketDirection; import dev.simplix.protocolize.api.Protocol; import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.player.ProtocolizePlayer; import net.william278.velocitab.Velocitab; import org.jetbrains.annotations.NotNull; @@ -54,7 +55,12 @@ public class ScoreboardManager { private void dispatchPacket(@NotNull UpdateTeamsPacket packet, @NotNull Player player) { try { - Protocolize.playerProvider().player(player.getUniqueId()).sendPacket(packet); + ProtocolizePlayer protocolizePlayer = Protocolize.playerProvider().player(player.getUniqueId()); + if (protocolizePlayer != null) { + protocolizePlayer.sendPacket(packet); + } else { + plugin.log("Failed to get ProtocolizePlayer for player " + player.getUsername() + " (UUID: " + player.getUniqueId() + ")"); + } } catch (Exception e) { plugin.log("Failed to dispatch packet (is the client or server modded or using an illegal version?)", e); }