diff --git a/ProtocolLib/src/main/java/com/comphenix/protocol/events/PacketContainer.java b/ProtocolLib/src/main/java/com/comphenix/protocol/events/PacketContainer.java index 93bc0d19..85cebfe7 100644 --- a/ProtocolLib/src/main/java/com/comphenix/protocol/events/PacketContainer.java +++ b/ProtocolLib/src/main/java/com/comphenix/protocol/events/PacketContainer.java @@ -96,6 +96,9 @@ public class PacketContainer implements Serializable { andThen(new Function() { @Override public Cloner apply(@Nullable BuilderParameters param) { + if (param == null) + throw new IllegalArgumentException("Cannot be NULL."); + return new FieldCloner(param.getAggregateCloner(), param.getInstanceProvider()) {{ // Use a default writer with no concept of cloning writer = new ObjectWriter(); diff --git a/ProtocolLib/src/main/java/com/comphenix/protocol/injector/player/NetworkObjectInjector.java b/ProtocolLib/src/main/java/com/comphenix/protocol/injector/player/NetworkObjectInjector.java index 855e2390..cfff267d 100644 --- a/ProtocolLib/src/main/java/com/comphenix/protocol/injector/player/NetworkObjectInjector.java +++ b/ProtocolLib/src/main/java/com/comphenix/protocol/injector/player/NetworkObjectInjector.java @@ -54,7 +54,7 @@ public class NetworkObjectInjector extends PlayerInjector { private ClassLoader classLoader; // Shared callback filter - avoid creating a new class every time - private static CallbackFilter callbackFilter; + private volatile static CallbackFilter callbackFilter; // Temporary player factory private static volatile TemporaryPlayerFactory tempPlayerFactory; diff --git a/ProtocolLib/src/main/java/com/comphenix/protocol/injector/spigot/SpigotPacketInjector.java b/ProtocolLib/src/main/java/com/comphenix/protocol/injector/spigot/SpigotPacketInjector.java index ea98e3c3..30d68021 100644 --- a/ProtocolLib/src/main/java/com/comphenix/protocol/injector/spigot/SpigotPacketInjector.java +++ b/ProtocolLib/src/main/java/com/comphenix/protocol/injector/spigot/SpigotPacketInjector.java @@ -349,7 +349,7 @@ public class SpigotPacketInjector implements SpigotPacketListener { public Object packetQueued(Object networkManager, Object connection, Object packet) { Integer id = invoker.getPacketID(packet); - if (id != null & queuedFilters.contains(id)) { + if (id != null && queuedFilters.contains(id)) { // Check for ignored packets if (ignoredPackets.remove(packet)) { return packet;