Java Edition 19w38a

19w38a is the fifth snapshot for Java Edition 1.15, released on September 18, 2019, which makes some technical changes such as adding new parameters to existing commands and makes changes to the rendering system. However, due to a game crashing bug caused by breaking blocks, it was replaced by 19w38b later that day.

Command format

 * Can now use  as a source or target, which is general purpose, key/value storage.
 * Each storage is identified by a distinct namespaced ID.
 * Storage is shared between all dimensions in a world.
 * Data in storage persists between on world close.
 * Data in storage persists between on world close.


 * Added subcommand
 * Evaluates custom predicates, defined in the  directory of a datapack.
 * Added subcommand
 * Stores the command result to the storage target for the command.
 * Stores the command result to the storage target for the command.


 * Added new optional syntax.
 * Defaults to.
 * Added new syntax to remove existing schedules.
 * Returns the number of removed schedules.
 * Extended to allow scheduling the same function multiple times.
 * Extended to allow scheduling the same function multiple times.


 * Entity selectors
 * New selector parameter  allows applying custom predicates, defined in the   directory of a datapack.


 * Loot tables
 * Loot table predicates can now be defined in separate files and used for entity selectors and in execute if command.
 * Added new parameters to the  condition.
 * ,,   – optional offsets to location.
 * Added.
 * Includes condition defined in predicates directory of datapack, selected with name parameter.
 * Added  condition.
 * Checks day time.
 * – range of accepted values.
 * – if present, time will be modulo-divided by this value (for example, if set to 24000, value will operate on a time period of days).

General

 * Predicates
 * Added custom predicates.
 * The condition part of loot tables can now be defined as separate data pack resource in  directory.


 * Entity predicate
 * Now accepts  field, which checks player properties.
 * Fails when entity is not player.
 * Fields:
 * – range of allowed player levels.
 * – same values as command.
 * – list of statistics to match. Entry fields: (like ),  (like ) and  (an integer range).
 * For example,  will succeed if the player has used fishing rods a total of 2 through 10 times; more or less will fail.
 * – map of recipe IDs. Boolean value tells if it should or should not be known to player.
 * – map of advancement IDs. If value is a boolean, checks if advancement is done. If value is an object, checks completion of criterions.
 * Entity predicate now accepts  field, which matches team name.


 * Location predicate
 * Predicate now accepts  and   sub-predicate.
 * Fields:
 * – exact block ID to match.
 * – exact fluid ID to match.
 * – block/fluid ID to match.
 * – matcher for block entity NBT (only for blocks).
 * – map of name/value properties. Value can be integer, boolean or string or object with optional min and max properties.
 * Predicate now accepts the  sub-predicate.
 * Object has one integer range –  – that matches visible light (maximum value of sky-darkening and block light).

Blocks

 * General
 * The outline around blocks (which appears when a block is looked at) is now thicker.

Command format

 * Setting game rule to  now prevents damage from magma blocks.
 * Setting game rule to  now prevents damage from magma blocks.


 * The first parameter now defaults to if no  argument is given.
 * The first parameter now defaults to if no  argument is given.

General

 * Debug screen
 * The "chunk updates" counter on the second line no longer appears.

Video
Video made by slicedlime: