Builder to create a 'DamageSourceProperties' loot condition.
The condition then passes if and only if the predicate used when building it marks the damage source as valid.
If no predicate is specified, the condition simply acts as a check for the presence of a DamageSource.
It might be required for you to import the package if you encounter any issues (like casting an Array), so better be safe than sorry and add the import at the very top of the file.
DamageSourceProperties implements the following interfaces. That means all methods defined in these interfaces are also available in DamageSourceProperties
Creates and sets the DamageSourcePredicate that will be matched against the damage source.
Any changes that have already been made to the predicate will be overwritten, effectively replacing the previous predicate, if any.
This parameter is optional.
Return Type: DamageSourceProperties
DamageSourceProperties.withPredicate(builder as Consumer<DamageSourcePredicate>) as DamageSourceProperties