25w20a · Custom Changelog      
                      Skip to main content          
                     
     
       

25w20a

25w20a
#

A Minecraft Java Snapshot

“This week we’re releasing the final features from this year’s second drop. Today’s snapshot brings craftable saddles as well as some stunning tracks, courtesy of Amos Roddy. We have also added an option to show which song is currently playing in the in-game pause menu.”

Neue Features
#

  • Eine neue Musik-Disk mit dem Titel „Tears“ von Amos Roddy hinzugefügt

  • Updated the main screen panorama

    650

  • Happy Ghasts werden nun vom flying_speed attribute affected:

Music
#

  • Die folgenden neuen Musikstücke von Amos Roddy wurden zu den Biomen Cherry Groves, Forest, Desert, Grove und Lush Cave hinzugefügt:
    • Below and Above
    • Broken Clocks
    • Fireflies
    • Lilypad
    • O’s Piano
  • Die gleichen Lieder wurden in die Musikrotation des Menüs aufgenommen

Saddles Updates
#

Crafting Saddles
#

  • Sättel können jetzt mit 3 Leder und 1 Eisenbarren hergestellt werden
    650
  • Das Rezept wird freigeschaltet, wenn ein Spieler sein erstes Leder aufhebt.

Removing Saddles and Equipment
#

  • Sättel, Pferderüstungen, Geschirre und Teppiche können nun mit der Schere von den Mobs entfernt werden, die sie tragen können.
  • Sättel, Pferderüstungen, Geschirre und Teppiche können nicht mehr mit der Schere entfernt werden, wenn der Mob einen Reiter hat.
  • Sättel, Pferderüstungen, Geschirre und Teppiche können nicht mit der Schere entfernt werden, wenn der Spieler in der Hocke sitzt.
  • Sättel können nicht mit einer Schere von Plünderern entfernt werden.
  • Dispenser mit Scheren können keine Sättel, Pferderüstungen, Geschirre oder Teppiche von Mobs entfernen.

Loot Table Changes
#

Von einigen Loottable wurden die Sättel entfernt und durch 1-5 Leder ersetzt:

  • Monster Room chests
  • Ancient City chests
  • Desert Pyramid chests
  • Jungle Pyramid chests
  • Stronghold altar chests

