跳到主要内容

Minecraft - 1.21.20 (Bedrock)

General

  • Removed the "Holiday Creator Features" experiment
  • Fixed an instance where input could stop working as expected when using Touch Controls and Custom Cameras
  • Updated documentation for Feature Rules' schema
  • Biome components "minecraft:forced_features" and "minecraft:ignore_automatic_features" are now deprecated
  • “minecraft:scatter_feature” now has a “distribution” field like “minecraft:feature_rules” to define the scattering settings. Features now use schema version “1.21.10”
  • Updated schema documentation for Filter Groups
  • Modified _ItemUseInventoryTransaction_packet by adding Trigger Type. This new value tells us if the packet is sent from a direct player input or the simulation tick from the button being held down
  • Using 'minecraft:wearable' with slot set to 'slot.weapon.offhand' in combination with 'minecraft:allow_off_hand' set to false will now cause a content error

Add-Ons and Script Engine

  • Added a content error when ‘snow_accumulation’ array in a biome JSON has the minimum value set higher than the maximum value
  • Fixed Camera sometimes having a visible easing motion after a non-eased camera set command (MCPE-181364)
  • Fixed an issue that caused sideloaded .mcpack files to fail to apply when uploading to Realms
  • Deprecated Entity Permutations
    • Permutations can no longer be parsed and applied to entities via their JSON file under the flag permutations
  • Deprecated Volume and /volumearea command
  • Entity Aliases is deprecated when a format_version of 1.21.10 or higher is specified
  • Fixed an issue where particle effect lifetime event timeline did not trigger events as expected
  • Fixed a bug where having an Add-On applied to a dedicated server would force players to download all resource packs applied to that server in order to join. Note: If you downloaded unwanted packs as a result of this issue, you may have to delete them locally from your device to avoid having them apply when joining a world (MCPE-180344)
  • Updated the "minecraft:geometry" block component to validate whether geometries fit within the 30/16 unit bounds and have at least 1/16 of their length within the unit cube on each axis. This validation occurs for all geometry components on all blocks using json version 1.21.0 or later (MCPE-178607)

