Package net.minecraftforge.common.loot
Interface IGlobalLootModifier
- All Known Implementing Classes:
GlobalLootModifiersTest.MultiplyDropsModifier
,GlobalLootModifiersTest.SilkTouchTestModifier
,GlobalLootModifiersTest.SmeltingEnchantmentModifier
,GlobalLootModifiersTest.WheatSeedsConverterModifier
,LootModifier
public interface IGlobalLootModifier
Implementation that defines what a global loot modifier must implement in order to be functional.
Requires a
LootModifier
Supplies base functionality; most modders should only need to extend that.Requires a
Codec
to be registered: ForgeRegistries.GLOBAL_LOOT_MODIFIER_SERIALIZERS
, and returned in codec()
Individual instances of modifiers must be registered via json, see forge:loot_modifiers/global_loot_modifiers-
Field Summary
Modifier and TypeFieldDescriptionstatic final com.mojang.serialization.Codec<IGlobalLootModifier>
static final com.mojang.serialization.Codec<LootItemCondition[]>
-
Method Summary
Modifier and TypeMethodDescription@NotNull it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack>
apply
(it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> generatedLoot, LootContext context) Applies the modifier to the list of generated loot.com.mojang.serialization.Codec<? extends IGlobalLootModifier>
codec()
Returns the registered codec for this modifierstatic <U> com.google.gson.JsonElement
getJson
(com.mojang.serialization.Dynamic<?> dynamic)
-
Field Details
-
DIRECT_CODEC
-
LOOT_CONDITIONS_CODEC
-
-
Method Details
-
getJson
static <U> com.google.gson.JsonElement getJson(com.mojang.serialization.Dynamic<?> dynamic) -
apply
@NotNull @NotNull it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> apply(it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> generatedLoot, LootContext context) Applies the modifier to the list of generated loot. This function needs to be responsible for checking ILootConditions as well.- 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
-
codec
com.mojang.serialization.Codec<? extends IGlobalLootModifier> codec()Returns the registered codec for this modifier
-