# Minecraft: Java Edition 26.2 Chaos Cubed has landed in Minecraft Java Edition! Explore a striking cave biome filled with bubbling sulfur pools, build with sulfur and cinnabar, and discover the sulfur cube's curious appetite for blocks! From bouncing and sliding to explosive surprises, this unpredictable mob unlocks exciting new ways to build, compete, and survive. Play Chaos Cubed today in Minecraft! Happy mining! ## New Features - Added the Sulfur Cube mob - Added the Sulfur Caves biome - Added the Cinnabar and Sulfur block sets - Added the Sulfur Spike and Potent Sulfur block - Added a new Music Disc with the track "Bounce" by fingerspit - Added 5 new music tracks by fingerspit - Added the Friends List - Added new settings for Friends List in Online Options - Added experimental support for rendering the game through Vulkan - Added new option "Graphics API" in Video Settings - Added Swiss French, Chuvash, Gallo, Uzbek, and Võro language support to the game ### Sulfur Cube ![Steve is riding a Pig in a Boat leashed to a Blue Ice absorbed Sulfur Cube, holding a Diamond Spear.](https://launchercontent.mojang.com/v2/images/26.21.jpg) - Added the Sulfur Cube mob - Spawns in the new Sulfur Caves biome - When a Player interacts with it while holding a block: - The Sulfur Cube absorbs the block - Its AI is disabled - While a block is absorbed: - The Sulfur Cube becomes a physical object: - It does not take fall or Player damage - Players can punch and push it - It assumes one of the archetypes (listed below), changing its physical properties to match the absorbed block - The Player can interact with it using Shears: - This removes the absorbed block - The Sulfur Cube's AI is re-enabled - The Sulfur Cube will follow a Player holding a block it can absorb - The Sulfur Cube can look for nearby block items and move towards them to absorb them - When killed, the Sulfur Cube splits into two smaller Sulfur Cubes - Small Sulfur Cubes can be fed Slime Balls to grow into large Sulfur Cubes - A large Sulfur Cube can be picked up using an empty Bucket - Sulfur Cubes cannot enter Boats, but can ride Minecarts - Dispensers can: - Insert and swap blocks inside a Sulfur Cube - Use Shears to remove the held block - Spawn a Sulfur Cube from a Bucket of Sulfur Cube - Pufferfish are not scared by Sulfur Cubes #### Sulfur Cube Archetypes ![Noor and Sunny are playing football, using the birch absorbed Sulfur Cube as a ball in a stadium. Steve is goalkeeping.](https://launchercontent.mojang.com/v2/images/26.22.jpg) - Each archetype is characterized by the speed of the Sulfur Cube when hit, how bouncy it is when colliding with blocks and collidable entities, as well as its ground friction, air drag, and if it floats in liquids - There are the following archetypes: - Regular: medium speed, medium bounciness, medium ground friction, and low air drag - It is buoyant - Used when absorbing loose mineral and soil blocks - Bouncy: fast speed, high bounciness, medium ground friction, and low air drag - It is buoyant - Used when absorbing wooden blocks - Slow Bouncy: slow speed, high bounciness, medium friction, and medium air drag - Used when absorbing stone-like blocks - Slow Flat: slow speed, low bounciness, medium ground friction, and medium air drag - Used when absorbing metal blocks - Fast Flat: fast speed, low bounciness, medium ground friction, and low air drag - Used when absorbing organic blocks - Light: slow speed, high bounciness, medium ground friction, and high air drag - It is buoyant - Used when absorbing wool blocks - Fast Sliding: fast speed, no bounciness, low ground friction, and low air drag - Used when absorbing icy blocks - Slow Sliding: slow speed, no bounciness, low ground friction, and low air drag - Used when absorbing shroom blocks - There are also the following special archetypes: - High Resistance: very slow, low drag with low bounce with high friction - Used when absorbing Soul Sand and Soul Soil - Sticky: same properties as the Fast Flat archetype, but sticks with extremely high ground friction and no bounce to simulate stickiness - Used when absorbing a Honeycomb Block - Explosive: similar properties to the Regular archetype with a slightly higher air drag - Used when absorbing a TNT block - Absorbed TNT can be primed by Redstone, fire sources (including a Dispenser with a Flint and Steel), or nearby explosions - When primed by fire or Redstone, absorbed TNT uses a fuse time of 6 seconds - When primed by an explosion, absorbed TNT uses a randomized fuse time between 0.75 and 3 seconds - Sulfur Cubes with an absorbed, primed TNT block cannot be picked up with a Bucket - Absorbed, primed TNT blocks cannot be sheared out - On explosion, no small Sulfur Cubes are spawned - Hot: same properties as the Regular archetype, but damages entities on contact - Used when absorbing a Magma Block ### Sulfur Caves Biome - Added Sulfur Caves biome - Generates naturally underground - The Sulfur Caves biome has bands of Sulfur and Cinnabar - Spawns the new Sulfur Cube mob as well as Cave Spiders - Generates with Sulfur Pools which contain Potent Sulfur ![Four Minecart with Chests are being pulled from a Nether Portal in a Sulfur Cave Biome.](https://launchercontent.mojang.com/v2/images/26.23.jpg) ### Sulfur Spring - Is a new feature which generates naturally above the Sulfur Caves biome - Consists of Sulfur, Potent Sulfur, and Magma Blocks - Sulfur Springs come in 4 different size variants: - Small - Medium - Large - Extra Large ### Cinnabar and Sulfur Block Sets ![A cute chimney made of Polished Cinnabar blocks and Cinnabar Bricks in a Forest Biome.](https://launchercontent.mojang.com/v2/images/26.25.jpg) - Added Cinnabar and Sulfur stone block sets - Each of them has Polished and Bricks variants - Each variant has its Slabs, Stairs and Walls blocks - Added Chiseled Cinnabar and Chiseled Sulfur blocks ### Potent Sulfur - Is a new block that generates naturally in Water Pools inside the Sulfur Caves biome - Produces bubbles which rise up to 4 Water source blocks above it - When placed underneath up to 4 Water source blocks, it generates a cloud of nausea-causing gas on the water surface - This cloud spreads across adjacent water with a maximum radius of 3 blocks - Can be crafted from 9 Sulfur blocks - When placed above a Magma Block or a Lava Block, and under 1-4 Water source blocks, it creates a geyser - With Magma underneath, the geyser will erupt at random intervals, shooting a plume of water particles upwards and applying an upward impulse to entities above it - With Lava underneath, the geyser eruption is continuous, but with slightly muted sounds compared to the eruption from a Magma Block - Geyser eruptions emit game events at the beginning and at the end of the eruption that can be detected by Sculk Sensors ### Sulfur Spike ![Efe standing next to a cozy Cinnabar house, looking up to a Glowstone absorbed Sulfur Cube.](https://launchercontent.mojang.com/v2/images/26.26.jpg) - Is a new block that generates naturally on Sulfur blocks inside the Sulfur Caves biome - Forms a stalactite if placed on the ceiling or a stalagmite if placed on the floor - Can be combined to form longer stalactites & stalagmites - Stalactites and stalagmites merge if the tips are next to each other, unless you sneak while placing - Sulfur Spike stalactites can grow when placed under a Sulfur block - Stalagmites will break if they're not attached to something below - Stalactites fall down if not attached to something above - Being hit by a falling stalactite hurts because they are sharp! - Stalagmites are not sharp and do not hurt more to land on - Thrown Tridents break Sulfur Spikes - Four Sulfur Spikes can be crafted into one Sulfur ### Music and Sound - Added a new music disc: - "Bounce" by fingerspit - Has a chance of being found in Mineshaft Chest Minecarts that are located in a Sulfur Caves biome - Has a comparator output of 8 when played in a Jukebox - Added 5 new background music tracks by fingerspit: - "Shores" - "Memories" - "Nightly" - "Home" - "Ebb" - Added block sounds for Sulfur, Potent Sulfur, and Cinnabar - Added mob sounds for Sulfur Cube and small Sulfur Cube - Added sounds for when using a bucket on a Sulfur Cube - Added sounds for geyser eruptions ### Advancements - Added new "Uh Oh" Husbandry advancement for having a Sulfur Cube absorb a TNT block ![Steve pushing a Zombie in a minecart towards another minecart with TNT-absorbed Sulfur Cube on top of a mineshaft bridge with rails in a Sulfur Cave Biome.](https://launchercontent.mojang.com/v2/images/26.27.jpg) ### Friends List - Added a Friends List, accessible from a new Friends button on the Title Screen and the Pause Menu - The Friends List can be opened with a new key bind (default: "O") - The Friends button shows a notification badge with the number of incoming friend requests, up to 5 (a "more" indicator is shown beyond that) - The Friends List is presented as an overlay with two tabs: - Friends: shows your current friends, lets you remove them, and lets you send a new friend request by Profile Name - Pending: shows incoming friend requests (which can be accepted or declined) and outgoing friend requests (which can be canceled) - The presence of your friends is shown under their name in the Friends List as one of the following: - "Offline" - "Online" - "Online (LAN)" - "Online (World)" - "Online (Realm)" - "Online (Server)" - Sending, accepting, declining, cancelling, and removing actions are confirmed in the UI and show a clear error message when the service is unreachable, rate limited, or the requested Profile Name does not exist - Friend changes that happen while the game is running are shown through toast notifications: - When a friend request is sent - When a friend request is received - When an outgoing friend request is accepted by the other player - Toasts show the other player's face when the skin is available - The Friends List checks for updates once per minute while the Friends List is open, or every 5 minutes otherwise - The first time the Friends button is shown on the Title Screen, a confirmation dialog is presented to opt in to the Friends List - The Friends List, friend request privacy, and the Microsoft account safety settings link are managed from the new "Friends List" section in Online Options - Players that have their chat settings set to "Friends Only" on their Xbox profile will only see chat messages from other players if they are friends ![A new user interface for Friends List feature.](https://launchercontent.mojang.com/v2/images/26.28.jpg) ### Friends List Settings in Online Options - Added a setting to control the availability of the Friends List and its features in Online Options - Added an "In-Game Notification" toggle in Online Options to control whether Friends List toasts appear while in a world - Added an "Allow Requests" toggle in Online Options to control whether other players can send you friend requests - Added a "Visibility" option in Online Options screen to control how much activity is shared with friends (default: "All") - "Full": shares in-game activity - "Hidden": no activity shared, appearing as "Offline" to friends - "Limited": activity sharing limited to "Online" & "Offline" - Added an "Xbox Settings..." button in Online Options that opens the Microsoft account privacy and online safety settings ### Vulkan Support - As [previously announced](https://www.minecraft.net/article/another-step-towards-vibrant-visuals-for-java-edition), we intend to switch the game from OpenGL to Vulkan - Vulkan is not supported by older hardware or drivers - OpenGL will be used as a fallback on those cases - The current requirement is Vulkan 1.2 with dynamic rendering and push descriptors, but this requirement may increase or decrease over time - This is currently an experimental rendering backend, and may not be as performant or stable - Please report any bugs you find with it to [our bug tracker](https://report.bugs.mojang.com) - Under Vulkan, we will prefer your **dedicated graphics card** over any integrated graphics, which is a change from OpenGL - You can see which backend is being used in your F3 debug overlay (in the `system_specs` section) - On macOS, we use MoltenVK to translate Vulkan to Metal ### "Graphics API" Video Setting - This is a new option available in the "Video Settings" - There are three values: **Default**, **Prefer Vulkan (Experimental)** and **Prefer OpenGL** - "Default" may be changed at our discretion, and we recommend this for all users unless you experience issues and need to change - Currently, it is the same as "Prefer OpenGL" - "Prefer Vulkan (Experimental)" will attempt to render using Vulkan, but fall back to OpenGL if it doesn't work - Vulkan support is experimental for now, and using it might reduce performance or cause instability on some systems - "Prefer OpenGL" will attempt to render using OpenGL, but fall back to Vulkan if it doesn't work #### Startup and Fallback Behavior - If the game crashes at startup with "Prefer Vulkan (Experimental)" set, the setting will automatically be changed to "Default" - When set to "Default", the game will still attempt to gather systems information about Vulkan at startup - If the game crashes at startup with "Default" set, the setting will automatically be changed to "Prefer OpenGL" - With "Prefer OpenGL" set, no interaction will be made with Vulkan in case that causes crashes ## Changes - Tweaked various mobs hitbox, eye height, and rider positions - Hoglins are now considered hostile and do not spawn on Peaceful difficulty - Fixed baby Hoglin's and Zoglin's left ear texture so it's properly mirrored - Updated the Main Menu background panorama - When the game is overwhelmed with particles, instead of removing existing particles in flight, it will now randomly select for particles to render or not render to stay under the particle limit - This change is especially visible with a large number of new geyser eruptions - As the host of a world, changing the game mode with F3 + F4 or with commands changes the default game mode of the world - Upgrading certain worlds from before 26.1 can now be faster - Respawning (as a spectator) in a hardcore world no longer turns off the `spectators_generate_chunks` game rule - Removed Touchscreen Mode > **Developer's Note**: _Touchscreen mode has been poorly implemented and not properly supported for a long time. We are removing this feature in this release. To provide your feedback on this topic, head over to [the feedback site](https://aka.ms/mctouchscreenjavafeedback)._ ### Minor Tweaks to Blocks, Items and Entities - Beds are now slightly more bouncy to match Bedrock - When an entity bounces off of a block or other collidable entity, it emits a vibration of frequency 2 > **Developer's Note**: _We have tweaked how Beds and Slime Blocks restitute entity velocity after collisions. For instance, when air drag is removed via the entity attribute, Slime Blocks will now correctly bounce Mobs indefinitely. This may affect player perception of the bounciness of Beds and Slime Blocks._ ### Sounds - Updated sounds for Nautilus jets and Nautilus recovers - Updated hurt and death sounds for one of the Chicken's sound variants ### UI - Added a Friends button to the Title Screen and the Pause Menu - The tooltip for the "Exclusive Fullscreen" video setting now mentions that Adaptive Sync (Nvidia G-Sync, AMD FreeSync) should work when it is enabled and will not work when it is disabled #### World Options Screen - The host of a world now has access to the "Game Mode" and "Allow Commands" buttons in the World Options screen - These buttons are not available in Hardcore #### Open to LAN Screen - The host of a world can now configure the "Game Mode" and "Allow Commands" values for other players in your world (separate from themselves) - These buttons are available under a "Settings for Other Players" header in the Open to LAN screen ![A small Sulfur Cube rising on top of a geyser on a surface Sulfur Cave biome. Many others are happily bouncing on the water in the background.](https://launchercontent.mojang.com/v2/images/26.24.jpg) ## Technical Changes - The Data Pack version is now 107.1 - The Resource Pack version is now 88.0 - Profiling the game with Tracy (launching with `--tracy`) now includes GPU timings - Rendering now uses a reversed depth buffer, which helps with Z-fighting on most hardware - The `fps` F3 screen entry will now report which type of present mode is used (e.g. `mailbox` or `fifo relaxed`), as opposed to just `vsync` - The `particle_render_stats` now includes the counts of different particle groups (`SQ` for `single quads`, `NR` for `no render`, `EG` for `elder guardians` and `IP` for `item pickup`), as well as the total - A player's score will no longer be displayed in the player tab overlay if the player doesn't have the objective - Updates to telemetry ### Server Properties - Added `chat-spam-threshold-seconds` and `command-spam-threshold-seconds` properties, separating the spam thresholds for chat vs commands - Both thresholds are set to 10 by default, which was the existing threshold for combined command+chat spam - These thresholds configure the mechanism that automatically kicks players for sending too many chat messages or commands - The value describes how many seconds worth of spamming a player must do to get kicked, where each message a player sends increases the counter by 1 second - The counter is decremented once per tick (equivalent to 1/20th of a second), and a player is kicked if their counter reaches the configured threshold - Either threshold can be set to 0 to disable kicks for the associated type of spam - Examples of message rates that would cause a kick, given the default threshold of 10: - Sending 11 messages in 1 second - Sending 14 messages in 2 seconds - Sending 21 messages in 10 seconds ### Minecraft Server Management Protocol 3.0.0 - The management server now starts before the Minecraft server starts - Most notably, this means the heartbeat will be sent while the world is loading and potentially upgrading - The `rpc.discover` and `notification/server/status` methods are now accessible before the dedicated server spins up - The server will return an error when other methods are called during this time ### Telemetry #### New Property in World Events - `server_session_id` a unique identifier for a multiplayer session, shared across all players in that session - A "session" is defined as a continuous period where at least one player was in the server - This property is required and not affected by the opt-in setting #### New Required Events - `graphics_capabilities` - This is a new event that posts on startup, and informs us of the capabilities of the graphics device used to play the game - Added new property: `backend_name` - This will be `Vulkan` or `OpenGL`, and will help us understand which Graphics API players are using - Added new property: `backend_failure_reason` - This will be a list of short error codes, for example `vulkan_device_version_too_low`, which will help us identify any issues with our targeted Vulkan requirements - Added new property: `backend_failure_message` - This will be short and vague messages, such as `Failed to find the GLFW platform surface extensions`, which will help us narrow down issues if players are experiencing issues running with Vulkan - Added new property: `backend_failure_missing_capabilities` - This will be a list of missing capabilities from Vulkan, for example `VULKAN_CORE_1_2, VK_KHR_dynamic_rendering`, which will help us know which capabilities players would need in order to use Vulkan ## Data Pack Version 107.1 ### Sulfur Cube Archetype Registry Added data-driven `minecraft:sulfur_cube_archetype` registry. Elements are loaded from `data//sulfur_cube_archetype/.json`. Entry format: Object with fields: - `items` - item tag that contains all items that can be fed to Sulfur Cubes of this archetype - `buoyant` - boolean indicating if the Sulfur Cube of this archetype floats in liquids - `explosion` - an optional field, if present, the Sulfur Cube of this archetype will explode: - `fuse` - positive integer, the fuse time when ignited - `power` - non-negative integer, the explosion power - `causes_fire` - boolean, whether the explosion causes fire - `contact_damage` - an optional field, if present, the Sulfur Cube of this archetype will deal damage to entities when they come in contact with it - `amount` - non-negative float, amount of damage dealt - `damage_type` - damage type - `attribute_to_source` - boolean indicating if the damage is attributed to the Sulfur Cube - `attribute_modifiers` - a list of objects with fields: - `attribute` - entity attribute, the attribute to modify - `id` - namespaced ID, unique identifier for the modifier - `amount` - double, the amount to modify the attribute by - `operation` - string, how to modify the attribute, one of `add_value`, `add_multiplied_base`, and `add_multiplied_total` - `knockback_modifiers` - a field that contains various modifier fields for the Sulfur Cube's knockback magnitude and direction - `horizontal_power` - float that represents the horizontal power of the knockback - `vertical_power` - float that represents the vertical power of the knockback - `sound_settings` - a field that contains various sound settings for the Sulfur Cube - `hit_sound` - sound event that is played when the Sulfur Cube is hit while it has a block inside - `push_sound` - sound event that is played when the Sulfur Cube is pushed while it has a block inside - `push_sound_impulse_threshold` - float that specifies the smallest impulse required to trigger the push sound effect on the Sulfur Cube - `push_sound_cooldown` - float that specifies the cooldown in seconds for the push sound effect ### Commands - When granting or revoking several advancements, the command output will now report how many advancements changed state across all players - When granting or revoking advancements or a criterion on several players, the command output will now report the number of players that any change applied to - Team color arguments (used in `team modify [name] color` and `waypoint modify [name] color`) now accept only lowercase names with underscores - e.g. only `dark_purple` is accepted and not `darkpurple` or `DarkPurple` - Values now match the color names in text components - The `execute on owner` command will now consider Vexes as owned by their Evoker #### Added `unpublish` - Allows to unpublish the integrated server if there is one present ### Attributes #### Added `minecraft:bounciness` - Determines what portion of the velocity is restituted after the entity collides with blocks and collidable entities - When landing on bouncy blocks, like Beds and Slime Blocks, the higher bounciness (of the block or the entity) is applied - Accepts values between `0.0` and `1.0` - Default value: `0.0` - no velocity is restituted - Maximum value: `1.0` - full velocity is restituted, collisions with blocks and collidable entities will have no effect on lowering the velocity #### Added `minecraft:friction_modifier` - Determines how much ground friction is applied to the entity in regard to the block it is on - Accepts values between `0.0` and `2048.0` - Default value: `1.0` - friction of blocks is not modified - Minimum value: `0.0` - friction of blocks is reduced to zero - Values higher than `1.0` increase the friction applied to the entity from the blocks it is on #### Added `minecraft:air_drag_modifier` - Determines how much drag is applied to an entity while in the air - Accepts values between `0.0` and `2048.0` - Default value: `1.0` - the entity uses existing drag when moving in the air - Minimum value: `0.0` - no drag is applied to the entity - Values higher than `1.0` increase the drag applied to the entity when moving through the air #### Added `minecraft:name_tag_distance` - Controls how far away in blocks the name tag of an entity is visible - The name cannot be visible if the entity is not visible - Accepts values between `0.0` and `512.0` - Default value: `64.0` #### Added `minecraft:below_name_distance` - Controls how far away in blocks the `below_name` scoreboard display is visible - The display cannot be visible if the entity is not visible - Accepts values between `0.0` and `512.0` - Default value: `10.0` #### Changes to `minecraft:knockback_resistance` - The minimum value was changed from `0.0` to `-2.0` ### Data Components #### Added `minecraft:sulfur_cube_content` - Represents the item that is absorbed by the Sulfur Cube - Format: item that is absorbed by the Sulfur Cube - e.g. `minecraft:sulfur_cube_content=green_wool` ### Entity Data - Removed the `HurtByTimestamp` tag from Living Entities, `ticks_since_last_hurt_by_mob` should be used instead ### Block Entity Data - The `minecraft:bed` block entity has been removed ### Damage Types - Added a new `minecraft:sulfur_cube_hot` damage type ### Predicates #### Entity Predicates Entity predicate format has changed from a structure with multiple optional fields to one similar to data component maps. For example: previously, `effects` was an optional field: { "effects": {...} } In this version it has become a component-like sub-predicate entry: { "minecraft:effects": {...} } The main functional changes are: - All keys in entity predicates are now namespaced IDs - Since namespaced IDs can be written without a namespace (defaulting to the `minecraft` namespace), existing field names are still valid - Exception: the field `type` has been renamed to `minecraft:entity_type` - Unrecognized sub-predicate components are now rejected (previously, unknown fields were ignored) Existing type-specific sub-predicates have been renamed and moved to top-level. - `minecraft:lightning` to `minecraft:type_specific/lightning` - `minecraft:fishing_hook` to `minecraft:type_specific/fishing_hook` - `minecraft:player` to `minecraft:type_specific/player` - `minecraft:raider` to `minecraft:type_specific/raider` - `minecraft:sheep` to `minecraft:type_specific/sheep` - `minecraft:slime` to `minecraft:type_specific/cube_mob` as it now includes Sulfur Cubes in addition to Slimes and Magma Cubes For example: { "type_specific": { "type": "minecraft:player", "looking_at": { "type": "minecraft:ender_dragon" } } } becomes { "minecraft:type_specific/player": { "looking_at": { "minecraft:type": "minecraft:ender_dragon" } } } ##### Added `minecraft:entity_tags` entity sub-predicate This predicate matches entity tags (i.e. ones set with the `/tag` command). Fields: - `any_of` - optional list of strings, if present the matched entity must have at least one of the listed tags - `all_of` - optional list of strings, if present the matched entity must have all the listed tags - `none_of` - optional list of strings, if present the matched entity must have none of the listed tags ### World Generation - Added `matching_biomes` world generation-type block predicate type which checks if the block position matches one of the specified biomes - Format: object with fields: - `biomes` - biome ID, list of biome IDs, or hash-prefixed biome tag: the biomes to match - `tree` feature configuration's `below_trunk_provider` block state provider no longer has a default value #### Surface Rules ##### Changes to `noise_threshold` Condition - Added new `is_3d` field - boolean, true if the noise should be evaluated in 3D - If not specified, defaults to `false` #### Dimension Types - The field `infiniburn` now also accepts an ID and a list of IDs in addition to a tag #### Configured Features ##### Added `minecraft:sequence` Feature Type Generates a list of Placed Features in order. If any feature in the list is not placed, the following features will also be skipped. Format: object with fields: - `features` - list of Placed Features or hash-prefixed Placed Feature tag, the features to generate ##### Added `minecraft:template` Feature Type Places one template randomly chosen from the given weighted list of namespaced IDs. By default, the template will be spawned randomly rotated, centered around the origin. Format: object with fields: - `templates` - weighted list of structure template entries. Each structure template entry is composed of a namespaced ID and a list of rotations to randomly choose from - `id` - The template's namespaced ID - `rotations` - Optional list of rotations to choose from and apply to this template if it is picked - Allowed values: `none`, `clockwise_90`, `180`, `counterclockwise_90` - If not specified, defaults to all allowed values ##### Added `minecraft:weighted_random_selector` Feature Type Randomly selects one of the given features to generate based on their weights. Format: object with fields: - `features` - list of Placed Features and their weights ##### Changes to `minecraft:pointed_dripstone` - Renamed Feature Type `pointed_dripstone` to `speleothem` - Added field `base_block` - block state, describes the block forming the base of the speleothem - Added field `pointed_block` - block state, describes the block creating the columns of the speleothem - Added field `replaceable_blocks` - block ID, list of block IDs, or hash-prefixed block tag describing which blocks this feature can generate on - Renamed field `chance_of_taller_dripstone` to `chance_of_taller_generation` ##### Changes to `minecraft:dripstone_cluster` - Renamed Feature Type `dripstone_cluster` to `speleothem_cluster` - Added field `base_block` - block state, describes the block forming the base of the speleothem - Added field `pointed_block` - block state, describes the block creating the columns of the speleothem - Added field `replaceable_blocks` - block ID, list of block IDs, or hash-prefixed block tag describing which blocks this feature can generate on - Renamed field `dripstone_block_layer_thickness` to `speleothem_block_layer_thickness` - Renamed field `chance_of_dripstone_column_at_max_distance_from_center` to `chance_of_speleothem_at_max_distance_from_center` - Renamed field `max_distance_from_edge_affecting_chance_of_dripstone_column` to `max_distance_from_edge_affecting_chance_of_speleothem` ##### Changes to `minecraft:large_dripstone` - Added field `replaceable_blocks` - block ID, list of block IDs, or hash-prefixed block tag describing which blocks this feature can generate on - The maximum allowed value for `column_radius` has been reduced from 19 to 16 to prevent features from reaching beyond neighboring chunks - Wind offset is now clamped to ensure the full dripstone (radius + wind) stays within neighboring chunk bounds ##### Changes to `minecraft:lake` - Added field `can_place_feature` - block predicate, describes which blocks this feature can be placed on - Added field `can_replace_with_air_or_fluid` - block predicate, describes which blocks this feature can replace with air or the provided `fluid` block - Added field `can_replace_with_barrier` - block predicate, describes which blocks this feature can replace with the provided `barrier` block ##### Changes to `minecraft:geode` - The fields `cannot_replace` and `invalid_blocks` in the `blocks` section of the feature configuration now also accept an ID and a list of IDs in addition to a tag ##### Changes to `minecraft:root_system` - The field `root_replaceable` in the feature configuration now also accepts an ID or a list of IDs in addition to a tag - New field `level_test_distance` indicating how far away from the origin the root system will check the existing terrain - New field `max_level_deviation` indicating how far the ground level can deviate from the original ground level at these test positions ##### Changes to `minecraft:vegetation_patch` - The field `replaceable` in the feature configuration now also accepts an ID and a list of IDs in addition to a tag ##### Changes to `minecraft:waterlogged_vegetation_patch` - The field `replaceable` in the feature configuration now also accepts an ID and a list of IDs in addition to a tag ##### Changes to `minecraft:multiface_growth` - Field `block` is now mandatory (defaulted to `minecraft:grow_lichen`) #### Structure Processors ##### Changes to `minecraft:block_rot` - Now evaluates the block state produced by previous block processors in the chain, instead of always using the original block defined in the structure - The first processor in the chain still always evaluates against the original structure-defined block ##### `minecraft:protected_blocks` - The field `value` now also accepts an ID or a list of IDs in addition to a tag #### Density Functions ##### Added `minecraft:interval_select` Selects between a number of Density Functions based on an input Density Function and a set of threshold values. Format: object with fields: - `input` - Density Function, the value to be compared with any given `thresholds` - `thresholds` - non-empty list of floats, the threshold values to compare `input` with - If `input < thresholds[i]`, the result of `functions[i]` will be selected - If the input is greater than the last threshold value, the last function will be selected - Must be one fewer element in `thresholds` than in `functions` - `functions` - list of at least 2 Density Functions, the resulting functions to be selected from - Must be one more element in `functions` than in `thresholds` ##### Removed `minecraft:weird_scaled_sampler` - This Density Function has been removed, with its functionality replaced by `interval_select` - When `rarity_value_mapper` was `type_1`, equivalent to: - `interval_select` with thresholds `-0.75, -0.5, 0.5, 0.75` - Selected functions follow: `abs(rarity * noise(x/rarity, y/rarity, z/rarity))` - Corresponding rarity values: `0.5, 0.75, 1.0, 2.0, 3.0` - When `rarity_value_mapper` was `type_2`, equivalent to: - `interval_select` with thresholds `-0.5, 0.0, 0.5` - Selected functions follow: `abs(rarity * noise(x/rarity, y/rarity, z/rarity))` - Corresponding rarity values: `0.75, 1.0, 1.5, 2.0` ### Tags #### Block Tags - Added `#suppresses_bounce` - all blocks that suppress the bounciness of entities when colliding with them - Added `#causes_periodic_geyser_eruptions` - all blocks that cause periodic eruptions of Potent Sulfur blocks - Added `#causes_continuous_geyser_eruptions` - all blocks that cause continuous eruptions of Potent Sulfur blocks - Added `#glazed_terracotta` and `#concrete` collection tags - Renamed `#concrete_powder` collection tag to `#concrete_powders` - Added `#shears_extreme_breaking_speed` for blocks that can be broken with shears with speed 15 - Added `#shears_major_breaking_speed` for blocks that can be broken with shears with speed 5 - Added `#shears_minor_breaking_speed` for blocks that can be broken with shears with speed 2 - Added `#speleothems` for blocks which are speleothems like Pointed Dripstone and Sulfur Spike - Added the following tags for blocks which some mobs are immune to. These have an effect on dismounting and valid surroundings of spawn placements for some mobs, but do not have an effect on pathfinding - `#fox_immune_to` - `#polar_bear_immune_to` - `#snow_golem_immune_to` - `#stray_immune_to` - `#wither_immune_to` - `#wither_skeleton_immune_to` - `#default_immune_to` - this tag is intentionally left empty #### Item Tags - Added `#glazed_terracotta`, `#concrete`, and `#concrete_powders` collection tags - Added `#sulfur_cube_food` - all items that can be fed to a small Sulfur Cube - Added `#sulfur_cube_swallowable` - all items that can be placed inside a large Sulfur Cube - Added the following tags for items that can be placed inside a Sulfur Cube to determine its archetype: - `#sulfur_cube_archetype/regular` - `#sulfur_cube_archetype/bouncy` - `#sulfur_cube_archetype/slow_flat` - `#sulfur_cube_archetype/fast_flat` - `#sulfur_cube_archetype/light` - `#sulfur_cube_archetype/fast_sliding` - `#sulfur_cube_archetype/slow_sliding` - `#sulfur_cube_archetype/high_resistance` - `#sulfur_cube_archetype/sticky` - `#sulfur_cube_archetype/hot` - `#sulfur_cube_archetype/slow_bouncy` #### Damage Type Tags - Added `minecraft:sulfur_cube_with_block_immune_to` - all damage types that Sulfur Cubes are immune to when having a block absorbed #### Entity Tags - Added `#not_affected_by_geysers` - entities that are not affected by the upward impulse applied by geyser eruptions ### Game Events #### Added `minecraft:bounce` - Emitted when an entity collides with a block or a collidable entity with non-zero bounciness - Has a vibration frequency of `2` ### Particles #### Added `minecraft:sulfur_cube_goo` - This particle is showing on a Sulfur Cube mob when hopping around - Has no fields #### Added `minecraft:geyser_base` - Spawns as a cloud on the base of an erupting Potent Sulfur block - Format: object with fields: - `water_blocks` - positive integer, scales the particle size and its burst impulse - `burst_impulse_base` - float, scales the initial burst impulse #### Added `minecraft:geyser_poof` - Spawns as a cloud on the base of an erupting Potent Sulfur block - Format: object with fields: - `water_blocks` - positive integer, scales the particle size and its burst impulse - `burst_impulse_base` - float, scales the initial burst impulse #### Added `minecraft:geyser_plume` - Spawns as an upwards stream above an erupting Potent Sulfur block - Format: object with fields: - `water_blocks` - positive integer, scales the particle size and its burst impulse #### Added `minecraft:geyser` - An emitter particle that spawns the `geyser_base`, `geyser_poof`, and `geyser_plume` particles above an erupting Potent Sulfur block - Format: object with fields: - `water_blocks` - positive integer, scales the particle size and its burst impulse ### Game Test Environments #### Added `minecraft:difficulty` - Sets the difficulty of the game test environment - Format: object with fields: - `difficulty` - the difficulty ID to set, one of `peaceful`, `easy`, `normal`, `hard` ### World Presets - Added a new `minecraft:flat_all_dimensions` world preset - This preset does not show up by default in the Create New World screen ![Steve swimming inside an underground Sulfur Cave filled with water avoiding big Sulfur Spikes with a Glow Squid accompanying him.](https://launchercontent.mojang.com/v2/images/26.29.jpg) ## Resource Pack Version 88.0 - Beds, Signs, and Hanging Signs now use block models instead of built-in entity models - The text on Signs and Hanging Signs cannot be configured yet - The `minecraft:beds` atlas has been removed - The `minecraft:signs` atlas has been removed ### Block Sprites - Added new Block textures: - `block/chiseled_cinnabar.png` - `block/chiseled_sulfur.png` - `block/cinnabar.png` - `block/cinnabar_bricks.png` - `block/polished_cinnabar.png` - `block/polished_sulfur.png` - `block/potent_sulfur.png` - `block/sulfur.png` - `block/sulfur_bricks.png` - `block/sulfur_spike_down_base.png` - `block/sulfur_spike_down_frustum.png` - `block/sulfur_spike_down_middle.png` - `block/sulfur_spike_down_tip.png` - `block/sulfur_spike_down_tip_merge.png` - `block/sulfur_spike_up_base.png` - `block/sulfur_spike_up_frustum.png` - `block/sulfur_spike_up_middle.png` - `block/sulfur_spike_up_tip.png` - `block/sulfur_spike_up_tip_merge.png` - Beds now use block models and textures, replacing `` with the respective bed's color's name - `block/bed_down.png` - `block/bed_head_north.png` - `block/_bed_foot_east.png` - `block/_bed_foot_south.png` - `block/_bed_foot_up.png` - `block/_bed_foot_west.png` - `block/_bed_head_east.png` - `block/_bed_head_up.png` - `block/_bed_head_west.png` - Signs and Hanging Signs now use block models and textures, replacing `` with the sign's wood type (e.g. `mangrove`) - `block/_sign.png` - `block/_hanging_sign.png` - The process of upgrading your pack's Bed, Sign, and Hanging Sign textures can be assisted by using this automated [Slicer](https://github.com/Mojang/slicer/releases) tool - Renamed `block/quartz_pillar.png` and `block/purpur_pillar.png` to append `_side` as a suffix ### Item Sprites - Added new Item sprites: - `item/sulfur_cube_bucket.png` - `item/sulfur_spike.png` - `item/music_disc_bounce.png` ### UI Sprites - Added new textures for the Sign edit screen background, replacing `` with the sign's wood type (e.g. `mangrove`): - `gui/sign/.png` - Added new UI sprites: - `gui/sprites/friends/accept.png` - `gui/sprites/friends/accept_highlighted.png` - `gui/sprites/friends/cancel.png` - `gui/sprites/friends/friends.png` - `gui/sprites/friends/illustrations_00.png` - `gui/sprites/friends/list_separator_top.png` - `gui/sprites/friends/loading.png` - `gui/sprites/friends/reject.png` - `gui/sprites/friends/reject_highlighted.png` - `gui/sprites/friends/remove.png` - `gui/sprites/friends/background.png` - `gui/sprites/friends/button.png` - `gui/sprites/friends/button_disabled.png` - `gui/sprites/friends/button_highlighted.png` - `gui/sprites/friends/toast_background.png` - `gui/sprites/pause_menu/player_reporting.png` - `gui/sprites/pause_menu/bug.png` - `gui/sprites/pause_menu/social_interactions.png` ### Entity Textures - Added new Entity textures: - `entity/sulfur_cube/sulfur_cube_outer.png` - `entity/sulfur_cube/sulfur_cube_inner.png` - `entity/sulfur_cube/sulfur_cube_outer_small.png` - `entity/sulfur_cube/sulfur_cube_inner_small.png` ### Sounds - Added sounds for the Sulfur Block: - `block.sulfur.break` - `block.sulfur.hit` - `block.sulfur.place` - `block.sulfur.step` - `block.sulfur.fall` - Added sounds for the Potent Sulfur Block: - `block.potent_sulfur.break` - `block.potent_sulfur.hit` - `block.potent_sulfur.place` - `block.potent_sulfur.step` - `block.potent_sulfur.fall` - `block.potent_sulfur.noxious_gas` - Added sounds for the Cinnabar Block: - `block.cinnabar.break` - `block.cinnabar.hit` - `block.cinnabar.place` - `block.cinnabar.step` - `block.cinnabar.fall` - Added sounds for the Sulfur Cube: - `entity.sulfur_cube.jump` - `entity.sulfur_cube.squish` - `entity.sulfur_cube.hurt` - `entity.sulfur_cube.death` - `entity.sulfur_cube.absorb` - `entity.sulfur_cube.eject` - `entity.sulfur_cube.bounce` - `entity.sulfur_cube.regular.hit` - `entity.sulfur_cube.regular.push` - `entity.sulfur_cube.bouncy.hit` - `entity.sulfur_cube.bouncy.push` - `entity.sulfur_cube.slow_flat.hit` - `entity.sulfur_cube.slow_flat.push` - `entity.sulfur_cube.fast_flat.hit` - `entity.sulfur_cube.fast_flat.push` - `entity.sulfur_cube.light.hit` - `entity.sulfur_cube.light.push` - `entity.sulfur_cube.fast_sliding.hit` - `entity.sulfur_cube.fast_sliding.push` - `entity.sulfur_cube.slow_sliding.hit` - `entity.sulfur_cube.slow_sliding.push` - `entity.sulfur_cube.high_resistance.hit` - `entity.sulfur_cube.high_resistance.push` - `entity.sulfur_cube.sticky.hit` - `entity.sulfur_cube.sticky.push` - `entity.sulfur_cube.hot.hit` - `entity.sulfur_cube.hot.push` - Added sounds for the small Sulfur Cube: - `entity.small_sulfur_cube.jump` - `entity.small_sulfur_cube.squish` - `entity.small_sulfur_cube.hurt` - `entity.small_sulfur_cube.death` - Added sounds for geyser eruptions: - `block.potent_sulfur.geyser_eruption` - `block.potent_sulfur.geyser_eruption_active` - `block.potent_sulfur.geyser_continuous_eruption` - `block.potent_sulfur.geyser_continuous_eruption_active` - Added biome music for Sulfur Caves: - `music.overworld.sulfur_caves` ### Particles - Added new Particle textures: - `particle/noxious_gas_01.png` - `particle/noxious_gas_02.png` - `particle/noxious_gas_03.png` - `particle/noxious_gas_04.png` - `particle/noxious_gas_05.png` - `particle/noxious_gas_06.png` - `particle/noxious_gas_07.png` - `particle/noxious_gas_08.png` - `particle/geyser_base_01.png` - `particle/geyser_base_02.png` - `particle/geyser_base_03.png` - `particle/geyser_base_04.png` - `particle/geyser_base_05.png` - `particle/geyser_base_06.png` - `particle/geyser_base_07.png` - `particle/geyser_base_08.png` - `particle/geyser_plume_01.png` - `particle/geyser_plume_02.png` - `particle/geyser_plume_03.png` - `particle/geyser_plume_04.png` - `particle/geyser_plume_05.png` - `particle/geyser_plume_06.png` - `particle/geyser_plume_07.png` - `particle/geyser_plume_08.png` - `particle/geyser_poof_01.png` - `particle/geyser_poof_02.png` - `particle/geyser_poof_03.png` - `particle/geyser_poof_04.png` - `particle/geyser_poof_05.png` - `particle/geyser_poof_06.png` - `particle/geyser_poof_07.png` - `particle/geyser_poof_08.png` ### Item Models - The following special model types have been removed: - `minecraft:bed` - `minecraft:standing_sign` - `minecraft:hanging_sign` ### Shaders & Post-process Effects - The `core/rendertype_text`, `core/rendertype_text_see_through`, `core/rendertype_text_intensity`, `core/rendertype_text_intensity_see_through`, `core/rendertype_text_background`, and `core/rendertype_text_background_see_through` shaders have been replaced by `core/text` and `core/text_background` - Variants are now controlled by shader defines: `IS_GUI`, `IS_SEE_THROUGH`, and `IS_GRAYSCALE` ## Fixed bugs in 26.2 - [MC-1788](https://bugs.mojang.com/browse/MC-1788) - Ocelots do not spawn naturally on Peaceful difficulty in jungles and bamboo jungles - [MC-123068](https://bugs.mojang.com/browse/MC-123068) - The number of advancements said to be revoked from the player is incorrect - [MC-134349](https://bugs.mojang.com/browse/MC-134349) - Making a zoomed-out version of a map fails when using the "Pick Block" key - [MC-174630](https://bugs.mojang.com/browse/MC-174630) - The secondary beacon effect remains when switching the primary effect - [MC-186131](https://bugs.mojang.com/browse/MC-186131) - Piglins and hoglins cannot spawn naturally on Peaceful difficulty - [MC-190728](https://bugs.mojang.com/browse/MC-190728) - The side and bottom surfaces of waterlogged blocks z-fight when looking at them from a distance - [MC-223248](https://bugs.mojang.com/browse/MC-223248) - Spore blossom particles gradually disappear/lessen until the world is reloaded - [MC-229057](https://bugs.mojang.com/browse/MC-229057) - Picking up an axolotl with a lead attached destroys the lead - [MC-236770](https://bugs.mojang.com/browse/MC-236770) - The "Ambient" and "Axolotl" mob caps both display as "A" in the debug overlay - [MC-248758](https://bugs.mojang.com/browse/MC-248758) - Logged error: `Detected setBlock in a far chunk` - [MC-252814](https://bugs.mojang.com/browse/MC-252814) - The `clamp` density function takes a direct input and doesn't allow a reference - [MC-268008](https://bugs.mojang.com/browse/MC-268008) - Players' sneaking state can sometimes desync - [MC-269520](https://bugs.mojang.com/browse/MC-269520) - The game freezes when using /locate in a world without structures enabled - [MC-269786](https://bugs.mojang.com/browse/MC-269786) - "ID" is not capitalized in some strings - [MC-271008](https://bugs.mojang.com/browse/MC-271008) - Unused pixels in bed textures - [MC-276733](https://bugs.mojang.com/browse/MC-276733) - Bed items produce wool particles, but bed blocks produce planks particles - [MC-277395](https://bugs.mojang.com/browse/MC-277395) - The `options.screenEffectScale.tooltip` string displayed when holding your mouse cursor over the "Distortion Effects" slider is improperly capitalized - [MC-277396](https://bugs.mojang.com/browse/MC-277396) - Strings referencing nether portals are inconsistently capitalized - [MC-277487](https://bugs.mojang.com/browse/MC-277487) - The game softlocks when attempting to create a new world if the saves folder is not writable - [MC-279122](https://bugs.mojang.com/browse/MC-279122) - Some strings that contain the abbreviation "id" are improperly capitalized - [MC-279125](https://bugs.mojang.com/browse/MC-279125) - Some "/locate" strings are missing articles before the word "reasonable" - [MC-279126](https://bugs.mojang.com/browse/MC-279126) - The `mco.configure.world.restore.download.question.line1` string incorrectly spells the word "singleplayer" as "single player" - [MC-279137](https://bugs.mojang.com/browse/MC-279137) - The `options.directionalAudio.on.tooltip` string is missing a hyphen between the words "HRTF" and "compatible" - [MC-279138](https://bugs.mojang.com/browse/MC-279138) - The `command.failed` string is missing a conjunction - [MC-279154](https://bugs.mojang.com/browse/MC-279154) - The `advancements.story.enter_the_nether.description` string is missing a serial comma - [MC-279156](https://bugs.mojang.com/browse/MC-279156) - The titles within some player reporting and punishment menus are improperly capitalized - [MC-279158](https://bugs.mojang.com/browse/MC-279158) - The "I know what I'm doing!" button is improperly capitalized - [MC-279182](https://bugs.mojang.com/browse/MC-279182) - Strings used to describe water and lava conversion game rules are missing commas - [MC-279183](https://bugs.mojang.com/browse/MC-279183) - The `options.allowServerListing.tooltip` string is missing a comma - [MC-279184](https://bugs.mojang.com/browse/MC-279184) - The `datapackFailure.title` string is missing an article and always pluralizes the word "pack" - [MC-279186](https://bugs.mojang.com/browse/MC-279186) - The `build.tooHigh` string is missing an article before the word "Height" - [MC-279189](https://bugs.mojang.com/browse/MC-279189) - The `mco.configure.world.leave.question.line1` string is missing a comma - [MC-296343](https://bugs.mojang.com/browse/MC-296343) - Using the mouse wheel to switch between cast fishing rods briefly displays the uncast texture in first-person - [MC-297491](https://bugs.mojang.com/browse/MC-297491) - Glyphs from TTF files are no longer rendered correctly on glow signs - [MC-301325](https://bugs.mojang.com/browse/MC-301325) - Menu music starts for a brief moment during the creation of a new world - [MC-301761](https://bugs.mojang.com/browse/MC-301761) - Elements within the Realms “Players” tab all move down slightly when the “Invited” element is selected using the TAB key - [MC-302144](https://bugs.mojang.com/browse/MC-302144) - Players respawn inside the bottom bedrock layers when the world spawn point is set in the Nether - [MC-302268](https://bugs.mojang.com/browse/MC-302268) - Running multiple commands quickly kicks the player for spamming in multiplayer - [MC-302488](https://bugs.mojang.com/browse/MC-302488) - Strings that contain the term "Safe Mode" are inconsistently capitalized - [MC-302496](https://bugs.mojang.com/browse/MC-302496) - Glowing dragon fireballs no longer show the glowing outline - [MC-302554](https://bugs.mojang.com/browse/MC-302554) - Glowing falling blocks no longer show the glowing outline - [MC-302628](https://bugs.mojang.com/browse/MC-302628) - Dolphins don't dismount minecarts when passing over activator rails - [MC-303401](https://bugs.mojang.com/browse/MC-303401) - Using the "Pick Block" key on maps with `map_post_processing` from a cartography table in Creative mode causes the game to crash - [MC-304113](https://bugs.mojang.com/browse/MC-304113) - Underwater fog is not applied correctly at low render distances - [MC-304862](https://bugs.mojang.com/browse/MC-304862) - Activating a dispenser with a hostile mob spawn egg in Peaceful difficulty consumes the egg and plays a sound - [MC-304873](https://bugs.mojang.com/browse/MC-304873) - The `options.textureFiltering.rgss.tooltip` string is missing a hyphen between the words "shader" and "based" - [MC-304874](https://bugs.mojang.com/browse/MC-304874) - The `options.textureFiltering.anisotropic.tooltip` string is missing a hyphen between the words "hardware" and "based" - [MC-305182](https://bugs.mojang.com/browse/MC-305182) - Textures far away from the player sometimes have black spots (with certain resource packs) - [MC-305239](https://bugs.mojang.com/browse/MC-305239) - Growing world borders reset to their starting size upon reopening the world - [MC-305467](https://bugs.mojang.com/browse/MC-305467) - The ender dragon's death animation effects render in front of worn armor - [MC-305475](https://bugs.mojang.com/browse/MC-305475) - Tripwire above the player's head gets triggered twice when jumping - [MC-306064](https://bugs.mojang.com/browse/MC-306064) - Mobs can be forced to look like they're dying while they aren't by using commands - [MC-306399](https://bugs.mojang.com/browse/MC-306399) - The Spectator mode "Teleport to Player" action only updates the list of valid targets after the Spectator mode menu is hidden - [MC-306401](https://bugs.mojang.com/browse/MC-306401) - Shulkers' name tags display inside them when they're open - [MC-306460](https://bugs.mojang.com/browse/MC-306460) - The game window is one pixel too tall in fullscreen mode - [MC-306622](https://bugs.mojang.com/browse/MC-306622) - The height of chicken jockeys is slightly off - [MC-306673](https://bugs.mojang.com/browse/MC-306673) - The color of sleeping baby snow foxes' eyes is inconsistent with their adult variant - [MC-306685](https://bugs.mojang.com/browse/MC-306685) - The riding position on baby hoglins is too low - [MC-306726](https://bugs.mojang.com/browse/MC-306726) - Transparent blocks flicker as the camera is moved - [MC-306738](https://bugs.mojang.com/browse/MC-306738) - Blocks sometimes remain visible after breaking - [MC-306750](https://bugs.mojang.com/browse/MC-306750) - The texture of snifflets contains unused pixels - [MC-306840](https://bugs.mojang.com/browse/MC-306840) - Dolphins still drown themselves when no players are nearby - [MC-306890](https://bugs.mojang.com/browse/MC-306890) - Campfires cause bees to work much more slowly - [MC-306903](https://bugs.mojang.com/browse/MC-306903) - Cubic Bézier easing functions sometimes produce wrong values - [MC-306946](https://bugs.mojang.com/browse/MC-306946) - The block light transition from level 1 to 0 under the night sky is not smooth when Smooth Lighting is enabled - [MC-306962](https://bugs.mojang.com/browse/MC-306962) - The "Take Screenshot" key bind doesn't work when set to a mouse button - [MC-306972](https://bugs.mojang.com/browse/MC-306972) - Wardens repeatedly roar in place when detecting ghasts - [MC-307002](https://bugs.mojang.com/browse/MC-307002) - Using /kill on one of the end crystals used to respawn the ender dragon no longer aborts the respawn sequence - [MC-307008](https://bugs.mojang.com/browse/MC-307008) - Severe framerate drops since 26.1 - [MC-307012](https://bugs.mojang.com/browse/MC-307012) - When a scoreboard objective is set to the `below_name` display mode, all named entities with no score display it with a score of 0 - [MC-307043](https://bugs.mojang.com/browse/MC-307043) - Applying a freeze effect while damaging a mob causes an incorrect value for `ticks_since_last_hurt_by_mob` - [MC-307054](https://bugs.mojang.com/browse/MC-307054) - Bone meal can no longer be applied to sweet berry bushes with a block above them - [MC-307125](https://bugs.mojang.com/browse/MC-307125) - Target selectors with duplicate `team` arguments are parsed inconsistently depending on argument order - [MC-307144](https://bugs.mojang.com/browse/MC-307144) - The game reads world generation data from data packs or world\_gen\_settings.dat inconsistently, preventing updating large biome sources - [MC-307159](https://bugs.mojang.com/browse/MC-307159) - Using bone meal from the main hand simultaneously places a block held in the off hand - [MC-307418](https://bugs.mojang.com/browse/MC-307418) - The game crashes when trying to upgrade a legacy world - [MC-307690](https://bugs.mojang.com/browse/MC-307690) - The error message produced by /difficulty doesn't use the difficulty's translated name - [MC-307877](https://bugs.mojang.com/browse/MC-307877) - Bone meal cannot be used on dry grass with a block directly above it --- # Minecraft: Java Edition 26.1.2 Happy Thursday from the shipping room! We're releasing 26.1.2, a hotfix that addresses a couple of critical issues found in the release. --- # Minecraft: Java Edition 26.1.1 It's a sunny Wednesday in the shipping room and we're starting the day off with releasing 26.1.1, a hotfix release that addresses an important issue reported in the 26.1 release. Happy mining! ## Fixed bugs in 26.1.1 - [MC-307140](https://bugs.mojang.com/browse/MC-307140) Chat messages can no longer be reported if the chat is enabled --- # Minecraft: Java Edition 26.1 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! ## New Features - Added new baby sounds for Wolf, Cat, Pig, Horse, and Chicken - Added Golden Dandelion - Added adult sound variants for the following animals: - Cats have one new sound variant - Pigs have two new sound variants - Cows have one new sound variant - Chickens have one new sound variant - The original sounds of each animal are used for the variant called `classic` - Every one of these animals will have a random sound variant assigned to it from the new variants and the original one - Added a trumpet instrument for when using a Note Block that is placed on a Copper Block - The sound is different based on the oxidation level of the Copper Block - Removed Baby Herobrine ### Golden Dandelion - The Golden Dandelion is a new type of flower that can be used to stop baby mobs from aging - Interacting with a baby mob while holding a Golden Dandelion will stop the mob from aging - When aging is stopped, green particles moving downwards will be shown - Interacting with a baby mob that has been stopped from aging while holding a Golden Dandelion will cause it to start aging again - When aging is started again, green particles moving upwards will be shown - It cannot be used on undead baby mobs and baby Villagers - Can be crafted using a Dandelion and Gold Nuggets ![A baby Fox stands amongst a field of Golden Dandelions.](https://launchercontent.mojang.com/v2/images/2618.jpg) ## Changes - Revamped the visuals of most baby mobs - Name Tags are now craftable and can be crafted with 1 Paper and 1 of any Metal Nugget - Removed Name Tags from loot chests in Ancient Cities and Woodland Mansions - Deepslate can now be directly crafted into its cobbled, polished, brick, and tile variants in the Stonecutter - Stone can now be directly crafted into cobbled variants in the Stonecutter - Updated the Main Menu background panorama - Tweaked default JVM options - The algorithm that maps block and sky light levels to how bright things appear on screen has been fully rewritten ### Baby Mobs - Updated the models and textures of the following baby mobs: - Cow - Mooshroom - Sheep - Pig - Cat - Ocelot - Wolf - Chicken - Tweaked the bounding box to align with the new model - Rabbit - Both adult and baby Rabbits also received new animations - Tweaked the bounding box to align with the new model - The programmer art Rabbit textures have been removed following the remodeling of the Rabbit - Horse - Increased the bounding box of baby Horses to better fit the new model - Donkey - Mule - Zombie Horse - Increased the bounding box of baby Zombie Horses to better fit the new model - Skeleton Horse - Increased the bounding box of baby Skeleton Horses to better fit the new model - Camel - Llama - Bee - Fox - Goat - Armadillo - Polar Bear - Panda - Snifflet - Dolphin - Squid - Increased the bounding box of baby Squid to better fit the new model - Glow Squid - Increased the bounding box of baby Glow Squid to better fit the new model - Turtle - Axolotl - Increased the bounding box of baby Axolotls to better fit the new model - Strider - Hoglin - Zoglin - Zombie - Increased the bounding box of baby Zombies to better fit the new model - Husk - Increased the bounding box of baby Husks to better fit the new model - Drowned - Increased the bounding box of baby Drowned to better fit the new model - Piglin - Increased the bounding box of baby Piglins to better fit the new model - Zombified Piglin - Increased the bounding box of baby Zombified Piglins to better fit the new model - Villager - Increased the bounding box of baby Villagers to better fit the new model - Zombie Villager - Increased the bounding box of baby Zombie Villagers to better fit the new model - Baby Cats are now scaled up to be the same size as baby Ocelots - Baby Horses are now scaled up slightly - Baby Polar Bears no longer attack Foxes - Adult Horses' Blackdot markings were updated to be visually closer to the new baby Horse markings - Small Armor Stands now display correctly by using the adult armor and scaling it down - Armor on baby Wolves will no longer render - Saddles on baby Pigs and baby Camels will no longer render - Camel Husks no longer have a baby model ![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.](https://launchercontent.mojang.com/v2/images/26111.jpg) ### Trades - The trades that are unlocked by Villager professions are now generated using deterministic random sequences, like loot drops and barter loot - Re-rolling a Villager's trades still produces a randomized sequence of trades, but that sequence is now determined by the world seed - Master Librarians no longer offer Name Tags - Master Librarians now offer Red Candles and Yellow Candles for the price of three Emeralds - Master Librarians now have three available trades to ensure that an Enchanted Book trade is always offered when using the Rebalance experiment - The Wandering Trader will now offer Name Tags for the price of one Emerald ![A Swamp Librarian and an unemployed Swamp Villager are looking at each other in front of a Lectern in a Swamp.](https://launchercontent.mojang.com/v2/images/2615.jpg) ### Minor Tweaks to Blocks, Items and Entities - Striders now correctly inherit the warmth of the Strider they are standing on, matching Bedrock - Zombie Horses no longer panic when hurt - Updated the dismount speed thresholds for Spears to match Bedrock - The Tripwire texture is now rendered as alpha cutout instead of transparent ### Lightmap Algorithm Changes - The new algorithm mostly provides the same overall results as before, but: - It is simpler and more straightforward, and fixes multiple issues of the previous one, as listed in the Fixed Bugs section below - The Darkness effect and world darkening effect of the Wither fight now work the same way in all dimensions - The Night Vision effect now simply adds ambient light instead of scaling the resulting colors - This means that fully dark areas no longer look brighter than areas lit by block or sky light - 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 ### UI - Along with large changes to the world data format in this release, worlds that need to be upgraded will now show `Upgrade and Play` instead of `Play Selected World`, and the `Edit World` and `Re-Create World` buttons are disabled until the world has been upgraded - A new screen has been added to show upgrading progress - Changes were made to how the chat screen is handled when it's restricted by settings - Input Method Editor (IME) candidates will now be shown in-game (on supported platforms, currently Windows and macOS) above the currently edited text field - The game will try to restore the last IME status when any text field is selected - If no text input is selected, IME input will be canceled and the status will not be updated - Added a new display option called "Exclusive Fullscreen" which controls if fullscreen mode should take full control of a monitor - Defaults to `false` (i.e. non-exclusive mode) - Any change will be applied only after the game restarts - Warning: exclusive fullscreen mode might prevent use of input methods (IME) ![Two Rabbits of different types are sitting up in a Cherry Grove.](https://launchercontent.mojang.com/v2/images/2617.jpg) #### Debug Screen - The `looking_at_block` and `looking_at_fluid` debug entries no longer show tags - New debug entries have been added: - `looking_at_block_tags` - `looking_at_fluid_tags` - `looking_at_entity_tags` - `sound_cache` - Renamed debug entries: - `looking_at_block` -> `looking_at_block_state` - `looking_at_fluid` -> `looking_at_fluid_state` - A `day_count` debug entry has been split from `local_difficulty` - Added a new entry `detailed_memory` with additional information about used memory - A new lightmap debug renderer can be enabled using the `F3 + 4` keybind ##### Lightmap Debug Renderer - A new debug renderer for the lightmap was added, which can be enabled using the `F3 + 4` keybind - It is mutually exclusive with the FPS/TPS and networking charts - It shows the lightmap texture in real time in the bottom right corner of the screen - The vertical axis of the texture represents sky light levels (0-15 from bottom to top) - The horizontal axis of the texture represents block light levels (0-15 from left to right) - 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 ![An underwater view of a few baby Squid which are swimming in a River.](https://launchercontent.mojang.com/v2/images/26110.jpg) #### World Options - The difficulty button in the pause menu has been replaced with a button leading to a new screen - World Options - The World Options screen contains the difficulty button as well as a button for changing Game Rules - The Game Rules screen is available for all operators and otherwise disabled #### Game Rules - A search bar has been added to the top of the Game Rules screen, both in-game and in the world creation menu - The search bar will select Game Rules based on id, name, category, and description #### Chat - The chat screen can now always be opened, even when chatting is restricted by settings - When the chat screen is open, specific actions and message types may still be restricted - 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 - The same information can also be accessed in the World Settings screen - Chat entries from client actions like taking screenshots will now be displayed even when messages from Players and servers are restricted - Changing chat settings will now hide all messages of restricted types and discard any new ones - The handling of chat messages on a published local server is now more consistent with dedicated servers in regard to chat settings ![A pen of many baby Chickens and two adult Chickens is shown inside of a Plains Village. There's a Cherry Grove in the background.](https://launchercontent.mojang.com/v2/images/2616.jpg) ### Creative Mode - Using Ctrl + Pick input as an operator on Players and Mannequins will now show the same results as executing the `/fetchprofile` command for this entity would ### Default JVM Options - The game now allocates 4 GB of RAM by default (up from 2 GB) - Garbage collection has been changed from G1GC to ZGC for compatible devices > **Developer's Note**: _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 [this help article](https://help.minecraft.net/hc/en-us/articles/39083573916941-Fix-Minecraft-Java-Edition-Game-Crashes-by-Checking-Memory-Allocation). If you want to change the garbage collector – please refer to [this help article](https://help.minecraft.net/hc/en-us/articles/41950300066573-Change-the-Garbage-Collector-for-Minecraft-Java-Edition). Third-party launchers may not support these changes._ ## Technical Changes - The Data Pack version is now 101.1 - The Resource Pack version is now 84 - Game executables are no longer obfuscated - see [this Minecraft.net article](https://www.minecraft.net/en-us/article/removing-obfuscation-in-java-edition) for more details - If a server's disk space is low, a toast will now be shown to server operators - The game now requires Java 25 - The included Java distribution is now the Microsoft build of OpenJDK 25 - The report generator for item components has been renamed to "Default Components" and now outputs one file for each element that has default components - The file structure of how worlds and their data are stored has been changed - The internals of how chunk geometry data is stored in GPU memory and how they are rendered have been changed - The game will now save all data once after the world has finished loading/the server has started up > **Developer's Note**: _If you experience any visual bugs, performance degradation or crashes, please report it to us on our [bug tracker](https://bugs.mojang.com)._ ### World Storage - All default dimensions are now stored in the `dimensions` subfolder - Data for the Overworld has been moved from the root folder to `dimensions/minecraft/overworld` - This includes the `region`, `entities`, and `poi` folders, as well as related files out of `data` - Data for the Nether has been moved from `DIM-1` to `dimensions/minecraft/the_nether` - Data for the End has been moved from `DIM1` to `dimensions/minecraft/the_end` - The top level `data` folder is now only for data shared across dimensions instead of also for the Overworld - Player storage has been moved to the `players` subdirectory - `advancements` -> `players/advancements` - `playerdata` -> `players/data` - `stats` -> `players/stats` - The world resource pack (`resources.zip`) has been moved to the `resourcepacks` subdirectory - Data saved in the `data` folder is now namespaced - This means that all that data will now be stored in a namespace subfolder in the corresponding `data` folder - All existing vanilla data files have been moved accordingly - Example: `data/scoreboard.dat` -> `data/minecraft/scoreboard.dat` - Command storage is now stored in namespace subfolders instead of having a namespace suffix - Example: `data/command_storage_foo.dat` -> `data/foo/command_storage.dat` - `chunks.dat` has been renamed to `chunk_tickets.dat` - Data for maps is now stored in the `data/minecraft/maps` subfolder - Map index files have been renamed to only the number - Example: `map_1.dat` -> `1.dat` - `idcounts.dat` has been renamed to `last_id.dat` - There is no more `raids_end.dat` special case - The End now uses `raids.dat` as well - Structures saved by Structure Blocks have been moved from `generated/namespace/structures` to `generated/namespace/structure` #### Changes to `level.dat` - The `Player` tag has been replaced with a `singleplayer_uuid` tag, referencing the player data file to use - Difficulty-related settings have been moved into a `difficulty_settings` tag - `Difficulty` is renamed to `difficulty` and is now a string instead of an integer - Allowed values: - `peaceful` - `easy` - `normal` - `hard` - `DifficultyLocked` is renamed to `locked` - Data for the Ender Dragon fight has been moved out to the data folder - It can now be found at `dimensions/minecraft/the_end/data/minecraft/ender_dragon_fight.dat` - The Ender Dragon fight can be activated in other dimensions, see the Dimension Types section below - Data changes: - `NeedsStateScanning` has been renamed to `needs_state_scanning` - `DragonKilled` has been renamed to `dragon_killed` - `PreviouslyKilled` has been renamed to `previously_killed` - `IsRespawning` has been replaced by `respawn_stage` - Allowed values: - `start` - `preparing_to_summon_pillars` - `summoning_pillars` - `summoning_dragon` - `end` - `Dragon` has been renamed to `dragon_uuid` - `ExitPortalLocation` has been renamed to `exit_portal_location` - `Gateways` has been renamed to `gateways` - Added `respawn_time` - the time in ticks that has elapsed since the current stage of the respawn sequence started - Added `respawn_crystals` - a list of UUIDs for the End Crystals used to trigger the respawn sequence - Wandering Trader data has been moved out to the data folder - It can now be found at `data/minecraft/wandering_trader.dat` - Data changes: - `WanderingTraderId` has been removed - `WanderingTraderSpawnChance` has been renamed to `spawn_chance` - `WanderingTraderSpawnDelay` has been renamed to `spawn_delay` - `CustomBossEvents` has been moved to the data folder - It can now be found at `data/minecraft/custom_boss_events.dat` - Weather-related data has been moved to the data folder - It can now be found at `data/minecraft/weather.dat` - Data changes: - `clearWeatherTime` has been renamed to `clear_weather_time` - `rainTime` has been renamed to `rain_time` - `thunderTime` has been renamed to `thunder_time` - `ScheduledEvents` has been moved out to the data folder - It can now be found at `data/minecraft/scheduled_events.dat` - Data changes: - `Name` has been renamed to `id` - `TriggerTime` has been renamed to `trigger_time` - `Callback` has been renamed to `callback` - `Type` has been renamed to `type` - `Name` has been renamed to `id` - `game_rules` has been moved out to the data folder - It can now be found at `data/minecraft/game_rules.dat` - `WorldGenSettings` has been moved out to the data folder - It can now be found at `data/minecraft/world_gen_settings.dat` - Data changes: - `generate_features` has been renamed to `generate_structures` - `world_clocks` has been moved out to the data folder - It can now be found at `data/minecraft/world_clocks.dat` ![An underwater view of a school of Cod and a few Dolphins swimming around.](https://launchercontent.mojang.com/v2/images/2612.jpg) ## Data Pack Versions 95 through 101.1 - Added data-driven World Clocks - Added data-driven registry for Villager trades - Added data-driven registry for sound variants for Pig, Cat, Cow, and Chicken - Changed the syntax of some custom recipe fields - Added new block, fluid, item, entity, enchantment, potion, and configured feature tags ### World Clocks World Clocks contain an internal time that increases every tick. They can be defined in data packs under the `world_clock` registry (found under `data//world_clock/.json`) - World Clocks can be paused or resumed, and the time of the clock can be changed or queried from the `time` command - Format: object with no fields ### Timelines - Added a `clock` field: a World Clock ID, specifies which World Clock the timeline is tied to - This field is required, but to match previous behavior the `minecraft:overworld` clock can be used - Added an optional `time_markers` field, an optional map between namespaced Time Marker IDs and either an integer or a Time Marker object, - Format: - Non-negative integer, the tick that the time marker marks - Or object with fields: - `ticks` - Integer between `0` and `period_ticks`, the tick that the Time Marker marks - `show_in_commands` - optional boolean, specifies whether the Time Marker will show up in command suggestions - Default: `false` #### Time Markers 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 `/time set`, for example `day` or `night`. 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. #### Built-in uses of Time Markers Some Time Markers are used to drive Vanilla game behavior. Usually, they are configured to not show up in `/time` commands. - `minecraft:wake_up_from_sleep` - the time to advance the dimension's default clock to when Players in that dimension wake up after sleeping - `minecraft:roll_village_siege` - the time of the dimension's default clock at which the random chance for a Zombie Village siege to occur should be evaluated ### Environment Attributes #### Added `minecraft:visual/block_light_tint` 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. - Value type: RGB color - Default value: `#FFD88C` - Modifiers: RGB Color Modifiers - Interpolated: yes - Resolved at the camera's position #### Added `minecraft:visual/ambient_light_color` 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. - Value type: RGB color - Default values: `#0A0A0A` for the Overworld, `#302821` for the Nether, `#3f473f` for the End - Modifiers: RGB Color Modifiers - Interpolated: yes - Resolved at the camera's position #### Added `minecraft:visual/night_vision_color` This color is used similarly to ambient light color. When the Night Vision effect is active, the per-component maximum of `minecraft:visual/night_vision_color` and `minecraft:visual/ambient_light_color` is used as the ambient color. Night Vision is not tinted by default. - Value type: RGB color - Default value: `#999999` - Modifiers: RGB Color Modifiers - Interpolated: yes - Resolved at the camera's position #### Changed `minecraft:gameplay/turtle_egg_hatch_chance` - Now has a default value of `0.002` ### Data-driven Villager Trades Trades offered by Villagers and Wandering Traders are now data-driven and can be customized by data pack developers #### Villager Trades - Present in the `villager_trade` folder, represents a blueprint for trades which is used by Villagers and Wandering Traders to generate actual trades - Entry Format: - `wants` - Object, represents an item type and number of them needed to trade - `id` - String, the id of the item - `count` - optional number provider, how many of the item is needed for the trade - Defaults to a constant `1` - `components` - optional component map, the expected data components on the item - Defaults to an empty map - `additional_wants` - optional object, an additional item required by the merchant, has the same format as `wants` - `gives` - Item Stack, the resulting item given by the merchant when trading - Uses the existing format for Item Stacks - `given_item_modifiers` - optional list of Item Modifiers, modifiers to apply to the item in `gives` such as enchantments or potions, used to add dynamism to the trade rather than hardcoding certain values - Uses the existing format for Item Modifiers (also known as loot modifiers, item functions, loot functions...) - If any of these returns an empty item the entire trade will be discarded - Item Modifier references are not yet supported - If the final item has a `stored_enchantment` component containing an enchantment in the `#double_trade_price` tag, then the count of `wants` is doubled - `max_uses` - optional number provider, the maximum number of times a trade may be used - Is set to `1` if the number provider returns a lower value - Defaults to a constant `4` - `reputation_discount` - number provider, how much factors such as demand, discounts, or penalties affect the cost represented by `wants` - Is set to `0.0` if the number provider returns a lower value - Defaults to a constant `0.0` - `xp` - optional number provider, the amount of xp a merchant gets when the trade is done - Is set to `0` if the number provider returns a lower value - Defaults to a constant `1` - `merchant_predicate` - Predicate, conditions on the merchant that need to be met for the trade to be offered - Uses the existing format for Predicates (also known as loot conditions) - Predicate references are not yet supported - `double_trade_price_enchantments` - optional enchantment id, list of namespaced enchantment IDs, or hash-prefixed enchantment tag representing enchantments that will double the additional cost from `minecraft:enchant_randomly` and `minecraft:enchant_with_levels` if they have `include_additional_cost_component` set to `true` and if the item has one of the provided values in its `minecraft:stored_enchantments` component An example trade of an Emerald and a Book for an Enchanted Book offered only by Desert Villagers { "additional_wants": { "id": "minecraft:book" }, "double_trade_price_enchantments": "#minecraft:double_trade_price", "given_item_modifiers": [ { "function": "minecraft:enchant_randomly", "include_additional_cost_component": true, "only_compatible": false, "options": "#minecraft:trades/desert_common" }, { "function": "minecraft:filtered", "item_filter": { "items": "minecraft:enchanted_book", "predicates": { "minecraft:stored_enchantments": [ {} ] } }, "on_fail": { "function": "minecraft:discard" } } ], "gives": { "count": 1, "id": "minecraft:enchanted_book" }, "max_uses": 12.0, "merchant_predicate": { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "predicates": { "minecraft:villager/variant": "minecraft:desert" } } }, "reputation_discount": 0.2, "wants": { "id": "minecraft:emerald" } } #### Trade Sets - Present in the `trade_set` folder, they're groupings of trades offered by Villagers and Wandering Traders - We currently only have hardcoded ones available in `/level_` for Villagers, as well as `wandering_trader/buying`, `wandering_trader/special`, `wandering_trader/common` for Wandering Traders - Entry Format: - `trades` - 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 - `amount` - Number provider, the amount of trades to be generated from this set when used - If the generated number is greater than the number of available `trades` then it will only generate until all `trades` have been used once, unless `allow_duplicates` is set to `true` - `allow_duplicates` - Boolean, representing if the trade set can use the same Villager Trade multiple times to generate trades - Defaults to `false` - `random_sequence` - optional named random sequence, determines which trades are generated - Defaults to a non-deterministic random sequence An example trade set offering 2 trades from the `#minecraft:armorer/level_1` tag, allowing duplicates { "amount": 2.0, "trades": "#minecraft:armorer/level_1", "random_sequence": "minecraft:trade_set/armorer/level_1", "allow_duplicates": true } ### Mob Variants #### Cat Sound Variants - Cat sound variants can be data-driven by adding entries to `data//cat_sound_variant/.json` - The file contains two sound sets defining `adult_sounds` and `baby_sounds` - Each sound set contains the following fields which correspond to sound events used for the specific behavior: - `ambient_sound` - `stray_ambient_sound` - `hiss_sound` - `hurt_sound` - `death_sound` - `eat_sound` - `beg_for_food_sound` - `purr_sound` - `purreow_sound` #### Pig Sound Variants - Pig sound variants can be data-driven by adding entries to `data//pig_sound_variant/.json` - The file contains two sound sets defining `adult_sounds` and `baby_sounds` - Each sound set contains the following fields which correspond to sound events used for the specific behavior: - `ambient_sound` - `hurt_sound` - `death_sound` - `step_sound` - `eat_sound` #### Cow Sound Variants - Cow sound variants can be data-driven by adding entries to `data//cow_sound_variant/.json` - Each sound variant contains the following fields which correspond to sound events used for the specific behavior: - `ambient_sound` - `hurt_sound` - `death_sound` - `step_sound` #### Chicken Sound Variants - Chicken sound variants can be data-driven by adding entries to `data//chicken_sound_variant/.json` - The file contains two sound sets defining `adult_sounds` and `baby_sounds` - Each sound set contains the following fields which correspond to sound events used for the specific behavior: - `ambient_sound` - `hurt_sound` - `death_sound` - `step_sound` #### Wolf Sound Variants - All sound event fields have been moved into a new object in the field `adult_sounds` - Added a new `baby_sounds` field with the same fields ### Commands - Villager and Piglin inventory slots can now only be accessed using `mob.inventory.*` - `villager.*` and `piglin.*` have been removed #### Added `swing` - New command that enables swinging of entities' arms - Not all entities support the swing animation - `swing` will still succeed for those entities, but clients will only display it when possible - For example, this makes it possible to swing Mannequins' arms - Returns the amount of entities for which a swing was sent Syntax: `/swing [] []` Arguments: - `target` - Entity selector, the entity to swing - If not present, defaults to `@s` - `hand` - String, which hand to swing, one of `mainhand`, `offhand` - If not present, defaults to `mainhand` #### Changes to `time` - The `time` command is now based on World Clocks - A clock can be optionally specified as an input for the time command with `time of ...` - If the clock is not specified (`/time ...` as before), the default clock for the dimension is used - The return value (e.g. from `/execute store`) from the `set` and `add` subcommands is now the total elapsed ticks of the clock instead of the current time of day - A new `rate` subcommand has additionally been added that can modify the speed at which a World Clock advances Syntax: - `time [of ] set