MCreator 2020.4 - The big summer update

Published by Klemen on
MCreator 2020.4 - The big summer update

The big 2020.4 update is out! It adds a lot of important new features such as enchantments, conditions, entity inventories, and much more, including many big bug-fixes. Read on!

Enchantments

The top-voted feature in the tracker in the time of 2020.4 development is here. Enchantments. Define new enchantments and use them as modifiers for your procedures.

Minecraft Enchantments in MCreator

Conditions

A new mechanic was added to procedures. Conditions. Use procedures that return values to conditionally spawn structures, ores, entities, use portals and ranged items, and more.

Dimension condition procedure

One of the uses for conditions is AI tasks of custom living entities too. Use conditions to conditionally start or continue execution of specific AI tasks.

Mob AI conditions

FE energy and fluid-tank support

Another important new feature is FE energy support. Make custom blocks energy containers and use many new procedures to manage energy of custom blocks and blocks of other mods. Compatible with other mods too. Fluid-tank support for blocks and procedures for this system were added too.

MCreator FE energy support for blocks and procedures

Dimension improvements

Duplicating portals and portals not working properly bugs were fixed. Now portals support teleportation of any entity in 1.15.2 and are much much faster. Check the video below for a demonstration.

Improved portal with many bugs fixed

Block bases

Two new block bases were added: doors and fence gates. If you want your doors to have iron-doors like logic, set their material to iron.

Doors and fence-gate block bases

Entities with inventory

Another feature added in this release is entities with inventory support. One can now bind custom GUIs to entities and the items from GUI slots are bound to the internal inventory of your custom entity. Procedures to manage slots at specific IDs of the entity were added too. They support vanilla entities as well.

Custom Minecraft entity with inventory

The entity in range procedure

Another important addition to MCreator with this update is support to get the nearest entity of selected type in a given range or test for its presence. You can convert entities to items now too, which is demonstrated below in the example below.

Entity in range procedure

Player variables

Entity NBT is not synced to clients so player NBT could not be used in overlays. To overcome this problem, we added player variables that are synced to clients properly so you can use this new variable type to add things like custom hunger, mana or other properties to the players.

Player variables

Biome entity spawning editor

Biome entity spawning editor now supports much more than just listing entities. Set spawning type, weight, and group sizes with the new improved editor.

MCreator biome entity spawning editor

Damaging items in crafting table

Custom items can now not just be set to stay in the crafting grid when crafting but can be specified to damage themselves when used in the crafting recipes too.

Damaging items in crafting table

Light-emissive blocks

Option to enable light-emissive block rendering was added. Now you can make blocks that visually glow in the dark similar to the magma blocks in Minecraft.

Emissive lightning blocks

UI improvements

UI received some refreshing changes. A new list view mode was added to the workspace browser. Biomes and living entites now have representative previews based on their colors in the mod elements list.

Improved mod elements list

New previews were added to many drop-down selectors such as advancement selector, texture selectors for living entities, armor textures, bullet textures, and more were added.

Dropdown previews

Release notes

  • Existing custom biomes might need to have custom colors cleared to use default colors
  • Global variables are now only synced from server-side to client-side and not the other way around to prevent malicious forging of data by sending packets with altered data from client-side to server-side
  • Overlay and particle spawning conditions need to be redefined using the new condition system
  • [Plugins] Data lists (eg. block and items list) can now be extended (eg. with elements from other mods), using plugins
  • [Plugins] Plugins can now add texture maker, animation maker, procedure, and AI task templates
  • [Plugins] Added option to define custom APIs, libraries, and support mods similar to how MCreator Link is implemented (APIs get automatically installed when enabled) and make procedures, triggers and AI tasks that require specific API enabled to work

Important bug fixes

