MCreator 2023.3 - 1.20.1, item properties, and more

Published by Klemen on
MCreator 2023.3 - Minecraft 1.20.1, item properties, NeoForge & Quilt support, tooltips and much more!

MCreator 2023.3 update is here, adding support for Minecraft 1.20.1, item properties, NeoForge and QuiltMC modding APIs, and many more new features. Check it out!

Minecraft 1.20.1

The first new feature of this update is support for Minecraft 1.20.1, meaning we now support the latest 1.20.x Minecraft release fully. We made sure to cover all things and update datalists that may have missing items from the new update.

Minecraft 1.20.1 support in MCreator Minecraft mod maker

Item properties

Probably the biggest feature of this update is item properties. With item properties, one can make a single item have multiple textures and/or models depending on the item state. It can be a vanilla state such as damage level, trim type, cooldown, and more, or a custom state defined with a client-side procedure.

Item properties in MCreator. One step closer to block states in Minecraft mod maker

If you are unsure what this means, you can see this feature in practice in the video below, where we created item that changes color depending on the weather in the world.

Minecraft item properties demo in MCreator. Change item models and textures with procedures

NeoForge & QuiltMC support

This update introduces readiness for two new modding APIs, namely NeoForge and QuiltMC. Readiness means support for them is not out-of-the-box, but MCreator can support plugins adding those modding APIs, similar to eg. Spigot or Fabric.

NeoForged project NeoForge and Minecraft Fabric fork QuiltMC support in MCreator mod maker

The new workspace dialog will now look like you can see in the picture below, with two additional selectors for the workspace type. By the way, our contributor Goldorion already made a NeoForge plugin, so make sure to check it out!

Tutorial how to make new mod in QuiltMC or NeoForge in Minecraft Mod Maker MCreator

Damage source changes

This update also introduces some damage source changes. Damage source is now a dependency that can be used in existing procedure blocks related to the damage source. Existing procedure setups will be automatically converted to the new system.

Improved damage source support in MCreator

Dimension igniter special info

This one is a bit smaller feature, but could be a nice touch to quite some dimension-related mods. You can now define special information for the custom dimension portal igniter item.

Custom dimension portal igniter special info field

GUI tooltip component

We did not stop adding new GUI components. This time, we are introducing the tooltip GUI component. It is specified as a square region. When hovered over this region, a fixed text or text provided by a procedure is shown in the custom Minecraft GUI.

Support for Minecraft GUI tooltip UI component added to MCreator's WYSIWYG Minecraft GUI editor

New feature blocks

The feature mod element is being actively developed. Part of this are weighted list providers, that allow one to provide a randomized choice with weighted probability. One can now provide a random blockstate, block, or integer property of a blockstate.

New feature blocks in feature mod element in MCreator mod maker

Some new advanced procedure blocks were added too. One of them is a block that allows one to specify additional placement parameters per feature. This goes hand in hand with the random feature from the list procedure block, so one can have different types of placements randomized. A random patch of the feature type procedure block has also been added, improving options for vegetation features that can now be generated in vanilla-like patches.

Advanced feature blocks added in MCreator Minecraft mod maker

New global procedure triggers

Two new global procedure triggers have been added: entity blocks with a shield and entity uses a totem. Both are cancellable, meaning one can alter the behavior of shields and totems using them.

New global procedure triggers in MCreator Blockly drag-and-drop programming editor. Visual programming in Minecraft

GUI slot ID dependency

GUI slot procedure triggers now pass slot ID as a dependency. This is very important as now one does not need to have different procedures for different slot IDs that are similar, but different so each slot calls the right one. Instead, one can now make a single procedure that is called by all related/similar slots and only slot ID dependency is checked in the said procedure. Advanced but handy feature :)

Added new int dependency to MCreator custom GUI slot UI components

Broader tag and wildcard support

Many will love this one. Many new mod element parameters now support tags and wildcard items (e.g. any dye, any stone, any glass color, ...), including repair items for custom armor and tool mod elements, blocks affected by parameter of special tools, replacement blocks for custom ore generation in block mod element, and compatible items list for custom enchantments.

