WorldEdit doesn't follow Sponge Schematic spec
LadyCailinBot opened this issue ยท 3 comments
WORLDEDIT-3929 - Reported by mattrick
The Sponge Schematic specification explicitly marks certain NBT fields as "Required", however WorldEdit requires some non-required fields in order to be able to load the schematic properly. This can be confusing to users who attempt to load the schematic if it's generated by another tool that doesn't include these fields.
From a glance it seems like these fields are required by WorldEdit but not the Sponge Schematic spec:
- Metadata
- Offset
- PaletteMax
- Palette
Comment by wizjany
we literally completely ignore metadata, we don't require offset (only that if one offset is present, all are), and yes we require palette because we can't load shit without a palette. so i guess we are not to spec, but if being to spec means loading arbitrary numbers without a palette then we don't care.
Comment by mattrick
Even if you do completely ignore Metadata, the schematic won't load unless it has at least an empty compound tag. The Metadata.WEOffsetX, Metadata.WEOffsetY, and Metadata.WEOffsetZ are optional, but the Sponge Schematic's standard Offset field is not. I agree that the palette fields should probably be required.
Comment by wizjany
ok didn't realize we were requiring those things. I didn't write that code >.> i noticed when upgrading to spec v2 that a lot of things were extraneously required, must have missed a few though.
unfortunately since the format is (relatively) new there hasn't been much to test compatibility with yet, since sponge's impl is still on 1.12.