#My jigsaw structure is generating inconsistently when I want all the same. Is this fixable?

1 messages · Page 1 of 1 (latest)

frail swan
#

Hello! I am attempting to generate a very large structure using structure blocks and jigsaw blocks. I have finally been able to generate the entire structure at least once, but not all generations yield the same results. It is not meant to be random. They should all look the same. For a bit more context, this is a silly datapack meant to generate an incredibly large statue of T-posing Waluigi. The entire statue is broken up into many structure block sections, totaling around 15. The hands, arms, and shoulder regions are all separated from each other. Sometimes instead of a hand at the end of the arm, a shoulder generates. I do not know why. The names in the jigsaw blocks tell of exclusivity amongst connections (the parent-child combos of the jigsaw blocks aren't used anywhere else on the build). All of the template pools contain only one possible structure to generate, the structure in question being the most logical next part of the statue. The jigsaw blocks have priority spreading outward in what I thought was a logical way, although I could see that being the issue. I'll attach photos of the segmented troubling section and the problem in action as well as anything else useful. I'd like to know what's going on so I can properly and consistently generate this. Thank you so much to whomever takes the time to aid me!

I'm gonna keep troubleshooting for a bit as I await help, so maybe I'll have a solution by then!

marble patioBOT
#

<@&1201956957406109788>

Someone will come and help soon!

💬 While you wait, take this time to provide more context and details.

🙇 If nobody has answered you by <t:1750381378:t>, feel free to use the Summon Helpers button to ping our helper team.

✅ Once your question has been resolved (or you no longer need it), please click Resolve Question or run /resolve

vague atlas
#

The template pool that the jigsaw block generates has multiple entries in it

#

If you want each piece to only connect to one other piece, then each jigsaw block needs to generate a different template pool with only one entry

#

Alternatively/additionally, some jigsaw blocks probably have template pools listed that simply shouldn't

#

If the starting structure is the feet, then only the top jigsaw block in the legs should have a template pool that generates the torso; the bottom jigsaw block of the legs should not have a template pool that generates the feet

#

That same principle follows up to the arms. If the torso generates the arms, then no jigsaw blocks in the arms should have a template pool that generates a torso

frail swan
#

oooooh! Make it one-way. Currently, for example, the hands attempt to generate the arms, and the arms attempt to generate the hands.

vague atlas
#

Yeah, don't do that

#

Once you change that, you probably will have situations where an arm won't generate a hand, and it'll be because the arm got put on backwards; this is due to your jigsaw block names on either side of the arm being the same, so the jigsaw block in the torso that generates it picks one at random

#

torso:shoulder should target arm:shoulder, and then the arm should have a jigsaw block names arm:shoulder, and a separate one named arm:wrist

#

As an example

frail swan
#

I would assume that that also requires a template pool for each of those individual subcategories.

vague atlas
#

Only torso:shoulder and arm:wrist need template pools in that example, to generate the arm and then the hand respectively

#

But yes, you're ultimately going to have many template pools

#

Reasonably up to 14

frail swan
#

I currently have a template pool for each individual 'structure block segment' in the build. Some structures would now get pulled from multiple template pools, correct? This seems redundant, but I'm getting clarification.

vague atlas
#

I don't know exactly how your statue is broken up, but in this example...

... torso -> right arm -> right hand
... torso -> left arm -> left hand```
...every arrow would be one template pool
frail swan
#

Okay. I think I'm understanding. Keep it one-way, as stated before.

With a jigsaw block on each end of a given structure, the interfering point is with a jigsaw block sharing a name with another jigsaw block. By having each jigsaw block have a unique name, it keeps it streamlined and connected properly.

#

So on one end arm is the child and on the other end arm is the parent.

vague atlas
#

Yep

frail swan
#

I'm sure I could figure a way around it, but how would this work if a given structure has 3 jigsaw pairings? This would require the main structure to be a parent twice. Would that be uncontrollable randomness, or would the selected child streamline the process?

#

I've already thought of a workaround, but I'm curious if there's a way to do it regardless.

vague atlas
#

Not at all, that's very normal

#

Each parent jigsaw block will generate a different template pool and target a different named jigsaw in the children

#

So no issues whatsoever, no randomness

frail swan
#

So, gonna try to illustrate this.

Foot —> Legs —> Torso —> right arm
-----------------|
----------------V
———————left arm

In this instance, foot would serve at the start, with its target pool being legs. Legs would target torso. Torso would target both left and right arms in separate jigsaws. Torso would keep its parent name the same in each of those jigsaws, but since the child names are different, it would generate properly.

Any errors in what I have stated?

#

Oh wait. Or would the parent name for connecting to the left and right arms be empty since that structure has already generated and therefore doesn't need to be read by left/right arm?

vague atlas
frail swan
#

In this instance, this is the parent jigsaw block. Since it has already generated, it doesn't need the parent name, but naming it helps reduce confusion.

#

Here, however, we want to keep the target pool and target name empty as this is the child jigsaw block, which doesn't need to target anything.

#

Does placement priority or selection priority matter, either?

vague atlas
frail swan
#

Alright. Before I mark this as solved, I'm gonna go ahead and fix the statue. Once it's good, I

#

'll go ahead and close the ticket.

vague atlas
#

Of course

frail swan
#

So the only issue I'm getting now is the arms generating the wrong way.

#

Let me scroll up and see what you said on this issue.

#

Okay. I think I found a fix. By removing the arm title at the wrist side of the arm, there is no way for the torso to know that that is a possible arm connection. I'm gonna see if it works.

#

It's working! Oh my goodness! Thank you SO much!

#

I can place these wherever I want now!

marble patioBOT
#
Question Closed

Your question, #1385417104899178568 (My jigsaw structure is generating inconsistently when I want all the same. Is this fixable?), was resolved!

Original Message

#1385417104899178568 message

Duration open

54m