The last update of the year is here, and we are ending 2024 with a blast! This release is packed with tons of new and exciting features. Read on!
Minecraft resource pack maker
One of the biggest new features of this update is MCreator expanding to a whole new field. One can now make resource packs using our Minecraft mod-making software! Resource pack maker features a completely different UI where the structure of vanilla resources is shown, together with several utilities that allow one to modify and override those resources using our built-in image editor, code editor, and more!
The resource pack editing was also added to regular mod workspaces, so one can easily override vanilla resources as part of NeoForge or Minecraft Forge Minecraft mods too.
Custom animations for entity models
Another major new feature of this update is support for vanilla custom entity animations, which means for entities, the Geckolib MCreator plugin is no longer needed. Vanilla animations can be exported from Blockbench and imported into MCreator. See an example of such animation below.
Below you can see how animations are defined in the living entity editor. Animation specifies speed, amplitude, if it is walking animation and optional condition procedure that defines when the animation should happen. We highly recommend using animations in combination with "Saved sycned entity data" feature. Both vanilla Minecraft and custom animations can be selected and used.
In order for one to be able to use custom animations, a new tab was added to the Resources section where custom Java animations can be imported. One animation file can contain multiple animations, which is also indicated on the list.
Sapling plant type
We are introducing a new plant type - saplings! Yep, now one can make custom saplings with just a few clicks. This also allows one to specify feature that grows from the sapling with quite some configuration around that, allowing things such as big trees and flowered trees.
See an example of two-by-two sapling that usually grows into big/large tree below, just that in our case, it grows into an end portal :D
Texture sprite component type in GUI
A new GUI component type has been added - texture sprite. With it, you can use sprite/tiled texture to show different textures on one region. Combined with procedures, one can make dynamically changing images (e.g. mana bar, progress bar, ...).
GUI component locking
This update adds quite some user experience improvements, and this feature is one of them. With it, you can lock certain components of GUI or overlay from moving, making sure you don't accidentally drag them around.
New fluid visual parameters
Fluids have received some new interesting parameters, including an option to specify overlay texture that is overlaid over the player's view when submerged in the fluid, as well as an option to enable fluid fog, specify fog color, and even specify fog start and end distance, as well as procedurally configure it, allowing for some interesting fog effects.
This will make custom fluids much more immersive, as the fog and overlay texture will neatly complement your custom fluids. See an example below!
Waterloggable plants
We already mentioned plants got a new type, but that is not all. Plants can now be configured to be waterloggable, finally allowing one to make proper underwater plants. We can't wait to see all the new mobs populating the underwater worlds with new fauna.
Data pack test Minecraft client
Starting with Minecraft 1.21.1, MCreator now supports running your test data packs from MCreator itself. No more need for exporting the mod and installing it locally every time you want to test out changes. Instead, now you just click the play button, and Minecraft with your data pack loaded and refreshed in all existing and new saves will be prepared for you by MCreator!
Minecraft game execution CPU and memory monitor
We have reworked the test client experience with a new Minecraft performance monitor, that continuously monitors CPU and memory (RAM) usage of the game, allowing one to quickly identify what game aspects load the computer the most, and will also allow users to identify if recent changes in the mod introduced too much burden to the resources. How cool is that?
Item special info improvements
Item (and block) special info got some improvements. The first one is that now, hard-coded special information entries are translatable. Existing entries will automatically be added to the Localization tab for you to translate. Now, all parts of your mod can be translated!
We have added a new procedure block to add a new line to the string. While this alone may not be that much of a feature, we have also added support for new-line handling in dynamic special info. More below.
This allows one now to have dynamic item special info that extends across multiple lines, allowing multiple lines of dynamic content in the tooltips.
New dimension parameters
We did not forget about dimensions either. We are adding many new parameters to help you make your dimensions more unique. Noise size can now be scaled vertically and horizontally, sea level can be specified, and one can also disable ore veins or aquifers (fluid placers) if needed.
But that is not all, other new parameters were also added: fixed time, coordinate scale, infiniburn blocks tag, use the default/custom effects, has clouds, cloud height, sky type, does sun height affect fog, ambient light, piglin safe, has raids, monster spawn (block) light limit
Referencing 3rd party mod elements in tags
Integrations with 3rd party mods are getting even better. Now, one can reference mod elements such as blocks, items, entities, and more from third-party mods in custom tags. This allows one, for example, to check if a certain entity is of type from an external mod, add items and blocks from 3rd party mods into recipes, and much more!
Music discs merged into item mod element
The music disc mod element was merged into the item mod element. Existing music discs will be converted to items automatically. This change now allows one to make a music disc that can be eaten, has ranged attacks, melee damage, and has inventory for storage, for example :D
Worldgen feature placement generator tool
Have you struggled to make valid placement definitions for your custom features? This is no longer a problem, as MCreator 2024.4 will feature a tool that will allow one to just specify their desired feature placement using a wizard, and it will generate the placement block definition for you. The tool will make sure the blocks are placed in the correct order and with the right values for everything to work as intended.
Potion effect modifiers
Now that custom attributes are a thing, we have added support for specifying attribute modifiers as part of custom potion effects, that are applied for the duration of the effect to the entity that had the effect applied.
Custom creative tab order editor
Now, one can not only specify the order of items in tabs, but the order of the tabs themselves too. Make your mod tab elements organized neater than ever before by having full control over them.
Block state property system improvements
Block state property system has received some upgrades too. MCreator now indicates the number of possible state property combinations, making sure one does not define too many combinations, as this can severely impact the game performance or even crash the game.
We have also made it possible for custom blocks to reference existing pre-defined vanilla block state properties, allowing better cross-mod and vanilla compatibility, as using existing properties ties block better into existing game mechanics.
UI improvements
Last but not least, we have done some small UI and UX improvements across the interface, so it looks a bit prettier and works better with both UIs with background images and without them. Can you spot all these new details?
Release notes
- The music disc mod element type was merged into the item mod element type. Existing mod elements will be converted automatically
- Certain dimension mod element parameters were split into more granular parameters. Existing mod elements will be converted automatically
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, NF 1.21.1] Using slot dependency on certain GUI procedure triggers caused build errors
- [Bugfix] Setting itemstack variables did not work correctly in some cases
- [Bugfix] Java plugin events could trigger after the action they were listening to happened in some cases
- [Bugfix] Index of string procedure block caused build errors in some cases
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):
- Some minor UI and UX improvements
- Added a button to lock custom GUI and overlay components from moving in the WYSIWYG editor
- Added an option to import custom Java model animations
- Added new workspace type: resource pack
- Added vanilla resource pack editor tool that makes it possible to override resource files from the mod
- Added easy-to-use placement generator utility to the feature mod element editor
- Added CPU and memory consumption charts to the Gradle console for mod performance monitoring
- Certain preferences such as project browser state and element sorting are now stored per-workspace
- Added an option to reference mod elements from third-party mods in tags
- Order of custom creative tabs can now be configured
- Added support for a new plant type: sapling
- Added an option to make custom plants waterloggable
- Added option for custom blocks to implement vanilla block state properties
- Added new dimension mod element parameters: fixed time, coordinate scale, infiniburn blocks tag, sea level, generate ore veins, generate aquifers, horizontal/vertical noise size, use the default/custom effects, has clouds, cloud height, sky type, does sun height affect fog, ambient light, piglin safe, has raids, monster spawn (block) light limit
- Added new fluid parameters: has fog, fog color, fog start and end distance, submerged overlay texture
- Potion effects can now specify attribute modifiers that are applied to the entity while the potion is active
- Split custom biome fog and air color into separate parameters
- Added an option to specify animations for custom entities that are conditionally executed by procedures
- Added an option to specify walking animations for custom entities that are optionally conditional
- Added image sprite GUI component type for GUI and overlay mod element types
- Loot table mod element editor now shows suggestions for overriding custom block and entity loot tables
- Item and block special info entries are now translatable
- Item and block special info based on string procedures now support multi-line strings
- Added an option to specify infinite effect duration for potion item mod element
- Added new procedure local variable type: action result
- Added new damage source procedure blocks: return damage source, call procedure and get damage source return value, custom damage source dependency
- Added new text procedure block: new line
- Added new entity procedure blocks: is the entity currently aggressive
- Added new world procedure blocks: for each entity with optional exclusions between two points, get a specific (block/sky) light level
- [DP 1.21.1] Added support for running test Minecraft client with data pack loaded in all worlds
- [Bugfix, NF 1.21.1] Using slot dependency on certain GUI procedure triggers caused build errors
- [Bugfix] Mod element usage finder did not work correctly in some cases
- [Bugfix] Improved debugger startup reliability
- [Bugfix] Setting itemstack variables did not work correctly in some cases
- [Bugfix] Java plugin events could trigger after the action they were listening to happened in some cases
- [Bugfix] It was possible to define more block state property combinations than what Minecraft can handle
- [Bugfix] Index of string procedure block caused build errors in some cases
- [Bugfix] Index of string and string length procedure blocks specified wrong numeric return type
- [Bugfix] Some other minor fixes and improvements
Let us know what is your favorite feature of the update in the comments! All other feedback is very welcome too. 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.
Comments
So upon further checks, "Default" model is animated (same as base entity), so you can do things like change texture of animated model.
However, extra pieces using "custom" models can't be animated, as they would need own animation definitions and conditions for each piece, which is currently not possible.
Hey, I dunno if anyone else has experienced this, but about two major updates ago, projectiles that would explode on touching blocks or entities could be fired with the "Shoot arrow of type" code block without issues of exploding on the player or other. However, since then, items with a procedure to fire multiple projectiles at once for some reason have one projectile go forward, and the rest to launch up into the air at very low velocity in some random direction, and any fired projectiles either by "ranged item properties" or by a procedure would either explode instantly inside the player or explode randomly midair at some arbitrary point. What is causing this? Is this an issue I can fix or can you check up on what's causing this?
Looking forward to updating my fluid mod with this big thanks! I'd love to see more block bases when you guys next get back to it so we have an easy way to make custom slime blocks for example. Connected textures and models would be my second wish if its possible to make. Look forward to seeing what you add next!
I would like to point out that despite scale being a vanilla attribute, which can be seen on the official Minecraft wiki, it is not an option in the attribute modifier selection for custom potion effects. It would be greatly appreciated if the you guys could change this.
Very very nice update ! This is going to make my mod making journey even easier! But is there any way to make block animations without geckolib ?