mojira.dev
MC-90478

Summoned ItemFrames, Paintings and LeashKnots have the wrong position.

The last correct Version was 15w40b, both 15w41b and 15w42a are affected.

The Pos-Tag of a ItemFrame, that got summoned is set to the the Position of the Player or whatever summoned the ItemFrame. That is wrong because an ItemFrame's Position is always right in front of the wall it is hanging on.
Saving and reloading the world will fix the Pos-Tag.

Shulkers are similar in the sence, that there Pos-Tag is always centered on their current block. Shulkers are not affected by this bug and work correctly.

Why is this a Problem?
The big Problem resulting from this behaviour is related to the /execute command. /execute seems to take the Pos-Tag value. This means that /execute will behave different on ItemFrames that got summoned in this session, than on ItemFrames that got summoned before the last reload.

Many advanced Redstone Systems used the fixed Pos-Tag of ItemFrames to center Marker ArmorStands on blocks. This bug makes this almost impossible.

Steps to reproduce:

  • Step to the corner of a block

  • Place a block in the north of your block (wall for the ItemFrame)

  • /summon ItemFrame

  • /execute @e[type=ItemFrame,r=1] ~ ~ ~ /summon ArmorStand ~ ~ ~ {NoGravity:1b}

  • Close the world

  • Open the world

  • /execute @e[type=ItemFrame,r=1] ~ ~ ~ /summon ArmorStand ~ ~ ~ {NoGravity:1b}

Now the second ArmorStand is correctly at the ItemFrame, but the first one is where the Player was standing.

Both ArmorStands should be at the ItemFrame!

Linked issues

Attachments

Comments 7

Please provide screenshots and the exact commands you've used.

Here is what I did:
First I summoned an Item frame and then an Armorstand...
Then I teleported the ArmorStand to the item frame... Before the armorstand would be teleported exactly at the item frame now it gets teleported at the spot the item frame got summoned (I think)
Hope this helps

Confirmed. I don't know whether this report should be generalized some more but since I wasn't sure I'm commenting here instead of creating a new report.

In previous versions Item Frames (and leashknots) would center themselves to a block when summoned using the /summon command. in 15w41b the Item Frames are VISUALLY aligned with the block, but executing off of them (e.g. a particle command or summon command) will show the entity is ACTUALLY centered where the player stood when running the execute comment.

Stand on the corner of a block and type /summon ItemFrame
The item frame will appear in the block you are standing.
type /execute @e[type=ItemFrame] ~ ~ ~ particle flame ~ ~ ~ 0 0 0 0 10
This will play the flame particle effect at the poisiton you were standing when you summoned the frame, not the center of the block.

The centering mechanic is very useful for map makers as it allows them to center entities summoned relative to a player or other entity to a block.

Walkaround (hopefully temporary): Use Shulkers with {NoAI:1b} to find a center of block. Unfortunately it requires 1 tick to center itself.

Confirmed for 15w43a

Fixed the title of this bug.

The ItemFrame/Painting will summon correctly now. Same for the Knot.

The Knot will be in the center of the block, the others at their respective edge depending on the facing.

Thank you Grum! You've been awesome with all the bug fixes and same to the whole team 😃

Marcus Hamelink

Erik Broes

Community Consensus

Minecraft 15w41b, Minecraft 15w42a, Minecraft 15w43a

Minecraft 15w44a

Retrieved