diff --git a/pom.xml b/pom.xml
index adace32b..f02ff3a1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,7 +59,7 @@
2.7.0
- 7.7.2
+ 7.7.2-SNAPSHOT
diff --git a/src/me/libraryaddict/disguise/utilities/PacketsManager.java b/src/me/libraryaddict/disguise/utilities/PacketsManager.java
index 5cf44df4..b64fec14 100644
--- a/src/me/libraryaddict/disguise/utilities/PacketsManager.java
+++ b/src/me/libraryaddict/disguise/utilities/PacketsManager.java
@@ -672,15 +672,13 @@ public class PacketsManager {
Packets.Server.ENTITY_VELOCITY, Packets.Server.UPDATE_ATTRIBUTES) {
@Override
public void onPacketSending(PacketEvent event) {
- StructureModifier entityModifer = event.getPacket().getEntityModifier(event.getPlayer().getWorld());
- org.bukkit.entity.Entity entity = entityModifer.read(0);
- if (entity == event.getPlayer()) {
- int fakeId = DisguiseAPI.getFakeDisguise(entity.getEntityId());
+ final Player observer = event.getPlayer();
+ if (event.getPacket().getEntityModifier(observer.getWorld()).read(0) == observer) {
+ int fakeId = DisguiseAPI.getFakeDisguise(observer.getEntityId());
if (fakeId > 0) {
// Here I grab the packets to convert them to, So I can display them as if the disguise sent them.
- PacketContainer[] packets = transformPacket(event.getPacket(), event.getPlayer());
+ PacketContainer[] packets = transformPacket(event.getPacket(), observer);
final PacketContainer[] delayedPackets = new PacketContainer[packets.length > 0 ? packets.length - 1 : 0];
- final Player observer = event.getPlayer();
for (int i = 0; i < packets.length; i++) {
PacketContainer packet = packets[i];
if (packet.equals(event.getPacket()))
@@ -693,7 +691,7 @@ public class PacketsManager {
e.printStackTrace();
}
} else {
- delayedPackets[i - 1] = packets[i];
+ delayedPackets[i - 1] = packet;
}
}
if (delayedPackets.length > 0) {
@@ -710,7 +708,8 @@ public class PacketsManager {
});
}
- if (event.getPacketID() == Packets.Server.ENTITY_METADATA) {
+ switch (event.getPacketID()) {
+ case Packets.Server.ENTITY_METADATA:
event.setPacket(event.getPacket().deepClone());
Iterator itel = event.getPacket().getWatchableCollectionModifier().read(0)
.iterator();
@@ -724,45 +723,38 @@ public class PacketsManager {
watch.setValue(a);
}
}
- } else {
- switch (event.getPacketID()) {
- case Packets.Server.NAMED_ENTITY_SPAWN:
- PacketContainer packet = new PacketContainer(Packets.Server.ENTITY_METADATA);
- StructureModifier