Changes
#

  • Nebel wird nun auf 3D-Hud-Elemente wie die Hände des Spielers in der ersten Person und Gegenstände in den Händen angewendet.

  • Der Ghast lässt jetzt die „Tears" Music Disc fallen, wenn sie durch einen von einem Spieler abgelenkten Feuerball getötet wird.

  • Der Bugfix [MC-3697] (https://bugs.mojang.com/browse/MC-3697) wurde teilweise rückgängig gemacht. Dekorative, hängende Objekte wie Gemälde und Gegenstandsrahmen sind nun immun gegen Explosionen von untergetauchtem TNT, während Gegenstände und Rüstungsständer nun wieder anfällig dafür sind

  • Updates für Musik und Sound

  • Regen- und Gewitterwetter ist jetzt etwas weniger neblig Neu

    450
    Alt
    450

  • Regennebel beeinträchtigt Innenräume weniger

  • Der dried Ghastblock zerbricht nicht mehr, wenn Wasser in ihn hineinfließt.

  • Neue Splash Texte “Music by Aaron Cherof!”
    “Music by Kumi Tanioka!” “Music by Amos Roddy!”
    “Flint and Steel!” “Chicken Jockey!”

Music and Sound
#

  • Die Musik wird jetzt auch dann abgespielt, wenn das Spiel pausiert ist
  • In den Musik- und Sound-Einstellungen wurde eine Option hinzugefügt, mit der der Spieler die Häufigkeit der Musikwiedergabe in einer Spielwelt einstellen kann.
    650
  • In den Musik- und Sound-Einstellungen wurde eine Option hinzugefügt, mit der ein Musik-Toast angezeigt werden kann, sobald ein Lied abgespielt wird.
    • Wenn diese Option aktiviert ist, wird das aktuell gespielte Lied jederzeit in der oberen linken Ecke des Pausenmenüs im Spiel angezeigt.

650
650

Technical Changes
#

  • Die Data Pack version ist nun 77
  • Die Resource Pack version ist nun 61
  • “Command Syntax” report now contains information about required permission level

Data Pack Version 77
#

  • Neue optionale Felder “can_be_sheared” und “shearing_sound” wurden zum equippable item component hinzugefügt
  • Es wurde eine Möglichkeit hinzugefügt, sehr einfache Dialoge für Benutzer anzuzeigen
  • Added custom - ein neuer click_event action type für text components
  • Benutzer werden nun zur Bestätigung aufgefordert, bevor sie einen Befehl aus der run_command-Klickaktion in Büchern und im Chat ausführen, wenn der Befehl nicht geparst werden kann oder erhöhte Berechtigungen erfordert (d.h. höher als 0)

Dialogs
#

Ein Paar Beispiele des neuen Dialogs systems:

Keine Zeit mehr den rest zu übersetzen ist aber auch nicht so wichtig ich denke die videos sagen schon alles

  • Added a way to display simple modal dialogs to a user
  • Dialogs are stored in a minecraft:dialog registry, but can also be defined inline
  • Dialogs are an experimental feature
  • To avoid user confusion, dialog screens are marked with a warning sign next to the title
    • Clicking on this warning leads to a dialog that explains to user that this screen is provided by custom content
    • It also gives user an option to leave current world to avoid them being locked in infinite loop of dialogs
  • Dialogs can be displayed by server in play and configuration connection phases
    • However, only inline registries are allowed in configuration, since registries are not yet available in that phase
  • Dialogs always close after user selects any action
  • Dialogs by default will also close after Escape key is pressed
    • When this happens, dialog will run action specific to dialog type described as “exit action” below
    • This behavior is configurable
  • When dialog screen is closed, game goes back to previously displayed non-dialog screen or back to gameplay
    • That means that new dialogs always replace already opened ones, if any
  • Dialogs screens will pause the game in singleplayer mode
  • Dialogs can be configured to be accessible from Pause menu
    • This replaces and expands “Server Links” button added in previous versions
  • Most dialogs follow a common layout, however exact contents depend on type:
    • Header with title and warning button
    • Body elements (labels, inputs, buttons and submit actions), scrollable if needed
    • Optional footer, contains main buttons and submit actions

Developer’s NoteDialogs are not supposed to fully describe any in-game UI, but just to allow custom content to display simple messages and get input from users. This feature is intentially limited to match that use case.

Dialog Description Format
#

  • Dialogs are stored in minecraft:dialog registry that can be provided by a datapack

Fields:

  • type - one of dialog types from minecraft:dialog_type registry
  • type-specific< - see below

Common Dialog Fields
#
  • Most dialog types share some fields. To avoid duplication, they are listed in this section

Fields:

  • title - screen title, text component
    • Should be always visible on screen, no matter the specific type
  • external_title - name to be used for a button leading to this dialog (for example from Pause screen), optional text component
    • If not present, title will be used instead
  • body - optional list of body elements or a single element, see below
  • can_close_with_escape - can dialog be dismissed with Escape key, default true
Common Button Data
#
  • Most actions in dialog types share following fields that describe apperance of a button associated with that action:
  • label - text component
  • tooltip - optional text component to display when button is highlighted or hovered over
  • width - width of the button, positive integer with default 150

Click Action
#

  • Common object used in dialogs to represent clickable action on a dialog
  • Fields:
    • Common button data (see above)
    • on_click - optional click event (same format as click_event on text components)
      • If not present, clicking button will simply close screen without any action
Dialog Types
#
minecraft:notice
#
  • A simple screen with one action in footer
  • Exit action: same as action

Fields:

  • Common dialog fields (see above)
  • action - click action (see above), defaults to button with gui.ok label and no action or tooltip
minecraft:confirmation
#
  • A simple screen with two actions in footer
  • Exit action: same as no action

Fields:

  • Common dialog fields (see above)
  • yes - click action (see above) for positive outcome
  • no - click action (see above) for negative outcome
minecraft:multi_action
#
  • A scrollable list of actions arranged in columns
  • Screen also has button in footer that runs exit action and closes the screen
    • Label will be gui.cancel if dialog has defined exit action and gui.back if it has no side effects
  • Exit action: defined in on_cancel field

Fields:

  • Common dialog fields (see above)
  • actions - non-empty list of click actions (see above)
  • on_cancel - optional click event (same format as click_event on text components)
  • columns - positive integer describing number of columns, default: 2
minecraft:server_links #
  • A scrollable list of links received from server in minecraft:server_links packet, arranged in columns
  • Screen also has button in footer that runs exit action and closes the screen
    • Label will be gui.cancel if dialog has defined exit action and gui.back if it has no side effects
  • Note: this is a replacement for previous Server Links screen, but now with an additional body
  • Exit action: defined in on_cancel field

Fields:

  • Common dialog fields (see above)
  • on_cancel - optional click event (same format as click_event on text components)
  • columns - positive integer describing number of columns, default: 2
  • button_width - width of buttons in the list, positive integer with default 150
minecraft:dialog_list
#
  • A scrollable list of buttons leading directly to other dialogs, arranged in columns
    • Titles of those buttons will be taken from external_title fields of targeted dialogs
  • Screen also has button in footer that runs exit action and closes the screen
    • Label will be gui.cancel if dialog has defined exit action and gui.back if it has no side effects
  • Exit action: defined in on_cancel field

Fields:

  • Common dialog fields (see above)
  • dialogs - dialog, a list of dialogs or a dialog tag
  • on_cancel - optional click event (same format as click_event on text components)
  • columns - positive integer describing number of columns, default: 2
  • button_width - width of buttons in the list, positive integer with default 150
minecraft:simple_input_form
#
  • A screen that accepts user inputs
  • Has a single submit action with in a footer
  • Exit action: none (submitting data closes screen, but does not run any action outside of sending data to server)

Fields:

  • Common dialog fields (see above)
  • inputs - non-empty list of inputs controls, see below
  • action - submit action, see below
minecraft:multi_action_input_form
#
  • A screen that accepts user inputs
  • Can have multiple submit actions
  • Has no footer, submit actions are appended to a body
  • Exit action: none (submitting data closes screen, but does not run any action outside of sending data to server)

Fields:

  • Common dialog fields (see above)
  • inputs - non-empty list of inputs controls, see below
  • actions - non-empty list of submit actions, see below
Dialog Body Types
#
  • All dialogs have a list of body elements describing contents between title and actions or inputs

Fields:

  • type - one of dialog body types from minecraft:dialog_body_type registry
  • type-specific< - see below

minecraft:plain_message
#
  • A multiline label

Fields:

  • contents - text component
  • width - maximum width of message, positive integer with default 200
minecraft:item
#
  • Item with optional description
    • If description is present, it will be rendered to the right of item
  • Item will be rendered as if it was in inventory slot
  • Item is not scaled even if width and height are set to values other than default

Fields:

  • item - item stack with count
  • description - optional object with fields:
    • contents - text component
    • width - maximum width of contents, positive integer with default 200
    • Can also be just be text component
  • show_decorations - if true, count and damage bar will be rendered over the item, default: true
  • show_tooltip - if true, item tooltip will show up when item is hovered, default: true
  • width - horizontal size of element, default: 16
  • height - vertical size of element, default: 16
Input Control Types
#
  • Input dialog uses a set of controls to accept user input
  • When submitted, current value of input will be converted to a string and sent to the server as described by Submit Action section below

Fields:

  • type - one of input control types from minecraft:input_control_type registry
  • key - string identifier of value used when submitting data, must be a valid template argument (letters, digits and _)
  • type-specific< - see below

minecraft:text
#
  • Simple text input
  • Sends current contents without modification

Fields:

  • width - width of input, positive integer with default: 200
  • label - a text component to be displayed to the left of control
  • label_visible - controls label visibility, default: true
  • initial - initial contents, default: "" (empty)
minecraft:boolean
#
  • A plain checkbox with a label

Fields:

  • label - a text component to be displayed to the right of control
  • initial - an initial value, default: false (i.e. unchecked)
  • on_true - a string value to send when control is checked, default: ’true'
  • on_false - a string value to send when control is unchecked, default: ‘false’
minecraft:single_option
#
  • A button that cycles between a set of options when clicked
  • Sends value associated with currently selected preset

Fields:

  • label - a text component to be displayed on the button
  • label_visible - if true, label will be incorporated into button text, default: true
  • width - width of button, positive integer with default: 200
  • options - a list of objects with fields:
    • id - a string value to send on submit
    • display - a text component to display on button, optional (if not present, id is used)
    • initial - an optional boolean flag that selects initial option (only one option can have it set to true)
    • Additionaly list might also contain plain string - in that case it’s equivalent to a single entry with field id set to that string and other fields set to default
minecraft:number_range
#
  • A slider for picking a numeric value out of some range
  • Sends currently selected value
    • Whole numbers will be sent without decimal point

Fields:

  • label - a text component to be used as a slider label
  • label_format - a translation key to be used for building label (first argument is contents of label field, second argument is current value), default: options.generic_value
  • width - width of input, positive integer with default: 200
  • start - start value (when slider is in leftmost position) (inclusive), float
  • end - end value (when slider is in rightmost position) (inclusive), float
  • steps - number of increments, positive integer
    • Note: value of 1 means that slider will have two positions (start and end)
  • initial - initial value of slider, rounded down nearest step, must be within range, defaults to min
Submit Actions
#
  • Every submit action on input dialog has a button associated with it
  • When one of those buttons is clicked, values of all inputs will be collected and sent to a server using one of methods described below
  • id field of a submit action will be included as an input with key action
  • Submit action fields:
    • Common button data (see above)
    • id - string identifier of an action
    • on_submit - submit method to run when button is clicked, object with following fields:
      • type - one of submit method types from minecraft:submit_method_type registry
      • type-specific< - see below

  • Note: server does not validate individual values as they arrive as filled commands or custom payloads
Submit Method Types
#
minecraft:command_template
#
  • This method will build a command using a provided macro template and request the server to run it (same as minecraft:run_command click event)
  • If the command requires permission higher than 0 (when any operator permissions are required), a confirmation dialog will be shown
  • Macro will be expanded with values from input
    • For example, if macro is some_command $(action), action parameter will be expanded to id field of a submit action
    • Inputs not used in macro will be ignored, while macro parameters not matching any inputs will be replaced with an empty string

Fields:

  • template - a string with a macro template to be interpreted as a command
minecraft:custom_template
#
  • This method will build a custom server click action using a provided macro template and send it to the server (same as minecraft:custom click event)
  • Macro will be expanded with values from input
    • Inputs not used in macro will be ignored, while macro parameters not matching any inputs will be replaced with an empty string

Fields:

  • template - a string with a macro template to be used as a payload
  • id - namespaced ID
minecraft:custom_form
#
  • This method will build a custom server click action from all values and request the server to run it (same as minecraft:custom click event)
  • Format:
    • keys are separated from values with horizontal tabulation (U+0009) character
    • key-value entries are separated with line feed (U+000A) character
    • If characters U+0009 and U+000A are present in any key or value, they will be escaped to \t and \n

Fields:

  • id - namespaced ID
Built-in dialogs
#

The built-in datapack contains some custom dialogs to provide customization of specific screens used by client

minecraft:server_links #
  • Replacement for previously existing “Server Links” screen
  • Meant to simplify migration for servers that used this feature previously
minecraft:custom_options
#
  • Shows contents of minecraft:pause_screen_additions tag (see below)
  • Lets user select a specific dialog if this tag contains multiple entries
  • Note: Since this tag is meant for interoperability, any content that replaces this dialog should be careful to not hide other dialog providers

Dialog Command
#

  • New command has been added to show dialog to clients

Syntax:

  • dialog show >targets< >dialog< - show dialog to player(s)
    • targets< - player name, UUID or a player selector

    • dialog< - a namespaced ID from minecraft:dialog registry or inline dialog value as described above

    • Returns number of players in targets argument
  • dialog clear >targets< - clean dialog for player(s), if they have any visible
    • targets< - player name, UUID or a player selector

    • Returns number of players in targets argument

Pause Screen Configuration
#

  • A data pack can request some of the available dialogs to be accessible from Pause screen
  • This feature replaces “Server Links” button and is placed on Pause screen according to the same rules
  • Buttons leading to dialogs exposed in this way will use label described in external_title field
  • This feature is configured by minecraft:pause_screen_additions dialog tag:
    • If this tag is not specified or is empty but the server has sent server_links packet, tag will be handled as if it contained minecraft:server_links dialog
      • Note: this matches previous Server Links feature behavior
      • If this dialog is removed, the tag remains empty
    • If this tag is still empty, button is not visible (“Send Feedback” and “Report Bugs” buttons are visible instead)
    • If this tag has a single element, Pause screen button will lead directly to this dialog
    • If this tag has multiple elements, Pause screen button will lead to minecraft:custom_options which (by default) lets user select one of the tag elements
      • If this dialog is removed, button is not visible

Text Components
#

Click Events
#

  • New click action minecraft:custom has been added
    • When user clicks a component with this click action, client will send a dedicated packet minecraft:custom_click_action to a server
    • The intended use is as an alternative for run_command to be used by modded servers without worrying about having to add custom commands
    • This packet has no functionality on vanilla servers
    • Fields:
      • id - namespaced ID
      • payload - optional string field

Dialog Click Event
#

  • New action show_dialog has been added
    • When user clicks this component, a dialog will be opened for them
    • Fields:
      • dialog - a namespaced ID from minecraft:dialog registry or inline dialog value as described above

Attributes
#

Ghasts flying_speed attribute
#

  • Ghasts now have a flying_speed attribute that affects their flying speed

Data Components
#

equippable Item Component
#

  • Added new optional field: can_be_sheared (boolean)
    • If true, players can use Shears to remove this equippable item from a target mob by right-clicking, provided all other shearing conditions are satisfied
    • If not specified, it defaults to false
  • Added new optional field: shearing_sound (sound event)
    • It’s a sound event that plays when the equippable item is sheared
    • If not specified, it defaults to the item.shears.snip sound event

Resource Pack Version 61
#

UI Sprites
#

  • Added icon/music_notes and toast/now_playing sprites