MineColonies

MineColonies

65M Downloads

Custom schematics can't use reflected children

Melriken opened this issue · 5 comments

commented

Is there an existing issue for this?

  • I have searched the existing issues.

Are you using the latest MineColonies Version?

  • I am running the latest beta/release version of MineColonies 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 Wiki and made sure my issue is not covered there. Or I was sent from discord to open an issue here.

What were you playing at the time? Were you able to reproduce it in both settings?

  • Single Player
  • Multi Player

Minecraft Version

1.21

MineColonies Version

1.1.939

Structurize Version

1.0.774

Related Mods and their Versions

No response

Current Behavior

When creating custom schematics if a child schematic is included and the level 0 hut block schematic for the child is placed in a flipped/reflected state when the builder actually builds the child building it does not built it reflected (and thus builds it out of place (in walls)). (I am using a level 0 single block child as suggested in the Wiki)

I am trying to make a custom style and one of my huts will contain two children of the same type and they should be reflections of each other so I wanted to just create it once and have one set of children files for it, but the child builds unreflected.

Workaround is to just create a right handed child and a left handed child for each level.

Expected Behavior

If I reflect the level zero child I would expect it to reflect the resulting child build.

Reproduction Steps

create a custom style with two copies of a child schematic one of which is reflected, build the building and the children.

Logs

void.link.com

Anything else?

No response

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.
commented

Mirroring and child buildings don’t work together, no. The same holds for mirroring the parent schematic whilst placing, then things are also likely not going to work

commented

If this is viewed as a limitation and not a bug then it should be called out on the Wiki.

https://minecolonies.com/wiki/tutorials/schematics#how-to-create-parentchild-buildings-or-decorations

Regardless of which method you use to build, be sure to get the location and rotation of the child hut correct when placing it in the parent -- the building will be built with the matching orientation relative to that.

That sentence could have " and mirroring will be ignored".

The previous paragraph could also have an addendum "mirroring children is not supported" making it:

It's not supported to have a child contain additional children of its own -- you're limited to just the two layers (though the parent can contain multiple children of either the same or different types, although mirroring children is not supported).

commented

We're actually going to add the restriction to the code in the future. Just haven't gotten to it yet. To disable the mirror function for those buildings. It's algorithmically very complex and would come at a large performance cost to calculate (need to load several blueprints and run comparisons between them).

commented

Just to be clear, when creating a new Schematic and adding a child building to it, mirroring the level 0 child doesn't affect the resulting build...

I am not sure how you would programmatically restrict that, the game doesn't know that I am making a schematic when I place the level 0 child. You can absolutely prevent issues by preventing a schematic with children from being mirrored and that should absolutely happen if it isn't supported, but Style Makers need to know that they can't mirror children (I can't build a lefthanded barracks tower and then mirror it for the right side...) and that should go into the Wiki as I don't believe it can go into a programmatic restriction.

commented

If you want to fix this right now, create a mirror of the child building itself, and scan it in as it's own separate schematic. Then you can either use child A or child B, depending on which mirror you need.