{"title":"Minecraft: Java Edition 26.1","version":"26.1","type":"release","image":{"title":"26.1_540x540.jpg","url":"/v2/images/26.1540x540.jpg"},"body":"<p>Ready or not, here comes the Tiny Takeover drop! New versions of baby mobs have stormed Minecraft, causing cuteness overload across biomes and builds. Listen out for heart-melting sounds, craft name tags for your pets, and keep babies forever young with the golden dandelion. The babies are officially on the loose, so get ready to collect, coo over, and create chaos with these tiny rascals!<h1>New Features</h1><ul><li>Added new baby sounds for Wolf, Cat, Pig, Horse, and Chicken<li>Added Golden Dandelion<li>Added adult sound variants for the following animals:<ul><li>Cats have one new sound variant<li>Pigs have two new sound variants<li>Cows have one new sound variant<li>Chickens have one new sound variant<li>The original sounds of each animal are used for the variant called <code>classic</code><li>Every one of these animals will have a random sound variant assigned to it from the new variants and the original one</ul><li>Added a trumpet instrument for when using a Note Block that is placed on a Copper Block<ul><li>The sound is different based on the oxidation level of the Copper Block</ul><li>Removed Baby Herobrine</ul><h2>Golden Dandelion</h2><ul><li>The Golden Dandelion is a new type of flower that can be used to stop baby mobs from aging<ul><li>Interacting with a baby mob while holding a Golden Dandelion will stop the mob from aging<ul><li>When aging is stopped, green particles moving downwards will be shown</ul><li>Interacting with a baby mob that has been stopped from aging while holding a Golden Dandelion will cause it to start aging again<ul><li>When aging is started again, green particles moving upwards will be shown</ul><li>It cannot be used on undead baby mobs and baby Villagers</ul><li>Can be crafted using a Dandelion and Gold Nuggets</ul><p><img alt=\"A baby Fox stands amongst a field of Golden Dandelions.\"src=https://launchercontent.mojang.com/v2/images/2618.jpg><h1>Changes</h1><ul><li>Revamped the visuals of most baby mobs<li>Name Tags are now craftable and can be crafted with 1 Paper and 1 of any Metal Nugget<li>Removed Name Tags from loot chests in Ancient Cities and Woodland Mansions<li>Deepslate can now be directly crafted into its cobbled, polished, brick, and tile variants in the Stonecutter<li>Stone can now be directly crafted into cobbled variants in the Stonecutter<li>Updated the Main Menu background panorama<li>Tweaked default JVM options<li>The algorithm that maps block and sky light levels to how bright things appear on screen has been fully rewritten</ul><h2>Baby Mobs</h2><ul><li>Updated the models and textures of the following baby mobs:<ul><li>Cow<li>Mooshroom<li>Sheep<li>Pig<li>Cat<li>Ocelot<li>Wolf<li>Chicken<ul><li>Tweaked the bounding box to align with the new model</ul><li>Rabbit<ul><li>Both adult and baby Rabbits also received new animations<li>Tweaked the bounding box to align with the new model<li>The programmer art Rabbit textures have been removed following the remodeling of the Rabbit</ul><li>Horse<ul><li>Increased the bounding box of baby Horses to better fit the new model</ul><li>Donkey<li>Mule<li>Zombie Horse<ul><li>Increased the bounding box of baby Zombie Horses to better fit the new model</ul><li>Skeleton Horse<ul><li>Increased the bounding box of baby Skeleton Horses to better fit the new model</ul><li>Camel<li>Llama<li>Bee<li>Fox<li>Goat<li>Armadillo<li>Polar Bear<li>Panda<li>Snifflet<li>Dolphin<li>Squid<ul><li>Increased the bounding box of baby Squid to better fit the new model</ul><li>Glow Squid<ul><li>Increased the bounding box of baby Glow Squid to better fit the new model</ul><li>Turtle<li>Axolotl<ul><li>Increased the bounding box of baby Axolotls to better fit the new model</ul><li>Strider<li>Hoglin<li>Zoglin<li>Zombie<ul><li>Increased the bounding box of baby Zombies to better fit the new model</ul><li>Husk<ul><li>Increased the bounding box of baby Husks to better fit the new model</ul><li>Drowned<ul><li>Increased the bounding box of baby Drowned to better fit the new model</ul><li>Piglin<ul><li>Increased the bounding box of baby Piglins to better fit the new model</ul><li>Zombified Piglin<ul><li>Increased the bounding box of baby Zombified Piglins to better fit the new model</ul><li>Villager<ul><li>Increased the bounding box of baby Villagers to better fit the new model</ul><li>Zombie Villager<ul><li>Increased the bounding box of baby Zombie Villagers to better fit the new model</ul></ul><li>Baby Cats are now scaled up to be the same size as baby Ocelots<li>Baby Horses are now scaled up slightly<li>Baby Polar Bears no longer attack Foxes<li>Adult Horses' Blackdot markings were updated to be visually closer to the new baby Horse markings<li>Small Armor Stands now display correctly by using the adult armor and scaling it down<li>Armor on baby Wolves will no longer render<li>Saddles on baby Pigs and baby Camels will no longer render<li>Camel Husks no longer have a baby model</ul><p><img alt=\"A stack of baby mobs. A warm Chicken on top of a black Cat on top of a woods Wolf on top of a Donkey.\"src=https://launchercontent.mojang.com/v2/images/26111.jpg><h2>Trades</h2><ul><li>The trades that are unlocked by Villager professions are now generated using deterministic random sequences, like loot drops and barter loot<ul><li>Re-rolling a Villager's trades still produces a randomized sequence of trades, but that sequence is now determined by the world seed</ul><li>Master Librarians no longer offer Name Tags<li>Master Librarians now offer Red Candles and Yellow Candles for the price of three Emeralds<li>Master Librarians now have three available trades to ensure that an Enchanted Book trade is always offered when using the Rebalance experiment<li>The Wandering Trader will now offer Name Tags for the price of one Emerald</ul><p><img alt=\"A Swamp Librarian and an unemployed Swamp Villager are looking at each other in front of a Lectern in a Swamp.\"src=https://launchercontent.mojang.com/v2/images/2615.jpg><h2>Minor Tweaks to Blocks, Items and Entities</h2><ul><li>Striders now correctly inherit the warmth of the Strider they are standing on, matching Bedrock<li>Zombie Horses no longer panic when hurt<li>Updated the dismount speed thresholds for Spears to match Bedrock<li>The Tripwire texture is now rendered as alpha cutout instead of transparent</ul><h2>Lightmap Algorithm Changes</h2><ul><li>The new algorithm mostly provides the same overall results as before, but:<ul><li>It is simpler and more straightforward, and fixes multiple issues of the previous one, as listed in the Fixed Bugs section below<li>The Darkness effect and world darkening effect of the Wither fight now work the same way in all dimensions<li>The Night Vision effect now simply adds ambient light instead of scaling the resulting colors<ul><li>This means that fully dark areas no longer look brighter than areas lit by block or sky light</ul><li>More aspects of the algorithm such as block light tint, ambient light color and night vision color are now data-driven through environment attributes, as described in the Data Pack section below</ul></ul><h2>UI</h2><ul><li>Along with large changes to the world data format in this release, worlds that need to be upgraded will now show <code>Upgrade and Play</code> instead of <code>Play Selected World</code>, and the <code>Edit World</code> and <code>Re-Create World</code> buttons are disabled until the world has been upgraded<ul><li>A new screen has been added to show upgrading progress</ul><li>Changes were made to how the chat screen is handled when it's restricted by settings<li>Input Method Editor (IME) candidates will now be shown in-game (on supported platforms, currently Windows and macOS) above the currently edited text field<ul><li>The game will try to restore the last IME status when any text field is selected<li>If no text input is selected, IME input will be canceled and the status will not be updated</ul><li>Added a new display option called \"Exclusive Fullscreen\" which controls if fullscreen mode should take full control of a monitor<ul><li>Defaults to <code>false</code> (i.e. non-exclusive mode)<li>Any change will be applied only after the game restarts<li>Warning: exclusive fullscreen mode might prevent use of input methods (IME)</ul></ul><p><img alt=\"Two Rabbits of different types are sitting up in a Cherry Grove.\"src=https://launchercontent.mojang.com/v2/images/2617.jpg><h3>Debug Screen</h3><ul><li>The <code>looking_at_block</code> and <code>looking_at_fluid</code> debug entries no longer show tags<li>New debug entries have been added:<ul><li><code>looking_at_block_tags</code><li><code>looking_at_fluid_tags</code><li><code>looking_at_entity_tags</code><li><code>sound_cache</code></ul><li>Renamed debug entries:<ul><li><code>looking_at_block</code> -> <code>looking_at_block_state</code><li><code>looking_at_fluid</code> -> <code>looking_at_fluid_state</code></ul><li>A <code>day_count</code> debug entry has been split from <code>local_difficulty</code><li>Added a new entry <code>detailed_memory</code> with additional information about used memory<li>A new lightmap debug renderer can be enabled using the <code>F3 + 4</code> keybind</ul><h4>Lightmap Debug Renderer</h4><ul><li>A new debug renderer for the lightmap was added, which can be enabled using the <code>F3 + 4</code> keybind<li>It is mutually exclusive with the FPS/TPS and networking charts<li>It shows the lightmap texture in real time in the bottom right corner of the screen<li>The vertical axis of the texture represents sky light levels (0-15 from bottom to top)<li>The horizontal axis of the texture represents block light levels (0-15 from left to right)<li>The color of each pixel represents the resulting color that will be applied to blocks and entities lit with the corresponding block and sky light levels</ul><p><img alt=\"An underwater view of a few baby Squid which are swimming in a River.\"src=https://launchercontent.mojang.com/v2/images/26110.jpg><h3>World Options</h3><ul><li>The difficulty button in the pause menu has been replaced with a button leading to a new screen - World Options<li>The World Options screen contains the difficulty button as well as a button for changing Game Rules<ul><li>The Game Rules screen is available for all operators and otherwise disabled</ul></ul><h3>Game Rules</h3><ul><li>A search bar has been added to the top of the Game Rules screen, both in-game and in the world creation menu<ul><li>The search bar will select Game Rules based on id, name, category, and description</ul></ul><h3>Chat</h3><ul><li>The chat screen can now always be opened, even when chatting is restricted by settings<ul><li>When the chat screen is open, specific actions and message types may still be restricted<li>Information about the restrictions (if there are any) is displayed on top of the chat box and above the chat input when the chat screen is open<li>The same information can also be accessed in the World Settings screen</ul><li>Chat entries from client actions like taking screenshots will now be displayed even when messages from Players and servers are restricted<li>Changing chat settings will now hide all messages of restricted types and discard any new ones<li>The handling of chat messages on a published local server is now more consistent with dedicated servers in regard to chat settings</ul><p><img alt=\"A pen of many baby Chickens and two adult Chickens is shown inside of a Plains Village. There&#39s a Cherry Grove in the background.\"src=https://launchercontent.mojang.com/v2/images/2616.jpg><h2>Creative Mode</h2><ul><li>Using Ctrl + Pick input as an operator on Players and Mannequins will now show the same results as executing the <code>/fetchprofile</code> command for this entity would</ul><h2>Default JVM Options</h2><ul><li>The game now allocates 4 GB of RAM by default (up from 2 GB)<li>Garbage collection has been changed from G1GC to ZGC for compatible devices</ul><blockquote><p><strong>Developer's Note</strong>: <em>The default memory allocation has been bumped from 2GB to 4GB to make the game run smoother and reduce stutters. Furthermore, with generational ZGC, you should see a more stable framerate – especially when operating memory heavy tasks. If you're running Minecraft on a machine with less than 4GB of RAM – please refer to <a href=https://help.minecraft.net/hc/en-us/articles/39083573916941-Fix-Minecraft-Java-Edition-Game-Crashes-by-Checking-Memory-Allocation rel=\"noopener noreferrer\"target=_blank>this help article</a>. If you want to change the garbage collector – please refer to <a href=https://help.minecraft.net/hc/en-us/articles/41950300066573-Change-the-Garbage-Collector-for-Minecraft-Java-Edition rel=\"noopener noreferrer\"target=_blank>this help article</a>. Third-party launchers may not support these changes.</em></blockquote><h1>Technical Changes</h1><ul><li>The Data Pack version is now 101.1<li>The Resource Pack version is now 84<li>Game executables are no longer obfuscated - see <a href=https://www.minecraft.net/en-us/article/removing-obfuscation-in-java-edition rel=\"noopener noreferrer\"target=_blank>this Minecraft.net article</a> for more details<li>If a server's disk space is low, a toast will now be shown to server operators<li>The game now requires Java 25<li>The included Java distribution is now the Microsoft build of OpenJDK 25<li>The report generator for item components has been renamed to \"Default Components\" and now outputs one file for each element that has default components<li>The file structure of how worlds and their data are stored has been changed<li>The internals of how chunk geometry data is stored in GPU memory and how they are rendered have been changed<li>The game will now save all data once after the world has finished loading/the server has started up</ul><blockquote><p><strong>Developer's Note</strong>: <em>If you experience any visual bugs, performance degradation or crashes, please report it to us on our <a href=https://bugs.mojang.com rel=\"noopener noreferrer\"target=_blank>bug tracker</a>.</em></blockquote><h2>World Storage</h2><ul><li>All default dimensions are now stored in the <code>dimensions</code> subfolder<ul><li>Data for the Overworld has been moved from the root folder to <code>dimensions/minecraft/overworld</code><ul><li>This includes the <code>region</code>, <code>entities</code>, and <code>poi</code> folders, as well as related files out of <code>data</code></ul><li>Data for the Nether has been moved from <code>DIM-1</code> to <code>dimensions/minecraft/the_nether</code><li>Data for the End has been moved from <code>DIM1</code> to <code>dimensions/minecraft/the_end</code><li>The top level <code>data</code> folder is now only for data shared across dimensions instead of also for the Overworld</ul><li>Player storage has been moved to the <code>players</code> subdirectory<ul><li><code>advancements</code> -> <code>players/advancements</code><li><code>playerdata</code> -> <code>players/data</code><li><code>stats</code> -> <code>players/stats</code></ul><li>The world resource pack (<code>resources.zip</code>) has been moved to the <code>resourcepacks</code> subdirectory<li>Data saved in the <code>data</code> folder is now namespaced<ul><li>This means that all that data will now be stored in a namespace subfolder in the corresponding <code>data</code> folder<ul><li>All existing vanilla data files have been moved accordingly<li>Example: <code>data/scoreboard.dat</code> -> <code>data/minecraft/scoreboard.dat</code></ul><li>Command storage is now stored in namespace subfolders instead of having a namespace suffix<ul><li>Example: <code>data/command_storage_foo.dat</code> -> <code>data/foo/command_storage.dat</code></ul><li><code>chunks.dat</code> has been renamed to <code>chunk_tickets.dat</code><li>Data for maps is now stored in the <code>data/minecraft/maps</code> subfolder<ul><li>Map index files have been renamed to only the number<ul><li>Example: <code>map_1.dat</code> -> <code>1.dat</code></ul><li><code>idcounts.dat</code> has been renamed to <code>last_id.dat</code></ul><li>There is no more <code>raids_end.dat</code> special case<ul><li>The End now uses <code>raids.dat</code> as well</ul></ul><li>Structures saved by Structure Blocks have been moved from <code>generated/namespace/structures</code> to <code>generated/namespace/structure</code></ul><h3>Changes to <code>level.dat</code></h3><ul><li>The <code>Player</code> tag has been replaced with a <code>singleplayer_uuid</code> tag, referencing the player data file to use<li>Difficulty-related settings have been moved into a <code>difficulty_settings</code> tag<ul><li><code>Difficulty</code> is renamed to <code>difficulty</code> and is now a string instead of an integer<ul><li>Allowed values:<ul><li><code>peaceful</code><li><code>easy</code><li><code>normal</code><li><code>hard</code></ul></ul><li><code>DifficultyLocked</code> is renamed to <code>locked</code></ul><li>Data for the Ender Dragon fight has been moved out to the data folder<ul><li>It can now be found at <code>dimensions/minecraft/the_end/data/minecraft/ender_dragon_fight.dat</code><li>The Ender Dragon fight can be activated in other dimensions, see the Dimension Types section below<li>Data changes:<ul><li><code>NeedsStateScanning</code> has been renamed to <code>needs_state_scanning</code><li><code>DragonKilled</code> has been renamed to <code>dragon_killed</code><li><code>PreviouslyKilled</code> has been renamed to <code>previously_killed</code><li><code>IsRespawning</code> has been replaced by <code>respawn_stage</code><ul><li>Allowed values:<ul><li><code>start</code><li><code>preparing_to_summon_pillars</code><li><code>summoning_pillars</code><li><code>summoning_dragon</code><li><code>end</code></ul></ul><li><code>Dragon</code> has been renamed to <code>dragon_uuid</code><li><code>ExitPortalLocation</code> has been renamed to <code>exit_portal_location</code><li><code>Gateways</code> has been renamed to <code>gateways</code><li>Added <code>respawn_time</code> - the time in ticks that has elapsed since the current stage of the respawn sequence started<li>Added <code>respawn_crystals</code> - a list of UUIDs for the End Crystals used to trigger the respawn sequence</ul></ul><li>Wandering Trader data has been moved out to the data folder<ul><li>It can now be found at <code>data/minecraft/wandering_trader.dat</code><li>Data changes:<ul><li><code>WanderingTraderId</code> has been removed<li><code>WanderingTraderSpawnChance</code> has been renamed to <code>spawn_chance</code><li><code>WanderingTraderSpawnDelay</code> has been renamed to <code>spawn_delay</code></ul></ul><li><code>CustomBossEvents</code> has been moved to the data folder<ul><li>It can now be found at <code>data/minecraft/custom_boss_events.dat</code></ul><li>Weather-related data has been moved to the data folder<ul><li>It can now be found at <code>data/minecraft/weather.dat</code><li>Data changes:<ul><li><code>clearWeatherTime</code> has been renamed to <code>clear_weather_time</code><li><code>rainTime</code> has been renamed to <code>rain_time</code><li><code>thunderTime</code> has been renamed to <code>thunder_time</code></ul></ul><li><code>ScheduledEvents</code> has been moved out to the data folder<ul><li>It can now be found at <code>data/minecraft/scheduled_events.dat</code><li>Data changes:<ul><li><code>Name</code> has been renamed to <code>id</code><li><code>TriggerTime</code> has been renamed to <code>trigger_time</code><li><code>Callback</code> has been renamed to <code>callback</code><ul><li><code>Type</code> has been renamed to <code>type</code><li><code>Name</code> has been renamed to <code>id</code></ul></ul></ul><li><code>game_rules</code> has been moved out to the data folder<ul><li>It can now be found at <code>data/minecraft/game_rules.dat</code></ul><li><code>WorldGenSettings</code> has been moved out to the data folder<ul><li>It can now be found at <code>data/minecraft/world_gen_settings.dat</code><li>Data changes:<ul><li><code>generate_features</code> has been renamed to <code>generate_structures</code></ul></ul><li><code>world_clocks</code> has been moved out to the data folder<ul><li>It can now be found at <code>data/minecraft/world_clocks.dat</code></ul></ul><p><img alt=\"An underwater view of a school of Cod and a few Dolphins swimming around.\"src=https://launchercontent.mojang.com/v2/images/2612.jpg><h1>Data Pack Versions 95 through 101.1</h1><ul><li>Added data-driven World Clocks<li>Added data-driven registry for Villager trades<li>Added data-driven registry for sound variants for Pig, Cat, Cow, and Chicken<li>Changed the syntax of some custom recipe fields<li>Added new block, fluid, item, entity, enchantment, potion, and configured feature tags</ul><h2>World Clocks</h2><p>World Clocks contain an internal time that increases every tick. They can be defined in data packs under the <code>world_clock</code> registry (found under <code>data/&#60namespace>/world_clock/&#60id>.json</code>)<ul><li>World Clocks can be paused or resumed, and the time of the clock can be changed or queried from the <code>time</code> command<li>Format: object with no fields</ul><h2>Timelines</h2><ul><li>Added a <code>clock</code> field: a World Clock ID, specifies which World Clock the timeline is tied to<ul><li>This field is required, but to match previous behavior the <code>minecraft:overworld</code> clock can be used</ul><li>Added an optional <code>time_markers</code> field, an optional map between namespaced Time Marker IDs and either an integer or a Time Marker object,<ul><li>Format:<ul><li>Non-negative integer, the tick that the time marker marks<li>Or object with fields:<ul><li><code>ticks</code> - Integer between <code>0</code> and <code>period_ticks</code>, the tick that the Time Marker marks<li><code>show_in_commands</code> - optional boolean, specifies whether the Time Marker will show up in command suggestions<ul><li>Default: <code>false</code></ul></ul></ul></ul></ul><h3>Time Markers</h3><p>Time Markers assign a particular name to a specific (optionally repeating) point in time for a specific World Clock. Time Markers replace the previously predetermined names that could be used by <code>/time set</code>, for example <code>day</code> or <code>night</code>.<p>Time Markers will exist within the context of a specific World Clock. This means that even though the different Time Markers are defined by different Timelines, only one Time Marker can exist with a particular id for a particular World Clock. It also means that two World Clocks can have a Time Marker with the same name.<h3>Built-in uses of Time Markers</h3><p>Some Time Markers are used to drive Vanilla game behavior. Usually, they are configured to not show up in <code>/time</code> commands.<ul><li><code>minecraft:wake_up_from_sleep</code> - the time to advance the dimension's default clock to when Players in that dimension wake up after sleeping<li><code>minecraft:roll_village_siege</code> - the time of the dimension's default clock at which the random chance for a Zombie Village siege to occur should be evaluated</ul><h2>Environment Attributes</h2><h3>Added <code>minecraft:visual/block_light_tint</code></h3><p>Tint of the block light. Block light color starts as dark gray at low light levels, becomes tinted by this attribute at medium levels, and turns white at high levels. By default, it provides the yellowish tint of torches. Bright colors work best for this attribute, with at least one color component being fully bright. The tint applies globally to all light sources visible on the screen. Individual lights cannot be tinted differently.<ul><li>Value type: RGB color<li>Default value: <code>#FFD88C</code><li>Modifiers: RGB Color Modifiers<li>Interpolated: yes<li>Resolved at the camera's position</ul><h3>Added <code>minecraft:visual/ambient_light_color</code></h3><p>Defines both the ambient light tint and brightness. This light is applied to the world at 0 light level. Block and sky light are added on top of it.<ul><li>Value type: RGB color<li>Default values: <code>#0A0A0A</code> for the Overworld, <code>#302821</code> for the Nether, <code>#3f473f</code> for the End<li>Modifiers: RGB Color Modifiers<li>Interpolated: yes<li>Resolved at the camera's position</ul><h3>Added <code>minecraft:visual/night_vision_color</code></h3><p>This color is used similarly to ambient light color. When the Night Vision effect is active, the per-component maximum of <code>minecraft:visual/night_vision_color</code> and <code>minecraft:visual/ambient_light_color</code> is used as the ambient color. Night Vision is not tinted by default.<ul><li>Value type: RGB color<li>Default value: <code>#999999</code><li>Modifiers: RGB Color Modifiers<li>Interpolated: yes<li>Resolved at the camera's position</ul><h3>Changed <code>minecraft:gameplay/turtle_egg_hatch_chance</code></h3><ul><li>Now has a default value of <code>0.002</code></ul><h2>Data-driven Villager Trades</h2><p>Trades offered by Villagers and Wandering Traders are now data-driven and can be customized by data pack developers<h3>Villager Trades</h3><ul><li>Present in the <code>villager_trade</code> folder, represents a blueprint for trades which is used by Villagers and Wandering Traders to generate actual trades<li>Entry Format:<ul><li><code>wants</code> - Object, represents an item type and number of them needed to trade<ul><li><code>id</code> - String, the id of the item<li><code>count</code> - optional number provider, how many of the item is needed for the trade<ul><li>Defaults to a constant <code>1</code></ul><li><code>components</code> - optional component map, the expected data components on the item<ul><li>Defaults to an empty map</ul></ul><li><code>additional_wants</code> - optional object, an additional item required by the merchant, has the same format as <code>wants</code><li><code>gives</code> - Item Stack, the resulting item given by the merchant when trading<ul><li>Uses the existing format for Item Stacks</ul><li><code>given_item_modifiers</code> - optional list of Item Modifiers, modifiers to apply to the item in <code>gives</code> such as enchantments or potions, used to add dynamism to the trade rather than hardcoding certain values<ul><li>Uses the existing format for Item Modifiers (also known as loot modifiers, item functions, loot functions...)<li>If any of these returns an empty item the entire trade will be discarded<li>Item Modifier references are not yet supported<li>If the final item has a <code>stored_enchantment</code> component containing an enchantment in the <code>#double_trade_price</code> tag, then the count of <code>wants</code> is doubled</ul><li><code>max_uses</code> - optional number provider, the maximum number of times a trade may be used<ul><li>Is set to <code>1</code> if the number provider returns a lower value<li>Defaults to a constant <code>4</code></ul><li><code>reputation_discount</code> - number provider, how much factors such as demand, discounts, or penalties affect the cost represented by <code>wants</code><ul><li>Is set to <code>0.0</code> if the number provider returns a lower value<li>Defaults to a constant <code>0.0</code></ul><li><code>xp</code> - optional number provider, the amount of xp a merchant gets when the trade is done<ul><li>Is set to <code>0</code> if the number provider returns a lower value<li>Defaults to a constant <code>1</code></ul><li><code>merchant_predicate</code> - Predicate, conditions on the merchant that need to be met for the trade to be offered<ul><li>Uses the existing format for Predicates (also known as loot conditions)<li>Predicate references are not yet supported</ul><li><code>double_trade_price_enchantments</code> - optional enchantment id, list of namespaced enchantment IDs, or hash-prefixed enchantment tag representing enchantments that will double the additional cost from <code>minecraft:enchant_randomly</code> and <code>minecraft:enchant_with_levels</code> if they have <code>include_additional_cost_component</code> set to <code>true</code> and if the item has one of the provided values in its <code>minecraft:stored_enchantments</code> component</ul></ul><p>An example trade of an Emerald and a Book for an Enchanted Book offered only by Desert Villagers<pre><code>{\n  \"additional_wants\": {\n    \"id\": \"minecraft:book\"\n  },\n  \"double_trade_price_enchantments\": \"#minecraft:double_trade_price\",\n  \"given_item_modifiers\": [\n    {\n      \"function\": \"minecraft:enchant_randomly\",\n      \"include_additional_cost_component\": true,\n      \"only_compatible\": false,\n      \"options\": \"#minecraft:trades/desert_common\"\n    },\n    {\n      \"function\": \"minecraft:filtered\",\n      \"item_filter\": {\n        \"items\": \"minecraft:enchanted_book\",\n        \"predicates\": {\n          \"minecraft:stored_enchantments\": [\n            {}\n          ]\n        }\n      },\n      \"on_fail\": {\n        \"function\": \"minecraft:discard\"\n      }\n    }\n  ],\n  \"gives\": {\n    \"count\": 1,\n    \"id\": \"minecraft:enchanted_book\"\n  },\n  \"max_uses\": 12.0,\n  \"merchant_predicate\": {\n    \"condition\": \"minecraft:entity_properties\",\n    \"entity\": \"this\",\n    \"predicate\": {\n      \"predicates\": {\n        \"minecraft:villager/variant\": \"minecraft:desert\"\n      }\n    }\n  },\n  \"reputation_discount\": 0.2,\n  \"wants\": {\n    \"id\": \"minecraft:emerald\"\n  }\n}\n</code></pre><h3>Trade Sets</h3><ul><li>Present in the <code>trade_set</code> folder, they're groupings of trades offered by Villagers and Wandering Traders<li>We currently only have hardcoded ones available in <code>&#60profession>/level_&#60level></code> for Villagers, as well as <code>wandering_trader/buying</code>, <code>wandering_trader/special</code>, <code>wandering_trader/common</code> for Wandering Traders<li>Entry Format:<ul><li><code>trades</code> - Villager trade id, list of namespaced Villager trade IDs, or hash-prefixed Villager trade tag representing the trades that are part of this trade set<li><code>amount</code> - Number provider, the amount of trades to be generated from this set when used<ul><li>If the generated number is greater than the number of available <code>trades</code> then it will only generate until all <code>trades</code> have been used once, unless <code>allow_duplicates</code> is set to <code>true</code></ul><li><code>allow_duplicates</code> - Boolean, representing if the trade set can use the same Villager Trade multiple times to generate trades<ul><li>Defaults to <code>false</code></ul><li><code>random_sequence</code> - optional named random sequence, determines which trades are generated<ul><li>Defaults to a non-deterministic random sequence</ul></ul></ul><p>An example trade set offering 2 trades from the <code>#minecraft:armorer/level_1</code> tag, allowing duplicates<pre><code>{\n  \"amount\": 2.0,\n  \"trades\": \"#minecraft:armorer/level_1\",\n  \"random_sequence\": \"minecraft:trade_set/armorer/level_1\",\n  \"allow_duplicates\": true\n}\n</code></pre><h2>Mob Variants</h2><h3>Cat Sound Variants</h3><ul><li>Cat sound variants can be data-driven by adding entries to <code>data/&#60namespace>/cat_sound_variant/&#60id>.json</code><li>The file contains two sound sets defining <code>adult_sounds</code> and <code>baby_sounds</code><li>Each sound set contains the following fields which correspond to sound events used for the specific behavior:<ul><li><code>ambient_sound</code><li><code>stray_ambient_sound</code><li><code>hiss_sound</code><li><code>hurt_sound</code><li><code>death_sound</code><li><code>eat_sound</code><li><code>beg_for_food_sound</code><li><code>purr_sound</code><li><code>purreow_sound</code></ul></ul><h3>Pig Sound Variants</h3><ul><li>Pig sound variants can be data-driven by adding entries to <code>data/&#60namespace>/pig_sound_variant/&#60id>.json</code><li>The file contains two sound sets defining <code>adult_sounds</code> and <code>baby_sounds</code><li>Each sound set contains the following fields which correspond to sound events used for the specific behavior:<ul><li><code>ambient_sound</code><li><code>hurt_sound</code><li><code>death_sound</code><li><code>step_sound</code><li><code>eat_sound</code></ul></ul><h3>Cow Sound Variants</h3><ul><li>Cow sound variants can be data-driven by adding entries to <code>data/&#60namespace>/cow_sound_variant/&#60id>.json</code><li>Each sound variant contains the following fields which correspond to sound events used for the specific behavior:<ul><li><code>ambient_sound</code><li><code>hurt_sound</code><li><code>death_sound</code><li><code>step_sound</code></ul></ul><h3>Chicken Sound Variants</h3><ul><li>Chicken sound variants can be data-driven by adding entries to <code>data/&#60namespace>/chicken_sound_variant/&#60id>.json</code><li>The file contains two sound sets defining <code>adult_sounds</code> and <code>baby_sounds</code><li>Each sound set contains the following fields which correspond to sound events used for the specific behavior:<ul><li><code>ambient_sound</code><li><code>hurt_sound</code><li><code>death_sound</code><li><code>step_sound</code></ul></ul><h3>Wolf Sound Variants</h3><ul><li>All sound event fields have been moved into a new object in the field <code>adult_sounds</code><ul><li>Added a new <code>baby_sounds</code> field with the same fields</ul></ul><h2>Commands</h2><ul><li>Villager and Piglin inventory slots can now only be accessed using <code>mob.inventory.*</code><ul><li><code>villager.*</code> and <code>piglin.*</code> have been removed</ul></ul><h3>Added <code>swing</code></h3><ul><li>New command that enables swinging of entities' arms<li>Not all entities support the swing animation - <code>swing</code> will still succeed for those entities, but clients will only display it when possible<li>For example, this makes it possible to swing Mannequins' arms<li>Returns the amount of entities for which a swing was sent</ul><p>Syntax: <code>/swing [&#60target>] [&#60hand>]</code><p>Arguments:<ul><li><code>target</code> - Entity selector, the entity to swing<ul><li>If not present, defaults to <code>@s</code></ul><li><code>hand</code> - String, which hand to swing, one of <code>mainhand</code>, <code>offhand</code><ul><li>If not present, defaults to <code>mainhand</code></ul></ul><h3>Changes to <code>time</code></h3><ul><li>The <code>time</code> command is now based on World Clocks<ul><li>A clock can be optionally specified as an input for the time command with <code>time of &#60clock> ...</code><li>If the clock is not specified (<code>/time ...</code> as before), the default clock for the dimension is used</ul><li>The return value (e.g. from <code>/execute store</code>) from the <code>set</code> and <code>add</code> subcommands is now the total elapsed ticks of the clock instead of the current time of day<li>A new <code>rate</code> subcommand has additionally been added that can modify the speed at which a World Clock advances</ul><p>Syntax:<ul><li><code>time [of &#60clock>] set &#60time></code> - sets the total elapsed ticks of the clock<li><code>time [of &#60clock>] set &#60timemarker></code> - advances the clock forward to the next occurrence of the Time Marker<ul><li>For the <code>minecraft:overworld</code> clock, the available Time Markers are: <code>day</code>, <code>noon</code>, <code>night</code>, and <code>midnight</code></ul><li><code>time [of &#60clock>] add &#60time></code> - adds ticks to the clock, can be a negative or a positive number<li><code>time [of &#60clock>] pause</code> - pauses the clock<li><code>time [of &#60clock>] resume</code> - resumes the clock<li><code>time [of &#60clock>] rate &#60rate></code> - sets the rate multiplier at which the clock should advance<ul><li>Note: this only changes the rate at which the World Clock and any Timelines dependent on it advance their internal timers<ul><li>For example, in the case of the <code>minecraft:overworld</code> clock, the day/night cycle will pass quicker with a larger value, but actual game simulation will not speed up (as would happen with <code>/tick rate</code>)</ul><li>A <code>rate</code> of <code>1</code> corresponds to normal speed<li><code>rate</code> is a float between <code>0</code> (exclusive) and <code>1000</code> (inclusive)</ul><li><code>time [of &#60clock>] query &#60timeline></code> - displays and returns the current number of ticks within the Timeline's period<li><code>time [of &#60clock>] query &#60timeline> repetitions</code> - displays and returns the number of times the Timeline's period has repeated<li><code>time [of &#60clock>] query time</code> - displays and returns the total elapsed ticks of the clock<li><code>time query gametime</code> - as before, the total elapsed ticks within the world (unaffected by changes made to clocks using <code>/time</code>)</ul><h3>Changes to <code>/fetchprofile</code></h3><ul><li>Added a new <code>entity</code> subcommand that will print profile information from an entity in the world<ul><li>Syntax: <code>/fetchprofile entity &#60single entity selector></code><li>If the targeted entity does not have a profile (currently only Players and Mannequins do), this command will fail<li>Note that the profile is shown as is - no additional resolving is done</ul></ul><h2>Game Test Environments</h2><h3>Added <code>timeline_attributes</code> definition</h3><ul><li>Allows setting any number of Timelines on the Environment</ul><p>Format:<ul><li><code>timelines</code> - a list of timelines to set</ul><h3>Replaced <code>time_of_day</code> with <code>clock_time</code></h3><ul><li>Added a new required field <code>clock</code> - World Clock ID, the clock within which to set time (from the existing <code>time</code> field)</ul><h2>Data Components</h2><h3>Added <code>minecraft:additional_trade_cost</code></h3><ul><li>Transient component used to modify the <code>count</code> needed of the <code>gives</code> item in a Villager trade<li>Is removed after a trade has been generated<li>Format: integer</ul><h3>Added <code>minecraft:dye</code></h3><ul><li>Represents a color of dye<li>Used in various places that previously required the exact dye item, including mob and block interactions<ul><li>Note: the presence of this component itself does not enable functionality. The item has to be explicitly allowed for the given functionality, for example by adding it to tags or changing recipe ingredients</ul><li>Format: one of <code>white</code>, <code>orange</code>, <code>magenta</code>, <code>light_blue</code>, <code>yellow</code>, <code>lime</code>, <code>pink</code>, <code>gray</code>, <code>light_gray</code>, <code>cyan</code>, <code>purple</code>, <code>blue</code>, <code>brown</code>, <code>green</code>, <code>red</code>, <code>black</code></ul><h3>Changed <code>minecraft:provides_banner_patterns</code></h3><ul><li>The component now also accepts an ID or a list of IDs in addition to a tag</ul><h3>Changed <code>minecraft:blocks_attacks</code></h3><ul><li>The field <code>bypassed_by</code> now also accepts an ID or a list of IDs in addition to a tag</ul><h3>Changed <code>minecraft:damage_resistant</code></h3><ul><li>The field <code>types</code> now also accepts an ID or a list of IDs in addition to a tag</ul><h2>Entity Data</h2><ul><li>The <code>current_explosion_impact_pos</code> and <code>current_impulse_context_reset_grace_time</code> fields from Players have been added to all mobs and the Armor Stand<li>The <code>ignore_fall_damage_from_current_explosion</code> field on Players has been removed</ul><h2>Block States</h2><ul><li>The <code>rotation</code> property in the default block state of Banners and Signs has been changed from <code>0</code> to <code>8</code></ul><blockquote><p><strong>Developer's Note</strong>: The default block state is used in very few contexts, most notably <code>/setblock</code> without any properties. This change was done to align the default orientation of those blocks with other ones (like Skulls or Dispensers)</blockquote><h2>Loot Functions</h2><ul><li>Added <code>minecraft:villager_trade</code> loot table type which takes the following parameters:<ul><li><code>this</code> - the entity offering the trade<li><code>origin</code> - the block position of the entity at its feet</ul></ul><h3>Changed <code>minecraft:furnace_smelt</code></h3><ul><li>Added boolean field <code>use_input_count</code> (default: <code>true</code>)<ul><li>If set to <code>true</code>, the output of the smelting recipe will be multiplied by the number of input items</ul></ul><h3>Added <code>minecraft:set_random_dyes</code></h3><ul><li>Additively adds dyes to an item's <code>minecraft:dyed_color</code> data component</ul><p>Format: object with fields:<ul><li><code>conditions</code> - list of conditions, conditions for the function to apply<li><code>number_of_dyes</code> - Number provider, the number of random dyes out of sixteen to apply to the item<ul><li>The same dye might be selected repeatedly</ul></ul><h3>Added <code>minecraft:set_random_potion</code></h3><ul><li>Randomly sets the <code>minecraft:potion_contents</code> data component on an item</ul><p>Format: object with fields:<ul><li><code>conditions</code> - list of conditions, conditions for the function to apply<li><code>options</code> - optional potion id, list of namespaced potion IDs, or hash-prefixed potion tag, the possible potions to select from<ul><li>Defaults to any potion in the <code>potions</code> registry</ul></ul><h3>Changed <code>minecraft:enchant_with_levels</code></h3><p>Now also takes the following field:<ul><li><code>include_additional_cost_component</code> - optional boolean, representing if an <code>minecraft:additional_cost_component</code> should be added to the item based on the cost of the enchantment<ul><li>Defaults to <code>false</code><li>The value is determined by the <code>levels</code> number provider and is the same that is used to determine what enchantment level is used for enchanting</ul></ul><h3>Changed <code>minecraft:enchant_randomly</code></h3><p>Now also takes the following field:<ul><li><code>include_additional_cost_component</code> - optional boolean, representing if an <code>minecraft:additional_cost_component</code> should be added to the item based on the cost of the enchantment<ul><li>Defaults to <code>false</code><li>The value is determined by the value selected by <code>levels</code> or its default value using the following formula: <code>2 + random(0, 5 + level * 10) + 3 * level</code></ul></ul><h3>Changed <code>minecraft:set_instrument</code></h3><ul><li>The <code>options</code> field now also accepts an ID and a list of IDs in addition to a tag</ul><h2>Predicates</h2><h3>Loot Predicates</h3><h3>Added <code>minecraft:environment_attribute_check</code></h3><p>Exactly matches the value of an Environment Attribute at a given position. Note: this predicate requires a context with an <code>origin</code> position set as long as the Environment Attribute can vary positionally.<p>Format: object with fields:<ul><li><code>attribute</code> - Environment Attribute ID to test<li><code>value</code> - Exact value of the Environment Attribute to match<li>e.g. <code>{condition: 'environment_attribute_check', attribute: 'gameplay/piglins_zombify', value: true}</code></ul><h3>Changed <code>minecraft:time_check</code></h3><ul><li>Added <code>clock</code> field: a World Clock ID, specifies which World Clock the time check should be done for</ul><h3>Entity Predicates</h3><h4><code>player</code> Sub-Predicate</h4><ul><li>New optional field: <code>food</code> - A Food predicate<li>Format: object with fields:<ul><li><code>level</code> - optional integer, min/max range specifying the required food level<li><code>saturation</code> - optional float, min/max range specifying the required saturation level</ul></ul><h2>Number Providers</h2><h3>Added <code>minecraft:sum</code></h3><ul><li>Returns the sum of a list of number providers Format:<li><code>summands</code> - a list of number providers</ul><h3>Added <code>minecraft:environment_attribute</code></h3><p>Fetches and provides the value of an Environment Attribute (that can be represented as a number). Note: this provider requires a context with an <code>origin</code> position set as long as the Environment Attribute can vary positionally.<p>Format: object with fields:<ul><li><code>attribute</code> - Environment Attribute ID to fetch<li>e.g. <code>{type: 'environment_attribute', attribute: 'gameplay/sky_light_level'}</code></ul><h2>Recipes</h2><ul><li><code>result</code> field should now be more consistent across all recipe types that contain it<ul><li>It will now accept a short form (e.g. <code>\"minecraft:foo\"</code>, which is equivalent to <code>{\"id\":\"minecraft:foo\", \"count\": 1}</code>)<li>For the recipe types <code>smelting</code>, <code>blasting</code>, <code>smoking</code>, and <code>campfire_cooking</code> this field now also accepts a <code>count</code> field</ul><li><code>minecraft:crafting_special_mapcloning</code> recipe type has been removed, the functionality has been absorbed by <code>minecraft:crafting_transmute</code><li>New <code>show_notification</code> fields with the same functionality as the existing one in <code>minecraft:crafting_shaped</code> have been added to the following existing recipe types:<ul><li><code>minecraft:crafting_shapeless</code><li><code>minecraft:crafting_shaped</code><li><code>minecraft:crafting_transmute</code><li><code>minecraft:smelting</code><li><code>minecraft:blasting</code><li><code>minecraft:smoking</code><li><code>minecraft:campfire_cooking</code><li><code>minecraft:stonecutting</code><li><code>minecraft:smithing_transform</code><li><code>minecraft:smithing_trim</code></ul><li>Removed the unused <code>group</code> field from recipes without a recipe book:<ul><li><code>minecraft:stonecutting</code><li><code>minecraft:smithing_transform</code><li><code>minecraft:smithing_trim</code></ul><li>Renamed the following stonecutter recipes, along with the relevant advancement:<ul><li><code>minecraft:chiseled_stone_bricks_stone_from_stonecutting</code> is renamed to <code>minecraft:chiseled_stone_bricks_from_stone_stonecutting</code><li><code>minecraft:end_stone_brick_slab_from_end_stone_brick_stonecutting</code> is renamed to <code>minecraft:end_stone_brick_slab_from_end_stone_bricks_stonecutting</code><li><code>minecraft:end_stone_brick_stairs_from_end_stone_brick_stonecutting</code> is renamed to <code>minecraft:end_stone_brick_stairs_from_end_stone_bricks_stonecutting</code><li><code>minecraft:end_stone_brick_wall_from_end_stone_brick_stonecutting</code> is renamed to <code>minecraft:end_stone_brick_wall_from_end_stone_bricks_stonecutting</code><li><code>minecraft:mossy_stone_brick_slab_from_mossy_stone_brick_stonecutting</code> is renamed to <code>minecraft:mossy_stone_brick_slab_from_mossy_stone_bricks_stonecutting</code><li><code>minecraft:mossy_stone_brick_stairs_from_mossy_stone_brick_stonecutting</code> is renamed to <code>minecraft:mossy_stone_brick_stairs_from_mossy_stone_bricks_stonecutting</code><li><code>minecraft:mossy_stone_brick_wall_from_mossy_stone_brick_stonecutting</code> is renamed to <code>minecraft:mossy_stone_brick_wall_from_mossy_stone_bricks_stonecutting</code><li><code>minecraft:prismarine_brick_slab_from_prismarine_stonecutting</code> is renamed to <code>minecraft:prismarine_brick_slab_from_prismarine_bricks_stonecutting</code><li><code>minecraft:prismarine_brick_stairs_from_prismarine_stonecutting</code> is renamed to <code>minecraft:prismarine_brick_stairs_from_prismarine_bricks_stonecutting</code><li><code>minecraft:quartz_slab_from_stonecutting</code> is renamed to <code>minecraft:quartz_slab_from_quartz_block_stonecutting</code><li><code>minecraft:stone_brick_walls_from_stone_stonecutting</code> is renamed to <code>minecraft:stone_brick_wall_from_stone_stonecutting</code></ul></ul><p>Note: several of the recipes below use the term \"transmuting\" when describing crafting output. This procedure is the same as the one currently used by <code>minecraft:crafting_transmute</code>, i.e:<ul><li>First, a new item stack is created with the item type and count taken from the <code>result</code> field of the described recipe<li>Then, components from a source stack (the actual ingredient depends on the described recipe) are applied to the new stack<li>Lastly, components from the <code>result</code> field are applied to the new stack</ul><h3>Changed <code>minecraft:crafting_transmute</code></h3><ul><li>Recipes with this type can now accept multiple items matched by the <code>material</code> ingredient</ul><p>Added fields:<ul><li><code>material_count</code> - Integer range, the amount of items matched by the <code>material</code> ingredient<ul><li>Must be a subrange of <code>[2,8]</code><li>Default: <code>[1,1]</code> (i.e. exactly one item)</ul><li><code>add_material_count_to_result</code> - Boolean<ul><li>Default: <code>false</code><li>When <code>true</code>, the amount of slots containing items matched by the <code>material</code> ingredient will be added to the final count of the result</ul></ul><h3>Added <code>minecraft:crafting_dye</code></h3><ul><li>Replaces <code>minecraft:crafting_special_armordye</code><li>Output:<ul><li>This recipe will mix the current value of the <code>minecraft:dyed_color</code> component from the item matched by the <code>target</code> ingredient with the <code>minecraft:dye</code> component values from the items matched by the <code>dye</code> ingredients<li>The result will be built by transmuting the item matched by the <code>target</code> ingredient into the <code>result</code> item stack and then applying the new value of the <code>minecraft:dyed_color</code> component</ul></ul><p>Format: object with fields:<ul><li><code>category</code> - String, crafting book category, one of <code>building</code>, <code>redstone</code>, <code>equipment</code>, <code>misc</code>, default: <code>misc</code><li><code>group</code> - String, used for grouping recipes in the crafting book, default: empty string<li><code>show_notification</code> - optional boolean, describing if a popup should be shown when this recipe is unlocked, default: <code>true</code><li><code>target</code> - Ingredient (was hardcoded to <code>#dyeable</code> tag)<li><code>dye</code> - Ingredient (was hardcoded to Dye items)<ul><li>The <code>minecraft:dye</code> component is required on matching items for the whole recipe to match</ul><li><code>result</code> - resulting item stack (was always a copy of the item matched by the <code>target</code> ingredient)</ul><h3>Added <code>minecraft:crafting_imbue</code></h3><ul><li>Replaces <code>minecraft:crafting_special_tippedarrow</code><li>Matches a single <code>source</code> ingredient surrounded by eight <code>material</code> ingredients<li>Output:<ul><li>This recipe will copy the <code>minecraft:potion_contents</code> component value from the item matched by the <code>source</code> ingredient to the resulting stack</ul></ul><p>Format: object with fields:<ul><li><code>category</code> - String, crafting book category, one of <code>building</code>, <code>redstone</code>, <code>equipment</code>, <code>misc</code>, default: <code>misc</code><li><code>group</code> - String, used for grouping recipes in the crafting book, default: empty string<li><code>show_notification</code> - Optional boolean, describing if a popup should be shown when this recipe is unlocked, default: <code>true</code><li><code>source</code> - Ingredient (was hardcoded to <code>minecraft:lingering_potion</code>)<li><code>material</code> - Ingredient (was hardcoded to <code>minecraft:arrow</code>)<li><code>result</code> - resulting item stack (was hardcoded to eight <code>minecraft:tipped_arrow</code>s)</ul><h3>Changed <code>minecraft:crafting_special_bannerduplicate</code></h3><ul><li>Ingredients can now be restrained<li>The output can now be configured<li>The recipe still only works for Banner items<li>Removed unused <code>category</code> field<li>Added fields:<ul><li><code>banner</code> - Ingredient, to be used for both source and target items (was hardcoded to any Banner item)<li><code>result</code> - resulting item stack (was always a copy of the Banner item with non-empty pattern)</ul><li>Output:<ul><li>The recipe finds the first Banner item matched by the <code>banner</code> ingredient and treats it as the source Banner<li>The result will be built by transmuting the source Banner into the <code>result</code> item stack<li>The source Banner will be kept in the crafting grid</ul></ul><h3>Changed <code>minecraft:crafting_special_bookcloning</code></h3><ul><li>Ingredients and output can now be configured<li>Removed unused <code>category</code> field<li>Added fields:<ul><li><code>source</code> - Ingredient, to be used as a source book<ul><li>The <code>minecraft:written_book_contents</code> component is required on the matching item for the whole recipe to match</ul><li><code>material</code> - Ingredient, to target the item to be cloned (was hardcoded to <code>#book_cloning_target</code> tag)<li><code>allowed_generations</code> - Integer range, allowed values of the <code>generation</code> field of <code>minecraft:written_book_contents</code> component on the item matched by the <code>material</code> ingredient<ul><li>Must be a subrange of <code>[0,2]</code><li>Default: <code>[0,1]</code> (i.e. accepting the original and first copies, but not copies of a copy)</ul><li><code>result</code> - resulting item stack (was always a copy of the item matched by the <code>source</code> ingredient)</ul><li>Output:<ul><li>The recipe will first take the value of the <code>minecraft:written_book_contents</code> component in the item matched by the <code>source</code> ingredient<li>The field <code>generation</code> in <code>minecraft:written_book_contents</code> will be incremented by one<ul><li>The recipe will not yield a result if the value of <code>generation</code> is <code>2</code> or more</ul><li>The result will be built by transmuting the item matched by the <code>source</code> ingredient to the <code>result</code> item stack and then applying the new value of the <code>minecraft:written_book_contents</code> component<li>The number of items matched by the <code>material</code> ingredient beyond the first one will be added to the resulting stack size<li>The original item matched by the <code>source</code> ingredient will be kept in the crafting grid</ul></ul><h3>Changed <code>minecraft:crafting_decorated_pot</code></h3><ul><li>Ingredients and result can now be configured<li>Removed unused <code>category</code> field<li>Added fields:<ul><li><code>back</code>, <code>left</code>, <code>right</code>, <code>front</code> - Ingredient (was hardcoded to <code>#decorated_pot_ingredients</code>)<li><code>result</code> - resulting item stack (was hardcoded to a single <code>minecraft:decorated_pot</code>)</ul><li>Other functionality remains unchanged, i.e. items matched by the ingredients will be added to the matching fields in the <code>minecraft:pot_decorations</code> component of the resulting stack</ul><h3>Changed <code>minecraft:crafting_special_firework_rocket</code></h3><ul><li>Ingredients and result can now be configured<li>Removed unused <code>category</code> field<li>Added fields:<ul><li><code>shell</code> - Ingredient (was hardcoded to <code>minecraft:paper</code>)<li><code>fuel</code> - Ingredient (was hardcoded to <code>minecraft:gunpowder</code>)<li><code>star</code> - Ingredient (was hardcoded to <code>minecraft:firework_star</code>)<li><code>result</code> - resulting item stack (was hardcoded to three <code>minecraft:firework_rocket</code>s)</ul><li>Output:<ul><li>Exactly one stack matching the <code>shell</code> ingredient must be present<li>The number of stacks matching the <code>fuel</code> ingredient will control the <code>flight_duration</code> field<li>The <code>explosions</code> field will be copied from the <code>minecraft:firework_explosion</code> component of the <code>star</code> ingredient (if any)</ul></ul><h3>Changed <code>minecraft:crafting_special_firework_star_fade</code></h3><ul><li>Ingredients can now be configured<li>Removed unused <code>category</code> field<li>The recipe will now use the <code>minecraft:dye</code> component instead of a hardcoded mapping of Dye items to colors<li>Added fields:<ul><li><code>target</code> - Ingredient (was hardcoded to <code>minecraft:firework_star</code>)<li><code>dye</code> - Ingredient (was hardcoded to Dye items)<ul><li>The <code>minecraft:dye</code> component is required on matching items for the whole recipe to match</ul><li><code>result</code> - resulting item stack (was always a copy of the item matched by the <code>target</code> ingredient)</ul><li>Output:<ul><li>This recipe will find the current value of the <code>minecraft:firework_explosion</code> component from the item matched by the <code>target</code> ingredient<li>The <code>fade_colors</code> field of the <code>minecraft:dye</code> component will be set to the values from the items matched by the <code>dye</code> ingredients<li>The result will be built by transmuting the item matched by the <code>target</code> ingredient into the <code>result</code> item stack and then applying the new value of <code>minecraft:firework_explosion</code> component</ul></ul><h3>Changed <code>minecraft:crafting_special_firework_star</code></h3><ul><li>Ingredients and result can now be configured<li>Removed unused <code>category</code> field<li>Added fields:<ul><li><code>trail</code> - Ingredient (was hardcoded to <code>minecraft:diamond</code>)<li><code>twinkle</code> - Ingredient (was hardcoded to <code>minecraft:glowstone_dust</code>)<li><code>fuel</code> - Ingredient (was hardcoded to <code>minecraft:gunpowder</code>)<li><code>dye</code> - Ingredient (was hardcoded to Dye items)<ul><li>The <code>minecraft:dye</code> component is required on matching items for the whole recipe to match</ul><li><code>shapes</code> - a map of shapes to ingredients<ul><li>Allowed keys are the same as the ones for the <code>shape</code> field in the <code>minecraft:firework_explosion</code> component (i.e. <code>small_ball</code>, <code>large_ball</code>, <code>star</code>, <code>creeper</code>, <code>burst</code>)<li>Was hardcoded to: <code>minecraft:fire_charge</code> (now <code>large_ball</code>), <code>minecraft:feather</code> (now <code>burst</code>), <code>minecraft:gold_nugget</code> (now <code>star</code>), any Skull or Head (now <code>creeper</code>)</ul><li><code>result</code> - resulting item stack (was hardcoded to three <code>minecraft:firework_star</code>s)</ul><li>The recipe will now use the <code>minecraft:dye</code> component instead of a hardcoded mapping of Dye items to colors<li>Output:<ul><li>Exactly one stack matching the <code>fuel</code> ingredient must be present<li>The result will be based on the <code>result</code> field, with the contents of the <code>minecraft:firework_explosion</code> component built with the following values:<ul><li>The values of the <code>minecraft:dye</code> component of all items matched by the <code>dye</code> ingredient will be added to the <code>colors</code> field<li>If an item matched by the <code>trail</code> ingredient is present, the <code>has_trail</code> field will be set to <code>true</code><li>If an item matched by the <code>twinkle</code> ingredient is present, the <code>has_twinkle</code> field will be set to <code>true</code><li>The <code>shape</code> field will be set based on the item matched by any of the ingredients in the <code>shape</code> field (or <code>small_ball</code> if none is found)</ul></ul></ul><h3>Changed <code>minecraft:crafting_special_mapextending</code></h3><ul><li>Ingredients and output can now be configured<li>Removed unused <code>category</code> field<li>Added fields:<ul><li><code>map</code> - Ingredient (was hardcoded to <code>minecraft:filled_map</code> with a <code>minecraft:map_id</code> component)<ul><li>The <code>minecraft:map_id</code> component is required on the matching map item for the whole recipe to match</ul><li><code>material</code> - Ingredient (was hardcoded to <code>minecraft:paper</code>)<li><code>result</code> - resulting item stack (was always a copy of the item matched by the <code>map</code> ingredient)</ul><li>Output:<ul><li>The recipe finds the item matched by the <code>map</code> ingredient with the <code>minecraft:map_id</code> component set<li>The result will be built by transmuting the source item into the <code>result</code> item stack<li>The <code>minecraft:map_post_processing</code> component will be set on the result item<li>The source item will be kept in the crafting grid</ul></ul><h3>Changed <code>minecraft:crafting_special_shielddecoration</code></h3><ul><li>Ingredients and output can now be configured<li>Removed unused <code>category</code> field<li>Added fields:<ul><li><code>banner</code> - Ingredient (was hardcoded to any Banner item)<ul><li>Will only match if the item is a Banner</ul><li><code>target</code> - Ingredient (was hardcoded to <code>minecraft:shield</code>)<ul><li>The <code>minecraft:banner_patterns</code> component must be not set or be empty for the whole recipe to match</ul><li><code>result</code> - resulting item stack (was always a copy of the item matched by the <code>target</code> ingredient)</ul><li>Functionality remains unchanged, i.e. this recipe will apply the following changes to the copy of the item matched by the <code>target</code> ingredient:<li>Output:<ul><li>The result will be built by transmuting the item matched by the <code>target</code> ingredient into the <code>result</code> item stack and then:<ul><li>Copying the <code>minecraft:banner_patterns</code> component from the item matched by the <code>banner</code> ingredient<li>Setting the <code>minecraft:base_color</code> component based on the type of the Banner matched by the <code>banner</code> ingredient</ul></ul></ul><h2>Enchantments</h2><ul><li>The <code>post_piercing_attack</code> component no longer only works for a Player if that Player has a certain food level</ul><h2>World Generation</h2><ul><li>Rule-based block state providers (used previously only in the <code>disk</code> feature) have changed<ul><li>The <code>fallback</code> field is now optional and can be empty<ul><li>In such cases that an empty fallback is invoked, features that use them will not place anything</ul><li>Has become a type of block state provider called <code>rule_based_state_provider</code> instead of a separate unique type<ul><li>They can now be used in any other feature configurations as a block state provider and are no longer unique to <code>disk</code><li>Format:<ul><li><code>fallback</code> - optional block state provider<li><code>rules</code> - list of rules<ul><li><code>if_true</code> - Block predicate, checks the block position before providing the block<li><code>then</code> - Block state provider</ul></ul></ul></ul><li><code>forest_rock</code> feature has been renamed to <code>block_blob</code><li><code>block_blob</code> feature configuration has changed to support the following parameters:<ul><li><code>state</code> - Block state, the block the blob is made out of<li><code>can_place_on</code> - Block predicate, defines which blocks the blob can be placed on</ul><li><code>ice_spike</code> feature has been renamed to <code>spike</code><li><code>spike</code> feature configuration now supports the following parameters:<ul><li><code>state</code> - Block state, the block the spike is made out of<li><code>can_place_on</code> - Block predicate, defines which blocks the spike can be placed on<li><code>can_replace</code> - Block predicate, defines which blocks the spike can replace</ul><li><code>huge_red_mushroom</code> and <code>huge_brown_mushroom</code> feature configurations have a new parameter:<ul><li><code>can_place_on</code> - Block predicate, defines which blocks the huge mushroom can be placed on</ul><li><code>alter_ground</code> tree decorator configuration has changed so that <code>provider</code> is now a rule-based block state provider<li><code>tree</code> feature configuration has replaced the <code>force_dirt</code> and <code>dirt_provider</code> parameters with a single <code>below_trunk_provider</code> block state provider<ul><li>Default value:<pre><code>\"below_trunk_provider\": {\n    \"type\": \"minecraft:rule_based_state_provider\",\n    \"rules\": [\n        {\n            \"if_true\": {\n                \"type\": \"minecraft:not\",\n                \"predicate\": {\n                    \"type\": \"minecraft:matching_block_tag\",\n                    \"tag\": \"minecraft:cannot_replace_below_tree_trunk\"\n                }\n            },\n            \"then\": {\n                \"type\": \"minecraft:simple_state_provider\",\n                \"state\": {\n                    \"Name\": \"minecraft:dirt\"\n                }\n            }\n        }\n    ]\n}\n</code></pre><li>Any trees that previously used <code>force_dirt</code> have a <code>below_trunk_provider</code> that always provides a <code>dirt</code> block instead</ul></ul><h3>Flower Features</h3><ul><li>Features spawned from Bone Meal are no longer restricted to the <code>flower</code> feature type, and instead controlled by the <code>#can_spawn_from_bone_meal</code> Configured Feature Tag<li>The <code>flower</code>, <code>flower_no_bonemeal</code>, and <code>random_patch</code> feature types have been removed<ul><li>Instead, patches can be expressed as a sequence of <code>count</code> and <code>random_offset</code> placement modifiers</ul></ul><h3>Placement Modifiers</h3><h4><code>count</code> Placement Modifier</h4><ul><li>The <code>count</code> field is now limited to a range of <code>0</code> to <code>4096</code> instead of the previous <code>256</code></ul><h3>Dimension Types</h3><ul><li>Added fields:<ul><li><code>default_clock</code> - optional World Clock ID<ul><li>Specifies the default clock that will be used for the <code>time</code> command.<ul><li>If not specified, the <code>time</code> command will require an explicit clock argument</ul><li>Also specifies the clock to which the <code>minecraft:wake_up_from_sleep</code> and <code>minecraft:roll_village_siege</code> Time Markers apply<ul><li>If not specified, those Time Markers will never apply in that dimension</ul></ul><li><code>has_ender_dragon_fight</code> - Boolean<ul><li>Controls whether it is possible for an Ender Dragon fight to exist in the dimension</ul></ul></ul><h3>Int Providers</h3><h4>Added <code>trapezoid</code></h4><p>Selects a random value with a trapezoid distribution, similar to the <code>trapezoid</code> Float Provider.<p>Format: object with fields:<ul><li><code>min</code> - Integer, the minimum value to generate<li><code>max</code> - Integer, the maximum value to generate<li><code>plateau</code> - Integer, the width of the \"plateau\" of the distribution in which all values are equally likely to occur<ul><li>A value of <code>0</code> is equivalent to a triangle distribution<li>A value of <code>max-min</code> is equivalent to a uniform distribution</ul></ul><h2>Tags</h2><ul><li>Added several tags representing groups of Villager trades from which Villagers and Wandering Traders derive their trading pools<ul><li>Villagers have the following tags representing each profession and level of trade in the format: <code>#&#60profession>/level_&#60level></code>, up to level 5<ul><li>Smiths have the <code>#common_smith/level_&#60level></code> tags representing common trades among armorers, weaponsmiths and toolsmiths, up to level 5</ul><li>Wandering Traders have the following tags: <code>#wandering_trader/buying</code>, <code>#wandering_trader/special</code>, <code>#wandering_trader/common</code></ul></ul><h3>Block Tags</h3><ul><li>Added the following tags which determine which blocks a category of vegetation can be placed on and survive<ul><li><code>#supports_vegetation</code> which provides support to the following blocks:<ul><li>Bush<li>Short Grass<li>Tall Grass<li>Fern<li>Large Fern<li>Pitcher Plant<li>Sunflower<li>Lilac<li>Rose Bush<li>Peony<li>Eyeblossom<li>Firefly Bush<li>Pink Petals<li>Wildflowers<li>Dandelion<li>Torchflower<li>Poppy<li>Blue Orchid<li>Allium<li>Azure Bluet<li>Red Tulip<li>Orange Tulip<li>White Tulip<li>Pink Tulip<li>Oxeye Daisy<li>Cornflower<li>Sweet Berry Bush<li>Oak Sapling<li>Spruce Sapling<li>Birch Sapling<li>Jungle Sapling<li>Acacia Sapling<li>Cherry Sapling<li>Dark Oak Sapling<li>Pale Oak Sapling</ul><li><code>#supports_crops</code> which provides support to the following crops at all growth stages:<ul><li>Wheat<li>Carrot<li>Potato<li>Beetroot<li>Torchflower Crop<li>Pitcher Plant Crop</ul><li><code>#supports_stem_crops</code><li><code>#supports_stem_fruit</code><li><code>#supports_pumpkin_stem</code><li><code>#supports_melon_stem</code><li><code>#supports_pumpkin_stem_fruit</code><li><code>#supports_melon_stem_fruit</code><li><code>#supports_sugar_cane</code><li><code>#supports_sugar_cane_adjacently</code><ul><li>Which blocks satisfy adjacency support requirements for Sugar Cane</ul><li><code>#supports_cactus</code><li><code>#supports_chorus_plant</code><li><code>#supports_chorus_flower</code><li><code>#supports_nether_sprouts</code><li><code>#supports_azalea</code><li><code>#supports_warped_fungus</code><li><code>#supports_crimson_fungus</code><li><code>#supports_mangrove_propagule</code><li><code>#supports_hanging_mangrove_propagule</code><li><code>#supports_nether_wart</code><li><code>#supports_warped_roots</code><li><code>#supports_crimson_roots</code><li><code>#supports_wither_rose</code><li><code>#supports_cocoa</code><li><code>#supports_lily_pad</code><li><code>#supports_frogspawn</code><ul><li>Empty by default</ul><li><code>#support_override_cactus_flower</code><ul><li>Cactus Flowers can be placed on blocks in this tag even if they do not have a sturdy top face</ul></ul><li>Added the following tags which determine which blocks are not able to support specific categories of vegetation<ul><li><code>#cannot_support_seagrass</code><li><code>#cannot_support_kelp</code></ul><li>Renamed the following tags for consistency:<ul><li><code>#dry_vegetation_may_place_on</code> -> <code>#supports_dry_vegetation</code><li><code>#bamboo_plantable_on</code> -> <code>#supports_bamboo</code><li><code>#small_dripleaf_placeable</code> -> <code>#supports_small_dripleaf</code><li><code>#big_dripleaf_placeable</code> -> <code>#supports_big_dripleaf</code><li><code>#mushroom_grow_block</code> -> <code>#overrides_mushroom_light_requirement</code><ul><li>Mushrooms cannot survive without a light level below 13 if not in the above tag</ul><li><code>#snow_layer_can_survive_on</code> -> <code>#support_override_snow_layer</code><ul><li>Snow layers can be placed on blocks in this tag even if they do not have a top full face</ul><li><code>#snow_layer_cannot_survive_on</code> -> <code>#cannot_support_snow_layer</code></ul><li>Added <code>#grows_crops</code> which defines which blocks beneath allow the following crops to grow:<ul><li>Wheat<li>Carrot<li>Potato<li>Beetroot<li>Torchflower Crop<li>Pitcher Plant Crop<li>Pumpkin Stem<li>Melon Stem</ul><li>Added the following tags to define which blocks can start particular types of Bubble Columns<ul><li><code>#enables_bubble_column_drag_down</code><ul><li>Magma Block by default</ul><li><code>#enables_bubble_column_push_up</code><ul><li>Soul Sand by default</ul></ul><li>Split apart <code>#dirt</code> into multiple block tags<ul><li><code>#dirt</code> now only contains Dirt, Coarse Dirt, and Rooted Dirt<li><code>#mud</code> contains Mud and Muddy Mangrove Roots<li><code>#moss_blocks</code> contains Moss Block and Pale Moss Block<li><code>#grass_blocks</code> contains Grass Block, Mycelium, and Podzol</ul><li>Added <code>#substrate_overworld</code> which contains <code>#dirt</code>, <code>#mud</code>, <code>#moss_blocks</code>, and <code>#grass_blocks</code><ul><li>This is used as a collection for world generation conditions</ul><li>Added the following tags which define which ground blocks beneath an applicable tree or bamboo can be replaced with podzol:<ul><li><code>#beneath_tree_podzol_replaceable</code><li><code>#beneath_bamboo_podzol_replaceable</code></ul><li>Added <code>#cannot_replace_below_tree_trunk</code> which contains <code>#dirt</code>, <code>#mud</code>, <code>#moss_blocks</code>, and <code>podzol</code><li>Added the following tags defining which blocks their feature can be placed on<ul><li><code>#forest_rock_can_place_on</code><li><code>#huge_brown_mushroom_can_place_on</code><li><code>#huge_red_mushroom_can_place_on</code></ul><li>Added <code>#ice_spike_replaceable</code> defining which blocks an Ice Spike feature can replace<li>Added <code>#prevents_nearby_leaf_decay</code> which defines what block types prevent leaf blocks from decaying within a taxicab distance of 6 blocks</ul><h3>Fluid Tags</h3><ul><li>Added tags to determine which fluids can support the following blocks:<ul><li><code>#supports_lily_pad</code><li><code>#supports_frogspawn</code></ul><li>Added <code>#supports_sugar_cane_adjacently</code><ul><li>Which fluids satisfy adjacency support requirements for Sugar Cane</ul><li>Added <code>#bubble_columns_can_occupy</code> fluid tag to define which fluids a bubble column can occupy with <code>water</code> as default</ul><h3>Item Tags</h3><ul><li>Added <code>#metal_nuggets</code> - Copper, Iron, and Gold Nuggets<li>Added <code>#dyes</code> - helper tag containing vanilla dyes<li>Added <code>#loom_dyes</code> - items that are allowed in the Loom screen to set pattern colors<ul><li>The Loom screen also requires the <code>minecraft:dye</code> component to be present on item stacks</ul><li>Added <code>#loom_patterns</code> - items that are allowed in the Loom screen to unlock patterns<ul><li>The Loom screen also requires the <code>minecraft:provides_banner_patterns</code> component to be present on item stacks</ul><li>Added <code>#cat_collar_dyes</code> - items that can be used to dye a pet Cat's collar<ul><li>The color will be taken from the <code>minecraft:dye</code> component of the used item stack</ul><li>Added <code>#wolf_collar_dyes</code> - items that can be used to dye a pet Wolf's collar<ul><li>The color will be taken from the <code>minecraft:dye</code> component of the used item stack</ul><li>Added <code>#cauldron_can_remove_dye</code> - items that can be used on water-filled Cauldron to remove the <code>minecraft:dyed_color</code> component<li>Removed <code>#dyeable</code> tag<li>Added the following tags which mirror their block tag contents:<ul><li><code>#mud</code><li><code>#moss_blocks</code><li><code>#grass_blocks</code></ul></ul><h3>Entity Type Tags</h3><ul><li>Added <code>#cannot_be_age_locked</code> - which baby mobs that age cannot have their aging stopped using a Golden Dandelion</ul><h3>Enchantment Tags</h3><ul><li>Removed the following tags:<ul><li><code>trades/desert_special</code><li><code>trades/jungle_special</code><li><code>trades/plains_special</code><li><code>trades/savanna_special</code><li><code>trades/snow_special</code><li><code>trades/swamp_special</code><li><code>trades/taiga_special</code></ul></ul><h3>Potion Tags</h3><ul><li>Added <code>#tradeable</code> - all potion effects that can appear in Villager trades</ul><h3>Configured Feature Tags</h3><ul><li>Added <code>#can_spawn_from_bone_meal</code> - features that, when added in a biome, can be spawned when using Bone Meal in that biome</ul><h2>Particles</h2><ul><li>Added <code>pause_mob_growth</code> - particles showing on a baby mob which has had its aging stopped using a Golden Dandelion<li>Added <code>reset_mob_growth</code> - particles showing on a baby mob which has had its aging reset and started using a Golden Dandelion</ul><h2>Text components</h2><h3><code>minecraft:selector</code></h3><ul><li>The <code>selector</code> field no longer accepts trailing data after a selector</ul><h3><code>minecraft:nbt</code></h3><ul><li>Tags resolved with the <code>minecraft:nbt</code> text component when the <code>interpret</code> field is set to <code>false</code> are now pretty-printed instead of being flattened into a single <code>text</code> component<li>Contents of the <code>nbt</code> and <code>block</code> fields are no longer silently rejected when parsing fails<li>The <code>entity</code> field no longer accepts trailing data after a selector<li>A new option called <code>plain</code> has been added to remove styling from pretty-printed text<ul><li>The <code>plain</code> and <code>interpret</code> options can't both be enabled at the same time</ul></ul><h3><code>minecraft:object</code></h3><ul><li>Added a new optional field named <code>fallback</code> that contains a text component to be used when the object component itself can't be displayed (for example when printing messages in server logs or during narration)<li>Objects of type <code>player</code> (player heads) can no longer be used in server status messages (MotD)<ul><li>All components of that type will be replaced by a fallback text<li>Components nested more than 16 times will be discarded and replaced with an ellipsis</ul></ul><p><img alt=\"A Camel is laying in a Desert Village. There&#39s a Villager next to it.\"src=https://launchercontent.mojang.com/v2/images/2619.jpg><h1>Resource Pack Versions 75 through 84</h1><ul><li>The Tripwire texture is now rendered as alpha cutout instead of transparent<li>The glow particles emitted by Glow Squids, Lightning Rods, blocks being waxed, unwaxed, and scraped are now rendered as opaque, since they never actually used translucency<li>Removed <code>demo_background.png</code> in favor of the <code>popup/background.png</code> sprite<li>The item model format now supports transformation for individual sub-models</ul><h2>Block State Rendering</h2><ul><li>Some changes have been made to the way block states render in places like Enderman-held blocks, Block Display entities, etc. (but not falling blocks or Pistons)<ul><li>The Enchanting Table will now show a closed book on the top of the block<li>Blocks that use special renderers (like Chests, Banners, Skulls) should now respect block state properties:<ul><li>Rendering now respects the <code>rotation</code> and <code>facing</code> properties (where applicable)<li>Beds now only render one half of the model, depending on the <code>part</code> property<li>Copper Golem Statues will now respect the <code>copper_golem_pose</code> property<li>Walls and freestanding Signs, Hanging Signs, Banners, and Skulls/Heads will now have separate models<li>Chests now respect <code>part</code> properties (where applicable)</ul><li>Note: in general, all block states should look the same when rendered on a Block Display as they look when placed in world, except fluids</ul></ul><h2>Block Model Format</h2><ul><li>Any block model can now support cutout or translucent (partially transparent pixels) textures<ul><li>Whether a quad is rendered in the cutout or translucent render pass is determined by the contents of its assigned sprite<ul><li>Any sprite with translucent (partially transparent) pixels will be assigned to the \"translucent\" pass<li>Any sprite with fully transparent pixels will be assigned to the \"cutout\" pass<li>All other sprites are assigned to the \"solid\" pass</ul><li>Note: the assigned render pass also implies rendering order: all solid geometry is rendered before all cutout geometry, which is rendered before all translucent geometry</ul><li>The format of the <code>textures</code> map has been updated:<ul><li>Non-string entries will now be rejected, instead of interpreted as strings<li>Alongside the previous inline sprite ID form, entries can now be defined as an object with fields:<ul><li><code>sprite</code> - the sprite ID<li><code>force_translucent</code> - optional boolean, <code>true</code> if any geometry with this texture should be forced into the \"translucent\" pass<ul><li>This is useful for example for blocks that don't have any translucent pixels, but use the <code>mean</code> mipmap strategy<li>Default: <code>false</code></ul></ul></ul></ul><h2>Item Models</h2><ul><li>The <code>minecraft:model</code>, <code>minecraft:special</code>, <code>minecraft:range_dispatch</code>, <code>minecraft:composite</code>, <code>minecraft:select</code>, <code>minecraft:condition</code> item model types now have a <code>transformation</code> field<ul><li>That field has the same format as the <code>transformation</code> field on the <code>minecraft:display</code> entity, i.e. either an array of 16 numbers representing a matrix or a structure with decomposed translation, scale, and rotation info<li>For types with children (<code>minecraft:range_dispatch</code>, <code>minecraft:composite</code>, <code>minecraft:select</code>, <code>minecraft:condition</code>), the transformation will be composed with the transformation of the children, except for <code>minecraft:bundle/selected_item</code><li>Model transformations will be applied AFTER item display transformations (i.e. the <code>display</code> section in model files)</ul><li>The transformations for some special item models (types referenced by the <code>minecraft:special</code> item model) have been extracted to item models itself<ul><li>Affected special model types:<ul><li><code>minecraft:bed</code><li><code>minecraft:banner</code><li><code>minecraft:conduit</code><li><code>minecraft:copper_golem_statue</code><li><code>minecraft:head</code><li><code>minecraft:player_head</code><li><code>minecraft:shulker_box</code><li><code>minecraft:shield</code><li><code>minecraft:trident</code><li><code>minecraft:standing_sign</code><li><code>minecraft:hanging_sign</code></ul></ul></ul><h3><code>minecraft:bell</code> Special Model Type</h3><ul><li>New special model type that renders the animated part of a Bell block<li>No fields</ul><h3><code>minecraft:book</code> Special Model Type</h3><ul><li>New special model type that renders a book that normally is part of the Enchanting Table and Lectern<li>Fields:<ul><li><code>open_angle</code> - Float, angle (in degrees) between book cover and book centerline (<code>0</code> means closed, <code>90</code> means open flat)<li><code>page1</code>, <code>page2</code> - Float between <code>0.0</code> and <code>1.0</code>, the positions of two pages inside the book<ul><li><code>0.0</code> means the page is in the leftmost position, <code>1.0</code> means the page is in the rightmost position</ul></ul></ul><h3><code>minecraft:bed</code> Special Model Type</h3><ul><li>The model now renders only one half of the Bed<li>To render both halves, use a <code>minecraft:composite</code> model<li>New field:<ul><li><code>part</code> - String, one of: <code>head</code>, <code>foot</code></ul></ul><h3><code>minecraft:banner</code> Special Model Type</h3><ul><li>New field:<ul><li><code>attachment</code> - optional String, selects a model to be used, one of <code>wall</code>, <code>ground</code><ul><li>If not present, defaults to <code>ground</code></ul></ul></ul><h3><code>minecraft:chest</code> Special Model Type</h3><ul><li>New field:<ul><li><code>chest_type</code> - optional String, selects a model to be used, one of <code>single</code>, <code>left</code>, <code>right</code><ul><li>If not present, defaults to <code>single</code></ul></ul></ul><h3><code>minecraft:hanging_sign</code> Special Model Type</h3><ul><li>New field:<ul><li><code>attachment</code> - optional String, selects a model to be used, one of <code>wall</code>, <code>ceiling</code>, <code>ceiling_middle</code><ul><li>If not present, defaults to <code>ceiling_middle</code></ul></ul></ul><h3><code>minecraft:standing_sign</code> Special Model Type</h3><ul><li>New field:<ul><li><code>attachment</code> - optional String, selects a model to be used, one of <code>wall</code>, <code>ground</code><ul><li>If not present, defaults to <code>ground</code></ul></ul></ul><h3><code>minecraft:shulker_box</code> Special Model Type</h3><ul><li>Removed the <code>orientation</code> field</ul><h3><code>minecraft:end_cube</code> Special Model Type</h3><ul><li>New special model type that renders a cube with the same texture effects as the End Portal and the End Gateway blocks<li>Format:<ul><li><code>effect</code> - String, texture effect to apply, one of: <code>portal</code>, <code>gateway</code></ul></ul><h2>Block Sprites</h2><ul><li>Added new block textures:<ul><li><code>block/golden_dandelion.png</code></ul></ul><h2>UI Sprites</h2><ul><li>Added new UI sprites:<ul><li><code>gui/sprites/widget/preedit.png</code> for IME preedit overlay background</ul></ul><h2>Entity Textures</h2><ul><li><p>Added new entity textures:<ul><li><code>entity/cat/cat_all_black_baby.png</code><li><code>entity/cat/cat_black_baby.png</code><li><code>entity/cat/cat_british_shorthair_baby.png</code><li><code>entity/cat/cat_calico_baby.png</code><li><code>entity/cat/cat_collar_baby.png</code><li><code>entity/cat/cat_jellie_baby.png</code><li><code>entity/cat/ocelot_baby.png</code><li><code>entity/cat/cat_persian_baby.png</code><li><code>entity/cat/cat_ragdoll_baby.png</code><li><code>entity/cat/cat_red_baby.png</code><li><code>entity/cat/cat_siamese_baby.png</code><li><code>entity/cat/cat_tabby_baby.png</code><li><code>entity/cat/cat_white_baby.png</code><li><code>entity/chicken/chicken_cold_baby.png</code><li><code>entity/chicken/chicken_temperate_baby.png</code><li><code>entity/chicken/chicken_warm_baby.png</code><li><code>entity/cow/cow_cold_baby.png</code><li><code>entity/cow/cow_temperate_baby.png</code><li><code>entity/cow/cow_warm_baby.png</code><li><code>entity/cow/mooshroom_brown_baby.png</code><li><code>entity/cow/mooshroom_red_baby.png</code><li><code>entity/horse/donkey_baby.png</code><li><code>entity/horse/horse_black_baby.png</code><li><code>entity/horse/horse_brown_baby.png</code><li><code>entity/horse/horse_chestnut_baby.png</code><li><code>entity/horse/horse_creamy_baby.png</code><li><code>entity/horse/horse_darkbrown_baby.png</code><li><code>entity/horse/horse_gray_baby.png</code><li><code>entity/horse/horse_blackdots_baby.png</code><li><code>entity/horse/horse_markings_white_baby.png</code><li><code>entity/horse/horse_markings_whitedots_baby.png</code><li><code>entity/horse/horse_markings_whitefield_baby.png</code><li><code>entity/horse/horse_skeleton_baby.png</code><li><code>entity/horse/horse_white_baby.png</code><li><code>entity/horse/horse_zombie_baby.png</code><li><code>entity/horse/mule_baby.png</code><li><code>entity/pig/pig_cold_baby.png</code><li><code>entity/pig/pig_temperate_baby.png</code><li><code>entity/pig/pig_warm_baby.png</code><li><code>entity/rabbit/rabbit_black.png</code><li><code>entity/rabbit/rabbit_brown.png</code><li><code>entity/rabbit/rabbit_caerbannog.png</code><li><code>entity/rabbit/rabbit_gold.png</code><li><code>entity/rabbit/rabbit_salt.png</code><li><code>entity/rabbit/rabbit_toast.png</code><li><code>entity/rabbit/rabbit_white.png</code><li><code>entity/rabbit/rabbit_white_splotched.png</code><li><code>entity/sheep/sheep_baby.png</code><li><code>entity/sheep/sheep_wool_baby.png</code><li><code>entity/wolf/wolf_angry_baby.png</code><li><code>entity/wolf/wolf_ashen_angry_baby.png</code><li><code>entity/wolf/wolf_ashen_baby.png</code><li><code>entity/wolf/wolf_ashen_tame_baby.png</code><li><code>entity/wolf/wolf_baby.png</code><li><code>entity/wolf/wolf_black_angry_baby.png</code><li><code>entity/wolf/wolf_black_baby.png</code><li><code>entity/wolf/wolf_black_tame_baby.png</code><li><code>entity/wolf/wolf_chestnut_angry_baby.png</code><li><code>entity/wolf/wolf_chestnut_baby.png</code><li><code>entity/wolf/wolf_chestnut_tame_baby.png</code><li><code>entity/wolf/wolf_collar_baby.png</code><li><code>entity/wolf/wolf_rusty_angry_baby.png</code><li><code>entity/wolf/wolf_rusty_baby.png</code><li><code>entity/wolf/wolf_rusty_tame_baby.png</code><li><code>entity/wolf/wolf_snowy_angry_baby.png</code><li><code>entity/wolf/wolf_snowy_baby.png</code><li><code>entity/wolf/wolf_snowy_tame_baby.png</code><li><code>entity/wolf/wolf_spotted_angry_baby.png</code><li><code>entity/wolf/wolf_spotted_baby.png</code><li><code>entity/wolf/wolf_spotted_tame_baby.png</code><li><code>entity/wolf/wolf_striped_angry_baby.png</code><li><code>entity/wolf/wolf_striped_baby.png</code><li><code>entity/wolf/wolf_striped_tame_baby.png</code><li><code>entity/wolf/wolf_tame_baby.png</code><li><code>entity/wolf/wolf_woods_angry_baby.png</code><li><code>entity/wolf/wolf_woods_baby.png</code><li><code>entity/wolf/wolf_woods_tame_baby.png</code><li><code>entity/bee/bee_baby.png</code><li><code>entity/bee/bee_angry_baby.png</code><li><code>entity/bee/bee_nectar_baby.png</code><li><code>entity/bee/bee_angry_nectar_baby.png</code><li><code>entity/fox/fox_baby.png</code><li><code>entity/fox/fox_snow_baby.png</code><li><code>entity/fox/fox_sleep_baby.png</code><li><code>entity/fox/fox_snow_sleep_baby.png</code><li><code>entity/camel/camel_baby.png</code><li><code>entity/goat/goat_baby.png</code><li><code>entity/armadillo/armadillo_baby.png</code><li><code>entity/bear/polarbear_baby.png</code><li><code>entity/llama/llama_creamy_baby.png</code><li><code>entity/llama/llama_white_baby.png</code><li><code>entity/llama/llama_brown_baby.png</code><li><code>entity/llama/llama_gray_baby.png</code><li><code>entity/equipment/llama_body/trader_llama_baby.png</code><li><code>entity/villager/villager_baby.png</code><li><code>entity/villager/baby/desert.png</code><li><code>entity/villager/baby/jungle.png</code><li><code>entity/villager/baby/plains.png</code><li><code>entity/villager/baby/savanna.png</code><li><code>entity/villager/baby/snow.png</code><li><code>entity/villager/baby/swamp.png</code><li><code>entity/villager/baby/taiga.png</code><li><code>entity/zombie/drowned_baby.png</code><li><code>entity/zombie/drowned_outer_layer_baby.png</code><li><code>entity/zombie/husk_baby.png</code><li><code>entity/zombie/zombie_baby.png</code><li><code>entity/zombie_villager/zombie_villager_baby.png</code><li><code>entity/zombie_villager/baby/desert.png</code><li><code>entity/zombie_villager/baby/jungle.png</code><li><code>entity/zombie_villager/baby/plains.png</code><li><code>entity/zombie_villager/baby/savanna.png</code><li><code>entity/zombie_villager/baby/snow.png</code><li><code>entity/zombie_villager/baby/swamp.png</code><li><code>entity/zombie_villager/baby/taiga.png</code><li><code>entity/piglin/piglin_baby.png</code><li><code>entity/piglin/zombiefied_piglin_baby.png</code><li><code>entity/equipment/humanoid_baby/chainmail.png</code><li><code>entity/equipment/humanoid_baby/copper.png</code><li><code>entity/equipment/humanoid_baby/diamond.png</code><li><code>entity/equipment/humanoid_baby/gold.png</code><li><code>entity/equipment/humanoid_baby/iron.png</code><li><code>entity/equipment/humanoid_baby/leather_overlay.png</code><li><code>entity/equipment/humanoid_baby/leather.png</code><li><code>entity/equipment/humanoid_baby/netherite.png</code><li><code>entity/equipment/humanoid_baby/turtle_scute.png</code><li><code>entity/hoglin/hoglin_baby.png</code><li><code>entity/hoglin/zoglin_baby.png</code><li><code>entity/strider/strider_baby.png</code><li><code>entity/strider/strider_cold_baby.png</code><li><code>entity/sniffer/snifflet.png</code><li><code>entity/panda/aggressive_panda_baby.png</code><li><code>entity/panda/brown_panda_baby.png</code><li><code>entity/panda/lazy_panda_baby.png</code><li><code>entity/panda/playful_panda_baby.png</code><li><code>entity/panda/weak_panda_baby.png</code><li><code>entity/panda/worried_panda_baby.png</code><li><code>entity/panda/panda_baby.png</code></ul><li><p>Renamed the following entity textures:<ul><li><code>entity/armorstand/wood.png</code> -> <code>entity/armorstand/armorstand.png</code><li><code>entity/cat/all_black.png</code> -> <code>entity/cat/cat_all_black.png</code><li><code>entity/cat/black.png</code> -> <code>entity/cat/cat_black.png</code><li><code>entity/cat/british_shorthair.png</code> -> <code>entity/cat/cat_british_shorthair.png</code><li><code>entity/cat/calico.png</code> -> <code>entity/cat/cat_calico.png</code><li><code>entity/cat/jellie.png</code> -> <code>entity/cat/cat_jellie.png</code><li><code>entity/cat/persian.png</code> -> <code>entity/cat/cat_persian.png</code><li><code>entity/cat/ragdoll.png</code> -> <code>entity/cat/cat_ragdoll.png</code><li><code>entity/cat/red.png</code> -> <code>entity/cat/cat_red.png</code><li><code>entity/cat/siamese.png</code> -> <code>entity/cat/cat_siamese.png</code><li><code>entity/cat/tabby.png</code> -> <code>entity/cat/cat_tabby.png</code><li><code>entity/cat/white.png</code> -> <code>entity/cat/cat_white.png</code><li><code>entity/chicken/cold_chicken.png</code> -> <code>entity/chicken/chicken_cold.png</code><li><code>entity/chicken/temperate_chicken.png</code> -> <code>entity/chicken/chicken_temperate.png</code><li><code>entity/chicken/warm_chicken.png</code> -> <code>entity/chicken/chicken_warm.png</code><li><code>entity/copper_golem/exposed_copper_golem.png</code> -> <code>entity/copper_golem/copper_golem_exposed.png</code><li><code>entity/copper_golem/exposed_copper_golem_eyes.png</code> -> <code>entity/copper_golem/copper_golem_eyes_exposed.png</code><li><code>entity/copper_golem/oxidized_copper_golem_eyes.png</code> -> <code>entity/copper_golem/copper_golem_eyes_oxidized.png</code><li><code>entity/copper_golem/weathered_copper_golem_eyes.png</code> -> <code>entity/copper_golem/copper_golem_eyes_weathered.png</code><li><code>entity/copper_golem/oxidized_copper_golem.png</code> -> <code>entity/copper_golem/copper_golem_oxidized.png</code><li><code>entity/copper_golem/weathered_copper_golem.png</code> -> <code>entity/copper_golem/copper_golem_weathered.png</code><li><code>entity/cow/cold_cow.png</code> -> <code>entity/cow/cow_cold.png</code><li><code>entity/cow/temperate_cow.png</code> -> <code>entity/cow/cow_temperate.png</code><li><code>entity/cow/warm_cow.png</code> -> <code>entity/cow/cow_warm.png</code><li><code>entity/cow/brown_mooshroom.png</code> -> <code>entity/cow/mooshroom_brown.png</code><li><code>entity/cow/red_mooshroom.png</code> -> <code>entity/cow/mooshroom_red.png</code><li><code>entity/fox/snow_fox.png</code> -> <code>entity/fox/fox_snow.png</code><li><code>entity/fox/snow_fox_sleep.png</code> -> <code>entity/fox/fox_snow_sleep.png</code><li><code>entity/frog/cold_frog.png</code> -> <code>entity/frog/frog_cold.png</code><li><code>entity/frog/temperate_frog.png</code> -> <code>entity/frog/frog_temperate.png</code><li><code>entity/frog/warm_frog.png</code> -> <code>entity/frog/frog_warm.png</code><li><code>entity/llama/brown.png</code> -> <code>entity/llama/llama_brown.png</code><li><code>entity/llama/creamy.png</code> -> <code>entity/llama/llama_creamy.png</code><li><code>entity/llama/gray.png</code> -> <code>entity/llama/llama_gray.png</code><li><code>entity/llama/spit.png</code> -> <code>entity/llama/llama_spit.png</code><li><code>entity/llama/white.png</code> -> <code>entity/llama/llama_white.png</code><li><code>entity/panda/aggressive_panda.png</code> -> <code>entity/panda/panda_aggressive.png</code><li><code>entity/panda/brown_panda.png</code> -> <code>entity/panda/panda_brown.png</code><li><code>entity/panda/lazy_panda.png</code> -> <code>entity/panda/panda_lazy.png</code><li><code>entity/panda/playful_panda.png</code> -> <code>entity/panda/panda_playful.png</code><li><code>entity/panda/weak_panda.png</code> -> <code>entity/panda/panda_weak.png</code><li><code>entity/panda/worried_panda.png</code> -> <code>entity/panda/panda_worried.png</code><li><code>entity/pig/cold_pig.png</code> -> <code>entity/pig/pig_cold.png</code><li><code>entity/pig/temperate_pig.png</code> -> <code>entity/pig/pig_temperate.png</code><li><code>entity/pig/warm_pig.png</code> -> <code>entity/pig/pig_warm.png</code><li><code>entity/projectiles/spectral.png</code> -> <code>entity/projectiles/arrow_spectral.png</code><li><code>entity/projectiles/tipped.png</code> -> <code>entity/projectiles/arrow_tipped.png</code><li><code>entity/turtle/big_sea_turtle.png</code> -> <code>entity/turtle/turtle.png</code></ul><li><p>Moved the following entity textures:<ul><li><code>entity/armadillo.png</code> -> <code>entity/armadillo/armadillo.png</code><li><code>entity/banner_base.png</code> -> <code>entity/banner/banner_base.png</code><li><code>entity/bat.png</code> -> <code>entity/bat/bat.png</code><li><code>entity/beacon_beam.png</code> -> <code>entity/beacon/beacon_beam.png</code><li><code>entity/blaze.png</code> -> <code>entity/blaze/blaze.png</code><li><code>entity/dolphin.png</code> -> <code>entity/dolphin/dolphin.png</code><li><code>entity/enchanting_table_book.png</code> -> <code>entity/enchantment/enchanting_table_book.png</code><li><code>entity/end_gateway_beam.png</code> -> <code>entity/end_portal/end_gateway_beam.png</code><li><code>entity/end_portal.png</code> -> <code>entity/end_portal/end_portal.png</code><li><code>entity/endermite.png</code> -> <code>entity/endermite/endermite.png</code><li><code>entity/experience_orb.png</code> -> <code>entity/experience/experience_orb.png</code><li><code>entity/fishing_hook.png</code> -> <code>entity/fishing/fishing_hook.png</code><li><code>entity/guardian.png</code> -> <code>entity/guardian/guardian.png</code><li><code>entity/guardian_beam.png</code> -> <code>entity/guardian/guardian_beam.png</code><li><code>entity/guardian_elder.png</code> -> <code>entity/guardian/guardian_elder.png</code><li><code>entity/lead_knot.png</code> -> <code>entity/lead_knot/lead_knot.png</code><li><code>entity/minecart.png</code> -> <code>entity/minecart/minecart.png</code><li><code>entity/phantom.png</code> -> <code>entity/phantom/phantom.png</code><li><code>entity/phantom_eyes.png</code> -> <code>entity/phantom/phantom_eyes.png</code><li><code>entity/shield_base.png</code> -> <code>entity/shield/shield_base.png</code><li><code>entity/shield_base_nopattern.png</code> -> <code>entity/shield/shield_base_nopattern.png</code><li><code>entity/silverfish.png</code> -> <code>entity/silverfish/silverfish.png</code><li><code>entity/snow_golem.png</code> -> <code>entity/snow_golem/snow_golem.png</code><li><code>entity/spider_eyes.png</code> -> <code>entity/spider/spider_eyes.png</code><li><code>entity/trident.png</code> -> <code>entity/trident/trident.png</code><li><code>entity/trident_riptide.png</code> -> <code>entity/trident/trident_riptide.png</code><li><code>entity/wandering_trader.png</code> -> <code>entity/wandering_trader/wandering_trader.png</code><li><code>entity/witch.png</code> -> <code>entity/witch/witch.png</code></ul></ul><h2>Sounds</h2><ul><li>Added new sound events for the Cat:<ul><li><code>entity.baby_cat.ambient</code><li><code>entity.baby_cat.hiss</code><li><code>entity.baby_cat.hurt</code><li><code>entity.baby_cat.death</code><li><code>entity.baby_cat.eat</code><li><code>entity.baby_cat.beg_for_food</code><li><code>entity.baby_cat.purr</code><li><code>entity.baby_cat.purreow</code><li><code>entity.baby_cat.stray_ambient</code><li><code>entity.cat_royal.ambient</code><li><code>entity.cat_royal.hiss</code><li><code>entity.cat_royal.hurt</code><li><code>entity.cat_royal.death</code><li><code>entity.cat_royal.eat</code><li><code>entity.cat_royal.beg_for_food</code><li><code>entity.cat_royal.purr</code><li><code>entity.cat_royal.purreow</code><li><code>entity.cat_royal.stray_ambient</code></ul><li>Added new sound events for the Pig:<ul><li><code>entity.baby_pig.ambient</code><li><code>entity.baby_pig.hurt</code><li><code>entity.baby_pig.death</code><li><code>entity.baby_pig.step</code><li><code>entity.baby_pig.eat</code><li><code>entity.pig_mini.ambient</code><li><code>entity.pig_mini.hurt</code><li><code>entity.pig_mini.death</code><li><code>entity.pig_mini.eat</code><li><code>entity.pig_big.ambient</code><li><code>entity.pig_big.hurt</code><li><code>entity.pig_big.death</code><li><code>entity.pig_big.eat</code><li><code>entity.pig.eat</code></ul><li>Added new sound events for the Wolf:<ul><li><code>entity.baby_wolf.ambient</code><li><code>entity.baby_wolf.growl</code><li><code>entity.baby_wolf.death</code><li><code>entity.baby_wolf.hurt</code><li><code>entity.baby_wolf.pant</code><li><code>entity.baby_wolf.whine</code><li><code>entity.baby_wolf.step</code></ul><li>Added new sound events for the Horse:<ul><li><code>entity.baby_horse.ambient</code><li><code>entity.baby_horse.hurt</code><li><code>entity.baby_horse.death</code><li><code>entity.baby_horse.angry</code><li><code>entity.baby_horse.eat</code><li><code>entity.baby_horse.fall</code><li><code>entity.baby_horse.land</code><li><code>entity.baby_horse.step</code><li><code>entity.baby_horse.breathe</code></ul><li>Added new sound events for the Chicken:<ul><li><code>entity.baby_chicken.ambient</code><li><code>entity.baby_chicken.hurt</code><li><code>entity.baby_chicken.death</code><li><code>entity.baby_chicken.step</code><li><code>entity.chicken_picky.ambient</code><li><code>entity.chicken_picky.death</code><li><code>entity.chicken_picky.hurt</code><li><code>entity.chicken_picky.step</code></ul><li>Added new sound events for the Golden Dandelion:<ul><li><code>item.golden_dandelion.use</code><li><code>item.golden_dandelion.unuse</code></ul><li>Added new sound events for the Cow:<ul><li><code>entity.cow_moody.ambient</code><li><code>entity.cow_moody.death</code><li><code>entity.cow_moody.hurt</code><li><code>entity.cow_moody.step</code></ul><li>Added new sound events for the trumpet instrument:<ul><li><code>block.note_block.trumpet</code><li><code>block.note_block.trumpet_exposed</code><li><code>block.note_block.trumpet_oxidized</code><li><code>block.note_block.trumpet_weathered</code></ul></ul><h2>Shaders &#38 Post-process Effects</h2><blockquote><p><strong>Developer's Note</strong>: <em>Although it is possible in Resource Packs, overriding Core Shaders is considered as unsupported and not an intended Resource Pack feature. These shaders exist as part of the internal implementation of the game, and as such, may change at any time as the game's internals evolve. We understand that overriding Core Shaders is used for very cool Resource Pack features, many of which lack supported alternatives. We would like to provide better, supported alternatives in the future.</em></blockquote><ul><li>The <code>core/rendertype_item_entity_translucent_cull</code> shaders have been removed in favor of <code>core/entity</code><li>The <code>core/rendertype_entity_alpha</code> and <code>core/rendertype_entity_decal</code> shaders have been replaced by a <code>DISSOLVE</code> flag implemented by <code>core/entity</code><li>Rendering of items (in UI and in the world) has been split from the <code>core/entity</code> into new <code>core/item</code> shaders<li>The <code>block.vsh</code> and <code>terrain.vsh</code> shaders no longer receive the <code>Normal</code> vertex attribute<li>The <code>core/rendertype_translucent_moving_block</code> shaders have been removed in favor of <code>core/block</code></ul><h3>Lightmap Shader</h3><ul><li>The <code>lightmap.fsh</code> shader was significantly modified<ul><li>The <code>LightmapInfo</code> uniform now has two new fields:<ul><li><code>BlockLightTint</code><li><code>NightVisionColor</code></ul><li>The <code>AmbientLightFactor</code> field was removed, its value is now premultiplied into <code>AmbientColor</code><li>The <code>DarkenWorldFactor</code> was renamed to <code>BossOverlayWorldDarkeningFactor</code></ul><li>Text and items rendered in UI now use a separate 1x1 white lightmap texture, so the lightmap shader does not always have to keep the 15, 15 pixel purely white</ul><p><img alt=\"A Dolphin is jumping out of the water in front of a sunset.\"src=https://launchercontent.mojang.com/v2/images/2613.jpg><h1>Fixed bugs in 26.1</h1><ul><li><a href=https://bugs.mojang.com/browse/MC-13187 rel=\"noopener noreferrer\"target=_blank>MC-13187</a> Water in water cauldrons is not transparent<li><a href=https://bugs.mojang.com/browse/MC-64087 rel=\"noopener noreferrer\"target=_blank>MC-64087</a> Revengeful zombies / Zombie reinforcements try to attack players in Creative mode<li><a href=https://bugs.mojang.com/browse/MC-91132 rel=\"noopener noreferrer\"target=_blank>MC-91132</a> No cross-platform CJK IME support<li><a href=https://bugs.mojang.com/browse/MC-98631 rel=\"noopener noreferrer\"target=_blank>MC-98631</a> The heights of shields in first person are different depending on what hand you have them held in<li><a href=https://bugs.mojang.com/browse/MC-99647 rel=\"noopener noreferrer\"target=_blank>MC-99647</a> The \"below_name\" scoreboard display slot doesn't work with non-player entities<li><a href=https://bugs.mojang.com/browse/MC-102774 rel=\"noopener noreferrer\"target=_blank>MC-102774</a> You can respawn the ender dragon with only two end crystals<li><a href=https://bugs.mojang.com/browse/MC-129886 rel=\"noopener noreferrer\"target=_blank>MC-129886</a> Trying to place a block below the bottom of the world does not give an error message<li><a href=https://bugs.mojang.com/browse/MC-131745 rel=\"noopener noreferrer\"target=_blank>MC-131745</a> Shipwrecks sometimes generate split into different variants at chunk boundaries<li><a href=https://bugs.mojang.com/browse/MC-134573 rel=\"noopener noreferrer\"target=_blank>MC-134573</a> The game freezes while doing a world backup<li><a href=https://bugs.mojang.com/browse/MC-153831 rel=\"noopener noreferrer\"target=_blank>MC-153831</a> Trader llamas spawned from breeding can despawn<li><a href=https://bugs.mojang.com/browse/MC-163978 rel=\"noopener noreferrer\"target=_blank>MC-163978</a> Mobs can spawn on moving blocks<li><a href=https://bugs.mojang.com/browse/MC-178713 rel=\"noopener noreferrer\"target=_blank>MC-178713</a> Bone meal can be used on certain plants at build height, but they don't grow<li><a href=https://bugs.mojang.com/browse/MC-179949 rel=\"noopener noreferrer\"target=_blank>MC-179949</a> You cannot edit the inventories of piglins by using '/item replace'<li><a href=https://bugs.mojang.com/browse/MC-181169 rel=\"noopener noreferrer\"target=_blank>MC-181169</a> Skeleton trapped horses with PersistenceRequired still despawn<li><a href=https://bugs.mojang.com/browse/MC-184432 rel=\"noopener noreferrer\"target=_blank>MC-184432</a> There is no warning when using bone meal on plants that try to grow above or below the world height limits<li><a href=https://bugs.mojang.com/browse/MC-184433 rel=\"noopener noreferrer\"target=_blank>MC-184433</a> When applying bone meal to grass / ferns / nether fungi at the upper build limit, there is no warning, and the taller part of the plant is cut off<li><a href=https://bugs.mojang.com/browse/MC-195237 rel=\"noopener noreferrer\"target=_blank>MC-195237</a> End portals and end gateways held by endermen or as block display entities are not rendered, but nether portals are<li><a href=https://bugs.mojang.com/browse/MC-197497 rel=\"noopener noreferrer\"target=_blank>MC-197497</a> The block light transition from level 1 to 0 is not smooth when there is no sky light and Smooth Lighting is enabled<li><a href=https://bugs.mojang.com/browse/MC-199559 rel=\"noopener noreferrer\"target=_blank>MC-199559</a> Light appears darker and orange when Night Vision is active<li><a href=https://bugs.mojang.com/browse/MC-199975 rel=\"noopener noreferrer\"target=_blank>MC-199975</a> Endermen holding bells or bell block display entities only render the bell frame<li><a href=https://bugs.mojang.com/browse/MC-219981 rel=\"noopener noreferrer\"target=_blank>MC-219981</a> Leader zombie-type mobs spawn with 20 health despite having an increased maximum health<li><a href=https://bugs.mojang.com/browse/MC-221510 rel=\"noopener noreferrer\"target=_blank>MC-221510</a> Dolphin would rather drown than get air when chasing items<li><a href=https://bugs.mojang.com/browse/MC-222949 rel=\"noopener noreferrer\"target=_blank>MC-222949</a> You can use tridents enchanted with Riptide while riding entities<li><a href=https://bugs.mojang.com/browse/MC-230139 rel=\"noopener noreferrer\"target=_blank>MC-230139</a> Typos in stonecutter recipe names<li><a href=https://bugs.mojang.com/browse/MC-230746 rel=\"noopener noreferrer\"target=_blank>MC-230746</a> Pointed dripstone does not grow with a waterlogged block 2 blocks above it but does fill cauldrons<li><a href=https://bugs.mojang.com/browse/MC-231663 rel=\"noopener noreferrer\"target=_blank>MC-231663</a> Dragon eggs do not check whether there is a block under their destination when teleporting<li><a href=https://bugs.mojang.com/browse/MC-233911 rel=\"noopener noreferrer\"target=_blank>MC-233911</a> Sleeping in a bed and waking up no longer instantly sets the daytime sky<li><a href=https://bugs.mojang.com/browse/MC-248092 rel=\"noopener noreferrer\"target=_blank>MC-248092</a> Untamed cats on lead despawn when attached to fence post<li><a href=https://bugs.mojang.com/browse/MC-254785 rel=\"noopener noreferrer\"target=_blank>MC-254785</a> Bone meal is consumed when used on a bamboo stalk with a block above it<li><a href=https://bugs.mojang.com/browse/MC-257362 rel=\"noopener noreferrer\"target=_blank>MC-257362</a> Particles from breaking frogspawn are transparent<li><a href=https://bugs.mojang.com/browse/MC-259032 rel=\"noopener noreferrer\"target=_blank>MC-259032</a> /data produces a positive result for low negative numbers<li><a href=https://bugs.mojang.com/browse/MC-260148 rel=\"noopener noreferrer\"target=_blank>MC-260148</a> show_notification only works for shaped crafting recipes<li><a href=https://bugs.mojang.com/browse/MC-263488 rel=\"noopener noreferrer\"target=_blank>MC-263488</a> The item texture of pink petals has a misplaced transparent pixel<li><a href=https://bugs.mojang.com/browse/MC-264155 rel=\"noopener noreferrer\"target=_blank>MC-264155</a> Bone meal doesn't work on grass blocks beneath cave air or void air<li><a href=https://bugs.mojang.com/browse/MC-264187 rel=\"noopener noreferrer\"target=_blank>MC-264187</a> Spawners with their light limits set to ranges that don't include 15 don't spawn mobs under the night sky<li><a href=https://bugs.mojang.com/browse/MC-273228 rel=\"noopener noreferrer\"target=_blank>MC-273228</a> Crash when generating water lakes using a custom worldgen datapack<li><a href=https://bugs.mojang.com/browse/MC-274238 rel=\"noopener noreferrer\"target=_blank>MC-274238</a> Persistent trader llamas can despawn when leashed to wandering traders<li><a href=https://bugs.mojang.com/browse/MC-275014 rel=\"noopener noreferrer\"target=_blank>MC-275014</a> Weathered and oxidized copper bulbs cast stronger shadows on themselves when lit with smooth lighting enabled<li><a href=https://bugs.mojang.com/browse/MC-279187 rel=\"noopener noreferrer\"target=_blank>MC-279187</a> The \"selectWorld.backupWarning.snapshot\" string incorrectly pluralizes the word \"corruption\"<li><a href=https://bugs.mojang.com/browse/MC-297536 rel=\"noopener noreferrer\"target=_blank>MC-297536</a> Z-fighting occurs on the debug crosshair<li><a href=https://bugs.mojang.com/browse/MC-298136 rel=\"noopener noreferrer\"target=_blank>MC-298136</a> The aura of beacon beams now always renders behind block entities<li><a href=https://bugs.mojang.com/browse/MC-298745 rel=\"noopener noreferrer\"target=_blank>MC-298745</a> Unlocking new recipes or changing dimensions replaces the locator bar with the experience bar temporarily<li><a href=https://bugs.mojang.com/browse/MC-299730 rel=\"noopener noreferrer\"target=_blank>MC-299730</a> Dumping textures while using a TTF font crashes the game<li><a href=https://bugs.mojang.com/browse/MC-299992 rel=\"noopener noreferrer\"target=_blank>MC-299992</a> Unexpected behavior when giving or testing for an item with certain components manually specified as their default values<li><a href=https://bugs.mojang.com/browse/MC-300380 rel=\"noopener noreferrer\"target=_blank>MC-300380</a> Copper golems do not pathfind down blocks that are in between half a block and a block tall to a chest<li><a href=https://bugs.mojang.com/browse/MC-300465 rel=\"noopener noreferrer\"target=_blank>MC-300465</a> Maps with the maximum number of markers cannot be placed in item frames<li><a href=https://bugs.mojang.com/browse/MC-301003 rel=\"noopener noreferrer\"target=_blank>MC-301003</a> The bell part of bells worn on copper golems' \"saddle\" slot is not visible<li><a href=https://bugs.mojang.com/browse/MC-301245 rel=\"noopener noreferrer\"target=_blank>MC-301245</a> Copper golem statues are displayed upside down in block displays<li><a href=https://bugs.mojang.com/browse/MC-302186 rel=\"noopener noreferrer\"target=_blank>MC-302186</a> Ambient lighting in the Nether appears discolored compared to previous versions<li><a href=https://bugs.mojang.com/browse/MC-302408 rel=\"noopener noreferrer\"target=_blank>MC-302408</a> Inconsistent underwater lighting with the Conduit Power effect applied<li><a href=https://bugs.mojang.com/browse/MC-302528 rel=\"noopener noreferrer\"target=_blank>MC-302528</a> Low sky &#38 block light look outright broken when cast on the same area<li><a href=https://bugs.mojang.com/browse/MC-302635 rel=\"noopener noreferrer\"target=_blank>MC-302635</a> Semi-transparent blocks render in front of solid blocks when viewed through semi-transparent blocks being pushed by a piston<li><a href=https://bugs.mojang.com/browse/MC-302734 rel=\"noopener noreferrer\"target=_blank>MC-302734</a> Zombie horses constantly move in and out of water and burn to death<li><a href=https://bugs.mojang.com/browse/MC-303119 rel=\"noopener noreferrer\"target=_blank>MC-303119</a> Feeding a cat or wolf in Survival mode with only one item in the selected item slot does not restore as much health as it should<li><a href=https://bugs.mojang.com/browse/MC-303125 rel=\"noopener noreferrer\"target=_blank>MC-303125</a> Creepers can blow up after the player dies<li><a href=https://bugs.mojang.com/browse/MC-303344 rel=\"noopener noreferrer\"target=_blank>MC-303344</a> Tooltips for selected items in dialogs are displayed even when the item isn't being hovered over<li><a href=https://bugs.mojang.com/browse/MC-303389 rel=\"noopener noreferrer\"target=_blank>MC-303389</a> The ender dragon's velocity can be affected by attacks while perched<li><a href=https://bugs.mojang.com/browse/MC-303403 rel=\"noopener noreferrer\"target=_blank>MC-303403</a> Hanging sign block displays render dark and above other blocks and mobs<li><a href=https://bugs.mojang.com/browse/MC-303684 rel=\"noopener noreferrer\"target=_blank>MC-303684</a> Hoglins can despawn when attached to leads<li><a href=https://bugs.mojang.com/browse/MC-303685 rel=\"noopener noreferrer\"target=_blank>MC-303685</a> Zoglins can despawn when attached to leads<li><a href=https://bugs.mojang.com/browse/MC-303692 rel=\"noopener noreferrer\"target=_blank>MC-303692</a> The debug overlay text has an indent when \"Improved Transparency\" is disabled<li><a href=https://bugs.mojang.com/browse/MC-303749 rel=\"noopener noreferrer\"target=_blank>MC-303749</a> Dolphins can despawn when attached to leads<li><a href=https://bugs.mojang.com/browse/MC-303750 rel=\"noopener noreferrer\"target=_blank>MC-303750</a> Squids &#38 glow squids can despawn when attached to leads<li><a href=https://bugs.mojang.com/browse/MC-304023 rel=\"noopener noreferrer\"target=_blank>MC-304023</a> Redundant level data fixer files are saved in worlds' \"data\" folder<li><a href=https://bugs.mojang.com/browse/MC-304217 rel=\"noopener noreferrer\"target=_blank>MC-304217</a> Lunge's hunger requirement applies to post_piercing_attack effects of custom enchantments<li><a href=https://bugs.mojang.com/browse/MC-304361 rel=\"noopener noreferrer\"target=_blank>MC-304361</a> The heads of zombie nautiluses have a massive empty gap on the back<li><a href=https://bugs.mojang.com/browse/MC-304446 rel=\"noopener noreferrer\"target=_blank>MC-304446</a> Activating a stasis chamber with a sponge deletes the ender pearl<li><a href=https://bugs.mojang.com/browse/MC-304599 rel=\"noopener noreferrer\"target=_blank>MC-304599</a> Dolphins don't follow players riding nautiluses like in Bedrock Edition<li><a href=https://bugs.mojang.com/browse/MC-304631 rel=\"noopener noreferrer\"target=_blank>MC-304631</a> Anisotropic filtering set to 8x causes opaque translucent textures to become transparent in the distance when there are odd-sized block textures<li><a href=https://bugs.mojang.com/browse/MC-304683 rel=\"noopener noreferrer\"target=_blank>MC-304683</a> Wandering traders don't spawn in single biome snowy plains worlds<li><a href=https://bugs.mojang.com/browse/MC-304705 rel=\"noopener noreferrer\"target=_blank>MC-304705</a> The E value in entity_render_stats in the debug overlay doesn't work<li><a href=https://bugs.mojang.com/browse/MC-304725 rel=\"noopener noreferrer\"target=_blank>MC-304725</a> Zombie villagers summoned with default spawn eggs always spawn as their plains variant<li><a href=https://bugs.mojang.com/browse/MC-304761 rel=\"noopener noreferrer\"target=_blank>MC-304761</a> Spears' charge animation takes too long to rotate sideways for slower spears<li><a href=https://bugs.mojang.com/browse/MC-304796 rel=\"noopener noreferrer\"target=_blank>MC-304796</a> Hovering over a disabled slider shows the pointing hand cursor instead of the forbidden cursor<li><a href=https://bugs.mojang.com/browse/MC-304991 rel=\"noopener noreferrer\"target=_blank>MC-304991</a> Clicking on a chest with loot that hasn't been generated in Spectator mode makes the \"block.chest.locked\" sound<li><a href=https://bugs.mojang.com/browse/MC-305012 rel=\"noopener noreferrer\"target=_blank>MC-305012</a> The description of the \"Universal anger\" game rule still uses the old ID of the \"Forgive dead players\" game rule<li><a href=https://bugs.mojang.com/browse/MC-305040 rel=\"noopener noreferrer\"target=_blank>MC-305040</a> Nautili spawned as a result of a player breeding two other nautili can despawn<li><a href=https://bugs.mojang.com/browse/MC-305123 rel=\"noopener noreferrer\"target=_blank>MC-305123</a> Curse of Vanishing doesn't work when the item is equipped on an armor stand<li><a href=https://bugs.mojang.com/browse/MC-305196 rel=\"noopener noreferrer\"target=_blank>MC-305196</a> Witches always miss their shots when close to their target<li><a href=https://bugs.mojang.com/browse/MC-305292 rel=\"noopener noreferrer\"target=_blank>MC-305292</a> Copper chests use the Christmas present texture<li><a href=https://bugs.mojang.com/browse/MC-305369 rel=\"noopener noreferrer\"target=_blank>MC-305369</a> Trying to attach a leash to a fence outside its reach places a ghost leash knot and plays a sound<li><a href=https://bugs.mojang.com/browse/MC-305388 rel=\"noopener noreferrer\"target=_blank>MC-305388</a> Bees never cease to be angry<li><a href=https://bugs.mojang.com/browse/MC-305451 rel=\"noopener noreferrer\"target=_blank>MC-305451</a> Tripwire is invisible through translucent blocks if \"Improved Transparency\" is disabled<li><a href=https://bugs.mojang.com/browse/MC-305471 rel=\"noopener noreferrer\"target=_blank>MC-305471</a> Cacti appear with seams on the edges and corners when using higher resolution texture packs with mipmaps enabled<li><a href=https://bugs.mojang.com/browse/MC-305580 rel=\"noopener noreferrer\"target=_blank>MC-305580</a> Baby zombie horses and baby skeleton horses grow into adults, unlike other baby undead mobs<li><a href=https://bugs.mojang.com/browse/MC-305699 rel=\"noopener noreferrer\"target=_blank>MC-305699</a> Piglins in groups fail to initiate hoglin hunting behavior<li><a href=https://bugs.mojang.com/browse/MC-305857 rel=\"noopener noreferrer\"target=_blank>MC-305857</a> Entity hitboxes now move jaggedly when the game is frozen<li><a href=https://bugs.mojang.com/browse/MC-305888 rel=\"noopener noreferrer\"target=_blank>MC-305888</a> Turtle eggs no longer hatch in the Nether or the End<li><a href=https://bugs.mojang.com/browse/MC-306123 rel=\"noopener noreferrer\"target=_blank>MC-306123</a> Wolves still try to attack players even in Peaceful difficulty<li><a href=https://bugs.mojang.com/browse/MC-306427 rel=\"noopener noreferrer\"target=_blank>MC-306427</a> Certain mobs holding items with empty \"kinetic_weapon\" components crash the game whenever target acquisition succeeds<li><a href=https://bugs.mojang.com/browse/MC-306566 rel=\"noopener noreferrer\"target=_blank>MC-306566</a> The totem of undying screen effect now jitters while the game is frozen<li><a href=https://bugs.mojang.com/browse/MC-306658 rel=\"noopener noreferrer\"target=_blank>MC-306658</a> Dolphins let themselves drown even with ample access to air<li><a href=https://bugs.mojang.com/browse/MC-306798 rel=\"noopener noreferrer\"target=_blank>MC-306798</a> Ender dragons with a <code>DragonDeathTime</code> of 200 or greater never disappear</ul>","id":"4ace2852c44a19e2849d481ba3d816ca5f0b4c97f13aa91641e41398d2ba03bf","date":"2026-03-24T12:11:04.000Z","needsTranslation":false}