Skip to content

A way to upgrade old NBT data by plugins #12854

@tal5

Description

@tal5

Is your feature request related to a problem?

Before the PDC API was a thing, a lot of plugins stored data (such as custom item IDs) directly in the item's NBT/now the custom_data component.
Nowadays the PDC API would be the way to do this, but any plugin that used to store data directly in NBT wouldn't ever be able to migrate from that, as old items could be laying around anywhere.

Describe the solution you'd like.

An "NMS API" (like the connection one for example) to let plugins register DFU fixes for their custom data, so that they are able to properly switch to modern options like PDC.

Alternatively if you wouldn't want to directly expose the DFU (and seeing as most plugins' use cases will likely be stuff like a string for custom item IDs), a registerMove("oldNbtKey", "newPdcKey") sorta setup could also work if possible (and maybe even be in UnsafeValues instead of NMS).

Describe alternatives you've considered.

Less ideal, but if the API had any way to get & set the custom_data component (maybe with adventure-nbt in UnsafeValues or something), that would also help this case, as plugins wouldn't need direct NMS usage to manage their custom data anymore.

Other

No response

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions