MCreator 1.7.9 - Procedure system, many improvements

Published by Klemen on
MCreator 1.7.9 - Procedure system, many improvements

We are finally releasing MCreator 1.7.9. The update that introduces the most advanced event system ever seen in a mod maker with editing support. And much more!

The best way to overview this possibly the largest update in the history of MCreator in terms of how many bugs were fixed and how many important new features were added is to split it into sections. Let's begin with the most important addition - the all-new procedure system.

Procedure system

Procedure system is the replacement for old event system and also for the global events. The procedure is a new mod element that can be triggered both by global events or by calling them from events of specific mod elements.

New procedure system in action

Each procedure is stored as a separate mod element and can be edited as any other mod element. No actual code is stored, which means that procedures will be seamlessly updatable with new Minecraft versions. This is possible as procedure system is using new generator system which still has to be implemented for many mod element types, but the procedure is one of these which already support it.

Procedure system has many new condition options and event results that were not possible before. Many of existing event results now have more options and are more multiplayer compatible. MCreator takes care of dependencies too, so you can always choose from safe to use procedures. Another addition compared to event system is the support for local variables that can store the data for the time of the event and separately for each event.

Selection of procedure

On the above gif, we can see how MCreator displays the data that is used by a procedure and how it is matched with the data provided by the event trigger.

Overlay condition builder

Similar to procedure system we created new overlay condition builder. Before, only a basic set of conditions was supported and they were not properly loaded when editing the overlay. Now one can very specifically define when the overlay is shown and when not.

New overlay condition builder

Same blocks as for procedure system are supported by this builder. The whole code block system was made to be very adaptable so support for plugins and additional block packs is planned for future MCreator releases.

AI builder

AI builder had a revamp too. Whole mod creation wizard is now arranged in a better way and the new AI builder uses block system too. New AI tasks were added and existing tasks can now be more precisely defined.

AI builder

Variable list

Variable list received a big revamp too. Now already defined variables can be edited and variable name, type and value validation was much more improved.

Improved variable list

Improved mod element list

Mod element list was improved too. Data is now refreshed in the background so the UI is not blocked. We added support to select between small and large icons which can also be changed using Ctrl + Scroll action. Small icons are quite useful for big mods with a lot of mod elements.

Switching between small and large icons in MCreator

Where did the recipes go?

After much discussion on forums regarding this topic, we have finally decided to remove the recipe option from all mod elements. Now recipes can only be defined using recipe mod element.

This way, the workspace is more organized. The block mod element is a block, a tool is a tool only, etc. This approach is called objective design where each element is a separate object. This is considered a good practice in programming world so we decided to adopt it.

Existing recipes inside mod elements will automatically be moved into separate recipe elements. This change also improves the performance of MCreator in some areas as in many mod element cases, all blocks and items don't have to be loaded as the recipe creator was removed from them.

Big workspace improvements

Another change in MCreator is that we implemented some improvements for big workspaces. MCreator now runs faster with big workspaces compared to the performance of same-sized workspaces in previous versions. In some cases, multiple CPU cores are utilized to improve the performance. However, there is still much room for improvements which will be released in next upcoming versions. Keep in mind that workspace import of older workspaces will be a bit slower than before as MCreator needs to perform a lot of conversions.

New MCreator Gradle build options

New options were added to the Gradle build system to make builds faster in case of big workspaces. One of these options is the daemon mode which can be enabled in the preferences. When daemon mode is turned on, MCreator will reuse the same build data for multiple builds and a daemon process will run in the background that will wait for build requests. On slower computers with small workspaces, this option can slow down the build, so use it only if you have a big workspace and you see a performance improvement when using it.

Another Gradle option is to run build on multiple cores. This can speed up the build on more powerful computers in case of many files and complicated code but is an experimental feature of Gradle, so if you enable it and get any kind of strange errors, try to disable it and see it the multiple core build caused them.

Important bug fixes

This update fixes a lot of important bugs too. All of the bug fixes can be seen in the changelog, but the most important ones are listed here:

  • Custom gun sounds not working,
  • In some cases, exported mod had broken textures when tested in actual Minecraft,
  • Custom JSON model texture for blocks and items did not work, the first selected texture was used for all model elements,
  • GUI editor did not validate for empty element names,
  • Print text and print text to chat events didn't work, it printed to Gradle console instead
  • Custom GUIs crashed when shift click was used. Now shift-click works and supports stack splitting and all other stack features from vanilla GUIs,
  • Biome base height did not accept negative values so underwater biome creation was not possible,
  • Order of armor damage values was swapped so it was hard to define proper armor damage values.

All of the bugs listed above alongside with many other were fixed in this update.

Other improvements

