MCreator 2020.5, the first open-source full release is here. It adds literally tons of new features, including particles, and an enormous amount of procedure blocks. Read on!
Particle mod element
The most anticipated and requested feature of the 2020.5 update is definitely particles. Make particles with gravity, flying particles, lit particles, and much more. Check the demo video below for some examples.
Bedrock Edition 1.16.x support
This update introduces support for Minecraft 1.16.x Bedrock Edition Add-On making. Due to a bug in the Bedrock Edition, blocks can't be shown in the tabs
Improved Blockly editor
Blockly editor was updated to the latest version of Google Blockly library which makes it a bit snappier and performant. A new default skin is now used, which is more flat and uniform with other parts of the UI. If you prefer the old one, you can switch back anytime in the preferences.
This update adds a lot of new procedure blocks. So now, a search for the procedures was really needed. So we added it ;) Check it in the action in the video below.
Another change to the procedure editor is automatic local variable loading for the procedure templates and imported procedures. MCreator will auto-detect needed local variables and add them for you when needed.
Improved GUI editor
We have completely reworked the code of the GUI editor. Now, it supports an intuitive drag & drop system, you can select components by clicking on them. Snap to grid system was improved too.
We did not forget about the actual new custom Minecraft GUI features too. You can now specify inventory location, make GUIs larger than 256x256 pixels, use images larger than 256x256 pixels, conditionally show images and labels, set image scale factor, specify GUI events such as GUI open, closed, and GUI tick, and much much more.
Waterlogging
Another quite requested feature we finally added is waterlogging support. Now, you can make you block waterloggable with a single click on a checkbox inside the custom block maker.
Double plants
Plants got some new features too. The most important new feature is support for double plants. Make taller plants like the ones in the example below in MCreator 2020.5.
New procedure blocks
As already mentioned before, 2020.5 added a lot of new procedure blocks. And when I say a lot, I mean it :D Many community plugins were merged into the core, bringing many new options inside MCreator.
We have also added support for a new procedural block type, which can accept sub-procedural blocks as the input. One of such blocks is "do in world block", which can run the desired action in the specified world instead of the current world. This way, you can say place blocks in the Nether from action triggered in the Overworld. This will greatly improve the options for custom dimension portals, for example.
Some new player procedure blocks were added too. With a new number of players procedure blocks and "for each player" statement block, you can do many new creative mechanics in the game too.
There is a new "for each entity in range" statement procedure block too. Now you can not only target the nearest entity of type but all of them in a given radius. An example of use for this block is in the video below, where we made Thor's hammer utilizing this procedure block.
Among many new procedure blocks, new fluid management procedure blocks were added too. Detect fluids at a location, convert them to item bucket, or convert item bucket to the fluid. You can detect fluid sources and waterloggable blocks too.
Many loot table improvements
Loot tables got a neat overhaul in this version. Now, one can make loot table entries affected by fortune, explosions, only make them work when used with or without silk touch, and make them randomly enchanted. You can see all these features in the MCreator on the image below.
New biome features
Biome editor got quite some new features too. Now, one can specify separate grass and foliage colors, also water, and water fog colors. Default biome features can now be managed much more precisely, including temples, village types, mansions, pyramids, and more. Check the video below to see this in action.
More sound options
Custom sounds can now have multiple sound files, that are randomly chosen when the sound is played. Subtitles are now supported too, to improve the accessibility of your mods.
Custom paintings
Small, but very anticipated feature. Now one can add a custom painting mod element that will be randomly chosen when placing the paintings on the walls. Example custom painting in the screenshot below.
Interface translations
Asked all around the forums, so we listened. Open-sourcing was a good time to do this, as more people could contribute. MCreator now supports translations. Users helped translate MCreator on Crowdin and now many new languages are supported. Keep in mind that some languages only have partial translations and that translations are community-made, so some keys might be misleading or not translated properly yet.
Release notes
- Existing images in custom GUIs will not draw proper bounding box in the GUI editor previews and should be re-imported from the original image when possible
- [Plugins] Failure to properly generate the Freemarker template of procedure block will now cause the whole procedure code generation to fail
- [Plugins] Added Blockly shadow block support for optional inputs
- [Plugins] Added Blockly statement input with optional dependency contexts support
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 #65057] Custom items with inventory and GUI could be exploited to duplicate items
- [Bugfix #65478] Armor made using armor pack maker tool did not appear in item selector
- [Bugfix] Player variables reset upon leaving the end dimension
- [Bugfix] Overlay base textures did not scale properly in some cases
- [Bugfix] Some Tabula Java models did not work properly
- [Bugfix #57987] Custom GUIs had a size limit and glitched when too big
- [Bugfix #57987] GUI images could not be larger than 256x256 pixels
- [Bugfix #65120] Energy capacity procedure block returned the current block energy value instead
- [Bugfix #65474] Fluid tank simulate fill procedure block did not simulate filling but actually executed it
- [Bugfix #65081] Some procedure triggers could spam log with missing dependency for the source entity
- [Bugfix] Set entity rotation and spawn entity with rotation procedure blocks did not set yaw rotation properly in some cases
- [Bugfix] Potion related procedure blocks could crash the game in some cases
- [Bugfix] On initial entity spawn procedure trigger did not trigger with child entities
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 new in-app UI tips and improved some existing tips
- Added custom particle mod element
- Updated Blockly to 2020 Q3 patch 3 and added support for different block rendering styles
- Updated Minecraft Bedrock Edition add-on generator to version 1.16.x
- Added structure X and Z offset parameters to structure spawn mod element
- Added apply bone meal action at location procedure block
- Improved previews of some of the mod elements in the workspace view and added procedure previews
- Added procedure block that switches the current world to another world/dimension
- Added for each entity in range procedure statement block
- Added parameter to specify optional custom food eating result item
- Added for each item in the inventory of entity procedure statement block
- Local variables of procedure templates and imported procedures are now automatically added to the procedure
- Added break blocks of type AI task for custom entities
- Improved custom fluid lake generation options with biome condition, frequency, and custom condition support
- Added option to specify global trigger result action if supported by the selected global trigger
- Added support for itemstack return value type and itemstack type custom dependency to procedures
- Added wood pack maker quick pack tool
- Added custom plant mod element item texture parameter
- Added direction offset procedure blocks
- Added pickup delay and do-not-despawn parameters to spawn gem procedure block
- Added option to hide fluid texture from the block when submerged in the water
- Added new procedure blocks: number of players in the world / on the server, and for each player in the current world
- Added new fluid procedure blocks: is block waterloggable, get fluid at, is block a fluid, is block a fluid source, convert fluid to the bucket, convert bucket to fluid
- Added new entity procedure blocks: is entity immune to fire, is entity immune to explosions, get absorption health level, set sprinting/sneaking to true/false, is the entity of creature type, get food saturation level, set food saturation level, tame entity, is the entity a child, make entity ride entity, get shoot power of entity if projectile, remove specific potion effect, is entity leashed, get the owner of the entity, is the entity in water, lava, water or bubble column, water, rain, or bubble column, is entity alive, is entity invisible, is entity invulnerable, is entity non-boss
- Added option to specify a separate particle texture for blocks and plants
- Added new procedure triggers to plant mod element: on plant added, on a block placed by, random display tick
- Added direct entity comparison procedure block
- Added water entity creature type option for custom entities
- Added custom code output procedure block alongside existing procedural custom code block
- Updated bundled Java to version OpenJDK 8u265
- Added option to select scale ratio of custom GUI images to 1X original or 2X Minecraft scale
- Improved custom GUI image selection process and added edit option
- Greatly improved GUI editor navigation and controls
- Added option to reorder custom GUI components (inside their type)
- Improved custom GUI preview renderer
- Added option to disable block dropping and use loot tables instead
- Added option to make loot table entries decay on explosion dropping
- Greatly improved Console Gradle task syntax highlighting
- Ranged items and food can now specify use animation type
- Added waterlogging support to custom blocks
- Added support for crop model to blocks and plants
- Added support for custom damage sources in procedures
- Added back biome name field
- Added painting mod element
- Added double plant type support to the custom plant mod element
- Items and food can now specify rarity
- Added knockback resistance and attack knockback parameters to custom entities
- Added itemstack dependency to entity picks up item procedure trigger
- Added option to disable plant dropping and use loot tables instead
- Added option for credits field and plugin dependencies in MCreator plugin info
- Custom items can now define recipe remainder to any item or block
- Added support to set foliage color of biome separately from grass color
- Added the game-rule set and get procedure blocks
- Added is provided advancement equal to procedure block
- Added conditional enchantment glint support for all item mod element types
- Strike lightning procedure block can now specify the lightning to be a visual effect only
- Added log text with log level procedure block
- Added procedure block to get the localized text for a given localization key
- Added on item dropped procedure trigger to custom items
- Added new item procedure blocks: has item enchantment, remove a specific enchantment from the item, is item specific tool type, show item totem-like animation
- Added new global procedure triggers: player completes advancement, a block is multiplaced (double plants, beds...), entity drops/picks up experience, entity falls, player uses/stopps using/finishes using item, entity sets its attack target, entity about to grief, player XP amount/level changes, player deals a critical hit, zombies siege a village, farmland is trampled, crop attempts to grow
- Added new procedure dependency immediatesourceentity to entity attacked global trigger
- Added option to spawn some vanilla structures in custom biomes: villages, strongholds, mineshafts, woodland mansions, ocean monument, ocean ruins, shipwrecks, igloo, desert pyramids, and the jungle temple
- Added seagrass per chunk option to biomes
- Default biome features can now be specified in custom biomes such as caves, ores, lakes, icebergs, fossils, and many other
- Added language selector to the preferences dialog (experimental feature)
- Added light color interface theme support (experimental feature)
- [#64081] Added support for custom tag namespaces
- [#66079] Separated water and water fog for biome colors
- [#64917] Loot entries can now have drop count amount set
- [#59923] Added option to make loot table items enchanted
- [#49691] Added option to condition loot table entries with enchantments such as silk touch and fortune
- [#56348] Added procedure editor procedure blocks search bar
- [#59890] Added option to reposition player's inventory in custom GUIs
- [#65599] Custom GUI labels and images can now be conditionally shown using the conditions system
- [#65651] Added custom GUI opened/closed/tick procedure triggers
- [#65592] Added preferences option to sort procedure blocks alphabetically
- [#63811] Added support for sound subtitles
- [#63811] Added support for multiple sounds under a single sound resource definition
- [Bugfix] Overlay base textures did not scale properly in some cases
- [Bugfix] Custom GUI and overlay editor glitched if multiple components had the same name/text
- [Bugfix] Some Tabula Java models did not work properly
- [Bugfix] Affected by fortune and explosion decay parameters in custom loot table entries did not work properly
- [Bugfix] Set entity rotation and spawn entity with rotation procedure blocks did not set yaw rotation properly in some cases
- [Bugfix #57987] Custom GUIs had a size limit and glitched when too big
- [Bugfix #57987] GUI images could not be larger than 256x256 pixels
- [Bugfix #65053] Opening browser and files did not work on some Linux distributions
- [Bugfix #65120] Energy capacity procedure block returned the current block energy value instead
- [Bugfix #65197] Resistance parameter of custom blocks with stairs block base did not work
- [Bugfix #65081] Some procedure triggers could spam log with missing dependency for the source entity
- [Bugfix #65057] Custom items with inventory and GUI could be exploited to duplicate items
- [Bugfix #65474] Fluid tank simulate fill procedure block did not simulate filling but actually executed it
- [Bugfix #65478] Armor made using armor pack maker tool did not appear in item selector
- [Bugfix #60983] Custom block bounding boxes did not adjust properly to the block offset setting
- [Bugfix #66046] Custom GUI WYSIWYG editor had rendering glitches in some cases
- [Bugfix] Custom GUI text field initial text did not work
- [Bugfix] Player variables reset upon leaving the end dimension
- [Bugfix] Potion related procedure blocks could crash the game in some cases
- [Bugfix] On initial entity spawn procedure trigger did not trigger with child entities
- [Bugfix] Plugin loading order was ignored in some cases
- [Bugfix] Some other minor fixes and improvements
Feature overview video
If you would like to see all the most important features of the 2020.5 update collected in a video made by our developer Matej, check it out below.
Thanks to all the contributors
Big thanks to all the people who helped to shape this update since the release of the 1st snapshot of MCreator 2020.5. Thanks to the people who open PRs, report issues, look for bugs, thanks for translators, tutorial makers, and everyone involved in the community. It was really fun making this update with you guys, and I think the vast amount of new features reflects this very well.
1.16.x and the future?
We can't read all this without some bitter thoughts of the fact that I will slowly have to stop working on MCreator. I had told there is a chance for another update for 1.16.x in the past articles. I have also had time to process all changes in my life in these weeks, and so, I plan to post an update to clarify a bit more on how I plan to steer MCreator in the future. I will clarify all this and much more in the upcoming article that I plan to post around a weekend after the release, or in other words, when the things like potential patches and such settle down, so stay tuned for this ;)
Tell us what you think about the update (and what your favorite new feature or bug fix is) in the comments
UPDATE: We have released a patch update to fix two bugs found in 2020.5:
2020.5.47418:
- [Bugfix] Blockly editor had Help entry in some context menus that glitched the procedure editor when pressed
- [Bugfix, FG 1.14.4] Entities with bound GUI and rideable option at the same time failed to build
To install the patch, re-download 2020.5 and install it again.
UPDATE 2: We have released another patch update to fix another set of bugs found in 2020.5:
2020.5.47520:
- [Bugfix] Show totem-like animation, is item tool, remove specific enchantment, and has itemstack enchantment procedure blocks caused build errors in some cases
To install the patch, re-download 2020.5 and install it again.
Comments
I wanted to make a paid version of MCreator (MCreator PRO), so I could make a living of MCreator, so I contacted Mojang multiple times to get their take on this, but the emails were ignored. So I did not have a proper legal base to start the business of this, so I had to find a job to pay the bills and I will sadly have to slowly stop working on MCreator due to lack of time for this project that was and will be taken by the full-time job. Life works the way we need money to live, and sometimes, this clashes with our plans.
Holy...no way this is real.
MCreator has had packed updates in the past...but this is the longest changelog ever.
Time to update my MCreator version and hopefully not break my mods!
The paintings and particles were SO cool though, I could never imagine those elements in action!
Glad to hear it inspired you back, hope we will see some good mods from you in the future ;) And thanks for the kind words!