Script API

  • Fixed a crash with _getTags_method on Item Stack when called on the Air Block Item
  • Dimension
    • Released method getTopmostBlock from beta to 1.13.0
    • Released interface VectorXZ from beta to 1.13.0
  • Fixed a bug that prevented get and StructureManager.place from loading structures stored in the root of the structures directory
  • MinecraftItemTypes no longer contains old item names
  • Fixed bug that caused the game to crash when executing a run command from the runCommand() and Dimension.runCommandAsync() scripting APIs
  • Potions
    • Added class Potions which contains helpers for retrieving handles to potion associated types
    • Added class PotionEffectType which is a potion effect type handle associated with MinecraftPotionEffectTypes
    • Added class PotionModifierType which is a potion modifier type handle associated with MinecraftPotionModifierTypes
    • Added class PotionLiquidType which is a potion type handle associated with MinecraftPotionLiquidTypes
    • Added class ItemPotionComponent which can be obtained from a valid potion ItemStack
    • Added interface PotionOptions for use in createPotion
    • Added function createPotion for creating valid potion items
  • Vanilla-Data
    • Added enum MinecraftPotionLiquidTypes containing potion liquid IDs
    • Added enum MinecraftPotionEffectTypes containing potion effect IDs
    • Added enum MinecraftPotionModifierTypes containing potion modifier IDs
  • BlockExplodeAfterEvent
    • Released BlockExplodeAfterEvent from beta to 1.12.0
    • Released BlockExplodeAfterEventSignal from beta to 1.12.0
    • Released blockExplode from beta to 1.12.0
  • Released ItemTypes from beta to 1.12.0
  • Released InputPermissionCategory from beta to 1.12.0
  • Released PlayerInputPermissions and inputPermissions from beta to 1.12.0
  • Released PlayerInputPermissionCategoryChangeAfterEvent and afterEvents.playerInputPermissionCategoryChanged from beta to 1.12.0
  • Added bound check for setCurrentValue. The provided value will be clamped to the range of this attribute
  • GameRules
    • Released ShowDaysPlayed from beta to 1.12.0
    • Released showDaysPlayed from beta to 1.12.0
  • EnchantmentTypes
    • Released getAll(): EnchantmentType[] from beta to 1.12.0
  • EntityRaycastOptions
    • Released ignoreBlockCollision from beta to 1.12.0
    • Released includeLiquidBlocks from beta to 1.12.0
    • Released includePassableBlocks from beta to 1.12.0
    • Released hitBlockPermutation member of EntityHitBlockAfterEvent from beta to 1.12.0
  • Released beta version of addEffect method on Entity to 1.3.0, which adds a return type for the newly created effect (or undefined if no effect was added)
  • BlockRecordPlayerComponent
  • Added UIManager class and uiManager object to @minecraft/server-ui beta
    • Renamed the componentId to minecraft:record_player for consistency
    • Added methods getRecord, ejectRecord, pauseRecord and playRecord
    • Removed method clearRecord, instead you should now pass undefined to setRecord to reset it
    • Removed property readonly getLifetimeState: EntityLifetimeState from beta
  • Removed enum EntityLifetimeState from beta
    • Move setBlockPermutation(location: Vector3, permutation: BlockPermutation): void from beta to 1.12.0
    • Move setBlockType(location: Vector3, blockType: BlockType | string): void from beta to 1.12.0
    • Moved getTags(): string[] from beta to 1.12.0
    • Moved hasTag(tag: string): boolean from beta to 1.12.0
    • Removed property readonly fallDistance: number from beta
  • Released WorldInitializeBeforeEvent from beta to 1.12.0
  • Released WorldInitializeBeforeEventSignal from beta to 1.12.0
  • Custom Components
    • Released ItemComponentRegistry from beta to 1.12.0
    • Released ItemCustomComponent from beta to 1.12.0
    • Released ItemComponentBeforeDurabilityDamageEvent from beta to 1.12.0
    • Released ItemComponentCompleteUseEvent from beta to 1.12.0
    • Released ItemComponentConsumeEvent from beta to 1.12.0
    • Released ItemComponentHitEntityEvent from beta to 1.12.0
    • Released ItemComponentMineBlockEvent from beta to 1.12.0
    • Released ItemComponentUseEvent from beta to 1.12.0
    • Released ItemComponentUseOnEvent from beta to 1.12.0
  • Moved EntityTameableComponent from beta to 1.12.0 with properties getTameItems, isTamed, probability, tamedToPlayer, tamedToPlayerId and function tame
  • Moved EntityAgeableComponent from beta to 1.12.0 with properties duration, growUp, transformToItem and function getDropItems, getFeedItems, EntityDefinitionFeedItem, Trigger
  • Fixed an issue where a warning would incorrectly appear when reloading item custom components
  • EntityTameMountComponent
    • Moved method tameToPlayer and readonly properties tamedToPlayerId, tamedToPlayer, isTamed, isTamedToPlayer from beta to 1.12.0
  • Released runJob method on System from beta to 1.12.0
  • Released clearJob method on System from beta to 1.12.0
  • Released waitTicks method on System from beta to 1.12.0
  • @minecraft/server-ui
    • Released version 1.2.0
    • Added new beta version 1.3.0
    • Released submitButton method on ModalFormData from beta to 1.2.0
  • EntityLeashableComponent
    • Moved class EntityLeashableComponent from beta to 1.13.0

