Fix invalid calls to 1.12 methods
This commit is contained in:
		| @@ -729,30 +729,7 @@ public class FlagWatcher { | |||||||
|             return; |             return; | ||||||
|  |  | ||||||
|         if (itemStack == null && getDisguise().getEntity() instanceof LivingEntity) { |         if (itemStack == null && getDisguise().getEntity() instanceof LivingEntity) { | ||||||
|             EntityEquipment equip = ((LivingEntity) getDisguise().getEntity()).getEquipment(); |             itemStack = ReflectionManager.getEquipment(slot, getDisguise().getEntity()); | ||||||
|  |  | ||||||
|             switch (slot) { |  | ||||||
|                 case HAND: |  | ||||||
|                     itemStack = equip.getItemInMainHand(); |  | ||||||
|                     break; |  | ||||||
|                 case OFF_HAND: |  | ||||||
|                     itemStack = equip.getItemInOffHand(); |  | ||||||
|                     break; |  | ||||||
|                 case HEAD: |  | ||||||
|                     itemStack = equip.getHelmet(); |  | ||||||
|                     break; |  | ||||||
|                 case CHEST: |  | ||||||
|                     itemStack = equip.getChestplate(); |  | ||||||
|                     break; |  | ||||||
|                 case LEGS: |  | ||||||
|                     itemStack = equip.getLeggings(); |  | ||||||
|                     break; |  | ||||||
|                 case FEET: |  | ||||||
|                     itemStack = equip.getBoots(); |  | ||||||
|                     break; |  | ||||||
|                 default: |  | ||||||
|                     break; |  | ||||||
|             } |  | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         Object itemToSend = ReflectionManager.getNmsItem(itemStack); |         Object itemToSend = ReflectionManager.getNmsItem(itemStack); | ||||||
|   | |||||||
| @@ -46,8 +46,10 @@ import org.bukkit.*; | |||||||
| import org.bukkit.boss.KeyedBossBar; | import org.bukkit.boss.KeyedBossBar; | ||||||
| import org.bukkit.command.CommandSender; | import org.bukkit.command.CommandSender; | ||||||
| import org.bukkit.entity.*; | import org.bukkit.entity.*; | ||||||
|  | import org.bukkit.inventory.EntityEquipment; | ||||||
| import org.bukkit.inventory.EquipmentSlot; | import org.bukkit.inventory.EquipmentSlot; | ||||||
| import org.bukkit.inventory.ItemStack; | import org.bukkit.inventory.ItemStack; | ||||||
|  | import org.bukkit.inventory.PlayerInventory; | ||||||
| import org.bukkit.inventory.meta.ItemMeta; | import org.bukkit.inventory.meta.ItemMeta; | ||||||
| import org.bukkit.potion.PotionEffect; | import org.bukkit.potion.PotionEffect; | ||||||
| import org.bukkit.scheduler.BukkitRunnable; | import org.bukkit.scheduler.BukkitRunnable; | ||||||
| @@ -2024,6 +2026,28 @@ public class DisguiseUtilities { | |||||||
|         return list.toArray(new String[0]); |         return list.toArray(new String[0]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     public static ItemStack getSlot(PlayerInventory equip, EquipmentSlot slot) { | ||||||
|  |         switch (slot) { | ||||||
|  |             case HAND: | ||||||
|  |                 return equip.getItemInMainHand(); | ||||||
|  |             case OFF_HAND: | ||||||
|  |                 return equip.getItemInOffHand(); | ||||||
|  |             case HEAD: | ||||||
|  |                 return equip.getHelmet(); | ||||||
|  |             case CHEST: | ||||||
|  |                 return equip.getChestplate(); | ||||||
|  |             case LEGS: | ||||||
|  |                 return equip.getLeggings(); | ||||||
|  |             case FEET: | ||||||
|  |                 return equip.getBoots(); | ||||||
|  |             default: | ||||||
|  |                 break; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         return null; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Sends the self disguise to the player |      * Sends the self disguise to the player | ||||||
|      */ |      */ | ||||||
| @@ -2122,11 +2146,11 @@ public class DisguiseUtilities { | |||||||
|                         manager.createPacketConstructor(Server.ENTITY_EQUIPMENT, 0, list).createPacket(0, list)); |                         manager.createPacketConstructor(Server.ENTITY_EQUIPMENT, 0, list).createPacket(0, list)); | ||||||
|             } else { |             } else { | ||||||
|                 for (EquipmentSlot slot : EquipmentSlot.values()) { |                 for (EquipmentSlot slot : EquipmentSlot.values()) { | ||||||
|  |                     Object item = ReflectionManager.getNmsItem(getSlot(player.getInventory(), slot)); | ||||||
|  |  | ||||||
|                     sendSelfPacket(player, manager.createPacketConstructor(Server.ENTITY_EQUIPMENT, 0, |                     sendSelfPacket(player, manager.createPacketConstructor(Server.ENTITY_EQUIPMENT, 0, | ||||||
|                             ReflectionManager.createEnumItemSlot(slot), |                             ReflectionManager.createEnumItemSlot(slot), item) | ||||||
|                             ReflectionManager.getNmsItem(player.getInventory().getItem(slot))) |                             .createPacket(player.getEntityId(), ReflectionManager.createEnumItemSlot(slot), item)); | ||||||
|                             .createPacket(player.getEntityId(), ReflectionManager.createEnumItemSlot(slot), |  | ||||||
|                                     ReflectionManager.getNmsItem(player.getInventory().getItem(slot)))); |  | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1121,7 +1121,9 @@ public class ReflectionManager { | |||||||
|                 Method toMinecraft = getCraftMethod("util.CraftMagicNumbers", "getMaterialFromInternalName", |                 Method toMinecraft = getCraftMethod("util.CraftMagicNumbers", "getMaterialFromInternalName", | ||||||
|                         String.class); |                         String.class); | ||||||
|  |  | ||||||
|                 return (Material) toMinecraft.invoke(null, name); |                 Object instance = toMinecraft.getDeclaringClass().getField("INSTANCE").get(null); | ||||||
|  |  | ||||||
|  |                 return (Material) toMinecraft.invoke(instance, name); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             Object mcKey = getNmsConstructor("MinecraftKey", String.class).newInstance(name); |             Object mcKey = getNmsConstructor("MinecraftKey", String.class).newInstance(name); | ||||||
| @@ -1140,7 +1142,12 @@ public class ReflectionManager { | |||||||
|             return (Material) getMaterial.invoke(null, item); |             return (Material) getMaterial.invoke(null, item); | ||||||
|         } |         } | ||||||
|         catch (Exception ex) { |         catch (Exception ex) { | ||||||
|  |             DisguiseUtilities.getLogger().severe("Error when trying to convert '" + name + "' into a Material"); | ||||||
|             ex.printStackTrace(); |             ex.printStackTrace(); | ||||||
|  |  | ||||||
|  |             if (ex.getCause() != null) { | ||||||
|  |                 ex.getCause().printStackTrace(); | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         return null; |         return null; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user