Custom Dataholders

Is it currently possible? Because there is nothing on the Docs and the implementations in SpongeCommon use methods that are not available in the API.

Well, they’re used to implement it for stuff that’s not in the API either. Nothing is preventing you from making a DataHolder implementation; it’s just an interface.

1 Like

The primary reason why the implementation of DataHolder on the four main target classes is because those four target classes have varying implementations that can’t be targeted with a sane manner (considering there’s over 100 DataManipulator types). Ideally, it would be implemented as a component like system where you can blindly accept or deny certain DataManipulators, and then of course, implement it with a way to do something special based on those manipulators. Otherwise, the internal implementation is meant to only serve as a guidance how to implement DataHolder on something that you cannot control the dynamic structure of.

2 Likes