Interface IGlobalLootModifier

All Known Implementing Classes:
AddTableLootModifier, GlobalLootModifiersTest.DungeonLootEnhancerModifier, 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. LootModifier Supplies base functionality; most modders should only need to extend that.
Requires a Codec to be registered: NeoForgeRegistries.GLOBAL_LOOT_MODIFIER_SERIALIZERS, and returned in codec() Individual instances of modifiers must be registered via json, see neoforge:loot_modifiers/global_loot_modifiers
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final com.mojang.serialization.Codec<Optional<WithConditions<IGlobalLootModifier>>>
     
    static final com.mojang.serialization.Codec<IGlobalLootModifier>
     
    static final com.mojang.serialization.Codec<net.minecraft.world.level.storage.loot.predicates.LootItemCondition[]>
     
  • Method Summary

    Modifier and Type
    Method
    Description
    it.unimi.dsi.fastutil.objects.ObjectArrayList<net.minecraft.world.item.ItemStack>
    apply(it.unimi.dsi.fastutil.objects.ObjectArrayList<net.minecraft.world.item.ItemStack> generatedLoot, net.minecraft.world.level.storage.loot.LootContext context)
    Applies the modifier to the list of generated loot.
    com.mojang.serialization.MapCodec<? extends IGlobalLootModifier>
    Returns the registered codec for this modifier
  • Field Details

    • DIRECT_CODEC

      static final com.mojang.serialization.Codec<IGlobalLootModifier> DIRECT_CODEC
    • CONDITIONAL_CODEC

      static final com.mojang.serialization.Codec<Optional<WithConditions<IGlobalLootModifier>>> CONDITIONAL_CODEC
    • LOOT_CONDITIONS_CODEC

      static final com.mojang.serialization.Codec<net.minecraft.world.level.storage.loot.predicates.LootItemCondition[]> LOOT_CONDITIONS_CODEC
  • Method Details

    • apply

      it.unimi.dsi.fastutil.objects.ObjectArrayList<net.minecraft.world.item.ItemStack> apply(it.unimi.dsi.fastutil.objects.ObjectArrayList<net.minecraft.world.item.ItemStack> generatedLoot, net.minecraft.world.level.storage.loot.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 tables
      context - the LootContext, identical to what is passed to loot tables
      Returns:
      modified loot drops
    • codec

      com.mojang.serialization.MapCodec<? extends IGlobalLootModifier> codec()
      Returns the registered codec for this modifier