diff --git a/src/main/java/com/comphenix/protocol/events/SerializedOfflinePlayer.java b/src/main/java/com/comphenix/protocol/events/SerializedOfflinePlayer.java index 57713e19..c340d8a8 100644 --- a/src/main/java/com/comphenix/protocol/events/SerializedOfflinePlayer.java +++ b/src/main/java/com/comphenix/protocol/events/SerializedOfflinePlayer.java @@ -135,6 +135,12 @@ class SerializedOfflinePlayer implements OfflinePlayer, Serializable { return bedSpawnLocation; } + @Nullable + @Override + public Location getRespawnLocation() { + return null; + } + // @Override public long getLastLogin() { return lastLogin; @@ -209,6 +215,12 @@ class SerializedOfflinePlayer implements OfflinePlayer, Serializable { return null; } + @Nullable + @Override + public Location getLocation() { + return null; + } + @Override public long getFirstPlayed() { return firstPlayed; diff --git a/src/main/java/com/comphenix/protocol/injector/netty/manager/NetworkManagerInjector.java b/src/main/java/com/comphenix/protocol/injector/netty/manager/NetworkManagerInjector.java index d6cbbf6a..2d9eeafb 100644 --- a/src/main/java/com/comphenix/protocol/injector/netty/manager/NetworkManagerInjector.java +++ b/src/main/java/com/comphenix/protocol/injector/netty/manager/NetworkManagerInjector.java @@ -93,7 +93,12 @@ public class NetworkManagerInjector implements ChannelListener { if (marker != null || MinecraftReflection.isBundlePacket(packetClass) || outboundListeners.contains(packetClass)) { // wrap packet and construct the event PacketType.Protocol currentProtocol = injector.getCurrentProtocol(PacketType.Sender.SERVER); - PacketContainer container = new PacketContainer(PacketRegistry.getPacketType(currentProtocol, packetClass), packet); + PacketType type = PacketRegistry.getPacketType(currentProtocol, packetClass); + if (type == null) { + ProtocolLogger.debug("Invalid packet type: " + packetClass.getName()); + return null; + } + PacketContainer container = new PacketContainer(type, packet); PacketEvent packetEvent = PacketEvent.fromServer(this, container, marker, injector.getPlayer()); // post to all listeners, then return the packet event we constructed