mojira.dev
MC-123450

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

  1. 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}}
  2. 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}
  3. 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

Attachments

Comments

migrated

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.

bdm68

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

onnowhere

Same with teleporting away and teleporting back. (Anything to do with loading the frame up) Also confirmed 20w10a

Avoma

Can confirm in 20w51a.

Avoma

Can confirm in 21w06a.

Avoma

Can confirm in 1.16.5 and 21w08b.

Avoma

Video attached.

Avoma

Can confirm in 1.17.

ampolive

Can confirm in 1.17.1.

JochCool

Affects 21w37a.

Avoma

Can confirm in 1.18.

Avoma

Can confirm in 1.18.1.

Avoma

Can confirm in 1.18.2.

Avoma

Can confirm in 1.19 and 22w24a.

Avoma

Can confirm in 1.19.2.

bdm68

Affects 1.20.6.

PurPur134

Can confirm in 1.21 Release Candidate 1.

marcono1234

(Unassigned)

Confirmed

Platform

Low

Commands, Sound

/data, glow_item_frame, item_frame, nbt

Minecraft 1.12.2, Minecraft 17w50a, Minecraft 1.13-pre1, Minecraft 1.13.1, 1.14.4, ..., 24w07a, 1.20.6, 1.21, 1.21 Release Candidate 1, 1.21.4

Retrieved