Skip to main content

Minecraft - The Wild Update - 1.19.0 (Bedrock)

Updated Add-On Template Packs

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

Performance / Stability

  • Fixed a crash when loading a Behavior Pack with non-JSON object in entity components, component_groups, and "add"/"remove" events (MCPE-151377, MCPE-151380)
  • Fixed a crash that could occur when attempting to render blocks that rely on biome data
  • Fixed a crash when attempting to access a null entity
  • Fixed a crash in variant related to thrown potions and invalid potion IDs
  • Avoid crashes on certain devices when parsing Molang expressions with many OR or AND operators

General

  • Volume instances are now stored in the world, persisting between play sessions
  • Limit path strings and localized ID strings in data-driven blocks to 256 characters
  • Limit the length of crafting tag strings in CraftingTableComponent to 64 characters
  • Limit the number of elements in the _material_instances_field of the BlockMaterialInstancesComponent to 64
  • Limit the number of elements in the conditionsand block_filter fields of the BlockPlacementFieldComponent to 64
  • Updated documentation for originand size fields of the minecraft:block_collision and minecraft:aim_collision components
  • Set stack limit for brewing station result slot to 1, as to avoid getting input stacks being overwritten when the brew is complete
  • Tied consume animation to consume duration
  • Content errors for data-driven blocks improved to log resource pack, file, and block identifier
  • Limit length of the _minecraft:geometry_field of BlockGeometryComponent to 256 characters
  • Updated documentation for specific string types "Localization String", "Path String", and "Identifier String"

Commands

  • The '/spreadplayers' command will now avoid more hazardous locations
  • Reload command will now discover new function and script files
  • When a Command Block clones itself twice with the '/clone' command, the cloned Command Block will now activate on the first try (MCPE-122188)
  • Command selectors now correctly identify players by name instead of their name tag
  • Title commands fired before a client was done joining will now show instead of being ignored
  • Added the 'replace entity' overload to the '/loot' command
  • Fixed an issue with teleporting an entity to a chunk that has not been loaded since before 1.18.30 would result in the loss of that entity

Dedicated Server

  • Enabled the Windows Dedicated Server console to read UTF-16 encoded Unicode input (BDS-3791)

Mobs

  • Entities that use KnockbackRoarGoal can once again properly use entity filters to determine damage
  • Actor properties can now be applied to player entities. Updated network protocol version to support this (MCPE-129628)
  • Actors using movement prediction will once again teleport smoothly
  • Added in a check to prevent an actor that is a passenger from being ridden by the vehicle it is on, preventing an infinite loop looking for the root vehicle (MCPE-133774)
  • Exposed new data parameter "can_sleep_while_riding" for "minecraft.behavior.sleep". If set to false, the goal will not start if the mob is riding
  • The is_moving filter now returns the correct value when an actor is moving
  • Added a target_block_filters to "behavior.move_to_block" and "is_waterlogged" filter test to prevent mobs from moving to blocks underwater (MCPE-153783)

Fog

  • Updated fog JSON schema to allow distance fog settings to use negative value as 'fog_start'. Allowing nearby blocks to also be tinted with fog color
  • Added adjustable fog effect that can expand or shrink over time. Users will get the sense of eyes adjusting when going into water

Item Components

  • Added new data-driven Item component minecraft:chargeable- Allows the item to be charged (like Apples or Bows) when the use action button is held on_complete - Trigger executed when the items use duration has been completed

Molang

  • Avoid clearing temp Molang variables during hand rendering

GameTest Framework

IMPORTANT BREAKING CHANGE

GameTest module type changed from "javascript" to "script" in manifest.json. Added an optional attribute “language” which has only one supported value – javascript.

New JavaScript modules in manifest.json should look as follows:

  "modules": [
    {
      "description": "JavaScript module code",
      "language": "javascript",
      "type": "script",
      "uuid": "<your UUID>",
      "version": [0, 0, 1],
      "entry": "scripts/main.js"
    }
  ],

mojang-gametest module: Test

  • Added function rotateVector- Rotates a vector relative to the GameTest structure rotation
  • Removed constraint on maximum travel distance from GameTest structure for SimulatedPlayer.

