summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsimpleauthority <jacob@algorithmjunkie.com>2018-09-11 00:09:10 -0700
committermd_5 <git@md-5.net>2018-09-11 20:39:58 +1000
commit953e1d601ac7cda4b5af375f82f13270f0a2a84e (patch)
treee54a20250edd4e0906326f727c5a8ce7f09a73e8
parentb6bf6aa3baa96e6dbb416985033875a54c529a5d (diff)
downloadcraftbukkit-953e1d601ac7cda4b5af375f82f13270f0a2a84e.tar
craftbukkit-953e1d601ac7cda4b5af375f82f13270f0a2a84e.tar.gz
craftbukkit-953e1d601ac7cda4b5af375f82f13270f0a2a84e.tar.lz
craftbukkit-953e1d601ac7cda4b5af375f82f13270f0a2a84e.tar.xz
craftbukkit-953e1d601ac7cda4b5af375f82f13270f0a2a84e.zip
SPIGOT-4314: Ability to change item in frame without playing sound
-rw-r--r--nms-patches/EntityItemFrame.patch22
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java6
2 files changed, 27 insertions, 1 deletions
diff --git a/nms-patches/EntityItemFrame.patch b/nms-patches/EntityItemFrame.patch
index e15c81e4..2a0031ff 100644
--- a/nms-patches/EntityItemFrame.patch
+++ b/nms-patches/EntityItemFrame.patch
@@ -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);
+ }
+
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java
index 75812a58..227a9ffa 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java
@@ -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() {