Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup Block Sections #321

Open
2 tasks done
BONNe opened this issue Jun 22, 2023 · 0 comments
Open
2 tasks done

Cleanup Block Sections #321

BONNe opened this issue Jun 22, 2023 · 0 comments
Assignees
Labels
Type: Enhancement Improvement or modification which is usually a new feature.

Comments

@BONNe
Copy link
Member

BONNe commented Jun 22, 2023

Is your feature request related to a problem?

In AOneBlock we have 4 different ways how to define block/entity in phases config file:

  • vanilla Minecraft block (GRASS_BLOCK)
  • vanilla Minecraft entity (SKELETON)
  • with custom block data (type: data data: minecraft:chest[waterlogged=true])
  • as itemsadder block (blablabla.blabla)

and also there is some sort of shortened version that I do not understand.

Also, people want to add some extra things like mystic mobs or any other plugin that has some custom entities/blocks.
First of all, there is only documented CustomBlockData, so people even do not know how to use items adder or the short version of custom data.
Secondly, it becomes messier and messier to add new things to it.

Having multiple different ways how to write/add blocks is confusing. I think it would be much clearer if we could have a single and strict way how to do it.

Describe the solution you'd like.

I would like if AOneBlock (and maybe other addons that generate/place blocks) generic block and entity definitions.
It would not be separated into 2 categories (entities/mobs) but have a single list.

Maybe it could be like this:

    - type: entity
      data: <entity_type>
      probability: <number>
    - type: block
      data: <block_type>
      probability: <number>
    - type: mystic_entity
      data: <entity_id>
      probability: <number>
    - type: items_adder
      data: <block_id>
      probability: <number>
    - type: data
      data: <data>
      probability: <number>

This way we could add even more custom-type things, like commands, effects, or anything else.

Multi-line definitions in YAML look very ugly. I agree with that. Maybe we could move from YAML to JSON format for phases?
It would allow clearer ways to define blocks/entities.

Describe alternatives you've considered.

The alternative is simple, keep the current system and continue to increase different ways how to define blocks/entities.

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

An alternative solution would be to implement something similar to ItemParser in BentoBox code and allow BentoBox to generate blocks/entities with given parameters.

Unfortunately, it would require hooks to be directly inside the BentoBox core, unless we allow to have Hooks like it is with Addons (separate jar files).

@BONNe BONNe added the Type: Enhancement Improvement or modification which is usually a new feature. label Jun 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Enhancement Improvement or modification which is usually a new feature.
Projects
Development

No branches or pull requests

2 participants