mojang-minecraft module

  • Entity
    • Added function setRotation(degreesX: number, degreesY: number)- Sets the rotation of the Entity
    • Added read-only property rotation: XYRotation- Gets the rotation of the Entity
    • Removed property bodyRotation- Note: Use rotation.y instead
  • XYRotation
    • Renamed class _PitchYawRotation_to XYRotation
    • Renamed property _pitch_to x
    • Renamed property _yaw_to y
  • New events:
    • Added event buttonPushEvent - fires when a button is pushed
    • Added event events.projectileHit- Fires when a projectile hits a Block or Entity
    • Added event events.itemStartUseOn- Sent when the player first interacts with a block
    • Added event events.itemStopUseOn- Sent when fire if the block is successfully interacted with and the block has changed - such as when grass is turned to a path with a Shovel
    • Added event events.itemStartCharge– Sent when the player first starts using a charging/animated item
    • Added event events.itemCompleteCharge- Sent when the item has completed its charge action
    • Added event events.itemReleaseCharge- Sent when the user has finished using the item and released the build action
    • Added event events.itemStopCharge- Sent either when the player has finished an items use cycle or when the player has released the use action with the item
    • ItemStartUseOnEvent Added read only property buildBlockLocation- The result build block position. Useful for determining where a block was placed
    • Added member _player?: Player_to the LeverActivate event - The player that activated the lever

New property on Player_: onScreenDisplay : ScreenDisplay_ - exposes a new interface to trigger on screen content.

  • ScreenDisplay Type
    • setTitle(title : String, options? : TitleDisplayOptions) - cause a title to show up on the player's HUD, optionally specifying the subtitle and fade in, stay and fade out times
    • clearTitle() - clear title and subtitle
    • updateSubtitle(subtitle : String) - update the subtitle (but not the title)
    • setActionBar(text : String) - set the action bar text
  • TitleDisplayOptions object
    • subtitle? : String - optional subtitle
    • fadeInSeconds : Int - number of seconds to fade in new title and subtitle
    • staySeconds : Int - number of seconds to have the title and subtitle stay on screen
    • fadeOutSeconds : Int - number of seconds to fade out title and subtitle

Support of dynamic properties that script can use to persist data per-World or per-Entity. Note that properties must be registered using the propertyRegistry in the new WorldInitialize event.

  • DynamicPropertiesDefinition
    • Added function defineNumber(identifier: string): void- Defines a dynamic number property
    • Added function defineString(identifier: string, maxLength: number): void- Defines a dynamic string property
    • Added function defineBoolean(identifier: string): void- Defines a dynamic boolean property
    • Added event worldInitialize(worldInitializeEvent: WorldInitializeEvent)- Fires during world load and contains the property registry used for declaring dynamic properties
  • PropertyRegistry
    • Added function registerEntityTypeDynamicProperties(propertiesDefinition: DynamicPropertiesDefinition, entityType: EntityType)- Registers dynamic property definitions for the given EntityType
    • Added function registerWorldDynamicProperties(propertiesDefinition: DynamicPropertiesDefinition)- Registers property definitions for the world
  • World object/Entity object additions:
    • Added function setDynamicProperty(identifier: string, value: boolean | string | number)- Adds a dynamic property to the world/entity
    • Added function getDynamicProperty(identifier: string): boolean | string | number- Gets a dynamic property from the world/entity if it exists, otherwise returns undefined
    • Added function removeDynamicProperty(identifier: string): boolean- Removes a dynamic property value from the world/entity

Updated the GameTest Framework interface to add read-only scoreboard support.

  • World
    • scoreboard : Scoreboard - Access world's scoreboard
  • Entity
    • scoreboard : ScoreboardIdentity - Access the entities scoreboard identity
  • Scoreboard - Object representing the scoreboard data
    • getObjective(objectiveId : String) : ScoreboardObjective - Method to get a specific objective (by id)
    • getObjectives : ScoreboardObjective[] - Method to get all objectives
    • getParticipants : ScoreboardIdentity[] - Method to get all scoreboard identities
  • ScoreboardObjective - Object representing a scoreboard objective
    • id : String - (read-only) scoreboard identifier
    • displayName : String - (read-only) scoreboard display name
    • getParticipants : ScoreboardIdentity[] - Method to get all objective participant identities
    • getScores : ScoreboardScoreInfo[] - Method to get the score info for all participants
    • getScore(participant : ScoreboardIdentity) : Int - Method to get the score value of a participant
  • ScoreboardIdentity - Object representing a scoreboard participant
    • type : ScoreboardIdentityType - (read-only) enum representing the type of identity
    • id : Int - (read-only) Unique identifier for the identity
    • displayName : String - (read-only) display name for the identity
    • getEntity : Entity - get the Entity handle associated with the identity
  • ScoreboardIdentityType - Enum representing identity types : .Entity - An entity .FakePlayer - A fake identity .Player - A player
  • ScoreboardScoreInfo - Score-Identity pair for an objective
    • participant : ScoreboardIdentity - (read-only) The participant
    • score : Int - (read-only) The score
  • Commands
    • Added _/script profiler_command to create GameTest script performance traces. Script profiles should be written to the Minecraft logging folder. See this article for more information on the Script Profiler.
  • Dedicated Server has been updated to allow servers to explicitly list which script modules they want loaded when running scripts. A default configuration file is located at /config/default/permissions.json. Without this new file, all script modules are disabled by default. See this article for more information on usage of scripts plus servers.