Started by
Flan
on
Topic category: Troubleshooting, bugs, and solutions
I made a structure that uses extra structure blocks. The thing is, when I put it in MCreator and enter a new world to check if the structure generation works, the structure is generated without the structure block. I got it out of the "blocks to ignore" field and it is still spawning without it. How can I fix that?
That is kind of strange- I usually have the opposite problem! If you're certain you've removed structure blocks from the 'ignore while placing' field, I'm not sure what the issue could be, but I recommend double checking, and regenerating the code/clearing the caches if it seems like a persistent issue.
What do you need the structure blocks inside the structure for? It's possible there's a way to do what you're trying to do without them.
I need the structure blocks because my structure is bigger than the limit, so i made a mechanism with extra structure blocks the load different parts of the structure in order to be able to make a bigger structure. basically I have the main part of the structure generated, and on it's corners there are extra structure blocks with 2 observers that load the rest of the structure and dissapear afterwards. It works perfectly if I load the strucure direcly from a block, but if it is generated naturally, the extra blocks are not placed.
Don't worry though, thanks to my knowledge in commands I managed to create a new mechanism that actually works and allows me to generate bigger structures in different parts. Instead of making the game generate the main part of the structure, I make it generate a command block with 2 observers so when it generates, the command block runs its command instantly. The command is a "setblock" witch sets a structure block with the characteristics I need to load the main part. Then, with the same 2 observers the structure block is powered and loads the structure, and since it is not being generated but just being loaded, the rest of the blocks that load the other parts are loaded too. Basically I the structure to generate is no longer the main part, It is just a command block with 2 observers that work to load the main part, since the structure block problem appears only when generatin the structure, not whe loading it.
If someone didn't understand my explanation or want to use this mechanism too but don't know how, tell me and I can explain in more detail if needed.
No, I totally understand. I developed a very similar system for large structures. An easier method is to make your own blocks that are custom programmed to load your structure how you want, or to simply run a procedure to do this whenever the structure loads. But it depends on how you're generating your structures- if they're proper structures, only vanilla jigsaw blocks will work. If you treat your structure as a world feature, however, you can have it generate post-terrain generation, and thus update blocks properly. (Normally, naturally generated blocks that are part of structures don't tick, which would prevent a mechanism like yours from working in actual world generation.)
Most of my structures are actually a world feature that places and then schedules an update tick for a single block, which then runs very specific code to arrange and place the structure. It's a little janky, but it lets you do a lot of stuff you can't do with the vanilla structure system. (More complicated traps, variation, randomization, etc.)