Skip to main content

Minecraft Beta & Preview - 1.19.20.20/21

General

  • Fixed bugs where client state could get out of sync with server if using an item is cancelled or fails

Bucket Item

  • Releasing a bucketed custom mob now spawns the correct type of mob
  • Fixed the order in which a bucketed mob is created when released, which means any Actor Properties on it will load correctly

Dedicated Server

  • Added a server property disable-player-interaction which informs clients that they should ignore other players when interacting with the world
  • Added a new dedicated server property, "chat-restriction", that can be modified in the "server.properties" file to restrict the chat for all players connecting to the server. The property's possible values are "None", "Dropped", and "Disabled". See the default file for more information

Graphical

  • With data-driven block tessellation, geometry box pivot-base rotation now rotates around the correct pivot point
  • Add Content warnings for large icons for texture tessellation (eg. objects in hand)

Experimental Features

Actor Properties

  • Added Content Errors for when there are too many properties on the actor (more than 32) or when a string enum name is too long (more than 32 characters)
  • Restored ability to use a Molang expression string for default values of Actor Properties (These are primarily useful for random starting values)

GameTest Framework

  • Performance Watchdog
    • Added a performance watchdog that monitors GameTests for slow-running scripts
    • Executing a slow-running script will result in content log warnings
    • Additionally, long script hangs (more than 3 seconds in a single tick) will result in an exception
    • Added new properties to propertiesfor watchdog configuration on Dedicated Server
      • script-watchdog-enable- Enables the watchdog (default = true)
      • script-watchdog-hang-threshold- Sets the watchdog threshold for single tick hangs (default = 3000 ms)
      • script-watchdog-spike-threshold- Sets the watchdog threshold for single tick spikes (default = 100 ms)
      • script-watchdog-slow-threshold- Sets the watchdog threshold for slow scripts over multiple ticks (default = 2ms)
    • Updated mojang-minecraft-uiforms to respond when the client was unable to show a modal form
      • Renamed isCanceledfield to canceled
      • Added cancelationReasonfield
      • Added FormCancelationReasonenum
    • ScoreboardObjectiveDisplayOptions
      • Added 'ScoreboardObjectiveDisplayOptions' class
      • Added read-only property 'Objective: objective'
      • Added read-only property 'ObjectiveSortOrder: sortOrder'
    • Scoreboard
      • Added function 'removeObjective(objectiveId: string | Objective): void' - Untracks an objective
      • Added function 'addObjective(objectiveId: string, displayName: string): Objective' - Creates and objective to be tracked, identified with objectiveId and displayed on the screen with displayName
      • Added function 'getObjectiveAtDisplaySlot(displaySlotId: string): ScoreboardObjectiveDisplayOptions' - Gets objective and sort order contained in the DisplayObjective slot specified by displaySlotId
      • Added function 'setObjectiveAtDisplaySlot(displaySlotId: string, ScoreboardObjectiveDisplayOptions: scoreboardObjectiveDisplayOptions): Objective' - Sets the objective and sort order of the display slot, as specified by displaySlotId
      • Added function 'clearObjectiveAtDisplaySlot(displaySlotId: string): Objective' - Clear's the DisplayObjective of the objective it is currently displaying
    • Block
      • Added Block SignComponent that allows for retrieving of the value of sign text - Accessible from getComponent("sign")on sign blocks
    • BlockSignComponent
      • Added read-only property text: string- Gets the sign text

General

  • Limit the number of elements in the conditionsfield of the minecraft:part_visibility to 64
  • Renamed minecraft:aim_collisionblock component to minecraft:selection_box 
  • Renamed the 'minecraft:block_light_emission' component to 'minecraft:light_emission' and changed its accepted value type from float to int
  • Renamed 'minecraft:destroy_time' to 'minecraft:destructible_by_mining' and restructured the component to be either defined as a boolean or as an object
    • Setting the component to true will give the block the default destroy time and setting it to false will make the block indestructible by mining
    • Setting the component as an object will let users define the number of seconds needed to destroy the block with base equipment
  • Changed the minecraft:frictioncomponent to represent friction of block instead of movement