The NBT format is the most commonly used format for data saving and transfer in Minecraft, but current internal APIs mostly work on single access and conversion per tag, which can cause strange issues when a wrapper tag is expected that doesn't exist, a tag is missing, ect. An NBT API/DSL may be capable of mitigating certain issues with this system such as potentially providing:
Easier/safer data (de)serialization
Lens-esc data access for deeply nested data without requiring many lookups
A custom typesafe data access structure (generation?)
Intro:
The NBT format is the most commonly used format for data saving and transfer in Minecraft, but current internal APIs mostly work on single access and conversion per tag, which can cause strange issues when a wrapper tag is expected that doesn't exist, a tag is missing, ect. An NBT API/DSL may be capable of mitigating certain issues with this system such as potentially providing:
Existing work: