#772: Add API to set equipment silently
By: Parker Hawke <hawkeboyz2@hotmail.com>
This commit is contained in:
@@ -20,9 +20,14 @@ public class CraftEntityEquipment implements EntityEquipment {
|
||||
|
||||
@Override
|
||||
public void setItem(EquipmentSlot slot, ItemStack item) {
|
||||
this.setItem(slot, item, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setItem(EquipmentSlot slot, ItemStack item, boolean silent) {
|
||||
Preconditions.checkArgument(slot != null, "slot must not be null");
|
||||
EnumItemSlot nmsSlot = CraftEquipmentSlot.getNMS(slot);
|
||||
setEquipment(nmsSlot, item);
|
||||
setEquipment(nmsSlot, item, silent);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -39,7 +44,12 @@ public class CraftEntityEquipment implements EntityEquipment {
|
||||
|
||||
@Override
|
||||
public void setItemInMainHand(ItemStack item) {
|
||||
setEquipment(EnumItemSlot.MAINHAND, item);
|
||||
this.setItemInMainHand(item, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setItemInMainHand(ItemStack item, boolean silent) {
|
||||
setEquipment(EnumItemSlot.MAINHAND, item, silent);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -49,7 +59,12 @@ public class CraftEntityEquipment implements EntityEquipment {
|
||||
|
||||
@Override
|
||||
public void setItemInOffHand(ItemStack item) {
|
||||
setEquipment(EnumItemSlot.OFFHAND, item);
|
||||
this.setItemInOffHand(item, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setItemInOffHand(ItemStack item, boolean silent) {
|
||||
setEquipment(EnumItemSlot.OFFHAND, item, silent);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -69,7 +84,12 @@ public class CraftEntityEquipment implements EntityEquipment {
|
||||
|
||||
@Override
|
||||
public void setHelmet(ItemStack helmet) {
|
||||
setEquipment(EnumItemSlot.HEAD, helmet);
|
||||
this.setHelmet(helmet, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHelmet(ItemStack helmet, boolean silent) {
|
||||
setEquipment(EnumItemSlot.HEAD, helmet, silent);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -79,7 +99,12 @@ public class CraftEntityEquipment implements EntityEquipment {
|
||||
|
||||
@Override
|
||||
public void setChestplate(ItemStack chestplate) {
|
||||
setEquipment(EnumItemSlot.CHEST, chestplate);
|
||||
this.setChestplate(chestplate, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setChestplate(ItemStack chestplate, boolean silent) {
|
||||
setEquipment(EnumItemSlot.CHEST, chestplate, silent);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -89,7 +114,12 @@ public class CraftEntityEquipment implements EntityEquipment {
|
||||
|
||||
@Override
|
||||
public void setLeggings(ItemStack leggings) {
|
||||
setEquipment(EnumItemSlot.LEGS, leggings);
|
||||
this.setLeggings(leggings, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLeggings(ItemStack leggings, boolean silent) {
|
||||
setEquipment(EnumItemSlot.LEGS, leggings, silent);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -99,7 +129,12 @@ public class CraftEntityEquipment implements EntityEquipment {
|
||||
|
||||
@Override
|
||||
public void setBoots(ItemStack boots) {
|
||||
setEquipment(EnumItemSlot.FEET, boots);
|
||||
this.setBoots(boots, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBoots(ItemStack boots, boolean silent) {
|
||||
setEquipment(EnumItemSlot.FEET, boots, silent);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -115,24 +150,24 @@ public class CraftEntityEquipment implements EntityEquipment {
|
||||
|
||||
@Override
|
||||
public void setArmorContents(ItemStack[] items) {
|
||||
setEquipment(EnumItemSlot.FEET, items.length >= 1 ? items[0] : null);
|
||||
setEquipment(EnumItemSlot.LEGS, items.length >= 2 ? items[1] : null);
|
||||
setEquipment(EnumItemSlot.CHEST, items.length >= 3 ? items[2] : null);
|
||||
setEquipment(EnumItemSlot.HEAD, items.length >= 4 ? items[3] : null);
|
||||
setEquipment(EnumItemSlot.FEET, items.length >= 1 ? items[0] : null, false);
|
||||
setEquipment(EnumItemSlot.LEGS, items.length >= 2 ? items[1] : null, false);
|
||||
setEquipment(EnumItemSlot.CHEST, items.length >= 3 ? items[2] : null, false);
|
||||
setEquipment(EnumItemSlot.HEAD, items.length >= 4 ? items[3] : null, false);
|
||||
}
|
||||
|
||||
private ItemStack getEquipment(EnumItemSlot slot) {
|
||||
return CraftItemStack.asBukkitCopy(entity.getHandle().getEquipment(slot));
|
||||
}
|
||||
|
||||
private void setEquipment(EnumItemSlot slot, ItemStack stack) {
|
||||
entity.getHandle().setSlot(slot, CraftItemStack.asNMSCopy(stack));
|
||||
private void setEquipment(EnumItemSlot slot, ItemStack stack, boolean silent) {
|
||||
entity.getHandle().setSlot(slot, CraftItemStack.asNMSCopy(stack), silent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
for (EnumItemSlot slot : EnumItemSlot.values()) {
|
||||
setEquipment(slot, null);
|
||||
setEquipment(slot, null, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -37,6 +37,11 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i
|
||||
setItem(getHeldItemSlot(), item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setItemInMainHand(ItemStack item, boolean silent) {
|
||||
setItemInMainHand(item); // Silence doesn't apply to players
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getItemInOffHand() {
|
||||
return CraftItemStack.asCraftMirror(getInventory().extraSlots.get(0));
|
||||
@@ -49,6 +54,11 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i
|
||||
setExtraContents(extra);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setItemInOffHand(ItemStack item, boolean silent) {
|
||||
setItemInOffHand(item); // Silence doesn't apply to players
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getItemInHand() {
|
||||
return getItemInMainHand();
|
||||
@@ -131,6 +141,11 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setItem(EquipmentSlot slot, ItemStack item, boolean silent) {
|
||||
setItem(slot, item); // Silence doesn't apply to players
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getItem(EquipmentSlot slot) {
|
||||
Preconditions.checkArgument(slot != null, "slot must not be null");
|
||||
@@ -190,21 +205,41 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i
|
||||
setItem(getSize() - 2, helmet);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHelmet(ItemStack helmet, boolean silent) {
|
||||
setHelmet(helmet); // Silence doesn't apply to players
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setChestplate(ItemStack chestplate) {
|
||||
setItem(getSize() - 3, chestplate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setChestplate(ItemStack chestplate, boolean silent) {
|
||||
setChestplate(chestplate); // Silence doesn't apply to players
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLeggings(ItemStack leggings) {
|
||||
setItem(getSize() - 4, leggings);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLeggings(ItemStack leggings, boolean silent) {
|
||||
setLeggings(leggings); // Silence doesn't apply to players
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBoots(ItemStack boots) {
|
||||
setItem(getSize() - 5, boots);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBoots(ItemStack boots, boolean silent) {
|
||||
setBoots(boots); // Silence doesn't apply to players
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack[] getArmorContents() {
|
||||
return asCraftMirror(getInventory().armor);
|
||||
|
||||
Reference in New Issue
Block a user