The first testing release for Mounts of Mayhem brings the spear, new mobs, and tamable mounts! Charge into the fray with the spear, a new weapon with a unique enchantment. Explore the oceans atop your nautilus or claim undead mounts - the zombie horse and zombie nautilus - as your new steeds.
As always, we're keen to get your feedback on these new features at feedback.minecraft.net, and you can report any bugs you find at bugs.mojang.com.
New Features
Nautilus
- New neutral aquatic mob
- Attacks using a Dash attack if provoked
- Spawns in all ocean biomes
- Tamed using Pufferfish or a Bucket of Pufferfish
- Tamed Nautilus can be mounted using a Saddle
- Has a Dash skill similar to Camels, used by pressing Jump button
- Occasionally attacks Pufferfish within range using Dash attack
- Adds "Breath of the Nautilus" effect to mounted player
- Tamed Nautilus without Saddle has a roaming restriction of 32 blocks
- Tamed Nautilus with Saddle has a roaming restriction of 16 blocks
- Takes suffocation damage on land
Nautilus Armor
- Equipable on Nautilus and Zombie Nautilus
- Comes in Copper, Golden, Iron, Diamond and Netherite versions
Breath of the Nautilus
- Effect that affects mounted player
- Pauses player oxygen consumption (but does not replenish oxygen)
Zombie Nautilus
- New neutral underwater mob
- Attacks using a Dash attack
- Spawns with a Drowned rider wielding a Trident
- Is hostile if the rider is a hostile mob
- Neutral without a rider
- Tamed using Pufferfish or a Bucket of Pufferfish
- Tamed Zombie Nautilus can be mounted using a Saddle
- Has a Dash skill similar to Camels, used by pressing Jump button
- Occasionally attacks Pufferfish within range using Dash attack
- Adds "Breath of the Nautilus" effect to mounted player
- Cannot be bred
- Tamed Zombie Nautilus without Saddle has a roaming restriction of 32 blocks
- Tamed Zombie Nautilus with Saddle has a roaming restriction of 16 blocks
- Takes suffocation damage on land
Spear
- New weapon that can be crafted in Wood, Stone, Copper, Iron, Gold, Diamond and Netherite versions
- Each material has different stats for timing, influencing how fast they are to use
- Has a minimum reach for damage, being too close to a target will yield no damage
- Has extended maximum reach compared to other tools and weapons
- Zombies and Piglins can spawn with the Spear
- Has two attacks: Jab and Charge
Charge Attack
- Press and hold secondary action button to use
- Damage based on Spear material, the player's view angle and velocity of both player and target
- While holding down button the attack goes through three stages before returning to idle:
- Engaged: Spear can deal damage, knockback and dismount mounted enemies if speed is above the required thresholds
- Tired: Indicated by Spear rotating to a vertical position and shaking Spear can deal damage and knockback (but not dismount) if the speed is above the required thresholds
- Disengaged: Indicated by Spear being lowered, pointing downwards Spear gives damage but not knockback or dismount if the speed is above the required threshold
Jab Attack
- Quick press primary action button to use
- Low damage attack with knockback
- Cooldown between attacks
- Wood spears have the fastest cooldown; Netherite the slowest
- Can hit multiple enemies
- Does not destroy blocks
Lunge Enchantment
- Spear exclusive enchantment
- Only works with the Jab attack
- When doing a Jab attack with Lunge it propels the player horizontally in the view direction
- View angle needs to be perfectly leveled horizontally to achieve maximum lunge distance
- Does significant durability damage to the Spear
Zombie Horse
- Spawns naturally at night in Plains and Savanna biomes
- Spawns with a Zombie rider wielding a Spear
- Is hostile if the rider is a hostile mob
- Neutral without a rider
- Tamed like normal Horses
- Favorite food is Red Mushroom
- Tamed Zombie Horse can be mounted using a Saddle
- Cannot be bred
Features and Bug Fixes
Audio
- The swimming sound no longer plays when flying underwater
Biomes
- Fixed an issue where the replacement biomes were not read for client-side chunk generation
Gameplay
- Hoppers now have a short cooldown after being moved by a Piston that prevents interaction. This fixes a bug with Bundle duplication
General
- Fixed a bug where pressing ALT + F4 in-game opens the pause menu instead of closing the game on latest Windows Preview (MCPE-228098)
Graphical
The first critical hit particle for Arrows is now slightly delayed
The nose of the Copper Golem is now rotated correctly while the Golem is sitting down (MCPE-228256)
Fixed large flipbook textures corrupting other textures
Input
Fixed an issue with input delay for mouse and keyboard on PC builds (MCPE-227833)
Fixed a bug on Windows where the cursor is positioned at the center after camera movement and reopening the GUI (MCPE-227904)
Fixed a bug where input was partially lost when shifting focus during world load (MCPE-228288)
Items
- Gold Horse Armor has been renamed to Golden Horse Armor (MCPE-101388)
Mobs
Fixed bug where Camels could not dash when standing in water
Pufferfish can now spawn in the Lukewarm Ocean and Deep Lukewarm Ocean biomes
Pufferfish and Tropical Fish can now be caught when fishing in Jungle biomes
Drowned attack now knockbacks attacked mob into air when mob is not in water (MCPE-133343)
Added chance for Zombie Horse Riders to spawn in Savannas and Plains
Realms
- Fixed Realm server selection behaving unpredictably
Settings
Storage
- Display "Unlisted Worlds" that cannot be loaded so they can be deleted (MCPE-223708)
User Interface
Touch Controls: The camera Y-sensitivity for D-Pad controls has been decreased, matching the sensitivity for Joystick controls
Hotbar hotkeys now also work when hovering over output slots of Grindstone and Anvil (MCPE-228276)
Touch Controls: There is now an option to increase the size of the top row of buttons in the HUD.
New achievements page: Fixed a bug where some achievements could not be manually removed from the In Progress list
Touch Controls: Customizable controls are now always on
Updated the Add-Ons navigation button to have proper spacing between the icon and the text
Vanilla Parity
Sounds
- The critical hit sound now correctly plays when a player lands a critical hit
Technical Updates
AI Goals
- Made schemas for goals minecraft:behavior.explore_outskirts and minecraft:behavior.investigate_suspicious_location stricter when parsing and will fail to load an entity json that has invalid data in versions 1.21.130 and newer
API
Fixed an issue where Dimension.getEntitiesFromRay and Entity.getEntitiesFromViewDirection stopped working for some entities such as minecraft:xp_orb, ground items, minecraft:arrow, minecraft:snowball and minecraft:thrown_trident
Released AABB from beta to v2.4.0
Released Entity.getAABB from beta to v2.4.0
Released ControlScheme from beta to v2.4.0
Released Player.setControlScheme from beta to v2.4.0
Released Player.getControlScheme from beta to v2.4.0
Released GetBlocksStandingOnOptions from beta to v2.4.0
Released Entity.getBlockStandingOn from beta to v2.4.0
Released Entity.getAllBlocksStandingOn from beta to v2.4.0
Blocks
- The "fit_to_frame" option in geometry files can no longer be disabled to render block-items larger than its frame from "format_version" 1.21.130 onward
General
- Fixed disabling of building and mining abilities for players with operator permissions while in Creative mode
Components
Updates to minecraft:dash_action
- Added new field "can_dash_underwater" that allows entities with this component to dash underwater
- Disabled by default
Editor
Added IListPanePropertyItem to pane API to create lists with text, button, checkbox and image components
Added cubemap controls to the Vibrant Visuals Settings Pane
Updated Line Tool's middle selector to now change to Hermite curve automatically when moving the gizmo
Updated Jigsaw Tool to automatically import template pools from loaded behavior packs
Fixed a bug that caused Editor scaling to be broken
Fixed a bug that prevented Summon tool from spawning custom entities
Updated Settings data to be saved across sessions, users need to manually save the Settings
Fixed a bug which caused detached gizmo to appear during ruler drag while axis locked
Entity Components
- Added the minecraft:body_rotation_locked_to_vehicle component, that causes the entity's body to automatically rotate to align with its mounted vehicle
Graphical
Fix blocks using "render_method":"blend" always being semi-transparent
Fix blocks using "render_method":"blend" and "render_method":"alpha_test" not having shaded sides in the inventory
Added cubemap controls to the Editor's Vibrant Visuals Settings Pane
Added the ability to data-drive cubemap lighting and effects in Vibrant Visuals. See the updated Creator portal for more information
- The new cubemap configuration files should be placed in the cubemaps directory of a resource pack.
- Example of a cubemap configuration file with path cubemaps/mycubemap.json:
{
"format_version": "1.21.130",
"minecraft:cubemap_settings": {
"description": {
"identifier": "mypack:mycubemap"
},
"lighting": {
"ambient_light_illuminance": {
"0.00000": 4.0,
"1.000000": 4.0
},
"sky_light_contribution": 1.0,
"directional_light_contribution": 1.0,
"affected_by_atmospheric_scattering": true,
"affected_by_volumetric_scattering": true
}
}
}- format_version: Required field containing "1.21.130"
- minecraft:cubemap_settings: Required field
- minecraft:cubemap_settings/description/identifier: Required field. If the identifier is equal to minecraft:default_cubemap, it will be used by default in all biomes. Otherwise, the cubemap configuration can be applied to a biome by supplying the same identifier in the respective .client_biome.json file for that biome. Example of a biome configuration file with path biomes/river.client_biome.json:
{
"format_version": "1.21.130",
"minecraft:client_biome": {
"description": {
"identifier": "minecraft:river"
},
"components": {
"minecraft:cubemap_identifier": {
"cubemap_identifier": "mypack:mycubemap"
}
}
}
}- minecraft:cubemap_settings/lighting: Required field. Any fields inside lighting are optional
- minecraft:cubemap_settings/lighting/ambient_light_illuminance: Contains pairs of numbers, where the first number should be between 0.0 and 1.0 (time of day) and the second number should be between 0.0 and 100000.0 (ambient light). Default value is 5.625 for all times of day
- minecraft:cubemap_settings/lighting/sky_light_contribution: Contribution of the sky light. It should be between 0.0 and 1.0. Default value is 1.0
- minecraft:cubemap_settings/lighting/directional_light_contribution: Contribution of the directional light. It should be between 0.0 and 1.0. Default value is 0.0
- minecraft:cubemap_settings/lighting/affected_by_atmospheric_scattering: Value is a boolean and controls the state of the atmospheric scattering effect applied the cubemap. Default value is false
- minecraft:cubemap_settings/lighting/affected_by_volumetric_scattering: Value is a boolean and controls the state of the volumetric scattering effect applied the cubemap. Default value is true
Item Components
Added the minecraft:swing_sounds item component
- Allows overriding the swing sounds emitted by the user
- Fields:
- "attack_miss": sound played when an attack misses or deals no damage due to invulnerability
- "attack_hit": sound played when an attack hits
- "attack_critical_hit": sound played when an attack hits and deals critical damage
- At least one field needs to be specified
Added the minecraft:kinetic_weapon item component
- Description:
- Allows an item to deal damage and other effects every tick while in use, to all unobstructed targets found in a straight line from the user's view vector
- Damage is computed based on both the user's and target's velocity projected onto the view vector (via dot product)
- The more the user and target move toward each other and align with the view vector, the higher the damage
- After applying "damage_multiplier" and "damage_modifier", the resulting damage is floored to the nearest lower integer
- Fields:
- "delay": Ticks to wait before applying damage and effects
- "reach": Range along the view vector where entities can be hit
- "hitbox_size": Extra tolerance on the raycast to detect entities
- "damage_multiplier": Multiplies the sum of the projected velocities
- "damage_modifier": Adds to the multiplied sum of the projected velocities
- "damage_conditions": Conditions that need to be satisfied for damage to be applied
- "knockback_conditions": Conditions that need to be satisfied for knockback to be applied
- "dismount_conditions": Conditions that need to be satisfied for riders to be dismounted
- "damage_conditions", "knockback_conditions" and "dismount_conditions" fields:
- "max_duration": Time, in ticks, during which the effect can be applied after "delay" elapses
- "min_speed": Minimum user's speed (projected onto the view vector via a dot product) required for the effect to be applied
- "min_relative_speed": Minimum relative speed of the user with respect to the target (projected onto the view vector via a dot product) required for the effect to be applied
- If omitted, the corresponding effect does not apply
- Requirements:
- Requires the "minecraft:use_modifiers" item component on the same item
- Description:
Added the "minecraft:piercing_weapon" item component
- Description:
- Allows an item to deal damage to all entities detected in a straight line along the user's view vector
- Items with this component cannot destroy blocks, as the attack action always takes priority, regardless of what the user is looking at
- Fields:
- "reach": Range along the view vector where entities can be hit
- "hitbox_size": Extra tolerance on the raycast to detect entities
- Requirements:
- Description:
The "minecraft:cooldown" item component now supports a "type" field
- Defines the action the cooldown applies to, in a mutually exclusive way, so cooldowns for one action type do not affect the other
- Values:
- "use": puts the item on cooldown when used, preventing further use until it expires, but still allowing attacks, mining, and interaction
- "attack": puts the item on cooldown when attacking, preventing further attacks until it expires, but still allowing use, mining, and interaction
- "use" is the default value, preserving the component's original behavior
Molang
Added four new Molang queries pertaining to the minecraft:on_use_kinetic_damage item component:
- query.get_kinetic_item_delay, Returns the delay value from the main-hand item's minecraft:on_use_kinetic_damage component, or 0 if the component is not present
- query.get_kinetic_item_damage_duration, Returns the damage_duration value from the main-hand item's minecraft:on_use_kinetic_damage component, or 0 if the component is not present
- query.get_kinetic_item_knockback_duration, Returns the knockback_duration value from the main-hand item's minecraft:on_use_kinetic_damage component, or 0 if the component is not present
- query.get_kinetic_item_dismount_duration, Returns the dismount_duration value from the main-hand item's minecraft:on_use_kinetic_damage component, or 0 if the component is not present
Added "query.kinetic_weapon_delay", which returns the "delay" value from the main-hand item's "minecraft:kinetic_weapon" component, or 0 if the component is not present
Added "query.kinetic_weapon_damage_duration", which returns the "max_duration" value of "damage_conditions" from the main-hand item's "minecraft:kinetic_weapon" component, or 0 if the component is not present
Added "query.kinetic_weapon_knockback_duration", which returns the "max_duration" value of "knockback_conditions" from the main-hand item's "minecraft:kinetic_weapon" component, or 0 if the component is not present
Added "query.kinetic_weapon_dismount_duration", which returns the "max_duration" value of "dismount_conditions" from the main-hand item's "minecraft:kinetic_weapon" component, or 0 if the component is not present
Added "query.ticks_since_last_kinetic_weapon_hit", which returns the number of ticks elapsed since the user last hit something while using a kinetic weapon
- Returns -1.0 if no kinetic weapon is being used or if nothing has been hit yet
- Hits that occur while the user is unloaded are not counted
Network Protocol
Added ActorFlags::BODY_ROTATION_LOCKED_TO_VEHICLE
LevelSoundEventPacket modified: added LevelSoundEvent::SpearAttackHit, LevelSoundEvent::SpearAttackMiss, LevelSoundEvent::WoodenSpearAttackHit and LevelSoundEvent::WoodenSpearAttackMiss
ActorEventPacket modified: added ActorEvent::KINETIC_DAMAGE_DEALT
Particles
- Fixed a bug that caused incorrect validation errors for particle texture path (MCPE-220351)
Structures
- Prevented a crash when trying to export structures in unsupported platforms
Experimental Technical Updates
API
Debug drawing tech in @minecraft/debug-utilities now supports rendering shapes in different dimensions:
- Added setLocation(location: minecraftserver.DimensionLocation | minecraftserver.Vector3): void method to DebugShape
- The location property on DebugShape has been changed to read only (use setLocation above to modify the location)
- Added dimension readonly property to DebugShape
- Changed the constructors of all the debug shapes to instead take a variant of Vector3 or DimensionLocation
Fixed triggering of PlayerSwingStartAfterEvent to only happen on the start of a swing
Fixed issue where onBreak beta API event would not fire if a Piston was the breaking cause
Released @minecraft/server version 2.4.0
Added @minecraft/server version 2.5.0-beta
API Infra
- Modernized CommandOutputPacket serialization
- Max number of "Output Messages" set max to 100
- Field "Message Id", set max size to 512 characters
- Max number of "Parameters" set to 512
- Max number of "Output Messages" set max to 100
- Modernized CommandRequestPacket serialization
- Field "Request ID", set max size to 39 characters
Blocks
- Added component minecraft:support behind the Upcoming Creator Features toggle
Example:
"minecraft:support": {
"shape": "stair" // "fence" is also valid
}
- Created a new block trait, minecraft:connection, to expose behavior like Fences or Glass Panes from Vanilla where blocks connect to other blocks around them. Using this trait with the example below adds the bool states minecraft:connection_north, minecraft:connection_east, minecraft:connection_south, and minecraft:connection_west. This is only available while the "Upcoming Creator Features" toggle is enabled
Example:
{
"format_version": "1.21.130",
"minecraft:block": {
"description": {
"identifier": "test:connection_block",
"traits": {
"minecraft:connection": {
"enabled_states": ["minecraft:cardinal_connections"]
}
}
}
}
}
- One known issue with this is that blocks using minecraft:connection don't properly decide connections to blocks like Fences, Walls, Iron Bars, Fence Gates, and Glass Panes. Addressing this issue is currently in development
Share this story