Support for tags and wildcard selectors on more locations in the MCreator Minecraft mod maker software

Release notes

  • On stopped using triggers were removed from music disc and tool mod element as they do not work with those item types
  • Removed is block material type procedure block. Existing blocks will either be converted to a suitable block tags check or to false procedure block if no suitable conversion is found
  • Removed "any concrete" and "any concrete powder" blocks because the tag for them does not exist in the game

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] On stopped using item trigger did not work with non-food items
  • [Bugfix] Referencing player name in custom death messages was no longer possible
  • [Bugfix] Running a test server could sometimes cause consecutive client or server runs to fail
  • [Bugfix] Particle mod element expiry condition did not work with procedures using world dependency
  • [Bugfix] Importing of files did not work in some rare cases
  • [Bugfix] GUI slot management procedures did not work properly on client-side
  • [Bugfix] DMG installation disk did not open on macOS 11
  • [Bugfix] In some rare creative tab setups workspaces failed to build

Other improvements

You can see the full list in the full changelog of this release here (some more notable features not mentioned before are highlighted with bold text):

  • Updated bundled Java to version OpenJDK 17.0.7
  • Added plugin support for NeoForge and QuiltMC modding APIs
  • Blockly editor is now non-transparent by default to greatly improve performance on some computers
  • Improved plant mod element editor UI
  • Improved armor mod element editor UI
  • Reduced macOS DMG image size by 40%
  • Added base support for Minecraft Forge 1.20.1
  • [FG 1.20.1] Added support for: workspace base, custom code, creative tabs, recipes, tags, functions, biomes, dimensions, loot tables, advancements, music discs, key bindings, sounds, global variables, paintings, game rules, item extensions, enchantments, commands, potion effects, villager professions, villager trades, items, potion items, dimensions, armor, fluids, particles, plants, tools, blocks, GUIs, ranged items, features, overlays, living entities, AI tasks, procedures
  • [DP 1.20.1] Added support for: workspace base, recipes, tags, functions, biomes, dimensions, loot tables, advancements
  • Added Minecraft data pack generator for 1.20.1
  • Added Minecraft add-on generator for 1.20.x
  • Improved handling of broken and damaged workspaces so certain broken mod elements don't break the whole workspace
  • Added an image asset view to allow viewing and saving assets stored in JAR files
  • Software now tries to hint Gradle to stop running daemons when it is closed
  • Improved data list selectors of some procedure blocks
  • Added special information parameter for custom dimension portal igniter
  • Added new global procedure triggers: entity blocks with shield, entity uses totem
  • Added new procedure blocks: damage source from dependencies, damage source type
  • Deal damage procedure block now has an input for damage source that can also come from dependencies
  • Is damage source equal to procedure block now takes input instead of direct dependency
  • Added new feature mod element feature types: none, random patch, random feature from a list
  • Added a new inline placed feature block that allows defining additional placement definitions per feature
  • Repair items for custom armor and tools can now use tags and wildcard items
  • Blocks affected by special tools can now use block tags and wildcard blocks
  • Replacement blocks for custom block ore generation can now also be specified as tags or wildcard blocks
  • Compatible items list for custom enchantments can now use tags and wildcard items
  • Added an option to switch item textures and models based on the item properties
  • Added an option to define new item properties for custom items
  • Added slot id dependency to slot procedure triggers
  • Added support for tooltips in custom GUI mod elements
  • Added blockstate providers: weighted list of blockstate providers, randomized integer property of blockstate
  • Improved feature mod element templates sorting
  • Added damage source dependency to some procedure triggers
  • Added a new procedure block to check if a damage source is of a certain type
  • [Bugfix, A 1.20.x] Swim randomly AI task did not work properly
  • [Bugfix] On stopped using item trigger did not work with non-food items
  • [Bugfix] Doors related AI tasks did not work in some cases
  • [Bugfix] Referencing player name in custom death messages was no longer possible
  • [Bugfix] Running a test server could sometimes cause consecutive client or server runs to fail
  • [Bugfix] Particle mod element expiry condition did not work with procedures using world dependency
  • [Bugfix] Text inputs in custom GUI mod element rendered above custom tooltips
  • [Bugfix] Importing of files did not work in some rare cases
  • [Bugfix] Follow entity AI task caused build errors in some cases
  • [Bugfix] GUI slot management procedures did not work properly on client-side
  • [Bugfix] One could import and make textures for texture types that may not be supported by some generators
  • [Bugfix] DMG installation disk did not open on macOS 11
  • [Bugfix] In some rare creative tab setups workspaces failed to build
  • [Bugfix] Map colors list was missing podzol
  • [Bugfix] NBT viewer hung the application when big NBT structures were opened
  • [Bugfix] Some other minor fixes and improvements

 

