MCreator 2020.3 - A feature-rich update

Published by Klemen on Wed, 05/20/2020 - 15:43
MCreator 2020.3 - A huge update

MCreator 2020.3 is here. It adds more features than any update so far. These include 1.15.2 support, Bedrock Edition Add-Ons support, inventory items, and much more. Read on!

Bedrock Edition Add-Ons support

MCreator 2020.3 is the first version that supports making mods (Add-Ons) for Minecraft Bedrock Edition. This means that now you will be able to make mods for all supported platforms (Phones, Xbox, PS4, Switch, ...) with MCreator. There are some limitations to this as Bedrock Edition Add-Ons are still an experimental feature in Minecraft, but many mods are already possible.

MCreator 2020.3 adds Bedrock Edition Addons creation support

Minecraft 1.15.2 Java Edition support

This update adds full support for Minecraft 1.15.2. You can seamlessly update your mods to support Minecraft 1.15.2 with just a few clicks. As now multiple workspace types are supported, we have revamped the new workspace dialog too.

Improved new workspace dialog

Custom ranged items for mob attacks

Now you can select custom ranged items as ranged attack items for custom mobs. All procedures and properties will be inherited from the ranged items. You can use ranged items with procedures now too.

Custom ranged items used for custom living entity attack

Connected sides support

This update introduces support for blocks with connected sides, similar to how to glass or ice blocks behave.

You can see new in-app help tooltips in action on the screenshot below too. Now almost all parameters and fields in the UI have in-app help available.

MCreator connected sides block support

Glowing mobs

Another feature that was requested quite a few times is support for the glowing layer for custom mobs. A glowing layer is defined with another texture that controls glow amount based on the texture brightness.

MCreator mod maker glowing mobs

Items with inventory

The most requested feature so far was added in this update too. Support for items with inventory, which makes mods like backpacks and portable furnaces possible.

Items with inventory in Minecraft

Glass pane block base

We have added a glass pane block base that supports separate top and side textures for more customization options.

Minecraft custom glass pane

Source and target entity procedures

Source and target entity procedure dependencies are now supported. This means one can now detect both the entity that was hit and the entity causing the damage and run procedures on both of them, for example.

Source and target entity dependency in MCreator

Underwater swimming mobs

New swim AI task was added and water mob entity properties and path navigation were improved. One can now make fully functional water mobs, both passive and aggressive.

Minecraft custom swimming underwater mobs

Better key bindings

Key bindings now have a key released trigger. This trigger provides dependency for a variable containing the press time, so things like charge key bindings are now possible.

Improved key binding procedure triggers

Itemstack variable type

Support for both local and global itemstack variables was added. Now more complex crafting procedures and things like global chests can be implemented.

Itemstack variables

Item to block procedure

Items can now be converted to blocks. This is useful for machines like block placers that can now take an item from the slot and convert it to a block for placement.

Converting item to block in Minecraft

Discord Rich Presence

MCreator now supports Discord Rich Presence. When you have Discord open, MCreator can now show the current workspace you are working on and its type. You can disable this option in preferences in case you don't want it too.

Discord Rich Presence in MCreator

Fabric mod loader support

We have added support for Fabric mod loader based generators too. There is no official generator at this time, but we have worked with contributors Goldorion and crispy_chips1234 that work on the community-based generator plugin for Fabric loader. You can support, test, and help with their work on the forum topic for their plugin or on the project GitHub page.

