BentoBoxWorld/Level

External Level Additions

BONNe opened this issue · 0 comments

BONNe commented

Is your feature request related to a problem?

Currently, Level addon stores values from materials and initial-boost. However, there is no way how to add/reduce non-material-based things.

Like, increase the island level based on completed challenges, unlocked advancements, or any other external thing.

Describe the solution you'd like.

Level addon API should allow to add and remove non-material boosts.

It could be as simple as Map<String, Long> boostMap that contains booster name and booster value.
This value will be added to the level calculation and in level view, it will be displayed in a separate view (like materials).

The more advanced implementation could be:
Map<String, Record> boosterMap;
Record:

  • long value;
  • String displayName;
  • String description;
  • ItemStack icon;

This record would allow external sources to dictate the PanelItem format for Level View Panel.

Describe alternatives you've considered.

Well, another solution would be to catch every level event and change it manually, however, it would be a lot of effort.

Agreements

  • I have searched for and ensured there isn't already an open issue regarding this.
  • I have ensured the feature I'm requesting isn't already in the latest supported BentoBox build or Addons.

Other

No response