Class LootItemConditionalFunction
java.lang.Object
net.minecraft.world.level.storage.loot.functions.LootItemConditionalFunction
- All Implemented Interfaces:
BiFunction<ItemStack, LootContext, ItemStack>, LootItemFunction, LootContextUser, Validatable
- Direct Known Subclasses:
ApplyBonusCount, ApplyExplosionDecay, CopyBlockState, CopyComponentsFunction, CopyCustomDataFunction, CopyNameFunction, DiscardItem, EnchantedCountIncreaseFunction, EnchantRandomlyFunction, EnchantWithLevelsFunction, ExplorationMapFunction, FillPlayerHead, FilteredFunction, FunctionReference, LimitCount, ModifyContainerContents, SetAttributesFunction, SetBannerPatternFunction, SetBookCoverFunction, SetComponentsFunction, SetContainerContents, SetContainerLootTable, SetCustomDataFunction, SetCustomModelDataFunction, SetEnchantmentsFunction, SetFireworkExplosionFunction, SetFireworksFunction, SetInstrumentFunction, SetItemCountFunction, SetItemDamageFunction, SetItemFunction, SetLoreFunction, SetNameFunction, SetOminousBottleAmplifierFunction, SetPotionFunction, SetRandomDyesFunction, SetRandomPotionFunction, SetStewEffectFunction, SetWritableBookPagesFunction, SetWrittenBookPagesFunction, SmeltItemFunction, ToggleTooltips
A LootItemFunction that only modifies the stacks if a list of predicates passes.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classprivate static final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Predicate<LootContext> protected final List<LootItemCondition> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedLootItemConditionalFunction(List<LootItemCondition> predicates) -
Method Summary
Modifier and TypeMethodDescriptionfinal ItemStackapply(ItemStack itemStack, LootContext context) abstract com.mojang.serialization.MapCodec<? extends LootItemConditionalFunction> codec()protected static <T extends LootItemConditionalFunction>
com.mojang.datafixers.Products.P1<com.mojang.serialization.codecs.RecordCodecBuilder.Mu<T>, List<LootItemCondition>> commonFields(com.mojang.serialization.codecs.RecordCodecBuilder.Instance<T> i) protected abstract ItemStackrun(ItemStack itemStack, LootContext context) Called to perform the actual action of this function, after conditions have been checked.static LootItemConditionalFunction.Builder<?> simpleBuilder(Function<List<LootItemCondition>, LootItemFunction> constructor) voidvalidate(ValidationContext context) Validate that this object is used correctly according to the given ValidationContext.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface BiFunction
andThenMethods inherited from interface LootContextUser
getReferencedContextParams
-
Field Details
-
predicates
-
compositePredicates
-
-
Constructor Details
-
LootItemConditionalFunction
-
-
Method Details
-
codec
- Specified by:
codecin interfaceLootItemFunction
-
commonFields
protected static <T extends LootItemConditionalFunction> com.mojang.datafixers.Products.P1<com.mojang.serialization.codecs.RecordCodecBuilder.Mu<T>, List<LootItemCondition>> commonFields(com.mojang.serialization.codecs.RecordCodecBuilder.Instance<T> i) -
apply
- Specified by:
applyin interfaceBiFunction<ItemStack, LootContext, ItemStack>
-
run
Called to perform the actual action of this function, after conditions have been checked. -
validate
Description copied from interface:LootContextUserValidate that this object is used correctly according to the given ValidationContext.- Specified by:
validatein interfaceLootContextUser- Specified by:
validatein interfaceValidatable
-
simpleBuilder
public static LootItemConditionalFunction.Builder<?> simpleBuilder(Function<List<LootItemCondition>, LootItemFunction> constructor)
-