Class ApplyBonusCount
java.lang.Object
net.minecraft.world.level.storage.loot.functions.LootItemConditionalFunction
net.minecraft.world.level.storage.loot.functions.ApplyBonusCount
- All Implemented Interfaces:
BiFunction<ItemStack, LootContext, ItemStack>, LootItemFunction, LootContextUser, Validatable
LootItemFunction that modifies the stack's count based on an enchantment level on the tool using various formulas.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final recordApplies a bonus based on a binomial distribution withn = enchantmentLevel + extraRoundsandp = probability.private static interfaceprivate static final recordprivate static final recordApplies a bonus count with a special formula used for fortune ore drops.private static final recordAdds a bonus count based on the enchantment level scaled by a constant multiplier.Nested classes/interfaces inherited from class LootItemConditionalFunction
LootItemConditionalFunction.Builder<T> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Holder<Enchantment> private final ApplyBonusCount.Formulaprivate static final com.mojang.serialization.MapCodec<ApplyBonusCount.Formula> private static final com.mojang.serialization.Codec<ApplyBonusCount.FormulaType> private static final Map<Identifier, ApplyBonusCount.FormulaType> static final com.mojang.serialization.MapCodec<ApplyBonusCount> Fields inherited from class LootItemConditionalFunction
predicates -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateApplyBonusCount(List<LootItemCondition> predicates, Holder<Enchantment> enchantment, ApplyBonusCount.Formula formula) -
Method Summary
Modifier and TypeMethodDescriptionstatic LootItemConditionalFunction.Builder<?> addBonusBinomialDistributionCount(Holder<Enchantment> enchantment, float probability, int extraRounds) static LootItemConditionalFunction.Builder<?> addOreBonusCount(Holder<Enchantment> enchantment) static LootItemConditionalFunction.Builder<?> addUniformBonusCount(Holder<Enchantment> enchantment) static LootItemConditionalFunction.Builder<?> addUniformBonusCount(Holder<Enchantment> enchantment, int bonusMultiplier) com.mojang.serialization.MapCodec<ApplyBonusCount> codec()Set<ContextKey<?>> run(ItemStack itemStack, LootContext context) Called to perform the actual action of this function, after conditions have been checked.Methods inherited from class LootItemConditionalFunction
apply, commonFields, simpleBuilder, validateMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface BiFunction
andThen
-
Field Details
-
FORMULAS
-
FORMULA_TYPE_CODEC
-
FORMULA_CODEC
-
MAP_CODEC
-
enchantment
-
formula
-
-
Constructor Details
-
ApplyBonusCount
private ApplyBonusCount(List<LootItemCondition> predicates, Holder<Enchantment> enchantment, ApplyBonusCount.Formula formula)
-
-
Method Details
-
codec
- Specified by:
codecin interfaceLootItemFunction- Specified by:
codecin classLootItemConditionalFunction
-
getReferencedContextParams
-
run
Description copied from class:LootItemConditionalFunctionCalled to perform the actual action of this function, after conditions have been checked.- Specified by:
runin classLootItemConditionalFunction
-
addBonusBinomialDistributionCount
public static LootItemConditionalFunction.Builder<?> addBonusBinomialDistributionCount(Holder<Enchantment> enchantment, float probability, int extraRounds) -
addOreBonusCount
public static LootItemConditionalFunction.Builder<?> addOreBonusCount(Holder<Enchantment> enchantment) -
addUniformBonusCount
public static LootItemConditionalFunction.Builder<?> addUniformBonusCount(Holder<Enchantment> enchantment) -
addUniformBonusCount
public static LootItemConditionalFunction.Builder<?> addUniformBonusCount(Holder<Enchantment> enchantment, int bonusMultiplier)
-