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
is duplicated by 1
Attachments
Comments 7
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.
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.
Please provide screenshots and the exact commands you've used.