The full changelog of this release:

  • Replaced event system and global events with the new trigger and procedure system
  • Improved overlay condition builder with new blocks system
  • Improved mob AI tasks builder with new blocks system
  • Added many new event results (now called procedure blocks)
  • Downgraded bundled Java to version 8u152 as there are some JVM bugs in 8u162 that cause some rare issues
  • Improved mod name validation (reserved Java words check, better name standards check)
  • Improved variable list UI and moved it to a custom tab in the workspace
  • Improved MCreator startup speed for big workspaces
  • Improved general performance of MCreator for medium and big workspaces
  • Added keyboard mnemonics to the new mod element window
  • Item holders now show the name of the element in them when hovered
  • Achievement and fuel mod elements were not immediately added to the mod list after the creation
  • Removed recipe option form all mod elements, existing recipes will be migrated to recipe mod element
  • Improved icons of mod elements and some other minor UI improvements
  • Improved structure/schematic system with references to structures inside biome, dimension and procedure creation
  • Added option to choose small or large icons in mod element list and Ctrl + Scroll to zoom
  • [#41184] Added new mob events: when this mob kills another one, mob tick update, when the player collides this mob
  • [#41421] Added option to select multiple entities to spawn in biome at once
  • [#41265] Renamed gun mod element to "ranged item"
  • [#41012] Added new event results disable fall damage and enable flying
  • [#40989] Added option to select amount of gravel and big mushrooms in custom biomes
  • [#41000] Added option to make custom items glow with glow effect
  • [Bugfix] Shoot arrow entity event result did not shoot in the proper direction
  • [Bugifx] Can block provide power checkbox did nothing
  • [Bugfix #41079] In some cases MCreator said that mod name already exists when creating new one even if it didn't
  • [Bugfix #41140] MCreator can get stuck when switching workspace to an empty one and doesn't work even after restarting
  • [Bugfix #41061] Gun custom sound not working when using imported sounds
  • [Bugfix #41158] Mob attacked event was triggering at mob death, fixed this and improved event naming
  • [Bugfix #41264] Custom class files in default Java package were removed upon recompilation
  • [Bugfix #41233] In rare cases, MCreator exported mod with textures that were broken in the actual Minecraft
  • [Bugfix #41187] Custom JSON model texture selection didn't work - the first texture was used for all of them
  • [Bugfix #41314] Variable list did not check for empty variable names
  • [Bugfix #41317] GUI editor did not validate for empty element names, improved field validation
  • [Bugfix #41599] Execute command, print text and similar events did not properly escape strings for Java
  • [Bugfix #41600] Print text and print text to chat events didn't work
  • [Bugfix #41737] It was not possible to delete variables from global variables list
  • [Bugfix #40982] Custom GUIs crash if user shift-clicks on items
  • [Bugfix #40990] Global events were not stored per-workspace
  • [Bugifx #41831] Bad wording for mob type in the mob element creator
  • [Bugfix #40992] Biome min and max height were named improperly
  • [Bugfix #40993] Biome base height did not accept negative values
  • [Bugifx #41486] Order or armor damage values were swapped

MCreator 2?

With procedure system, another step from the stage 1 of MCreator 2 roadmap is complete. The next two steps are planned for MCreator 1.8.0. We have some other interesting new features in the plan for 1.8.0 too. Can you guess what it could be?

MCreator 2 progress

Leave a comment below and tell us what is your favorite feature and/or bug fix in MCreator 1.7.9.

UPDATE (5.5 20:50 CEST):

If you have problems with importing your workspace (it gets stuck in the middle of import), getting errors with structures, have problems with setting global variables using procedures or problems with custom global variables of type text, redownload MCreator 1.7.9 as we have patched these issues.

UPDATE (6.5 9:10 CEST)

If GUI button or slot was defined without event, it caused recompilation errors. If you are having issues with this, redownload MCreator.

UPDATE (7.5 21:45 CEST)

We got the reply back from the Avast antivirus false positive team. They have verified MCreator and without surprise on our side, it was clean so they whitelisted it. Now you will no more get virus warnings with MCreator 1.7.9 from Avast antivirus software.

Share this on:

Comments

hey theres a problem with my Mcreator instead of looking into the files into my desktop account its onto another desktop account is there anyway i can switch from one desktop account to another?

5) The program does not have a Russian language. I would very much like to be able to translate the program into Cyrillic, but as I know, unfortunately, the program does not support Cyrillic. Try to fix it, it's not difficult after all.
Try to install the additional Russian font in the program, so that you can install UNICODE only then, you can translate.
And the perfect translation, I'll give you, not a problem, but here are the main functions.

4) There is such a problem when you create an ore or a block, with certain parameters that apply to the pick, so that you can break the block, but in the game itself, the block breaks down, but nothing falls out. When updating the block characteristics, the parameters of the normal block, from which the object falls, parameters are not set.
The fact is that the program will enter a hidden boot, and during it, you can create a mod - it's not right, because the mod can not be compiled, but is collected with errors.

3) When creating a shooting weapon, for example (onions), in the tab (Ranged item)
Element is created, but here in the game, from the third person, it looks like a 2D model that the character holds in his hands, not like a sword or a pickax, but as an object!

2) The problem with the textures in the game, because of the code. When I try to create a jar file, when I start the game with the mod, I'm missing the texture texture, while on one of the textures, I did not see English words on the texture, in other words (code). I exit the game, I go into the program, I look in the code, there is such an element in the block -> .register (item, 0, new ModelResourceLocation ("testenvironmentmod: fictumredtreatedblock", "inventory"));
<- This is the main problem of missing textures, you just need to write your name in all the codes, then the textures will be in place, but it's very inconvenient! Instead of ("testenvironmentmod"), you need to enter your name.

1) There is a probability when you create any element, try to close the code, but nothing happens, just open the menu with the codes, where you have other codes for the elements. In other words, the code is not created or closed, there is no pop-up menu where you can confirm the code closing, or continue editing it.

Hi,
I am trying to create a mod, but I do not understand how the new procedure system Works. Could anyone help me, please?
Thanks

Add this to 1.7.10 since most people (that i know of) use 1.7.10 for their mod packs. If not, allow the created mods to be ported to 1.7.10.

At the moment, we can not add this to 1.7.10 version of MCreator as its code is too different. We will, however, add support for 1.7.10 in MCreator 2.x.x most likely. Keep in mind that 1.7.10 is not even officially supported by Minecraft Forge so consider moving to the latest version anyways.

MCreator 2.x.x will support multiple versions in a single version, and as soon as we write 1.7.10 generator, all 2.x.x versions will support 1.7.10. However, newer versions will have priority in making code generators.

Hey just a question, how do I add new mob models? Techne doesn't work anymore and i'm not familiar with the other two programs (blender or the other one). Is there any other software anyone knows about? I would like a user friendly type of programs that's easy to learn.



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.