Record Class BonusLevelTableCondition
java.lang.Object
java.lang.Record
net.minecraft.world.level.storage.loot.predicates.BonusLevelTableCondition
- All Implemented Interfaces:
Predicate<LootContext>, LootContextUser, LootItemCondition, Validatable
public record BonusLevelTableCondition(Holder<Enchantment> enchantment, List<Float> values)
extends Record
implements LootItemCondition
A LootItemCondition that provides a random chance based on the level of a certain enchantment on the tool.
The chances are given as an array of float values that represent the given chance (0..1) for the enchantment level corresponding to the index.
[0.2, 0.3, 0.6] would provide a 20% chance for not enchanted, 30% chance for enchanted at level 1 and 60% chance for enchanted at level 2 or above.-
Nested Class Summary
Nested classes/interfaces inherited from interface LootItemCondition
LootItemCondition.Builder -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Holder<Enchantment> The field for theenchantmentrecord component.static final com.mojang.serialization.MapCodec<BonusLevelTableCondition> The field for thevaluesrecord component.Fields inherited from interface LootItemCondition
CODEC, DIRECT_CODEC, TYPED_CODEC -
Constructor Summary
ConstructorsConstructorDescriptionBonusLevelTableCondition(Holder<Enchantment> enchantment, List<Float> values) Creates an instance of aBonusLevelTableConditionrecord class. -
Method Summary
Modifier and TypeMethodDescriptionstatic LootItemCondition.BuilderbonusLevelFlatChance(Holder<Enchantment> enchantment, float... chances) com.mojang.serialization.MapCodec<BonusLevelTableCondition> codec()Returns the value of theenchantmentrecord component.final booleanIndicates whether some other object is "equal to" this one.Set<ContextKey<?>> final inthashCode()Returns a hash code value for this object.booleantest(LootContext context) final StringtoString()Returns a string representation of this record class.values()Returns the value of thevaluesrecord component.Methods inherited from interface LootContextUser
validate
-
Field Details
-
enchantment
The field for theenchantmentrecord component. -
values
-
MAP_CODEC
-
-
Constructor Details
-
BonusLevelTableCondition
Creates an instance of aBonusLevelTableConditionrecord class.- Parameters:
enchantment- the value for theenchantmentrecord componentvalues- the value for thevaluesrecord component
-
-
Method Details
-
codec
- Specified by:
codecin interfaceLootItemCondition
-
getReferencedContextParams
- Specified by:
getReferencedContextParamsin interfaceLootContextUser
-
test
- Specified by:
testin interfacePredicate<LootContext>
-
bonusLevelFlatChance
public static LootItemCondition.Builder bonusLevelFlatChance(Holder<Enchantment> enchantment, float... chances) -
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
enchantment
Returns the value of theenchantmentrecord component.- Returns:
- the value of the
enchantmentrecord component
-
values
-