diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 3f14df4..57f7120 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -6,18 +6,9 @@ - - - - - - - - - - + diff --git a/api/src/main/java/me/tofaa/entitylib/meta/Metadata.java b/api/src/main/java/me/tofaa/entitylib/meta/Metadata.java index da5adbf..971e2c8 100644 --- a/api/src/main/java/me/tofaa/entitylib/meta/Metadata.java +++ b/api/src/main/java/me/tofaa/entitylib/meta/Metadata.java @@ -83,7 +83,7 @@ public class Metadata { public boolean isNotifyingChanges() { - return notifyChanges; + return notifyChanges; } @NotNull List getEntries() { diff --git a/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntity.java b/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntity.java index d1078fc..4472f04 100644 --- a/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntity.java +++ b/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntity.java @@ -327,7 +327,15 @@ public class WrapperEntity implements Tickable { } private static void sendPacket(UUID user, PacketWrapper wrapper) { - EntityLib.getApi().getPacketEvents().getProtocolManager().sendPacket(EntityLib.getApi().getPacketEvents().getProtocolManager().getChannel(user), wrapper); + + Object channel = EntityLib.getApi().getPacketEvents().getProtocolManager().getChannel(user); + if (channel == null) { + if (EntityLib.getApi().getSettings().isDebugMode()) { + EntityLib.getPlatform().getLogger().warning("Failed to send packet to " + user + " because the channel was null. They may be disconnected/not online."); + } + return; + } + EntityLib.getApi().getPacketEvents().getProtocolManager().sendPacket(channel, wrapper); } public boolean hasNoGravity() { diff --git a/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntityEquipment.java b/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntityEquipment.java index 99b9a67..9b2aa8f 100644 --- a/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntityEquipment.java +++ b/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntityEquipment.java @@ -19,7 +19,7 @@ public class WrapperEntityEquipment { private static final EquipmentSlot[] EQUIPMENT_SLOTS = EquipmentSlot.values(); private final WrapperLivingEntity entity; - + private boolean notifyChanges = true; // 0 = main hand, 1 = offhand, 2 = boots, 3 = leggings, 4 = chestplate, 5 = helmet private final ItemStack[] equipment = new ItemStack[6]; @@ -113,7 +113,19 @@ public class WrapperEntityEquipment { public void refresh() { - this.entity.sendPacketToViewers(createPacket()); + if (notifyChanges) { + this.entity.sendPacketToViewers(createPacket()); + } } + public boolean isNotifyingChanges() { + return notifyChanges; + } + + public void setNotifyChanges(boolean notifyChanges) { + this.notifyChanges = notifyChanges; + if (notifyChanges) { + refresh(); + } + } }