Fixed "Thrown Potion # has no item!?"
This commit is contained in:
		| @@ -46,6 +46,7 @@ import org.bukkit.plugin.java.JavaPlugin; | |||||||
| import java.io.IOException; | import java.io.IOException; | ||||||
| import java.lang.reflect.Field; | import java.lang.reflect.Field; | ||||||
|  |  | ||||||
|  |  | ||||||
| public class LibsDisguises extends JavaPlugin { | public class LibsDisguises extends JavaPlugin { | ||||||
|  |  | ||||||
|     private static LibsDisguises instance; |     private static LibsDisguises instance; | ||||||
|   | |||||||
| @@ -203,7 +203,6 @@ public class PacketsManager { | |||||||
|             mods.write(4, yaw); |             mods.write(4, yaw); | ||||||
|             mods.write(5, pitch); |             mods.write(5, pitch); | ||||||
|         } else if (disguise.getType().isPlayer()) { |         } else if (disguise.getType().isPlayer()) { | ||||||
|             //TODO: Make player disguises visible again |  | ||||||
|             PlayerDisguise playerDisguise = (PlayerDisguise) disguise; |             PlayerDisguise playerDisguise = (PlayerDisguise) disguise; | ||||||
|             String name = playerDisguise.getSkin() != null ? playerDisguise.getSkin() : playerDisguise.getName(); |             String name = playerDisguise.getSkin() != null ? playerDisguise.getSkin() : playerDisguise.getName(); | ||||||
|             int entityId = disguisedEntity.getEntityId(); |             int entityId = disguisedEntity.getEntityId(); | ||||||
| @@ -521,13 +520,13 @@ public class PacketsManager { | |||||||
|                 if (event.isCancelled()) { |                 if (event.isCancelled()) { | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
|  |                 if (event.isAsync()) { | ||||||
|  |                     return; | ||||||
|  |                 } | ||||||
|                 event.setPacket(event.getPacket().deepClone()); |                 event.setPacket(event.getPacket().deepClone()); | ||||||
|                 StructureModifier<Object> mods = event.getPacket().getModifier(); |                 StructureModifier<Object> mods = event.getPacket().getModifier(); | ||||||
|                 Player observer = event.getPlayer(); |                 Player observer = event.getPlayer(); | ||||||
|                 if (event.getPacketType() == Server.NAMED_SOUND_EFFECT) { |                 if (event.getPacketType() == Server.NAMED_SOUND_EFFECT) { | ||||||
|                     if (event.isAsync()) { |  | ||||||
|                         return; |  | ||||||
|                     } |  | ||||||
|                     Object soundEffect = mods.read(0); |                     Object soundEffect = mods.read(0); | ||||||
|                     SoundType soundType = null; |                     SoundType soundType = null; | ||||||
|                     Location soundLoc = new Location(observer.getWorld(), ((Integer) mods.read(2)) / 8D, |                     Location soundLoc = new Location(observer.getWorld(), ((Integer) mods.read(2)) / 8D, | ||||||
|   | |||||||
| @@ -12,6 +12,7 @@ import org.apache.commons.lang3.tuple.Pair; | |||||||
| import org.bukkit.Art; | import org.bukkit.Art; | ||||||
| import org.bukkit.Bukkit; | import org.bukkit.Bukkit; | ||||||
| import org.bukkit.Location; | import org.bukkit.Location; | ||||||
|  | import org.bukkit.Material; | ||||||
| import org.bukkit.Sound; | import org.bukkit.Sound; | ||||||
| import org.bukkit.World; | import org.bukkit.World; | ||||||
| import org.bukkit.entity.Entity; | import org.bukkit.entity.Entity; | ||||||
| @@ -104,6 +105,10 @@ public class ReflectionManager { | |||||||
|                 case "EnderPearl": |                 case "EnderPearl": | ||||||
|                     entityObject = entityClass.getDeclaredConstructor(getNmsClass("World"), getNmsClass("EntityLiving")).newInstance(world, createEntityInstance("Cow")); |                     entityObject = entityClass.getDeclaredConstructor(getNmsClass("World"), getNmsClass("EntityLiving")).newInstance(world, createEntityInstance("Cow")); | ||||||
|                     break; |                     break; | ||||||
|  |                 case "Potion": | ||||||
|  |                     entityObject = entityClass.getDeclaredConstructor(getNmsClass("World"), Double.TYPE, Double.TYPE, Double.TYPE, getNmsClass("ItemStack")) | ||||||
|  |                             .newInstance(world, 0d, 0d, 0d, getNmsItem(new ItemStack(Material.SPLASH_POTION))); | ||||||
|  |                 break; | ||||||
|                 default: |                 default: | ||||||
|                     entityObject = entityClass.getDeclaredConstructor(getNmsClass("World")).newInstance(world); |                     entityObject = entityClass.getDeclaredConstructor(getNmsClass("World")).newInstance(world); | ||||||
|                     break; |                     break; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user