Patch update 1

We have released a patch update to fix some bugs found in the 2023.3 release:

2023.3.36712:

  • [Bugfix, FG 1.20.1] In some cases tools with decimal efficiency values caused build errors
  • [Bugfix] GUI bound to block did not close if the block was removed by third-party action
  • [Bugfix] Moving items with bound GUI open around player inventory allowed item duplication
  • [Bugfix] GUI bound to entity did not close if the entity was killed
  • [Bugfix] Item inventory was not synchronized properly with the client in some rare cases
  • [Bugfix] Setting the height of the tooltip GUI element was not possible
  • [Bugfix] Some other minor fixes and improvements

To install the patch, re-download 2023.3 and install it again. Make sure to uninstall the current version first.

 

Let us know what you think about the update in the comments! We are already looking forward to all the new creative mods using all the new features :) If you like what we do, consider donating to help us keep this project up.

Share this on:

Comments

MCreator just loads the Gradle project so the duration is determined by the internals of Gradle and Forge Gradle, both being outside our control. But the reason is those systems need to build caches, download a lot of files, verify them, and also decompile Minecraft itself and remap the code.

I bet this could be helpful for minerals that have shards or pieces, like a full ingot and then a shard/fragment
Maybe even ores for different dimensions/biomes/rock types (maybe in the future if it's possible)
Anyways, Nice! :D

I need this to be resolved as soon as possible: https://mcreator.net/forum/100337/mcreator-gives-error-level-has-private-access-when-it-public
I know I should have some patience, but I can't fix other errors without this being corrected.

Haven't been here since 2023.1, and DANG these last two updates are amazing! Thank you for all your hard work, Klemen!

Klemen is it possible to add Bitmap as a Feature for Text like Chat or Tooltip?

Like the PlaceholderAPI Plugin with ItemsAdder.

There is an Addon for ItemsAdder that allows you to create Item Tags that you can use in the Tooltips with a placeholder like ":legendary:".

PlaceholderAPI: https://www.spigotmc.org/resources/placeholderapi.6245/

ItemsAdder: https://www.spigotmc.org/resources/%E2%9C%A8itemsadder%E2%AD%90emotes-mobs-items-armors-hud-gui-emojis-blocks-wings-hats-liquids.73355/

ItemTags (Addon for ItemsAdder): https://www.spigotmc.org/resources/fontimages-itemtags-graphic-tags-for-your-custom-items-for-itemsadder.95206/

How should a Procedure look like for a custom Item Property?

I'm rather at a loss as to what exactly a procedure I need to create so that I can use it.

This update is very cool I really needed the 1.20.1 version for my mod. But one thing for the next version of Mcreator, can you add more stuff that we can make? Like custom armor trims, or vehicles and stuff like that. But I love this update too it was amazing!

Well Done!

The main feature the next major update should focus on should be the long awaited custom tree generator.

Also lets try to get the fabric mod loader fully and officially supported without needing plugins... Psst because fabric with sodium and iris, is WAY FASTER than forge with Optifine

completing these two in 2023.4 or 2024.1 will make MCreator nearly PERFECT!



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.