Release notes

  • Workspace resources are now stored in Gradle resources folder only (folders <workspace dir>/sounds, <workspace dir>/textures, <workspace dir>/structures can be removed from the workspace; before opening older workspaces, it is recommended to regenerate the code in the old version before opening it in the new one)
  • Dropped Minecraft 1.12.2 generator support
  • Mod element camel-case name is now automatically converted to snake-cased registry name
  • "On collided with the player" and "on right-clicked on living entity" triggers now have source and target entity swapped
  • Custom tools of type multi-tool now have harvest level
  • [Code only] Custom GUIs now use IItemHandler instead of IInventory
  • [Code only] Main mod file naming scheme changed for compatibility reasons

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 #59520] Location procedures did not work when triggered by GUIs without slots
  • [Bugfix #59345] Duplicate mod element kept some references on the original mod element in some cases
  • [Bugfix #59247] Custom dimensions had more and more caves each time entered
  • [Bugfix #60020] Java models from recent Blockbench versions failed to import
  • [Bugfix #59688] Incompatible plugins in plugins folder caused MCreator to not work properly
  • [Bugfix #60515] Custom living entities of type creature crashed the game if they had melee AI task enabled
  • [Bugfix #60526] Changing mod display name could cause build errors
  • [Bugfix #60432] Loot tables did not work with custom blocks with inventory

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):

  • Added support for making Minecraft Bedrock Edition 1.14.x Add-Ons
  • Updated bundled Java to version OpenJDK 8u252
  • Updated Minecraft Forge for 1.14.4 to version 28.2.16
  • Added option to ignore air when placing in custom structure mod element
  • A full workspace backup is now made by default when opening the workspace in a new version
  • Mod element camel-case name is now automatically converted to snake-cased registry name
  • Workspace resources are now stored in Gradle resources folder only
  • Flattened the UI a bit more
  • Improved the UX of some UI sections
  • Improved block inventory procedures compatibility with other Forge mods
  • Added AI task setup template library and support for importing/exporting AI task setups
  • Added "max entity health" procedure block
  • Improved code editor UX
  • Added option to specify Y offset for mounted entities for rideable custom entities
  • Added option to define custom key binding category (vanilla or custom)
  • Added text NBT tag display support to custom GUI and overlay labels
  • Added spawn entity with rotation and velocity procedure block
  • Streamlined procedure blocks and their colors
  • Improved Gradle error handling
  • [#55559] Added base support for Minecraft Forge 1.15.2 version 31.2.0
  • [#55559] Added 1.15.2 support for mod elements: creative tab, advancement, function, loot table, fuel, tag, recipe, command, key binding, item, food, fluid, armor, potion, overlay, structure spawn, tool, plant, biome, ranged item, dimension, living entity, procedures, GUI, block, music discs
  • [#61091] Added is item enchanted and is item enchantable procedure blocks
  • [#45670] Added item descriptions (special information) to food, plant, ranged item, and tool mod element types
  • [#61152] Added "check gamemode" procedure block
  • [#61201] Added Discord Rich Presence support
  • [#60696] Added option to specify glowing texture layer for custom mobs
  • [#49538] Custom blocks can now specify IDs of input and output slots for automation
  • [#48739#58631] Added "get block hardness", "is block solid", and "get light level" procedure blocks
  • [#52809] Added "get redstone power of block side" and "is block directly powered" procedure blocks
  • [#53212] Added option to enable random offset for custom blocks and plants
  • [#54112] Added option to specify AI path node type for custom blocks and plants
  • [#57558] Added option to force ticking for plant mod element types
  • [#58904] Added cooking time parameter to cooking/smelting type recipes
  • [#60609] Entity and location can now be specified for the "open GUI" procedure block
  • [#53526] Added fish-like swimming AI task
  • [#60671] Added follow parent AI task
  • [#60263] Added "is block tagged in blocks tag group" procedure block
  • [#50526] Added new variable type itemstack to both local and global variables
  • [#56093] Added convert itemstack to block procedure
  • [#60692] Added option to specify top and side textures for custom slabs and stairs
  • [#59873] Harvest level can now be specified for custom multi-tools
  • [#57254] Added glass pane block base
  • [#60686] Added option to disable slot interaction for specific slots in custom GUI
  • [#55095] Added key released key binding procedure trigger and pressed time dependency
  • [#59939] Added "get ridden entity" procedure block for better ridable mobs (eg. airplanes)
  • [#45976] Added source and target entity dependencies
  • [#47086] Custom mobs can now shoot custom ranged items
  • [#49385] Added shoot custom ranged item procedure block
  • [#50280] Item procedure blocks now support custom dependencies
  • [#53366] Added itemstack size management procedure blocks
  • [#47537] Added support for items with inventory and item GUI binding
  • [#49671] Help buttons now open in-app help dialogs instead of searching on the website (thanks to Goldorion and KantroActual for writing them)
  • [#59347] Added Java model fixers for models of some modelers that do not generate compliant code
  • [#53154] Added support for transparent block connected sides
  • [Bugfix] Text fields in custom GUI did not scale properly with the screen
  • [Bugfix] "Move entity to location" procedure block did not work properly in some cases
  • [Bugfix #61258] Custom GUIs misaligned slots in some cases
  • [Bugfix #60992] "Shoot custom ranged item" procedure did not inherit some of the parameters
  • [Bugfix #60332] Custom breedable mobs had wrong eye height in some cases
  • [Bugfix #60393] Custom rideable entities did not compile
  • [Bugfix #60394] Some biome features did not generate correctly
  • [Bugfix #60410] Fixed some remote workspace bugs
  • [Bugfix #60432] Loot tables did not work with custom blocks with inventory
  • [Bugfix #60526] Changing mod display name could cause build errors
  • [Bugfix #60515] Custom living entities of type creature crashed the game if they had melee AI task enabled
  • [Bugfix #59688] Incompatible plugins in plugins folder caused MCreator to not work properly
  • [Bugfix #59696] Newly created custom GUIs had broken textures
  • [Bugfix #59804] Set rotation and pitch of entity procedure block caused build errors in some cases
  • [Bugfix #60020] Java models from recent Blockbench versions failed to import
  • [Bugfix #60106] Fluid physics did not work in some cases
  • [Bugfix #59056] Itemstack management procedure blocks could still cause build errors in some cases
  • [Bugfix #59083] Spawn multiple particles procedure block did not work properly
  • [Bugfix #59247] Custom dimensions had more and more caves each time entered
  • [Bugfix #59345] Duplicate mod element kept some references on the original mod element in some cases
  • [Bugfix #59409] Custom slabs and stairs did not have proper light opacity behavior
  • [Bugfix #59555] Negative number constants caused build errors in some cases
  • [Bugfix #59520] Location procedures did not work when triggered by GUIs without slots
  • [Bugfix] Other minor bug fixes and stability improvements

At this point, I would like to thank all contributors who helped on the path to this update again. Especially to Goldorion who wrote a lot of in-app help tips for this update, to KantroActual for contributing in-app help tips, to Goldorion and crispy_chips1234 for working on a Fabric plugin and for cooperating with me on improving plugin support, to NorthWestTrees Gaming for providing up-to-date quality tutorials, and to all users who contributed in one way or another, be it helping and answering questions on the forums, writing wiki pages, donating or simply reporting bugs ;)

Make sure to 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 a critical bug found in 2020.3:


  • [Bugfix #61295] Plant texture selection component was not visible

UPDATE: We have released another patch update fixing some (minor) bugs found in 2020.3:


  • [Bugfix] In many cases, procedure dependencies on triggers did not get automatically updated
  • [Bugfix] Default value of global number variables could not be set to decimal values
  • [Bugfix] Console search did not work
  • [Bugfix #61328] Active custom potions still rendered in inventory even if this was disabled
  • [Bugfix #61441] On initial entity spawn trigger could crash the world in some cases
  • [Bugfix] Some other minor fixes and improvements
Share this on:


I didn’t write the in-app tool tips for the pre-release. I’m a Wiki contributor. xD I will try to make them this week or this weekend.

Waited for this a lot! I wish you good luck in the development. It's just amazing how much work you guys do!

I hope 1.16 of Minecraft releases soon, so the Forge for 1.16, So we will be able to add nether biomes and all!

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.