SPIGOT-4314: Ability to change item in frame without playing sound

By: simpleauthority <jacob@algorithmjunkie.com>
This commit is contained in:
CraftBukkit/Spigot 2018-09-11 00:09:10 -07:00
parent 27a8eae207
commit 41347a700a
2 changed files with 27 additions and 1 deletions

View File

@ -12,3 +12,25 @@
this.b(damagesource.getEntity(), false);
this.a(SoundEffects.ENTITY_ITEM_FRAME_REMOVE_ITEM, 1.0F, 1.0F);
}
@@ -170,6 +175,12 @@
}
private void setItem(ItemStack itemstack, boolean flag) {
+ // CraftBukkit start
+ this.setItem(itemstack, flag, true);
+ }
+
+ public void setItem(ItemStack itemstack, boolean flag, boolean playSound) {
+ // CraftBukkit end
if (!itemstack.isEmpty()) {
itemstack = itemstack.cloneItemStack();
itemstack.setCount(1);
@@ -177,7 +188,7 @@
}
this.getDataWatcher().set(EntityItemFrame.e, itemstack);
- if (!itemstack.isEmpty()) {
+ if (!itemstack.isEmpty() && playSound) { // CraftBukkit
this.a(SoundEffects.ENTITY_ITEM_FRAME_ADD_ITEM, 1.0F, 1.0F);
}

View File

@ -57,7 +57,11 @@ public class CraftItemFrame extends CraftHanging implements ItemFrame {
}
public void setItem(org.bukkit.inventory.ItemStack item) {
getHandle().setItem(CraftItemStack.asNMSCopy(item));
setItem(item, true);
}
public void setItem(org.bukkit.inventory.ItemStack item, boolean playSound) {
getHandle().setItem(CraftItemStack.asNMSCopy(item), true, playSound);
}
public org.bukkit.inventory.ItemStack getItem() {