Blocks

  • Fixed a bug where interacting, while sneaking, with Command, Jigsaw, and Structure blocks could cause the UI to open/close multiple times
  • Top Snow/snow_layer block now falls when placed using the /setblock command
  • "double_stone_block_slab" block is now split into unique instances "smooth_stone_double_slab", "sandstone_double_slab", "oak_double_slab", "cobblestone_double_slab", "brick_double_slab", "stone_brick_double_slab", "quartz_double_slab", and "nether_brick_double_slab"
    • The id "oak_double_slab" had already been split from "double_wooden_slab", as a result, any "double_stone_block_slab:2" will be turned into the already existing "oak_double_slab" id
  • "monster_egg" block is now split into unique instances: "infested_stone", "infested_cobblestone", "infested_stone_bricks", "infested_mossy_stone_bricks", "infested_cracked_stone_bricks", and "infested_chiseled_stone_bricks"
  • "infested_cobblestone" block destroy time has been changed to match Java Edition
  • "stonebrick" block is now split into unique instances: "stone_bricks", "mossy_stone_bricks", "cracked_stone_bricks", and "chiseled_stone_bricks"
  • "Smooth Stone Bricks" block can no longer be obtained through commands and existing "Smooth Stone Bricks" will be converted to "Stone Bricks"
  • "stone_block_slab3" block is now split into unique instances "end_stone_brick_slab", "smooth_red_sandstone_slab", "polished_andesite_slab", "andesite_slab", "diorite_slab", "polished_diorite_slab", "granite_slab" and "polished_granite_slab"
  • "prismarine_slab", "dark_prismarine_slab", "prismarine_brick_slab", "andesite_slab", "polished_andesite_slab", "diorite_slab", "polished_diorite_slab", "granite_slab" and "polished_granite_slab" now have a destruction time of 1.5
  • "end_stone_brick_slab" now has a destruction time of 3.0
  • "stone_block_slab2" block is now split into unique instances "red_sandstone_slab", "purpur_slab", "prismarine_slab", "dark_prismarine_slab", "prismarine_brick_slab", "mossy_cobblestone_slab", "smooth_sandstone_slab", and "red_nether_brick_slab"
  • The "blocks.json" files found in resource packs are now versioned
    • Overriding the block "stone" with a format_version of 1.20.50 or higher will assume the texture data in terrain_texture.json is flattened and not using an array
    • Overriding the block "prismarine" with a format_version of 1.21.10 or higher will assume the texture data in terrain_texture.json is flattened and not using an array
    • Overriding the block "anvil", "quartz_block", "red_sandstone", "sand" and "sandstone" with a format_version of 1.21.20 or higher will assume the texture data in terrain_texture.json is flattened and not using an array
  • "infested_stone" and its derivatives now have their block sound defined (MCPE-182290)
  • Texture overrides that intended to target all block variants no longer only override the default variant
  • "light_block" block is now split into unique instances: "light_block_0", "light_block_1", "light_block_2", "light_block_3", "light_block_4", "light_block_5", "light_block_6", "light_block_7", "light_block_8", "light_block_9", "light_block_10", "light_block_11", "light_block_12", "light_block_13", "light_block_14", and "light_block_15"
  • "coral_fan_hang" block is now split into unique instances "tube_coral_wall_fan", "brain_coral_wall_fan", "dead_tube_coral_wall_fan", and "dead_brain_coral_wall_fan"
  • "coral_fan_hang2" block is now split into unique instances "bubble_coral_wall_fan", "fire_coral_wall_fan", "dead_bubble_coral_wall_fan", and "dead_fire_coral_wall_fan"
  • "coral_fan_hang3" block is now split into unique instances "horn_coral_wall_fan" and "dead_horn_coral_wall_fan"
  • "stone_block_slab4" block is now split into unique instances "mossy_stone_brick_slab", "smooth_quartz_slab", "normal_stone_slab", "cut_sandstone_slab" and "cut_red_sandstone_slab"
  • "mossy_stone_brick_slab" now has a destruction time of 1.5
  • The "minecraft:yellow_flower" block has been renamed to "minecraft:dandelion"
    • The old name is still understood from commands and data
  • "sandstone" block is now split into unique instances "sandstone", "chiseled_sandstone", "cut_sandstone", and "smooth_sandstone"
    • "smooth_sandstone" destroy time changed from 0.8 to 2.0, and explosion resistance from 0.8 to 6.0
  • “double_stone_block_slab2” block is now split into unique instances “red_sandstone_double_slab”, “purpur_double_slab”, “prismarine_double_slab”, “dark_prismarine_double_slab”, “prismarine_brick_double_slab”, “mossy_cobblestone_double_slab”, “smooth_sandstone_double_slab” and “red_nether_brick_double_slab”
  • “prismarine_double_slab”, “dark_prismarine_double_slab” and “prismarine_brick_double_slab” now have a destruction time of 1.5
  • Fixed Ancient City entrance using a single Deepslate tile slab instead of a double slab
  • “double_stone_block_slab3” block is now split into unique instances “end_stone_brick_double_slab”, “smooth_red_sandstone_double_slab”, “polished_andesite_double_slab”, “andesite_double_slab”, “diorite_double_slab”, “polished_diorite_double_slab”, “granite_double_slab”, and “polished_granite_double_slab”
  • “end_stone_brick_double_slab” now has a destruction time of 3.0
  • “andesite_double_slab”, “polished_andesite_double_slab”, “diorite_double_slab”, “polished_diorite_double_slab”, “granite_double_slab”, and “polished_granite_double_slab” now have a destruction time of 1.5
  • “double_stone_block_slab4” block is now split into unique instances “mossy_stone_brick_double_slab”, “smooth_quartz_double_slab”, “normal_stone_double_slab”, “cut_sandstone_double_slab”, and “cut_red_sandstone_double_slab”
  • “mossy_stone_brick_double_slab” now has a destruction time of 1.5
  • “prismarine” block is now split into unique instances “prismarine”, “dark_prismarine”, and “prismarine_bricks”
  • Added VanillaBlockTag "one_way_collidable" that can be used to emulate the one way collision of Doors, Trapdoors, and Fence Gates that don't push out a mob when inside their collision box
  • "anvil" block is now split into unique instances: "anvil", "chipped_anvil", "damaged_anvil", and "deprecated_anvil"
  • "quartz_block" is now split into unique instances "quartz_block", "chiseled_quartz_block", "quartz_pillar", and "smooth_quartz"
  • Smooth Quartz has had its destroy-time adjusted to match Java Edition (MCPE-101893)
  • Pillar Quartz Block has been renamed to Quartz Pillar
  • "red_sandstone" block is now split into unique instances "red_sandstone", "chiseled_red_sandstone", "cut_red_sandstone", and "smooth_red_sandstone"
    • "smooth_red_sandstone" destroy time changed from 0.8 to 2.0
  • "dirt" block is now split into unique instances: "dirt" and "coarse_dirt"
  • "sand" block is now split into unique instances "sand" and "red_sand"
  • minecraft:custom_components no longer requires the Beta APIs experiment
  • minecraft:entity_fall_on no longer requires the Beta APIs experiment
  • minecraft:tick no longer requires the Beta APIs experiment
  • Fixed a recipe bug where "chiseled_sandstone" and "cut_sandstone" sandstone variants could be used in a furnace to craft "smooth_sandstone". It can now only accept normal "sandstone" and no other types of sandstone
  • Fixed Vanilla recipes involving "red_sandstone_slab" as an ingredient or result item, they would incorrectly use "red_sandstone" instead
    • "red_sandstone_slab" can now be crafted again with 3 horizontal "red_sandstone:0"
    • "red_sandstone_slab" can now be crafted again with 3 horizontal "red_sandstone:1"
    • "red_sandstone:1" can now be crafted again with 2 vertical "red_sandstone_slab"

