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.
Source
-
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
-
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) -
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)
-