diff --git a/ProtocolLib/src/main/java/com/comphenix/protocol/CommandPacket.java b/ProtocolLib/src/main/java/com/comphenix/protocol/CommandPacket.java index 96ab0a05..bec5e6bc 100644 --- a/ProtocolLib/src/main/java/com/comphenix/protocol/CommandPacket.java +++ b/ProtocolLib/src/main/java/com/comphenix/protocol/CommandPacket.java @@ -339,8 +339,9 @@ class CommandPacket extends CommandBase { Class clazz = packet.getClass(); // Get the first Minecraft super class - while ((!MinecraftReflection.isMinecraftClass(clazz) || - Factory.class.isAssignableFrom(clazz)) && clazz != Object.class) { + while (clazz != null && clazz != Object.class && + (!MinecraftReflection.isMinecraftClass(clazz) || + Factory.class.isAssignableFrom(clazz))) { clazz = clazz.getSuperclass(); } diff --git a/ProtocolLib/src/main/java/com/comphenix/protocol/reflect/ObjectWriter.java b/ProtocolLib/src/main/java/com/comphenix/protocol/reflect/ObjectWriter.java index 5ab3eb2d..91e3a14b 100644 --- a/ProtocolLib/src/main/java/com/comphenix/protocol/reflect/ObjectWriter.java +++ b/ProtocolLib/src/main/java/com/comphenix/protocol/reflect/ObjectWriter.java @@ -119,7 +119,7 @@ public class ObjectWriter { // Copy private fields underneath Class superclass = commonType.getSuperclass(); - if (!superclass.equals(Object.class)) { + if (superclass != null && !superclass.equals(Object.class)) { copyToInternal(source, destination, superclass, false); } diff --git a/ProtocolLib/src/main/java/com/comphenix/protocol/reflect/PrettyPrinter.java b/ProtocolLib/src/main/java/com/comphenix/protocol/reflect/PrettyPrinter.java index a4e56b50..ad2e8d4c 100644 --- a/ProtocolLib/src/main/java/com/comphenix/protocol/reflect/PrettyPrinter.java +++ b/ProtocolLib/src/main/java/com/comphenix/protocol/reflect/PrettyPrinter.java @@ -210,7 +210,7 @@ public class PrettyPrinter { ObjectPrinter printer) throws IllegalAccessException { // See if we're supposed to skip this class - if (current == Object.class || (stop != null && current.equals(stop))) { + if (current == null || current == Object.class || (stop != null && current.equals(stop))) { return; }