Camera

  • Two new 3rd person camera experiments are now available!
  • Added the 'Creator Cameras: New Third Person Presets' experimental toggle which contains:
    • New 'minecraft:follow_orbit' preset that is accessible by the /camera command and can have a view offset
  • Added the Creator Cameras: Focus Target Camera experiment. This functionality can be applied to the free camera preset
    • A new free camera command that pivots the camera to track a target entity
      • Includes option to add an offset from the center of the entity
      • Includes option to remove the target
  • Added the view offset to the 3rd person camera for the experimental follow_orbit preset
    • The view offset is anchored to a pivot point at the center of the screen. When applied to the follow_orbit preset, the player is shifted to be at a distance from center specified by the the offset
    • The range for this offset is -100 to 100
    • This can be set by both commands and JSON
      • /camera @s set minecraft:follow_orbit view_offset viewX viewY
    • A new learning portal article detailing the 3rd person camera, including JSON syntax, will be published soon
  • Added starting radius and rotation to the follow_orbit and 3rd person boom camera presets
    • The starting radius (distance from player) is fixed right now at 10 blocks from the player position
    • The starting rotation (pitch and yaw) are fixed right now at 45X and 45Y
    • The follow orbit camera is the only preset available, the 3rd person boom preset will be coming in a future release
  • Exposed radius component to behavior packs to be overwritten by creator cameras. Also added ‘minecraft:third_person’ and ‘minecraft:third_person_front’ to the allow list of presets that can be inherited from
    • This allows you to make a 3rd person camera based on the vanilla 3rd person cameras but with a variable radius.
      The radius (distance from player) is not limited but render distance and other constraints still exist.
    • This does not allow modifications to the vanilla cameras

