Tips and tricks for the new procedure system

Published by Klemen on
Tips and tricks for the new procedure system

There have been many questions on MCreator's website on how to use procedure system. We have decided to create a getting started guide for the new procedure system.

We have created a separate wiki page for this purpose. Old event related pages were marked as "legacy" on our wiki, but we will keep them on the website for the users of older MCreator versions.

Many users complained that they can not make things that were possible in event system before. This is not true, however. Just the way how to achieve the same effect is now different. Everything that was possible before is still possible, even with many more options and combinations. This new procedure system is very similar to the one found in Scratch editor. The block system framework we use is called Blockly and is developed by Google. It allows us to make a visual programming experience that was never possible before.

On the procedures wiki page, there are examples of procedures including the explanation of trigger and dependencies. Below, you can see an example of how to make a random possibility condition in the new procedure system.

Random possibility

In this example, we show how to create an if condition that triggers in 70% of the cases. In case it is triggered, the block at x, y, z (these coordinates depend on the trigger that provides actual coordinate values) is removed.

Random possibility of event in the procedure editor

Examples such as the one provided in the citation above and many others can be found on our wiki on the new page dedicated to procedures.

Procedure system wiki page

We will update this wiki page with more examples in the future. If you would like to see a specific example, comment on this post and we will select the best requests and add them to the wiki page. Right now, only some procedures that were most commonly asked are shown. These include examples of how to create conditions that could previously be made using the event condition text box.

Share this:

Comments

With the new procedure system, you can detect the gamemode of the player?

How exactly do I add a procedure, the new system doesn't even allow me to select any weather it be "When Block Right Clicked" Or "When Start To Destroy", I cannot even attempt to edit them

Is there a way to change the random possibility in the random block?

you use multipliers and adders. For example if you want a number from 34 to 78 you take
44 * random 0 to 1 + 34
because by multiplying you get random 0 to 44, then by adding you get random 34 to 78

You just change the number in the condition. Random generates decimal numbers between 0 and 1 with equal possibility. So if you check if the number is smaller than 0.3, this will be true in 30% of cases if the condition is < 0.9, this will be true in 90% of the cases, so the probability for this condition to be true is 90% out of 100%.

How do I use values from GUI's Text Inputs in a procedure? I love the procedure system but I haven't found how to do this.

Of course, you can, but right now I don't have a code snippet as it will most likely involve Java reflection in order to access the text field variables from the procedure class. I suggest you open a feature request ticket on our tracker and I will post the code there once I have a working sample.

Procedure system is good idea, however it requires more guides. My mod don't work now, I don't understand how to set potion effect. Can somebody help me with it?

I think that something not right with procedure triggers. What happened: I place trigger of effect when Item in invertory = npthing happens, however, when I added another trigger : When clicked on air = effect are working and mod is ok now. I guess that there is something not right with procedure system



Donate to MCreator

By donating to developers you can speed up development, as with more resources, we can dedicate more time to MCreator. It is a free project made by developers working on it in their free time.