Class EnchantRandomlyFunction
java.lang.Object
net.minecraft.world.level.storage.loot.functions.LootItemConditionalFunction
net.minecraft.world.level.storage.loot.functions.EnchantRandomlyFunction
- All Implemented Interfaces:
BiFunction<ItemStack, LootContext, ItemStack>, LootItemFunction, LootContextUser, Validatable
LootItemFunction that applies a random enchantment to the stack. If an empty list is given, chooses from all enchantments.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprivate static final org.slf4j.Loggerstatic final com.mojang.serialization.MapCodec<EnchantRandomlyFunction> private final booleanprivate final Optional<HolderSet<Enchantment>> Fields inherited from class LootItemConditionalFunction
predicates -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateEnchantRandomlyFunction(List<LootItemCondition> predicates, Optional<HolderSet<Enchantment>> options, boolean onlyCompatible, boolean includeAdditionalCostComponent) -
Method Summary
Modifier and TypeMethodDescriptioncom.mojang.serialization.MapCodec<EnchantRandomlyFunction> codec()private ItemStackenchantItem(ItemStack itemStack, Holder<Enchantment> enchantment, LootContext context) Set<ContextKey<?>> randomApplicableEnchantment(HolderLookup.Provider registries) 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
-
LOGGER
private static final org.slf4j.Logger LOGGER -
MAP_CODEC
-
options
-
onlyCompatible
private final boolean onlyCompatible -
includeAdditionalCostComponent
private final boolean includeAdditionalCostComponent
-
-
Constructor Details
-
EnchantRandomlyFunction
private EnchantRandomlyFunction(List<LootItemCondition> predicates, Optional<HolderSet<Enchantment>> options, boolean onlyCompatible, boolean includeAdditionalCostComponent)
-
-
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
-
enchantItem
private ItemStack enchantItem(ItemStack itemStack, Holder<Enchantment> enchantment, LootContext context) -
randomEnchantment
-
randomApplicableEnchantment
public static EnchantRandomlyFunction.Builder randomApplicableEnchantment(HolderLookup.Provider registries)
-