Tips and tricks for the new procedure system

Published by Klemen on Sun, 05/06/2018 - 17:44
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 on:

Comments

With the new procedures system, nobody can say that mcreator is just "pressing buttons"! The possibilities are endless! :)

I think DOGEOFLEGEND meant that it was easier for him! And the thing you said depends from the which system is more comfortable to the person to work with! For example, for me it was easier to make mods with event system and I think they weren't too bad! A solution will be make a procedure/event system switch ;)

Hmm... I worked a bit with them, and it is really ma bit harder but more comfurtable, because it is much easier to just modificate a few blocks when you make a mistake than deleting everything and making everything again! But there are some things not related with prodecure system but, I will make a forum with suggestions I think the creators want and will be insanely happy if you add them!

a question: with this new system it is possible to create a menu that appears at the beginning of a world where if one of the options is preamble a mob (of my mod) that was passive be aggressive because of the option that I chose?

This is currently not possible. You could do some hacks such as use GUI for the menu, two mobs for passive and aggressive type, but it would not be the same effect as desired. Right now, this is not possible, unfortunately.

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

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.

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



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.