Many bugs were fixed in this update. All the bug fixes are listed in the list below, but more notable bug fixes are:

  • [Bugfix] Custom commands did not work in contexts without a player (eg. command blocks and some procedures)
  • [Bugfix, B 1.14.x] Changing add-on modid/namespace corrupted workspace
  • [Bugfix] Custom OBJ model textures did not work in some cases
  • [Bugfix #61924, FG 1.15.2] Player spawned outside custom dimension portal sometimes, portals could duplicate
  • [Bugfix #61951] Custom ranged entities did not stop shooting under some conditions
  • [Bugfix #61686] Custom ranged items did not inherit some parameters when used with custom living entities
  • [Bugfix #63146] Custom dimensions could have more and more caves in some cases
  • [Bugfix #63601, FG 1.15.2] Custom dimension portals did not work in exported mods
  • [Bugfix #64199] Custom slab blocks did not render properly when in double variant
  • [Bugfix #63629] Custom structures could cause worldgen lag in some cases
  • [Bugfix #63642] Overlay base texture size was not updated in the code properly in some cases
  • [Bugfix #64396] Items with inventory could crash the game in some cases

Other improvements

The article would be too long if we described all the changes and bug fixes in-depth, so you can see the full list in the full changelog of this release here (some important features that were not mentioned previously are highlighted with bold text):

  • Improved navigation of mod element editor
  • The special tool tool-type now acts as a hand when breaking incompatible blocks
  • Added "convert item entity to itemstack" procedure
  • Added list view to the workspace mod elements browser
  • Improved texture editor performance
  • Entity x, y, and z dependencies are now passed with floating-point accuracy
  • Added new global triggers: sapling grows, entity struck by lightning, player fishes item, entity healed
  • Improved font rendering and font handling with characters of specific non-English languages
  • Added support for Git branches to remote workspace system
  • Added many new plugin features (check release notes)
  • Added breed AI task for breedable living entities
  • Added doors block base
  • Added in-app help tips support to procedure selectors
  • Biome air, water, and grass colors can now be selected separately while others can be left at default values
  • Added many new in-app UI tips (big thanks to Goldorion)
  • Added texture preview to armor and other type texture selectors
  • Added fence gate block base
  • Improved previews of element selectors and mod elements list
  • Added Spigot generator flavor support for community plugins
  • Added YAML file support to the code editor
  • [#55702] Added new player lifetime and player persistent variables that are synced with client-side
  • [#61280] Added keyboard shortcuts to the integrated image editor
  • [#47617] Added "get entity in range" procedure block
  • [#61741] Added "when an entity jumps" global procedure trigger
  • [#61503] Added "before entity hurt" global procedure trigger
  • [#51650] Added tameable entity support
  • [#53075] Added option to specify inventory item texture for custom blocks
  • [#42538] Added FE energy support to blocks and procedures
  • [#50757] Added fluid tanks support to blocks and procedures
  • [#58891] Improved biome entity spawn list editor
  • [#59113] Added option to damage custom items in crafting recipes instead of consuming them
  • [#61928] Added option to export deobfuscated mods
  • [#43839] Added enchantment mod element type
  • [#51470] Added option to specify inventory of a custom entity and bind GUI to it
  • [#62332] Added entity inventory slot set/get procedures
  • [#49202] Added option for procedures to return a value
  • [#49202] Added "call procedure and get return value" procedure blocks
  • [#49202] Added support for conditions: block, structure, entity, and plant spawning, dimension portal use, and placement, should ranged item fire condition
  • [#49202] Added support for conditions in entity AI builder for AI tasks and goals
  • [#55403] Custom armor models now support specifying body armor arm parts
  • [#63401] Added option to add a new folder to resources folders from the project file browser
  • [#61677] Custom blocks and plants can now use emissive rendering for a glowing effect
  • [#62204] Added special info (description) fields to armor
  • [#61934] Custom blocks can now specify beacon beam color modifier
  • [#61361] Global variables can now be shown in labels in integer format
  • [#56963] Added tile entity support to plants
  • [#62187] Added "place portal for a dimension if properly shaped" procedure block
  • [#60909] Custom GUIs can now pause the game if specified
  • [#57806] Added attack amount dependency to entity attacked global trigger
  • [#56008] Added biome dictionary biome check procedure
  • [#61241] Added option to specify entity step sound
  • [#62571] Added "on item broken" global procedure trigger
  • [#61135] Added "when a player swings with item" item procedure trigger
  • [#54959] Added potion level and duration getters procedure blocks
  • [#64020] Added "is entity tamed" and "is entity tamed by" procedure blocks
  • [#64020] Added entity tamed global procedure trigger
  • [#62775] Added entity width, height, and submerged height getters procedure blocks
  • [#63575] Added "get entity target entity" procedure block for aggressive entities
  • [#55394] Custom plants can now be set to generate the same way as vanilla tall grass does
  • [#62413] Added option to specify which GUI slots to drop items and which not for unbound GUIs
  • [#62296] Custom commands can now specify the execution permission level
  • [#52780] Custom items can now use tool-like rendering
  • [Bugfix] Right-click and left-click global triggers triggered twice
  • [Bugfix] Pressing E key while text field was in focus closed custom GUIs
  • [Bugfix] Shoot ranged item procedure caused build errors with the floating-point speed in some cases
  • [Bugfix] Custom commands did not work in contexts without a player (eg. command blocks and some procedures)
  • [Bugfix] Source code of mod elements with locked code was reformatted on code regeneration
  • [Bugfix] Custom OBJ model textures did not work in some cases
  • [Bugfix] Set variable procedure block could cause build errors in combination with the player and local variables
  • [Bugfix] Entity spawning was not properly synced to clients in some cases
  • [Bugfix] On initial mob spawn procedure trigger could freeze world generation
  • [Bugfix] Conditions checking or altering the world for block, plant, structure, or entity spawning could freeze world generation
  • [Bugfix] Play sound procedure block did not work properly on client-side
  • [Bugfix] Block and item selector did not update previews properly
  • [Bugfix, B 1.14.x] Changing add-on modid/namespace corrupted workspace
  • [Bugfix #63642] Overlay base texture size was not updated in the code properly in some cases
  • [Bugfix #63629] Custom structures could cause worldgen lag in some cases
  • [Bugfix #63778] Ranged items ignored off-hand inventory
  • [Bugfix #63794] Entity display name procedure did not work with player names
  • [Bugfix #63971] Swing main/off hand procedure block did not work with players in some cases
  • [Bugfix #63996] Entity in range procedure blocks generated faulty code in case range had non-constant value
  • [Bugfix #63973] Custom armor arms were not properly applied to the player model
  • [Bugfix #64199] Custom slab blocks did not render properly when in double variant
  • [Bugfix #64291] Test draining fluid tank procedure block caused build errors
  • [Bugfix #63146] Custom dimensions could have more and more caves in some cases
  • [Bugfix #63262] Custom doors dropped twice
  • [Bugfix #63320] Backspace key did not work in text fields of custom GUIs
  • [Bugfix #61686] Custom ranged items did not inherit some parameters when used with custom living entities
  • [Bugfix #61897] Eating particles of food with custom model had broken texture
  • [Bugfix #61951] Custom ranged entities did not stop shooting under some conditions
  • [Bugfix #62307] Custom creature mobs did not spawn on custom grass material blocks
  • [Bugfix #62504] Mobs spawned with procedures did not receive on initial spawn event
  • [Bugfix #64689] Use of play sound procedure block could crash dedicated servers or cause build errors
  • [Bugfix #64396] Items with inventory could crash the game in some cases
  • [Bugfix #64585] Performing world modifications on structure generated trigger could crash the game
  • [Bugfix #64739] Entity in range procedure blocks could cause build errors in some cases
  • [Bugfix #64251, FG 1.14.4] "Before entity is hurt" global trigger caused build errors
  • [Bugfix #63601, FG 1.15.2] Custom dimension portals did not work in exported mods
  • [Bugfix #61924, FG 1.15.2] Player spawned outside custom dimension portal sometimes, portals could duplicate
  • [Bugfix] Some other minor fixes and improvements

Explore plugins website section

There have been quite some plugins made for MCreator already, including Fabric modding API support and Spigot plugin generator. Therefore we decided to make a new website section dedicated to plugin sharing. Check out the plugins page.

Feature overview video

If you would like to see all the most important features of the 2020.4 update collected in a video, check it out below.

 

 

Tell us what you think about the update (and what your favorite new feature or bug fix is) in the comments! If you like what we do, consider donating to help us keep this project up.

UPDATE: We have released a patch update to fix two bugs found in 2020.4:

2020.4.32115:

  • [Bugfix #64811] Help tips were not loaded in UTF-8 encoding
  • [Bugfix #64826] Custom armor broke recipes and advancements referencing it

To install the patch, re-download 2020.4 and install it again.

Share this:

Comments

Wow! Finally AI mobs will be more usefull! It is very cool ubdate

UPDATE: We have released a patch update to fix two bugs found in 2020.4:

- [Bugfix #64811] Help tips were not loaded in UTF-8 encoding
- [Bugfix #64826] Custom armor broke recipes and advancements referencing it

To install the patch, re-download 2020.4 and install it again.

Anyone knows how to make PLAYER_PERSISTENT global trigger an integer?, I read there is this feature but i don't find it,
Numbers are always 1.0 2.0 3.0

Ohhh finally, the thing i was looking is <VAR:integer:NAME>
I always put only <VAR:NAME>

Btw tell me, how are people supposed to know what to put in overlay to display a variable?, it isn't written anywhere though



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.