Java Edition 19w38a

19w38a is the fifth snapshot for Java Edition 1.15, released on September 18, 2019.

Technical

 * Entity predicate
 * 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: type (like minecraft:custom), stat (like minecraft:sneak_time) and value (int range).
 * - Map of recipe ids. Boolean value tells if it should or should not be known to player.
 * - Map of advancement ids. If value is boolean, checks if advancement is done. If value is 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  sub-predicate.
 * Object has one integer range -  that matches visible light.
 * Custom predicates
 * Added custom predicates.
 * Condition part of loot tables can now be defined as separate data pack resource in  directory.
 * Loot tables
 * Added new parameters to the  condition.
 * ,,   - Optional offsets to location.
 * Added  condition.
 * Checks day time.

Commands

 * Can now use  as target, which is general purpose, key-value storage.
 * Can now use  as target, which is general purpose, key-value storage.


 * New subcommand:
 * Evaluates custom predicates.
 * Evaluates custom predicates.


 * Added new syntax
 * ( defaults to replace)
 * ( defaults to replace)


 * Entity selectors
 * New selector parameter  allows to apply custom predicate (defined in   directory of datapack).