Skip to main content

Minecraft - 1.20.50 (Bedrock)

Updated Add-On Template Packs

  • Updated Add-On templates for 1.20.50 with new resources, behaviors, and documentation are available to download at aka.ms/MCAddonPacks

Performance / Stability

  • Removed CraftingEventPacket

Add-Ons and Script Engine

  • Improved some of the common scripting error messages to provide better context and information
  • Added a Clear button to the content log screen

Animations

  • Fixed unreliability around is_alive on Server

Blocks

  • Blocks with the "minecraft:cardinal_direction", "minecraft:facing_direction", or "minecraft:block_face" states as part of the "minecraft:placement_direction" or "minecraft:placement_position" BlockTraits are rotated/mirrored properly by Structure Blocks
  • Structure Void blocks once again prevents interaction with blocks and entities placed behind them (MCPE-175237)
  • "planks" block is now split into unique instances "oak_planks", "spruce_planks", "birch_planks", "jungle_planks", "acacia_planks", "dark_oak_planks"
  • Commands will still work with "planks", however, "planks" block will not be suggested
  • "stone" block is now split into unique instances: "stone", "granite", "polished_granite", "diorite", "polished_diorite", "andesite" and "polished_andesite"

Graphical

  • When a particle emitter is added to an entity but particles simulate in world, particles now correctly collide with the world

Script API

Items

  • Renamed "minecraft:use_duration" to "minecraft:use_modifiers" and added a "movement_modifier" parameter in json format versions 1.20.50 and higher
  • Deprecated "minecraft:chargeable" in json format versions 1.20.50 and higher. Use "minecraft:use_modifiers" instead for "movement_modifier" behavior
  • Deprecated "on_dig" event triggers from "minecraft:digger" in format versions 1.20.50 and higher

Cameras

  • Added a content warning for when the camera is placed outside of the player's chunk radius

AI Goal Components

  • Added "minecraft:behavior.melee_box_attack" behavior which functions the same as "minecraft:behavior.melee_attack" but uses bounds based attack reach calculations
    • The _reach_multiplier_attribute is removed and replaced with box_increase
    • Reach is calculated by increasing the bounds of the attacking mobs in the xz-plane by _box_increase_blocks to create an "attack box". If the attack box intersects with the target's bounds the attacking mob can reach it

API

  • Added BlockComponentTypeMapEntityComponentTypeMap, and ItemComponentTypeMap aliases which map Component IDs to their TypeScript types
  • Changed getComponentEntity.getComponent, and ItemStack.getComponent to return the correct derived Component type
  • Added BlockComponentTypesEntityComponentTypes, and ItemComponentTypes enums that enumerate component ID strings
  • Moved PlayerInteractWithBlockAfterEvent from beta to 1.7.0
  • Moved PlayerInteractWithBlockBeforeEvent from beta to 1.7.0
  • Moved PlayerInteractWithEntityAfterEvent from beta to 1.7.0
  • Moved PlayerInteractWithEntityBeforeEvent from beta to 1.7.0
  • Moved PlayerLeaveBeforeEvent from beta to 1.7.0
  • Moved _NumberRange_interface to minecraft/common
    • Moved heightRange: NumberRange from beta to 1.7.0
    • Moved _matches_from beta to 1.7.0
    • Moved function clearDynamicProperties from beta to 1.7.0
    • Moved function getDynamicProperties from beta to 1.7.0
    • Moved function getDynamicPropertyIds from beta to 1.7.0
    • Moved function getDynamicPropertyTotalByteCount from beta to 1.7.0
    • Moved function setDynamicProperty from beta to 1.7.0
    • Moved function clearDynamicProperties from beta to 1.7.0
    • Moved function getDynamicProperties from beta to 1.7.0
    • Moved function getDynamicPropertyIds from beta to 1.7.0
    • Moved function getDynamicPropertyTotalByteCount from beta to 1.7.0
    • Moved function setDynamicProperty from beta to 1.7.0
  • TicksPerSecond
    • Moved from beta to 1.7.0
    • Moved offset from beta to 1.7.0
    • Moved above from beta to 1.7.0
    • Moved below from beta to 1.7.0
    • Moved north from beta to 1.7.0
    • Moved east from beta to 1.7.0
    • Moved south from beta to 1.7.0
    • Moved west from beta to 1.7.0
    • Moved center from beta to 1.7.0
    • Moved bottomCenter from beta to 1.7.0
  • Added initial NPC support to scripting with the EntityNpcComponent
  • Moved_Entity_.remove from beta to 1.7.0

Items

  • Deprecated the "tag:" legacy item component and released the "minecraft:tags" item component out of experimental in json formats 1.20.50 and higher

Mobs

  • Fixed an issue preventing mobs from spawning further than 6 chunks away from the nearest player even if the server's simulation range is larger than 6 chunks
  • Added "minecraft:can_join_raid" component to allow entities to join existing raids

Molang

  • Fixed animation controller loading to use the pack's min_engine_version rather than the file's format_version to determine the Molang Version. This fix applies to animation controllers in packs with a min_engine_version of 1.20.50 or higher

  • The following Molang queries are Deprecated and will no longer be available in packs with a min_engine_version of 1.20.50 or higher

    • is_scenting
      • Replaced with timer_flag_1, set by behavior.timer_flag_1
    • is_rising
      • Replaced with timer_flag_2, set by behavior.timer_flag_2
    • is_feeling_happy
      • Replaced with timer_flag_3, set by behavior.timer_flag_3
    • dash_cooldown_progress
      • It was only used to adjust the head animation of the camel as it came out of dash cooldown
      • Camel animation uses dash_cooldown_progress in camel.entity.json now
  • query.is_moving now detects vertical motion for the player again

Experimental Features

Gametest

  • SimulatedPlayer
    • stopUsingItem now returns the item that was being used
  • Dynamic Properties
    • NBT change: Dynamic properties are now stored using the behavior pack manifest UUID, rather than the module UUID. Existing worlds using dynamic properties will continue to work, and will be migrated to the new format when properties are read or modified

Script API

  • Fixed _@minecraft/server-ui_forms not correctly rendering player scoreboard information when embedded in rawtext

Script API

  • Added effectAddBeforeEvent and removed effectState from effectAddAfterEvent
  • Fixed target property to be of type Entity or undefined as the entity may not have a target
  • EntityHitInformation
    • Fixed entity property to be of type Entity or undefined as the entity may be undefined
  • EntityInventoryComponent
    • container member variable now correctly reflects it can be a Container or undefined
    • entity member variable now correctly reflects it can be an Entity or undefined
  • ItemStartUseOnAfterEvent
    • itemStack is now optional
  • ItemStopUseAfterEvent
    • itemStack is now optional
  • DataDrivenEntityTriggerAfterEvent
    • Renamed property id to eventId for clarity
    • Changed getModifier to work in read-only mode
  • Changed DefinitionModifier from a class to an interface with properties
  • Made _get_properly reflect that it can return EntityType | undefined instead of just EntityType