Commands

  • Music will no longer be stopped by the '/stopsound' command
  • Fixed a bug where the /spreadplayers command could result in the target being teleported one block below the intended location
  • Added a Max Height parameter to the /spreadplayers command, which allows you to specify a maximum height that the spreading is done underneath
  • The /locate structure command now uses namespaced structure names. Structure names provided without a namespace will assume the “minecraft” namespace (MCPE-151807)

Entities

  • Improved "behavior.follow_owner" teleportation logic:
    • Entities now seamlessly resume navigation after teleporting to their owner
    • Added the "post_teleport_distance" field, allowing to specify how far from its owner an entity will be placed after teleporting
      • If no value is specified, "stop_distance" increased by one will be used
    • These changes only affect entities with format version of 1.21.20 or above
  • Armor equipped to the second slot of "minecraft:equippable" is now applied to "slot.armor.body" instead of "slot.armor.torso"
    • To retrieve information about it, "query.armor_texture_slot", "query.armor_color_slot" and "query.armor_damage_slot" should now be used with a value of 4
    • This change only affects entities with a format version equal to or greater than 1.21.10
  • Added a wind_burst_on_hit subcomponent for Projectiles which creates a wind burst upon collision with an entity or block before being removed from the world
  • Wind Charges no longer burst when removed by command
  • Exposed "minecraft:behavior.swim_up_for_breath" AI goal component, which allows a mob to try to move to a location where it can breathe air once it is close to running out of its breathable supply
    • In Vanilla, this is used by the Dolphin
    • Any custom content built off of the Vanilla dolphin at or above version 1.21.20 will need to manually add this component to enable this AI behavior
  • Added the "behavior.teleport_to_owner" goal, which allows an entity to teleport to its owner
    • This goal is designed for emergency situations where "behavior.follow_owner" could be too slow or too low priority
    • The "filters" field allows defining the conditions for teleportation using entity filters
    • The "cooldown" field allows defining how often the entity should attempt to teleport
  • minecraft:behavior.move_away_from_target has been renamed to minecraft:behavior.move_around_target to better describe what the goal does, since it can be used both for moving away from the target, but also to move towards a random position around the target
  • Added new entity filter "owner_distance", which checks the distance of an entity from its owner

Graphical

  • Particle Emitters that use the "minecraft:particle_appearance_lighting" component now use the correct light level instead of the world's origin light level
  • 2 Channel textures in resource packs are now properly supported. When loaded they will always use the first channel to represent all three color channels and the second channel for alpha (I.E A normal texture would be _(R, G, B, A)_where a 2 channel texture will always be treated as (R, R, R, A))
  • Fixed fog JSON validation to allow for max_density_height and zero_density_height values to range from (-64,320)

