mojira.dev
MC-270760

Map Decorations apply to a map's ID and not just the item

What is happening

  •  When a map is loaded in a player inventory or item frame, the Decorations from the NBT of the map is presumably applied to the map ID instead of rendering specific to the map item.

  • When a map with decorations is destroyed or has its decoration removed, the decorations linger on every other map of the same ID until the world is reloaded.

  • When two maps with similarly named decorations and the same map ID are loaded, only the first will have its decorations render, and it propagates from maps as they're loaded, creating unexpected changes to maps for other players

What is expected:

  • The decorations from the NBT would remain specific to the item in hand.

  • Decorations removed from a map's NBT would remove the decoration without needing to reload the world.

Steps to reproduce:
1. Create a new world

2. Create a filled map with no map decorations at some location ((0,0} for the provided command)

 

3. Using a command block, generate a map with the same ID and some decorations:

/give @p minecraft:filled_map[minecraft:map_decorations={+1:{rotation: 180.0f, x: -10.0d, z: -20.0d, type: "minecraft:mansion"},+2: {rotation: 180.0f, x: -20.0d, z: 10.0d, type: "minecraft:mansion"},+3: {rotation: 180.0f, x: 20.0d, z: -10.0d, type: "minecraft:mansion"}},minecraft:map_id=0]

 

4. Observe the original undecorated map; it will now have all the decorations from the above map.

5. To reproduce conflicting decorations, generate a new copy of the map but with different decorations under the same decoration IDs. In this case, this map should show monuments when not conflicted.

/give @p minecraft:filled_map[minecraft:map_decorations={+1:{rotation: 180.0f, x: -20.0d, z: -40.0d, type: "minecraft:monument"},+2: {rotation: 180.0f, x: -40.0d, z: 20.0d, type: "minecraft:monument"},+3: {rotation: 180.0f, x: 40.0d, z: -20.0d, type: "minecraft:monument"}},minecraft:map_id=0]

 

6. To reproduce maps inheriting decorations from multiple maps, simply generate multiple copies of the map with different decorations and decoration IDs. This command will add 3 red x's to all the other maps because the decoration IDs don't conflict.

/give @p minecraft:filled_map[minecraft:map_decorations={+4:{rotation: 180.0f, x: -30.0d, z: -30.0d, type: "minecraft:red_x"},+5: {rotation: 180.0f, x: -30.0d, z: 30.0d, type: "minecraft:red_x"},+6: {rotation: 180.0f, x: 30.0d, z: -30.0d, type: "minecraft:red_x"}},minecraft:map_id=0]

Related issues

Comments

violine1101

There are long-standing bugs with map markers not being added/removed from maps properly, e.g. MC-252817. This might not necessarily be a new issue.

BugTracker

Affects version 1.20.5 pre-release 2.

migrated

While the marker persistence there is relevant to some parts of this issue, I suspect the core of the problem here is that there isn't any form of instancing to account for individual differences between copies with a shared map ID.

I realize this may not entirely be the right place for it, but the context of how i discovered this might help frame the use cases I'm considering with this report. https://www.youtube.com/watch?v=7LHtP52Qjmc

I created a "sticker book" item that essentially adds new decorations to the NBT of a map, intended to allow normal players to mark landmarks on maps without the need for mods, but since the decorations from the NBT propagate through all maps of the same ID despite not sharing the NBT for the markers, there's no such thing as a personalized copy of a map. At best, it means that the sticker book makes one person's map everyone's map. At worst, it lets people poison every other copy of a map with unwanted stickers, with no real way to find the culprit or destroy the stickers like one could do with banner or item frame markers.

[Mojang] Triage Team

Thank you for your report!
After consideration, the issue is being closed as Working as Intended.

Please note, that mechanics of the game may change between updates.
Things such as graphics, sounds, world creation, biomes, redstone, villagers, and animals may not work the same in current versions.

Full Version HistorySnapshot Version HistoryThe official Minecraft feedback site

Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support (Technical Issues) – 📧 Microsoft Support (Account Issues)
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki

migrated

(Unassigned)

Confirmed

Commands

1.20.5 Pre-Release 1

Retrieved