From e02e1c9e6b6dd9b52878afff32e55943733d3889 Mon Sep 17 00:00:00 2001 From: libraryaddict Date: Tue, 19 Nov 2013 08:48:26 +1300 Subject: [PATCH] Fix flag watcher not working, fix error with gethandle --- src/me/libraryaddict/disguise/LibsDisguises.java | 2 +- src/me/libraryaddict/disguise/PacketsManager.java | 2 +- src/me/libraryaddict/disguise/disguisetypes/Disguise.java | 6 +++--- .../libraryaddict/disguise/disguisetypes/FlagWatcher.java | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/me/libraryaddict/disguise/LibsDisguises.java b/src/me/libraryaddict/disguise/LibsDisguises.java index 0dc642fb..a685c5d5 100644 --- a/src/me/libraryaddict/disguise/LibsDisguises.java +++ b/src/me/libraryaddict/disguise/LibsDisguises.java @@ -186,7 +186,7 @@ public class LibsDisguises extends JavaPlugin { WrappedDataWatcher dataWatcher = WrappedDataWatcher.getEntityWatcher(bukkitEntity); List watchers = dataWatcher.getWatchableObjects(); for (WrappedWatchableObject watch : watchers) - value.setMetaValue(watch.getTypeID(), watch.getValue()); + value.setMetaValue(watch.getIndex(), watch.getValue()); DisguiseSound sound = DisguiseSound.getType(disguiseType.name()); if (sound != null) { Float soundStrength = ReflectionManager.getSoundModifier(entity); diff --git a/src/me/libraryaddict/disguise/PacketsManager.java b/src/me/libraryaddict/disguise/PacketsManager.java index c0a2a49a..715b603b 100644 --- a/src/me/libraryaddict/disguise/PacketsManager.java +++ b/src/me/libraryaddict/disguise/PacketsManager.java @@ -639,7 +639,7 @@ public class PacketsManager { .iterator(); while (itel.hasNext()) { WrappedWatchableObject watch = itel.next(); - if (watch.getTypeID() == 0) { + if (watch.getIndex() == 0) { byte b = (Byte) watch.getValue(); byte a = (byte) (b | 1 << 5); if ((b & 1 << 3) != 0) diff --git a/src/me/libraryaddict/disguise/disguisetypes/Disguise.java b/src/me/libraryaddict/disguise/disguisetypes/Disguise.java index b18891c8..02ba7db3 100644 --- a/src/me/libraryaddict/disguise/disguisetypes/Disguise.java +++ b/src/me/libraryaddict/disguise/disguisetypes/Disguise.java @@ -13,7 +13,6 @@ import me.libraryaddict.disguise.disguisetypes.watchers.AgeableWatcher; import me.libraryaddict.disguise.disguisetypes.watchers.HorseWatcher; import me.libraryaddict.disguise.disguisetypes.watchers.ZombieWatcher; import org.bukkit.Location; -import org.bukkit.entity.Entity; import org.bukkit.entity.Horse.Variant; import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; @@ -212,7 +211,6 @@ public abstract class Disguise { } try { Field ping = ReflectionManager.getNmsClass("EntityPlayer").getField("ping"); - Field handle = Entity.class.getField("getHandle"); for (Player player : getPerverts()) { PacketContainer packet = new PacketContainer(Packets.Server.ENTITY_VELOCITY); StructureModifier mods = packet.getModifier(); @@ -231,7 +229,9 @@ public abstract class Disguise { } else mods.write(0, entity.getEntityId()); mods.write(1, (int) (vector.getX() * 8000)); - mods.write(2, (int) (8000 * (vectorY * (double) ping.getInt(handle.get(player)) * 0.069))); + mods.write( + 2, + (int) (8000 * (vectorY * (double) ping.getInt(ReflectionManager.getNmsEntity(player)) * 0.069))); mods.write(3, (int) (vector.getZ() * 8000)); if (lookPacket != null) ProtocolLibrary.getProtocolManager().sendServerPacket(player, lookPacket, false); diff --git a/src/me/libraryaddict/disguise/disguisetypes/FlagWatcher.java b/src/me/libraryaddict/disguise/disguisetypes/FlagWatcher.java index 7a986631..9677de11 100644 --- a/src/me/libraryaddict/disguise/disguisetypes/FlagWatcher.java +++ b/src/me/libraryaddict/disguise/disguisetypes/FlagWatcher.java @@ -68,7 +68,7 @@ public class FlagWatcher { boolean sendAllCustom = false; while (itel.hasNext()) { WrappedWatchableObject watch = itel.next(); - int dataType = watch.getTypeID(); + int dataType = watch.getIndex(); sentValues.add(dataType); // Its sending the air metadata. This is the least commonly sent metadata which all entitys still share. // I send my custom values if I see this! @@ -113,7 +113,7 @@ public class FlagWatcher { if (disguise.viewSelfDisguise() && disguise.getEntity() != null && disguise.getEntity() instanceof Player) { for (WrappedWatchableObject watch : newList) { // Its a health packet - if (watch.getTypeID() == 6) { + if (watch.getIndex() == 6) { Object value = watch.getValue(); if (value != null && value instanceof Float) { float newHealth = (Float) value;