Items

  • Trimmed custom armor item icons now appear correctly when their icon texture name includes a namespace or does not match the item name
  • [BETA] Introduced "slot.armor.body" as an extra armor slot for entities like Horses, limited to a single armor item but needing the effects of a full armor set
    • "slot.armor.body" is supported by:
      • Commands (even if no suitable item is currently available for manipulation)
      • "minecraft:attachable"
      • "minecraft:interact"
      • "query.armor_texture_slot" (with value 4)
      • "query.armor_color_slot" (with value 4)
      • "query.armor_damage_slot" (with value 4)
      • "query.equipment_count"
      • "has_equipment" entity filter (with domain "body")
      • "all_slots_empty" entity filter (with domain "body")
      • "any_slot_empty" entity filter (with domain "body")
    • "slot.armor.body" is not supported by:
      • "minecraft:wearable"
    • Future adjustments may alter how items equipped to "slot.armor.body" affect entity visibility (intended as how easy an entity is detected by other entities), enchantments, and armor protection
  • Released minecraft:custom_components item component out of experimental in json formats 1.21.10 and higher
  • Introduced “slot.armor.body” as an extra armor slot for entities, like horses, limited to a single armor item but needing the effects of a full armor set
  • Introduced the “minecraft:damage_absorption” item component, enabling items to absorb damage intended for their wearer
    • The “absorbable_causes” field allows to specify which damage causes to absorb
    • Absorbed damage depletes the item’s durability, and surplus damage is ignored
    • Requires equipping the item in an armor slot for damage to be absorbed
    • When multiple damage absorbing items are equipped, a suitable one is selected at random to absorb incoming damage
  • Introduced the “minecraft:durability_sensor” item component, enabling items to emit sounds and particles when damage causes them to lose durability
    • The “durability_thresholds” field allows to define a list of both durability thresholds and the effects to emit when they are met
    • When the item receives enough damage to meet multiple thresholds at the same time, only the one corresponding to the lowest durability is considered
  • Learning portal documents on these features and how to use them are being written and will be available soon

Molang

  • Released state_time which no longer requires the 'Upcoming Creator Features' toggle
  • Fixed Molang content errors to include the expression in the logged message

Petrified Oak Slab

  • The Oak-Slab-looking variation of "stone_block_slab" (aux value 2) is now flattened into its own new block "minecraft:petrified_oak_slab" (MCPE-180964)
    • Will behave like other Stone Slabs, eg. cannot be destroyed by fire, but will look like an ordinary oak slab
    • "minecraft:petrified_oak_slab" can only be obtained and placed through commands
  • The Oak-Slab-looking variation of "double_stone_block_slab" (aux value 2) is now flattened into its own new block "minecraft:petrified_oak_double_slab" (MCPE-180964)
    • Will behave like other stone double slabs, eg. cannot be destroyed by fire, but will look like an ordinary oak double slab
    • "minecraft:petrified_oak_double_slab" can only be placed through commands

Structure Block

  • Fixed issue where player ID was not being saved on structure blocks when saving and exiting the level (MCPE-149183)

  • From versions 1.21.20, the player ID given to tamed mobs loaded from a Structure Block will always be the original owner's ID

实验性特性

