跳到主要内容

Minecraft Beta & Preview - 1.20.0.23

Dedicated Server

Content logs now show in dedicated server console window with a configurable log level using these new server properties:

  • content-log-level - Sets the minimum level for content logs to output. Allowed values: “verbose”, “info”, “warning”, “error”. Default: info
    • Note: This log level also affects content logs written to disk when using content-log-file-enabled=true
  • content-log-console-output-enabled - Enables or disables content log output to the console window. Default: info

Entities

  • Custom entities with internal-only components or AI goals will fail to load in game
  • Custom entities are restricted to overriding Vanilla entities released before 1.20. Invalid entities used in the “identifier” or “runtime_identifier” field will result in content errors

Items

  • Released the “minecraft:display_name” item component out of experimental in json formats 1.20.0 and higher
  • Released the “minecraft:durability” item component out of experimental in json formats 1.20.0 and higher
  • Released the “minecraft:fuel” item component out of experimental in json formats 1.20.0 and higher
  • Released the “minecraft:entity_placer” item component out of experimental in json formats 1.20.0 and higher
  • Released the “minecraft:icon” item component out of experimental in json formats 1.20.0 and higher

User Interface

  • Fixed a graphical issue where a gamepad icon would display over another screen

Accessibility

  • Added new “Chat Message Duration” accessibility setting to change how long chat messages remain on screen (3 seconds by default)

  • Renamed “Notification Duration” to “Toast Notification Duration” and fixed an issue were the setting had no affect on how long toasts remained on display

实验性特性

Add-Ons and Script Engine

  • Added PlacementPosition (“minecraft:placement_position”) BlockTrait block trait

    • Adds states “minecraft:block_face” and/or “minecraft: vertical_half”
    • “minecraft:block_face” is a six value string state ("down", "up", "north", "south", "east", "west") that contains info on which block face the player clicked on when the block was placed
    • “minecraft:vertical_half” is a 2 value string state ("bottom", "top") with info on whether the block was placed in the lower or upper half of the block position
    • Both of these states are set when the block is placed (onPlayerPlace)

Script API

  • Moving getComponent(componentId: string): EntityComponent | undefined method to 1.2.0
  • Moving getComponents(): EntityComponent[] method to 1.2.0
  • Moving hasComponent(componentId: string): boolean method to 1.2.0
  • Moving EntityComponent class to 1.2.0
  • Moving EntityBaseMovementComponent class to 1.2.0:
    • Moving readonly maxTurn: number property to 1.2.0
    • Moving the following additional EntityBaseMovementComponent subclasses to 1.2.0:
      • EntityMovementAmphibiousComponent
      • EntityMovementBasicComponent
      • EntityMovementFlyComponent
      • EntityMovementGenericComponent
      • EntityMovementHoverComponent
      • EntityMovementJumpComponent
      • EntityMovementSkipComponent
  • Renamed EntityIsDyableComponent class to EntityIsDyeableComponent and moved to 1.2.0
  • Moving the following additional EntityComponent subclasses to 1.2.0:
    • EntityCanClimbComponent
    • EntityCanFlyComponent
    • EntityCanPowerJumpComponent
    • EntityColorComponent
    • EntityFireImmuneComponent
    • EntityFloatsInLiquidComponent
    • EntityFlyingSpeedComponent
    • EntityFrictionModifierComponent
    • EntityGroundOffsetComponent
    • EntityIsBabyComponent
    • EntityIsChargedComponent
    • EntityIsChestedComponent
    • EntityIsHiddenWhenInvisibleComponent
    • EntityIsIgnitedComponent
    • EntityIsIllagerCaptainComponent
    • EntityIsSaddledComponent
    • EntityIsShakingComponent
    • EntityIsShearedComponent
    • EntityIsStackableComponent
    • EntityIsStunnedComponent
    • EntityIsTamedComponent
    • EntityMarkVariantComponent
    • EntityPushThroughComponent
    • EntityScaleComponent
    • EntitySkinIdComponent
    • EntityVariantComponent
    • EntityWantsJockeyComponent
  • Added class EffectTypes
    • Added function get(identifier: string): EffectType - Returns the effect type if it exists
    • Added function getAll(): EffectType[] - Returns all of the effects
  • Updated class Effect
    • Updated duration property. Is the duration of the effect in ticks
    • Added property typeId. Returns the effect’s type id
  • Added interface EntityEffectOptions { amplifier?: number, showParticles?: boolean }
    • Added function removeEffect(effectType: EffectType | string): boolean - Removes an effect from an Entity. Returns false if the effect is not found or does not exist
    • Updated function getEffect(effectType: EffectType | string): Effect | undefined - Gets the effect if it exists on the entity. Otherwise returns undefined
    • Updated function addEffect(effectType: EffectType | string, duration: number, options?: EntityEffectOptions): boolean - Adds an effect to the Entity. Returns false if the effect cannot be added ( the effect does not exist, the duration is negative)
  • Items using the minimum duration for the “minecraft:fuel” component now work in the Blast Furnace and Smoker

Items

  • Items with the ‘minecraft:throwable’ component now trigger the ‘throw’ sound effect when used

Scripting

  • After Events
    • All non-before events have been moved from world.events to world.afterEvents
    • events has been removed from the world object
    • After events do not execute immediately, instead they are deferred until a later point in the tick when they are flushed. It is guaranteed that all events fired in a tick are flushed within a tick