Fix flag watcher not working, fix error with gethandle
This commit is contained in:
		| @@ -186,7 +186,7 @@ public class LibsDisguises extends JavaPlugin { | ||||
|                 WrappedDataWatcher dataWatcher = WrappedDataWatcher.getEntityWatcher(bukkitEntity); | ||||
|                 List<WrappedWatchableObject> 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); | ||||
|   | ||||
| @@ -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) | ||||
|   | ||||
| @@ -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<Object> 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); | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user