Item frames play sounds when the item within them is read from NBT
The bug
Item frames play the sound entity.itemframe.add_item ("Item Frame fills") every time they read an item from NBT data. This happens when using commands like /data, but also when they are loaded from structures.
How to reproduce
- Summon an item frame with an item inside it by using the command provided below.
/summon minecraft:item_frame ~ ~ ~ {Facing:1b,Rotation:[0.0f,-90.0f],Item:{id:"minecraft:diamond",Count:1b}} - Have the item frame read NBT data by using the command provided below and listen closely as you do this.
/data merge entity @e[type=item_frame,limit=1] {ArbitraryTag:1b} - Take note as to whether or not item frames play sounds when the item within them is read from NBT.
Code analysis
Based on 1.12.2 decompiled using MCP 9.40
The method net.minecraft.entity.item.EntityItemFrame.setDisplayedItemWithUpdate(ItemStack, boolean) always plays the sound if there is an item in the item frame. Instead it should only do that when the second parameter (boolean) indicating whether or not the method was called by player interaction is false.
2017-12-21, 03:17 PM
2025-01-28, 10:13 PM
29
15
/data, glow_item_frame, item_frame, nbt
Minecraft 1.12.2 - 1.21.4
Minecraft 1.12.2, Minecraft 17w50a, Minecraft 1.13-pre1, Minecraft 1.13.1, 1.14.4, 19w45b, 1.15.2, 20w10a, 1.16.1, 20w51a, 1.16.5, 21w06a, 21w08b, 1.17, 1.17.1, 21w37a, 1.18 Pre-release 8, 1.18 Release Candidate 1, 1.18 Release Candidate 3, 1.18, 1.18.1, 1.18.2, 1.19, 22w24a, 1.19.2, 1.19.3, 1.19.4, 23w14a, 1.20.1, 23w43a, 1.20.4, 23w51b, 24w07a, 1.20.6, 1.21 Release Candidate 1, 1.21, 1.21.4
-