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
LootItemFunction that modifies the stack's count based on an enchantment level on the tool using various formulas.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static final record
Applies a bonus based on a binomial distribution withn = enchantmentLevel + extraRounds
andp = probability
.(package private) static interface
(package private) static final record
(package private) static final record
Applies a bonus count with a special formula used for fortune ore drops.(package private) static final record
Adds a bonus count based on the enchantment level scaled by a constant multiplier.Nested classes/interfaces inherited from class net.minecraft.world.level.storage.loot.functions.LootItemConditionalFunction
LootItemConditionalFunction.Builder<T extends LootItemConditionalFunction.Builder<T>>, LootItemConditionalFunction.DummyBuilder
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final com.mojang.serialization.MapCodec
<ApplyBonusCount> private final Holder
<Enchantment> private final ApplyBonusCount.Formula
private static final com.mojang.serialization.MapCodec
<ApplyBonusCount.Formula> private static final com.mojang.serialization.Codec
<ApplyBonusCount.FormulaType> private static final Map
<ResourceLocation, ApplyBonusCount.FormulaType> Fields inherited from class net.minecraft.world.level.storage.loot.functions.LootItemConditionalFunction
predicates
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
ApplyBonusCount
(List<LootItemCondition> p_298532_, Holder<Enchantment> p_298797_, ApplyBonusCount.Formula p_79905_) -
Method Summary
Modifier and TypeMethodDescriptionstatic LootItemConditionalFunction.Builder
<?> addBonusBinomialDistributionCount
(Holder<Enchantment> pEnchantment, float pProbability, int pExtraRounds) static LootItemConditionalFunction.Builder
<?> addOreBonusCount
(Holder<Enchantment> pEnchantment) static LootItemConditionalFunction.Builder
<?> addUniformBonusCount
(Holder<Enchantment> pEnchantment) static LootItemConditionalFunction.Builder
<?> addUniformBonusCount
(Holder<Enchantment> pEnchantment, int pBonusMultiplier) Set
<LootContextParam<?>> getType()
run
(ItemStack pStack, LootContext pContext) Called to perform the actual action of this function, after conditions have been checked.Methods inherited from class net.minecraft.world.level.storage.loot.functions.LootItemConditionalFunction
apply, commonFields, simpleBuilder, validate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.function.BiFunction
andThen
-
Field Details
-
FORMULAS
-
FORMULA_TYPE_CODEC
-
FORMULA_CODEC
-
CODEC
-
enchantment
-
formula
-
-
Constructor Details
-
ApplyBonusCount
private ApplyBonusCount(List<LootItemCondition> p_298532_, Holder<Enchantment> p_298797_, ApplyBonusCount.Formula p_79905_)
-
-
Method Details
-
getType
- Specified by:
getType
in interfaceLootItemFunction
- Specified by:
getType
in classLootItemConditionalFunction
-
getReferencedContextParams
-
run
Called to perform the actual action of this function, after conditions have been checked.- Specified by:
run
in classLootItemConditionalFunction
-
addBonusBinomialDistributionCount
public static LootItemConditionalFunction.Builder<?> addBonusBinomialDistributionCount(Holder<Enchantment> pEnchantment, float pProbability, int pExtraRounds) -
addOreBonusCount
public static LootItemConditionalFunction.Builder<?> addOreBonusCount(Holder<Enchantment> pEnchantment) -
addUniformBonusCount
public static LootItemConditionalFunction.Builder<?> addUniformBonusCount(Holder<Enchantment> pEnchantment) -
addUniformBonusCount
public static LootItemConditionalFunction.Builder<?> addUniformBonusCount(Holder<Enchantment> pEnchantment, int pBonusMultiplier)
-