Amulet-Team / Amulet-Map-Editor

A new Minecraft world editor and converter that supports all versions since Java 1.12 and Bedrock 1.7.
https://www.amuletmc.com/
1.79k stars 123 forks source link

[Bug Report] 1.13+ to 1.12.2 : Named items issue. #754

Open Yldales opened 2 years ago

Yldales commented 2 years ago

Hi,

Bug Report

Current Behaviour:

After converting/downgrading a world from 1.13+ to 1.12.2, named items's display.Name is altered (see Screenshots).

Expected behavior:

Steps To Reproduce:

  1. Start Minecraft 1.13.2.
    1. Create a new world in creative mode.
    2. Get a named item, for example, with /give @p minecraft:iron_pickaxe{display:{Name:"{\"text\":\"A Nice Pickaxe\"}"}} 1.
    3. Store the named item inside a chest.
    4. Save and quit Minecraft.
  2. Start Minecraft 1.12.2.
    1. Create (another) new world in creative mode.
    2. Save and quit the world.
  3. Start Amulet.
    1. Open the world created on 1.13.2.
    2. Select Convert.
    3. Select the world created on 1.12.2 as destination.
    4. Start conversion.
  4. On Minecraft 1.12.2, open the converted world and check the chest content.

Environment:

Additional context

None.

Attachments

Screenshots

On the left, the item in Minecraft 1.13.2. On the right, the item in Minecraft 1.12.2 after the conversion. name_compare

Worlds

GeneratedOn1_13_2 (Source).zip GeneratedOn1_12_2 (Destination) (Already converted).zip

gentlegiantJGC commented 2 years ago

The string storage format must have changed over that update.

Yldales commented 2 years ago

You're right :

Changed all custom names (blocks, items, entities, block entities) from raw strings to JSON text components (which can be translated). For example, /summon pig ~ ~ ~ {CustomName:"Reuben"} is now /summon pig ~ ~ ~ {CustomName:"\"Reuben\""} or /summon pig ~ ~ ~ {CustomName:"{\"text\":\"Reuben\"}"}Java Edition 1.13 – Minecraft Wiki

gentlegiantJGC commented 2 years ago

We do not currently have any special handling for items. This will get implemented with #155 I will leave this open to remind me it is an issue.