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
.
Linked issues
clones
is duplicated by
Attachments
Comments


This also happens when the player loads the world with a filled item frame nearby.

Same with teleporting away and teleporting back. (Anything to do with loading the frame up) Also confirmed 20w10a
Can confirm in 20w51a.
Can confirm in 21w06a.
Can confirm in 1.16.5 and 21w08b.
Video attached.
Can confirm in 1.17.

Can confirm in 1.17.1.

Affects 21w37a.
Can confirm in 1.18.
Can confirm in 1.18.1.
Can confirm in 1.18.2.
Can confirm in 1.19 and 22w24a.
Can confirm in 1.19.2.

Affects 1.20.6.

Can confirm in 1.21 Release Candidate 1.
Possibly related:
When entering a server running on 1.13, nearby item frames seem to play item frame fill or rotation sound. This occurs whether the item in the frame is rotated or not.