diff --git a/PacketWrapper/src/main/java/com/comphenix/packetwrapper/WrapperPlayServerEntityEquipment.java b/PacketWrapper/src/main/java/com/comphenix/packetwrapper/WrapperPlayServerEntityEquipment.java index 1839bfac..e3f3ad2b 100644 --- a/PacketWrapper/src/main/java/com/comphenix/packetwrapper/WrapperPlayServerEntityEquipment.java +++ b/PacketWrapper/src/main/java/com/comphenix/packetwrapper/WrapperPlayServerEntityEquipment.java @@ -18,93 +18,171 @@ */ package com.comphenix.packetwrapper; -import org.bukkit.World; -import org.bukkit.entity.Entity; -import org.bukkit.inventory.ItemStack; - import com.comphenix.protocol.PacketType; import com.comphenix.protocol.events.PacketContainer; import com.comphenix.protocol.events.PacketEvent; import com.comphenix.protocol.wrappers.EnumWrappers.ItemSlot; +import com.comphenix.protocol.wrappers.Pair; +import org.bukkit.World; +import org.bukkit.entity.Entity; +import org.bukkit.inventory.ItemStack; + +import java.util.List; public class WrapperPlayServerEntityEquipment extends AbstractPacket { - public static final PacketType TYPE = - PacketType.Play.Server.ENTITY_EQUIPMENT; - - public WrapperPlayServerEntityEquipment() { - super(new PacketContainer(TYPE), TYPE); - handle.getModifier().writeDefaults(); - } - - public WrapperPlayServerEntityEquipment(PacketContainer packet) { - super(packet, TYPE); - } - - /** - * Retrieve Entity ID. - *
- * Notes: entity's ID - * - * @return The current Entity ID - */ - public int getEntityID() { - return handle.getIntegers().read(0); - } - - /** - * Set Entity ID. - * - * @param value - new value. - */ - public void setEntityID(int value) { - handle.getIntegers().write(0, value); - } - - /** - * Retrieve the entity of the painting that will be spawned. - * - * @param world - the current world of the entity. - * @return The spawned entity. - */ - public Entity getEntity(World world) { - return handle.getEntityModifier(world).read(0); - } - - /** - * Retrieve the entity of the painting that will be spawned. - * - * @param event - the packet event. - * @return The spawned entity. - */ - public Entity getEntity(PacketEvent event) { - return getEntity(event.getPlayer().getWorld()); - } - - public ItemSlot getSlot() { - return handle.getItemSlots().read(0); - } - - public void setSlot(ItemSlot value) { - handle.getItemSlots().write(0, value); - } - - /** - * Retrieve Item. - *
- * Notes: item in slot format - * - * @return The current Item - */ - public ItemStack getItem() { - return handle.getItemModifier().read(0); - } - - /** - * Set Item. - * - * @param value - new value. - */ - public void setItem(ItemStack value) { - handle.getItemModifier().write(0, value); - } + public static final PacketType TYPE = + PacketType.Play.Server.ENTITY_EQUIPMENT; + + public WrapperPlayServerEntityEquipment() { + super(new PacketContainer(TYPE), TYPE); + handle.getModifier().writeDefaults(); + } + + public WrapperPlayServerEntityEquipment(PacketContainer packet) { + super(packet, TYPE); + } + + /** + * Retrieve Entity ID. + *
+ * Notes: entity's ID
+ *
+ * @return The current Entity ID
+ */
+ public int getEntityID() {
+ return handle.getIntegers().read(0);
+ }
+
+ /**
+ * Set Entity ID.
+ *
+ * @param value - new value.
+ */
+ public void setEntityID(int value) {
+ handle.getIntegers().write(0, value);
+ }
+
+ /**
+ * Retrieve the entity whose equipment will be changed.
+ *
+ * @param world - the current world of the entity.
+ * @return The affected entity.
+ */
+ public Entity getEntity(World world) {
+ return handle.getEntityModifier(world).read(0);
+ }
+
+ /**
+ * Retrieve the entity whose equipment will be changed.
+ *
+ * @param event - the packet event.
+ * @return The affected entity.
+ */
+ public Entity getEntity(PacketEvent event) {
+ return getEntity(event.getPlayer().getWorld());
+ }
+
+ /**
+ * Retrieve list of ItemSlot - ItemStack pairs.
+ *
+ * @return The current list of ItemSlot - ItemStack pairs.
+ */
+ public List
+ * Notes: item in slot format
+ *
+ * @return The current Item
+ */
+ @Deprecated
+ public ItemStack getItem() {
+ return handle.getItemModifier().read(0);
+ }
+
+ /**
+ * @deprecated This format is no longer supported in Minecraft 1.16+
+ * For 1.16+ use the SlotStack methods
+ *
+ * Set Item.
+ *
+ * @param value - new value.
+ */
+ @Deprecated
+ public void setItem(ItemStack value) {
+ handle.getItemModifier().write(0, value);
+ }
}