Java Edition 19w38a

19w38a is the fifth snapshot for Java Edition 1.15, released on September 18, 2019, which adds new parameters to existing commands.

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.

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).


 * 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).

Blocks

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

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: