Package net.minecraftforge.common.loot
Class LootModifier
java.lang.Object
net.minecraftforge.common.loot.LootModifier
- All Implemented Interfaces:
IGlobalLootModifier
- Direct Known Subclasses:
GlobalLootModifiersTest.DungeonLootEnhancerModifier
,GlobalLootModifiersTest.SilkTouchTestModifier
,GlobalLootModifiersTest.SmeltingEnchantmentModifier
,GlobalLootModifiersTest.WheatSeedsConverterModifier
A base implementation of a Global Loot Modifier for modders to extend.
Takes care of ILootCondition matching and comes with a base serializer
implementation that takes care of Forge registry things.
-
Field Summary
Modifier and TypeFieldDescriptionprivate final Predicate<LootContext>
protected final LootItemCondition[]
-
Constructor Summary
ModifierConstructorDescriptionprotected
LootModifier
(LootItemCondition[] conditionsIn) Constructs a LootModifier. -
Method Summary
Modifier and TypeMethodDescriptionapply
(List<ItemStack> generatedLoot, LootContext context) Applies the modifier to the list of generated loot.doApply
(List<ItemStack> generatedLoot, LootContext context) Applies the modifier to the generated loot (all loot conditions have already been checked and have returned true).
-
Field Details
-
conditions
-
combinedConditions
-
-
Constructor Details
-
LootModifier
Constructs a LootModifier.- Parameters:
conditionsIn
- the ILootConditions that need to be matched before the loot is modified.
-
-
Method Details
-
apply
Description copied from interface:IGlobalLootModifier
Applies the modifier to the list of generated loot. This function needs to be responsible for checking ILootConditions as well.- Specified by:
apply
in interfaceIGlobalLootModifier
- Parameters:
generatedLoot
- the list of ItemStacks that will be dropped, generated by loot tablescontext
- the LootContext, identical to what is passed to loot tables- Returns:
- modified loot drops
-
doApply
@Nonnull protected abstract List<ItemStack> doApply(List<ItemStack> generatedLoot, LootContext context) Applies the modifier to the generated loot (all loot conditions have already been checked and have returned true).- Parameters:
generatedLoot
- the list of ItemStacks that will be dropped, generated by loot tablescontext
- the LootContext, identical to what is passed to loot tables- Returns:
- modified loot drops
-