mojira.dev
MC-131417

Saving structure with name containing two consecutive dots logs error "java.io.IOException: Invalid relative path to resource"

The bug

Saving a structure with a name containing two consecutive dots (..) logs the error

Couldn't load structure <structure_name>: java.io.IOException: Invalid relative path to resource: <resource_path>

This is likely caused by the code trying to load the structure from data packs. Loading them from and saving them to the generated/<namespace>/structures folder of a world works fine.

Either way two consecutive dots can form perfectly valid paths when they are in the middle (e.g. a..b) or at the beginning (e.g. ..a) of a path piece, therefore this check should be more precisely and the error message should include, that this is data pack related only.

How to reproduce

  1. /setblock ~ ~ ~ structure_block[mode=save]{mode:"SAVE",name:"a..b"}
  2. Open the structure block GUI and click "SAVE"

  3. Look at the log
    → ❌ The following error appeared

    Couldn't load structure minecraft:a..b: java.io.IOException: Invalid relative path to resource: minecraft:structures/a..b.nbt

Comments 1

This has been fixed somewhere between 19w02a and 19w13b.

Marcono1234

(Unassigned)

Confirmed

structure_block

Minecraft 1.13-pre2, Minecraft 1.13.1, Minecraft 1.13.2, Minecraft 18w48a, Minecraft 18w48b, Minecraft 18w49a, Minecraft 18w50a, Minecraft 19w02a

Minecraft 19w13b

Retrieved