Ability to use custom ItemDB implementation #4400
-
I'm currently using a custom YAML based ItemDB implementation. But because my implementation cannot be access by essentials the commands like /give and /i and all other commands that utilize itemdb won't have the values I've used in my own implementation. I'd love to have a way of having Essentials use my ItemDB implementation instead of the one essentials has internally, given my implementation conforms to the IItemDB Interface/extends AbstractItemDB. The alternative is for me to maintain a fork of Essentials or overriding all the commands with custom ones. Neither really seem like an ideal choice for me. Alternatively let me extend AbstractItemDb so that I can use reflection to replace it. Right now I can't since it uses a package-private constructor |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Could you elaborate on what exactly you want to achieve? You can already extend the item database with your plugin's own items and aliases by implementing and registering an item resolver (an API which was created for this exact purpose). 2.x's item database is complex and nuanced due to legacy needs and inherited flaws, and with its current design it's unlikely we would officially support replacing it in any capacity. |
Beta Was this translation helpful? Give feedback.
Could you elaborate on what exactly you want to achieve? You can already extend the item database with your plugin's own items and aliases by implementing and registering an item resolver (an API which was created for this exact purpose).
2.x's item database is complex and nuanced due to legacy needs and inherited flaws, and with its current design it's unlikely we would officially support replacing it in any capacity.