Script API

  • Camera
    • Added `CameraFixedBoomOptions` to the options for the `setCamera` function in beta
    • CameraFixedBoomOptions
      • New interface added to beta
      • Allows you to customize `minecraft:follow_orbit` cameras only when the third person camera presets toggle is enabled
      • Introduced `viewOffset?: Vector2`. This property allows you to change the offset of the camera relative to the player to create an over the shoulder effect
    • WorldInitializeBeforeEvent
      • Renamed property blockTypeRegistry to blockComponentRegistry
    • Moved BlockComponentRegistry from beta to 1.12.0
    • Moved BlockCustomComponentAlreadyRegisteredError from beta to 1.12.0
    • Moved BlockCustomComponentReloadVersionError from beta to 1.12.0
    • Moved BlockCustomComponentReloadNewEventError from beta to 1.12.0
    • Moved BlockCustomComponentReloadNewComponentError from beta to 1.12.0
    • Moved BlockCustomComponent from beta to 1.12.0
    • Moved BlockComponentStepOnEvent from beta to 1.12.0
    • Moved BlockComponentTickEvent from beta to 1.12.0
    • Moved BlockComponentRandomTickEvent from beta to 1.12.0
    • Moved BlockComponentEntityFallOnEvent from beta to 1.12.0
    • Moved BlockComponentStepOffEvent from beta to 1.12.0
    • Moved BlockComponentPlayerInteractEvent from beta to 1.12.0
    • Moved BlockComponentPlayerPlaceBeforeEvent from beta to 1.12.0
    • Moved BlockComponentPlayerDestroyEvent from beta to 1.12.0
    • Moved BlockComponentOnPlaceEvent from beta to 1.12.0
    • Added four new error class types used for custom block component registration
      • ScriptBlockCustomComponentAlreadyRegisteredError - When registering a custom block component and it has already been registered
      • ScriptBlockCustomComponentReloadVersionError - When registering a custom block component with a different script version between reloading
      • ScriptBlockCustomComponentReloadNewEventError - When registering a custom block component and it implements a new event between reloading
      • ScriptBlockCustomComponentReloadNewComponentError - When registering a custom block component between reloading
    • Added Block::getMapColor binding to Script Block API (Beta)
    • EntityBreathableComponent
      • Changed function setAirSupply(value: number): void to property airSupply: number in beta
      • Added property readonly canBreathe: boolean to beta
    • EntityComponent
      • Moved class EntityMovementComponent from beta to 1.12.0
      • Moved class EntityLavaMovementComponent from beta to 1.12.0
      • Moved class EntityMovementGlideComponent from beta to 1.12.0
      • Moved class EntityMovementSwayComponent from beta to 1.12.0
      • Moved class EntityUnderwaterMovementComponent from beta to 1.12.0
    • Added class PlayerCursorInventoryComponent which adds read-only access to the players cursor inventory and the ability to clear it
    • Added playerEmote which fires after a player uses an emote
    • Block Custom Components
      • Use of the ‘onTick’ event requires the block has the ‘minecraft:tick’ component to configure how the block ticks
      • Blocks that are world generated, and have the ‘minecraft:tick’ component, will now tick
    • EntityBreathableComponent
      • Changed function setAirSupply(value: number): void to property airSupply: number in beta
      • Added property readonly canBreathe: boolean to beta
    • Added isHardcore to 1.14.0 beta

Blocks

  • Added "item_display_transforms" control to the block geometry file. This controls the way a block is visually represented in the UI, on the player, and floating on the ground. It exists inside minecraft:geometry, and requires format_version 1.21.20
    • Default values example:
      • "item_display_transforms": {
        "gui" : {
                        "translation": [0, 0, 0],
                        "rotation": [30, 225, 0],
                        "scale": [0.625, 0.625, 0.625]
          },
          "firstperson_righthand": {
                        "translation": [0, 0, 0],
                        "rotation": [0, 45, 0],
                        "scale": [0.4, 0.4, 0.4]
          },
          "firstperson_lefthand": {
            "translation": [0, 0, 0],
            "rotation": [0, -135, 0],
            "scale": [0.4, 0.4, 0.4]
          },
          "thirdperson_righthand": {
            "translation": [0, 2.5, 0],
            "rotation": [75, 45, 0],
            "scale": [0.375, 0.375, 0.375]
          },
          "thirdperson_lefthand": {
            "translation": [0, 2.5, 0],
            "rotation": [75, 45, 0],
            "scale": [0.375, 0.375, 0.375]
          },
          "ground": {
            "translation": [0, 3.0, 0],
            "rotation": [0, 0, 0],
            "scale": [0.25, 0.25, 0.25]
          },
          "fixed": {
            "translation": [0, 0, 0],
            "rotation": [0, 0, 0],
            "scale": [0.5, 0.5, 0.5]
          },
          "head": {
            "translation": [0, 0, 0],
            "rotation": [0, 0, 0],
            "scale": [1, 1, 1]
          }
        }

Entity Components

  • EntityLeashableComponent
    • Added property canBeStolen: boolean
    • Added property hardDistance: number
    • Added property leashHolder: Entity
    • Added property leashHolderEntityId: string
    • Added property maxDistance: number
    • Added property isLeashed: boolean
    • Renamed function leash(leashHolder: Entity): void to leashTo(leashHolder: Entity): void