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

Suggestion: Attachments #17

Open
Tikkle opened this issue Mar 30, 2023 · 2 comments
Open

Suggestion: Attachments #17

Tikkle opened this issue Mar 30, 2023 · 2 comments

Comments

@Tikkle
Copy link

Tikkle commented Mar 30, 2023

Hey MagmaGuy,

I'm very much enjoying the plugin and so are my players. Thank you so much for the hard work and hours you've put into making this plugin viable for production servers.

I'd like to suggest a new feature for your consideration. Adding a new schem.yml config option called Attachments:- with a corresponding Special Block. For purposes of demonstration, the Special Block material will be a JIGSAW. Here is an example of the schem.yml config, the explanation and functionality are below it:

isEnabled: true
weight: 1.0
pedestalMaterial: optional
generatorConfigFilename: generator.yml
Attachments:
  isEnabled: true/false
  numberToAttach: 1-10 # range of attachments, number is randomly selected by plugin when generating structure.
  attachmentSchems:
    attachment_custom_name:
      isEnabled: true/false
      fileName: 'attachment_one.schem'
      canHaveChildren: true/false # defaults to False if unspecified.
      numberOfChildren: 0-10 # range of children, number is randomly selected by plugin when generating structure. Dependant on 'canHaveChildren: true'
      childrenSchems:
        child_custom_name:
          isEnabled: true/false
          fileName: 'child_of_attachment_one.schem'
        child_two_custom_name:
          isEnabled: true/false
          fileName: 'child_of_attachment_one.schem'
    attachment__two_custom_name:
      isEnabled: true/false
      fileName: 'attachment_two.schem'

This feature's functionality would be the same as how Datapacks use Structure and Jigsaw blocks to put together structures (e.g. Strongholds, Mineshafts, etc).

Users would place a JIGSAW on the edge of their schematics with the "arrow" of the Jigsaw block pointing in the direction of the attachment:

2023-03-30_12 36 06

This is how it would look when the schem has an attachment:

2023-03-30_12 38 21
2023-03-30_12 40 15

The way the "arrow" on the JIGSAW is facing would tell the plugin where to generate the attachments and their children (up, down, right, left, north, south, etc).

Attachments could also have "Children" (attachment of the Attachment) that operate in the same way as the Attachment to Main.shem.

Pardon my ignorance if there is already a way to achieve this in your plugin as I have only been utilizing BetterStructures for the better part of 2 weeks.

I'd love to have this feature and would be willing to send you some lunch money to get it added 😉

Sincerely,
Tikkle

@Tikkle
Copy link
Author

Tikkle commented Mar 30, 2023

I was going to create another ticket but just decided to post it here.

I'm also going to suggest a way to replace vanilla default structures. Users could specify the STRUCTURE_NAME and SCHEMATIC NAME to replace it with.

config.yml

replaceVanillaStructures: true
  STRUCTURE_NAME: 'schematic_file.schem'

Again, pardon my ignorance if you already have a way to achieve this in the plugin.

@MagmaGuy
Copy link
Owner

MagmaGuy commented Apr 3, 2023

Something like this is being considered, but it represents a very considerable change to the codebase as it would be a major addition. All I can say at this stage is that it is not a priority, and it would take about a month to adequately bring to life.

Unless some major sponsor decides to finance this as commission work, it will remain in the backlogs as something I may add some day.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants