MCreator 2021.2 - The flow of changes

Published by Klemen on Wed, 08/25/2021 - 15:33
MCreator 2021.2 - The flow of changes

The biggest update in the history of MCreator once again - 2021.2. This update is packed with many new major features so make sure to download it and try it out!

Java 11

Probably the biggest change is the Java version used to compile and run MCreator. MCreator now uses Java 11. It may not sound like a big deal, but with this update, the performance of the program will greatly improve. MCreator now natively supports high DPI monitors, better OS integration, better font rendering, and overall crisper UI. Move to Java 11 will also ease the move to Java 16 needed for Minecraft 1.17 once we start working on it.

Java 11

Themes

Another big feature that will not improve your mods, but will improve your experience using MCreator. MCreator now supports themes loaded from plugins. There are two official themes like before: light and dark theme. The light theme has been a tad improved and is now an actually usable theme for those who prefer the light interface. We have also added two community-contributed themes that won the theme contest. More in the screenshot below.

Custom UI themes

New block bases

We are adding three new block bases in this update: end rod, pressure plate, and button block bases. You can see the pressure plate block base in the action below.

Pressure plate block base

And here you can see a button block base with functional redstone logic in the picture below. This will help you make a more complete wood pack in your mods.

Minecraft button block base

Block bases now also have a true 3D preview in the workspace mod elements list. This was you can much faster find the block you are looking for visually.

Block base previews in MCreator

Redstone power control

Custom blocks can now emit redstone power with either fixed output or conditional output that can use environmental or NBT data to trigger. Keep in mind you need to notify neighboring blocks of the redstone power change using the update block procedure block so other blocks become aware of the redstone power level change.

We can't wait to see all the new automation and tech mods using this neat new feature :)

Minecraft redstone power control for custom MCreator blocks

Potions split into effect and item

Another big change is that we split the potion mod elements into the potion effect and potion item. Potion items can now have multiple effect instances in the bottles. Preview will properly calculate the potion bottle color for you. Existing workspace will be migrated to this new system for you.

Minecraft potions were split into potion item and potion effect

Overlay targets

This is a big one. Custom overlays can now (conditionally, of course) overlay ANY UI in Minecraft. This means you can now add texts and images and icons to any screen in Minecraft, which allows for quite a lot more customization than before.

Custom overlay targets inside Minecraft UI

New mod element list views

This is a new and neat convenience feature. We have added a few new workspace mod element list views in case the ones we had so far did not suit you the best. You can change the views by selecting them from dropdown, or using Ctrl + mouse scroll wheel to zoom in or out.

New MCreator mod element list views

Fluid and plant improvements

Fluids got tons of new parameters, including can sources multiply, flow rate, level decrease, and slope find distance, drip particles, light opacity, temperature, tint type, flow strength, flowing condition and before replacing block procedure trigger. See them in the UI below.

More Minecraft fluid properties, triggers, and options

Plants got some new interesting new parameters too. Check them in the video below.

More plant properties, conditions, and triggers

Custom block and plant sounds

Custom blocks and plants can now define custom sound sets for sounds such as step, break and place sounds.

Custom Minecraft block and plant sounds

GUI checkboxes

GUIs got a new component: checkboxes. With this new element, you will be able to enhance your GUIs and improve their usability in a new way.

Minecraft GUI checkboxes in MCreator

Potions in brewing recipes

Potions (vanilla and custom) can now finally be used in brewing recipes. No more need to make a custom item for the potion bottles in order to use it in the brewing recipes.

Potions in Minecraft brewing recipes

Fishing rod tool type

A new tool type has been added: fishing rods. Under a tool mod element, you can now define custom fishing rods with custom procedures running on them, or a custom model for the rod.

Fishing rod tool type

New variable types

New variable types have been added, including direction and block state types supported by both global and local variables. Plugins can now easily define new local and/or global variable types too.

New variable types in MCreator

Procedure improvements

This update adds tons of new procedure blocks. Some of them are showcased in the image below.

New procedure blocks in MCreator

A small but useful new feature is variable and dependency shortcuts. By double-clicking them on the list, they will be added to the procedure editor for you.

Variable shortcuts in MCreator procedure editor for Minecraft

Global variables with a player scope can now have a target entity in procedures defined. This will allow things like the variable exchange between players and more.

Player variable entity targets system

Mod element list context menu

Mod element list finally got a context menu. This way much less mouse movement will be needed to edit the mod element once you select it ;)

Mod element list context menu in MCreator

Custom fluid buckets in recipes

Custom fluid buckets can now be used in recipes and in other places where items can be selected. You will no longer need to make a dedicated custom bucket item to achieve this.

Custom fluid buckets in recipes

Custom items in dispensers

Custom items can now define a custom dispenser behavior and call a custom procedure when dispensed. A dispense success condition can also be defined which will determine how the dispenser will react to the item.

Custom items in dispensers

Fabric plugin

I would like to mention the Fabric plugin too. Our developer Goldorion has been working hard on it in the past months and now, this plugin supports almost all mod element types and over half of the procedure blocks. If you are interested in Fabric modding, make sure to install that plugin (which is already compatible with 2021.2) and try it out and provide feedback to the developers of the plugin. If you want to go a step further, consider joining them on their GitHub to help them out with the development.

Release notes

  • Custom blocks using log rotation in existing world saves may change placement direction
  • Changed custom code mod element default template
  • Registry names of some blocks may change, reverting translations and existing world saves
  • [Plugins] Plugins can now add new local variable types
  • [Plugins] Generator plugins can now specify UI field exclusions or inclusions
  • [Plugins] Plugins can now specify update check URL
  • [Plugins] Plugins can now add new entity model animations
  • [Plugins] Plugins can now add custom themes
  • [Plugins] Plugins can now add new global variable types

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 armor items could not be used in custom item tags
  • [Bugfix] Number from text procedure block did not support decimal numbers
  • [Bugfix] Water entities moved very slowly
  • [Bugfix] Set number game rule procedure block could crash the game in some cases
  • [Bugfix] Light opacity parameter did not work properly

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

  • Updated JDK to OpenJDK 11.0.11
  • Updated Blockly to 2021 Q2
  • Updated Minecraft Forge for 1.16.5 to 36.2.0
  • Added native high-DPI screen support
  • Improved UI performance and rendering
  • Added desktop taskbar progress indicator support
  • Streamlined image editor transparency/opacity workflow: opacity sliders are replaced by sliders in the color chooser, color picker now picks opacity, you can set secondary colors using a shift-click, color chooser now shows transparency preview
  • Externalized more UI texts for translation
  • Improved import formatter performance
  • Improved code generator performance
  • Improved built-in Gradle environment stability
  • Improved generated code style in some places
  • Improved mod element list filter dropdown menu functionality
  • Added more workspace mod element list views
  • Added right-click context menu to the mod elements list
  • Added plugin update checking system
  • Plugins can now add custom themes
  • Added two community-contributed themes to the core: Matrix and Midnight
  • Moved entity animation definitions to plugins so plugins can add more entity animations
  • Plugins can now add new local variable types
  • Plugins can now add new global variable types
  • Custom GUI and overlay mod element editor grid settings are now stored
  • Added new block base workspace previews: fence, fence gate, wall, end rod
  • Added set text in a text field of custom GUI procedure block
  • Custom fluid buckets are now listed on the items list
  • Added new custom fluid bucket settings: name, custom texture, rarity, empty sound, special information
  • Added custom fluid block parameters: resistance, luminance, emissive rendering, flammability
  • Added custom fluid block triggers: on random display tick, on block destroyed by an explosion
  • Added new fluid properties: tint type, flow strength, flowing condition, before replacing block procedure trigger, can sources multiply, flow rate, level decrease, and slope find distance, drip particles, light opacity, and temperature
  • Added end rod block base
  • Added button block base
  • Added pressure plate block base
  • Added fishing rod tool type
  • Added checkbox GUI component
  • Added custom block valid placement position condition
  • Added new block procedure blocks: is location valid position for a block
  • Added guistate dependency to all GUI related triggers and conditions
  • Improved procedure selection system
  • Split potion mod element into effect and item
  • Custom potion items can now have multiple effect entires with different properties
  • Added redstone power control support to blocks
  • Added texture maker template list search bar
  • Added option to rename folders
  • Added option to specify custom block and plant sound sets
  • Externalized more UI texts for translation
  • Custom themes can now specify UI backgrounds
  • Added fluid tick rate parameter
  • Added potion effect tick condition
  • Set and get player variable procedure blocks now support specifying the entity dependency
  • Added fire immunity parameter to custom armor mod element
  • Improved display of biome and entity lists with human-readable names
  • Added new plant parameters: suspicious stew effect and duration, generation patch size
  • Added new enchantment parameters: can appear in villager trades and can be used in loot tables
  • Brewing recipes now support potions as output and/or inputs
  • Added global trigger side indicators in the procedure editor
  • Added support to specify procedure action result where supported
  • Added ranged item bullet entity to the bullet trigger dependencies
  • Item mod element can now specify a custom dispense behavior
  • Added option to specify the target of custom overlay mod element
  • Added new item procedure blocks: is item food, get food value of item, get saturation value of item
  • Added new block procedure blocks: is side of block solid, spawn falling block entity
  • Added new entity procedure blocks: get and set oxygen level, is blocking, is elytra flying
  • Added new player procedure blocks: get fly speed, get walk speed
  • Added sound category parameter to play sound procedure blocks
  • Added block state dependency to procedure triggers that support it
  • Added new local variable type and procedure return type: direction
  • Added new local variable type and procedure return type: block state
  • Added new global variable type: block state
  • Added new global variable type: direction
  • [Bugfix, A 1.16.x] Blocks generated with the ore pack tool had broken textures
  • [Bugfix] Fluids did not tick properly
  • [Bugfix] Number from text procedure block did not support decimal numbers
  • [Bugfix] Some procedure blocks did not detect certain procedure errors
  • [Bugfix] Custom armor items could not be used in custom item tags
  • [Bugfix] Importing and display of some mod language translations did not work properly
  • [Bugfix] Disabling entity collision box did not work
  • [Bugfix] Water entities moved very slowly
  • [Bugfix] Set number game rule procedure block could crash the game in some cases
  • [Bugfix] Light opacity parameter did not work properly
  • [Bugfix] Some other minor fixes and improvements

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 a bug found in 2021.2 release:

2021.2.36710:

  • Added some more interface translations
  • [Bugfix, FG 1.16.5] Enabling MCreator Link caused Gradle errors

To install the patch, re-download 2021.2 and install it again. Make sure to uninstall the current version first. We will not be rolling update notifications yet as this patch only applies to users using MCreator Link.

Share this on:

Comments

Hi- I played around with the early version of MCreator and thought I'd never be using it, but it's become so simple and effective to create things that I dream up. So thanks for all your awesome work. One question I have is if I can upgrade to the new version if I want to continue working with an older version. If I download Java 11 so I can upgrade to 2021.2, will the 2020.2 that I'm playing around with no longer work? Or will I still have Java 8 too? (I'm assuming that it will overwrite J8 and 2020.2 will no longer work)

Not a huge fan of the fact that many features were removed, but otherwise the update is definitely an improvement!

Mainly opacity being removed in the texture editor (or "replaced" with something else that doesn't have nearly the functionality) Opacity is something that should probably be kept in all texture editors; there's a reason why almost all of them have it :)

Ah interesting. Certainly has seemed to have been made much more complicated that it needed to be, however.
Seems odd that it was moved there, since it involves opening the color selector window rather than simply just setting the opacity where it was originally; less straight forward but nevertheless no real complaints with that, great work with this update :D

Ideas for 2021.3 update
Texture changing procedure: This procedure will change the texture of the living entity, block and item.
mod for 1.17/1.17.1: some people are tired of making 1.16 mods. And I thought you could make a 1.17.1 mod
Warden ai or blind mob ai: This ai will make the living entity act like a blind mob and vibrate sounds.
Light source procedure: This procedure will make a light source. you can change the size or position.
mod for snapshots: I thought of making snapshots. like snapshot infinite or the first snapshot of 1.18.
Yeah thats all of my ideas. and I really hope you can add this. If not thats ok.

I really doubt about second idea, since MCreator "only" adds what is in Minecraft itself, and Warden mechanics weren't even introduced in 1.18 snapshots. Although I think it is possible to mimic Warden's mechanics, even without native support, with some NBTs, procedures or code. I don't know if it uses such mechanics, but we have even MOTW mod called Deep Dark ;) - https://mcreator.net/modification/73868/dead-guys-untitled-deep-dark
Also, please remember 2021.3 is mostly focused on 1.17 generator. New features can come, but it's not promised in any way. But I agree, some way of texture changing without making new block/entity/item would be really nice, and definitely could help with un-cluttering our workspaces.
And as for snapshots, they are most likely not supported, since no Forge version supports them, and making whole MCreator version for it would be just useless. Infinite is extremely good snapshot, but I'm afraid it also fits into this category.



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.