Class ComputeEnchantedLootBonusEvent
java.lang.Object
net.neoforged.bus.api.Event
net.neoforged.neoforge.event.entity.EntityEvent
net.neoforged.neoforge.event.entity.living.LivingEvent
tech.anonymoushacker1279.immersiveweapons.api.events.ComputeEnchantedLootBonusEvent
public class ComputeEnchantedLootBonusEvent
extends net.neoforged.neoforge.event.entity.living.LivingEvent
Called just before a LivingEntity drops all its loot for determining the level of a loot bonus enchantment such as
Enchantments.LOOTING that should be applied to the drops.
Specifically the event allows for controlling the enchantment level when applying the:
- loot item function
minecraft:enchanted\_count\_increase - loot item condition
minecraft:random\_chance\_with\_enchanted\_bonus - enchantment effect component
minecraft:equipment\_drops
This event is fired on the NeoForge.EVENT_BUS.
Based on Puzzles Lib's implementation. Provided as a solution to NeoForge issue #1112.
-
Nested Class Summary
Nested classes/interfaces inherited from class net.neoforged.neoforge.event.entity.living.LivingEvent
net.neoforged.neoforge.event.entity.living.LivingEvent.LivingJumpEvent, net.neoforged.neoforge.event.entity.living.LivingEvent.LivingVisibilityEventNested classes/interfaces inherited from class net.neoforged.neoforge.event.entity.EntityEvent
net.neoforged.neoforge.event.entity.EntityEvent.EnteringSection, net.neoforged.neoforge.event.entity.EntityEvent.EntityConstructing, net.neoforged.neoforge.event.entity.EntityEvent.Size -
Constructor Summary
ConstructorsConstructorDescriptionComputeEnchantedLootBonusEvent(net.minecraft.world.entity.LivingEntity entity, @Nullable net.minecraft.world.damagesource.DamageSource damageSource, net.minecraft.core.Holder<net.minecraft.world.item.enchantment.Enchantment> enchantment, int enchantmentLevel) -
Method Summary
Modifier and TypeMethodDescription@Nullable net.minecraft.world.damagesource.DamageSourcenet.minecraft.core.Holder<net.minecraft.world.item.enchantment.Enchantment> intstatic intonComputeEnchantedLootBonus(net.minecraft.core.Holder<net.minecraft.world.item.enchantment.Enchantment> enchantment, int enchantmentLevel, net.minecraft.world.entity.LivingEntity livingEntity, @Nullable net.minecraft.world.damagesource.DamageSource damageSource) static intonComputeEnchantedLootBonus(net.minecraft.core.Holder<net.minecraft.world.item.enchantment.Enchantment> enchantment, int enchantmentLevel, net.minecraft.world.level.storage.loot.LootContext lootContext) voidsetEnchantmentLevel(int enchantmentLevel) Methods inherited from class net.neoforged.neoforge.event.entity.living.LivingEvent
getEntity
-
Constructor Details
-
ComputeEnchantedLootBonusEvent
@Internal public ComputeEnchantedLootBonusEvent(net.minecraft.world.entity.LivingEntity entity, @Nullable @Nullable net.minecraft.world.damagesource.DamageSource damageSource, net.minecraft.core.Holder<net.minecraft.world.item.enchantment.Enchantment> enchantment, int enchantmentLevel)
-
-
Method Details
-
onComputeEnchantedLootBonus
@Internal public static int onComputeEnchantedLootBonus(net.minecraft.core.Holder<net.minecraft.world.item.enchantment.Enchantment> enchantment, int enchantmentLevel, net.minecraft.world.level.storage.loot.LootContext lootContext) -
onComputeEnchantedLootBonus
@Internal public static int onComputeEnchantedLootBonus(net.minecraft.core.Holder<net.minecraft.world.item.enchantment.Enchantment> enchantment, int enchantmentLevel, net.minecraft.world.entity.LivingEntity livingEntity, @Nullable @Nullable net.minecraft.world.damagesource.DamageSource damageSource) -
getDamageSource
@Nullable public @Nullable net.minecraft.world.damagesource.DamageSource getDamageSource() -
getEnchantment
public net.minecraft.core.Holder<net.minecraft.world.item.enchantment.Enchantment> getEnchantment() -
getEnchantmentLevel
public int getEnchantmentLevel() -
setEnchantmentLevel
public void setEnchantmentLevel(int enchantmentLevel)
-