Topic category: User side tutorials
I have found a solution to the update tick not working on structure generation I've seen a lot of people having a problem with;
For context, any block naturally generated throughout the world will not start doing update ticks to prevent lag. This is a problem for a lot of types of randomly generated structures.
I wanted to create a simple randomized structure, that had a block have a random chance of being a certain different block to give some variation. So I went ahead and created a block that had a random chance of turning into either block on an update tick, so that as soon as it spawned, it would activate, but of course that didn't work.
So after many attempts at coming up with a solution, I finally found one: Update Sand!
1: Make a block that doesn't appear in your creative inventory, and make sure that it can float one block above the block that needs to be updated, then build your structure with the updated sand one block above it.
2: After you have saved your structure file, enable the gravity back onto the update sand so that when it generates, the sand will fall and update your other blocks.
3: Make sure to add your 'update tick' procedure to on 'neighbour block changed' for your original block so that if you have a big group you only need to use one sand.
4: Then, using the procedure in the image below, have the sand delete itself on updatetick and you're good to go!
I know this solution might not work in every situation but it should fix most
This might help me with a problem I'm having. Its great to see that Im not alone with this issue!
Thanks! This is exactly what I needed. Although you don't need the procedure to delete the fallen block if you have your structure generate over it, I guess if anyone is reading this you can save some of your time by making your structure generate over the sand type block.
I know you found a way to fix this but for ppl like me i'll leave a simpler alternative
A simple "schedule tick update of block at xyz in 40 ticks" procedure to run when the structure instance is generated will work
since i'm spawning a structure with 1 block, i only need to update that 1 block. if you have more that 1 block you need to update you have to use multiple lines but as far as i'm aware this does not work with rotated structures, hence why im spawning 1 block and that block randomizes the structure and generates it. Thankfully the structures generated using "place at xyz with rotation: --- mirror: --- structure: ---" command do make it so the blocks in there update on tick update so you can go pretty wild with it