Topic category: Troubleshooting, bugs, and solutions
Hi, MCreator devs. Great program you have here. I'm getting a lot of valuable use out of it.
I just wanted to let you know of a bug in a block's tick update trigger.
If we set the tick rate value to anything other than zero, it should trigger the block's tick update procedure (which we can select in its drop down menu after we have created the procedure).
I set the tick rate to 20, meaning it should trigger the procedure selected in the drop down every 1 second real time. But it doesn't. I tried other tick rates. Nothing.
The random tick rate option below the tick rate works fine. But if you want the block to update a specific amount of ticks every time by setting the tick rate, it doesn't work.
I tested it as follows...
I created a custom block. I created a procedure that places a block of dirt directly above it, and I selected that procedure in the custom block's tick update trigger.
I turned on the custom block's random tick update. I placed the custom block in the world. About 30 seconds later give or take a few, a dirt block appeared above the custom block, as it should.
I then turned off the random tick update option and put 20 in the tick rate box. Went back to the game. Waited and waited. No dirt block was placed above the custom block.
I went back and forth several times, switching from tick rate to random, to tick rate, to random several times. Random worked every time. Tick rate worked none of the time.
So you're placing the ticking block with a procedure or? Sorry I felt it was a bit unclear from your original post
Yes, that's right. As I mention in my post...
"I created a custom block. I created a procedure that places a block of dirt directly above it, and I selected that procedure in the custom block's tick update trigger."
But that's not how you're placing it. How are you placing the actual ticking block?
In the world, I hold the block in my hand. I then click on the ground, and the block places. Is this what you are referring to?
Yes, okay so that's odd. I thought it might have been because you were generating the block through worldgen.
What are your MCreator and Minecraft versions?
No prob. My MCreator version is 2025.1.10519. For Minecraft, I have 1.21.5 Java that runs from the launcher. But when I run Minecraft from within MCreator, it uses 1.21.4
Okay hm, ticking blocks work for me on that version...
Is this just what you're doing?
Or actually it seems our versions differ very slightly, I have 2025.1.13416
Can you try updating?
I actually ran into something similar lately, try setting it to a tick rate of 20, then place a new block by hand. If you initially placed it when it was set to tick randomly, I don't think that Minecraft registers it to tick at a certain rate, even if you change it later. However, if you place a new block of the same type by hand, or if you break and replace the block, it should register that it should tick at a certain rate. Also as Friyes mentioned, blocks placed by procedures or world generation will only tick using random ticks.
Thanks, fellas. It's working now. As you mention, it depends on what the setup at the time we place the block. If we try to change from random to a specific tick rate "after" we have already placed the block, it doesn't register.
I had originally placed the block with "0" in the tick rate and random unchecked. Then, I changed the 0 to 20. It didn't work because the tick rate was at 0 when I originally placed it, and it didn't register the change to 20.
So what I did was change the tick rate to 20. I then went to the world, picked up the block and then set it back down again. And it works fine now.
Thanks guys!
Follow-up:
I did some more experiementing, and this is what I found...
If we placed the block with a specific number in the tick rate box (above 0) and the random off, we can change the tick rate without having to pick up the block.
If we placed the block with random selected, we can turn random off without having to pick-up the block. If we turn it off, the block will just sit there and do nothing forever, even if there is a number in the tick rate field. We can turn random on and off at any time without having to pick up the block.
So we can adjust the setting it was in when we placed it without having to pick-up the block. But we can't switch from random to specific or specific to random after we placed the block. We can make changes within each category, but we can't switch from one to the other without picking-up the block.
One more update:
Actually, it turns out we can switch from a specific tick rate (above 0) to random, and it will tick randomly without having to pick up the block.
It's just going from random to a specific tick rate, or from the default "0" to a specific tick rate that won't register unless we pick up the block and place it back down again.