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

New placeholder: Replacement placeholder #589

Open
3 tasks done
Thodor12 opened this issue Jul 20, 2023 · 4 comments
Open
3 tasks done

New placeholder: Replacement placeholder #589

Thodor12 opened this issue Jul 20, 2023 · 4 comments

Comments

@Thodor12
Copy link
Contributor

Is there an existing feature request for this?

  • I have searched the existing feature requests.

Are you using the latest Structurize Version?

  • I am running the latest alpha version of Structurize for my Minecraft version.
    I am also running the latest versions of other mods that are part of my problem.

Did you check on the Wiki? or ask on Discord?

  • I checked the MineColonies/Structurize Wiki or I asked on discord.

Minecraft Version

1.20

Structurize Version

1.0.584-BETA

Related Mods and their Versions

  1. Forge 47.0.50

Is your feature request related to a problem?

Certain blocks over time change state, which causes issues because the schematic thinks those blocks change (for example copper oxidation).
Another one is plants growing over time, which you would rather that the builder does not destroy.

Feature description

The replacement placeholder basically replaces anything with a "default block", assuming the block already there is not present in the allowed list of blocks.

There is 1 setting which would be the "default block", this would be the block that is placed.
The other setting is a list of "allowed blocks", if any of these blocks exist at the location of the placeholder they would be kept there, if something else is there it would be replaced with the "default block".

This way things like copper blocks can keep all their oxidation states and they would never be replaced by plain copper over and over. Whilst still not allowing other blocks to be there.

Anything else?

https://discord.com/channels/472875599422291968/1128752652898017280 relevant discussion

Footer


Viewers

  • Add a thumbs-up to the bug report if you are also affected. This helps the bug report become more visible to the team and doesn't clutter the comments.
  • Add a comment if you have any insights or background information that isn't already part of the conversation.
@someaddons
Copy link
Contributor

is there a reason why we can't as usual put a light place on the later level after its placed? E.g. all plant stuff we put air on level 1, and placeholders on 2+ for this

@Nightenom
Copy link
Member

honestly this should be done in mcol using placement handlers, structurize should aim at wysiwyg placement, while mcol aims at upgrades which are more human-like placement
i do agree on light ones for plants, the copper one would probably be a handler

@Thodor12
Copy link
Contributor Author

is there a reason why we can't as usual put a light place on the later level after its placed? E.g. all plant stuff we put air on level 1, and placeholders on 2+ for this

For one, it can prevent theft because you wouldn't be able to repair the building.
And repair in general would actually function, light placeholders cannot be repaired as they will retain the original block (which is then air).

i do agree on light ones for plants, the copper one would probably be a handler

The issue with a handler (or like discussed on Discord, dedicated placeholders) is that whenever something new is added, we have to write special compat for it again and again.
The idea was to just have something that can work in any scenario and would save us from having to make all kinds of special exceptions here and there.

@Pancake010
Copy link

This could also be really usefull for making foundation for custom-style buildings. the builder will only place the foundation if there are no blocks below the building. so placing on a slope would look natural

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

No branches or pull requests

4 participants