net.minecraft.enchantment

public class EnchantmentHelper

net.minecraft.world.item.enchantment.EnchantmentHelper
net.minecraft.world.item.enchantment.EnchantmentHelper
net.minecraft.class_1890
net.minecraft.enchantment.EnchantmentHelper

Constructor summary

ModifierConstructor
public ()

Method summary

Modifier and TypeMethod
public static int
getItemEnchantmentLevel(Holder<Enchantment> enchantment, ItemInstance piece)
getItemEnchantmentLevel(Holder<Enchantment> enchantment, ItemInstance piece)
method_8225(class_6880<class_1887> arg0, class_1_96 arg1)
getLevel(RegistryEntry<Enchantment> enchantment, ItemStackView stack)
public static ItemEnchantmentsComponent
updateEnchantments(ItemStack itemStack, Consumer<ItemEnchantments$Mutable> consumer)
updateEnchantments(ItemStack itemStack, Consumer<ItemEnchantments$Mutable> consumer)
method_57531(class_1799 arg0, Consumer<class_9304$class_9305> arg1)
apply(ItemStack stack, Consumer<ItemEnchantmentsComponent$Builder> applier)
public static boolean
canStoreEnchantments(ItemStack itemStack)
canStoreEnchantments(ItemStack itemStack)
method_57529(class_1799 arg0)
canHaveEnchantments(ItemStack stack)
public static void
setEnchantments(ItemStack itemStack, ItemEnchantments enchantments)
setEnchantments(ItemStack itemStack, ItemEnchantments enchantments)
method_57530(class_1799 arg0, class_9304 arg1)
set(ItemStack stack, ItemEnchantmentsComponent enchantments)
public static ItemEnchantmentsComponent
getEnchantmentsForCrafting(ItemStack itemStack)
getEnchantmentsForCrafting(ItemStack itemStack)
method_57532(class_1799 arg0)
getEnchantments(ItemStack stack)
private static ComponentType<ItemEnchantmentsComponent>
getComponentType(ItemStack itemStack)
getComponentType(ItemStack itemStack)
method_57533(class_1799 arg0)
getEnchantmentsComponentType(ItemStack stack)
public static boolean
hasAnyEnchantments(ItemStack itemStack)
hasAnyEnchantments(ItemStack itemStack)
method_58117(class_1799 arg0)
hasEnchantments(ItemStack stack)
public static int
processDurabilityChange(ServerLevel serverLevel, ItemStack itemStack, int amount)
processDurabilityChange(ServerLevel serverLevel, ItemStack itemStack, int amount)
method_60117(class_3218 arg0, class_1799 arg1, int arg2)
getItemDamage(ServerWorld world, ItemStack stack, int baseItemDamage)
public static int
processAmmoUse(ServerLevel serverLevel, ItemStack weapon, ItemStack ammo, int amount)
processAmmoUse(ServerLevel serverLevel, ItemStack weapon, ItemStack ammo, int amount)
method_60129(class_3218 arg0, class_1799 arg1, class_1799 arg2, int arg3)
getAmmoUse(ServerWorld world, ItemStack rangedWeaponStack, ItemStack projectileStack, int baseAmmoUse)
public static int
processBlockExperience(ServerLevel serverLevel, ItemStack itemStack, int amount)
processBlockExperience(ServerLevel serverLevel, ItemStack itemStack, int amount)
method_60157(class_3218 arg0, class_1799 arg1, int arg2)
getBlockExperience(ServerWorld world, ItemStack stack, int baseBlockExperience)
public static int
processMobExperience(ServerLevel serverLevel, Entity killer, Entity killed, int amount)
processMobExperience(ServerLevel serverLevel, Entity killer, Entity killed, int amount)
method_60109(class_3218 arg0, class_1297 arg1, class_1297 arg2, int arg3)
getMobExperience(ServerWorld world, Entity attacker, Entity mob, int baseMobExperience)
public static ItemStack
createBook(EnchantmentInstance enchant)
createBook(EnchantmentInstance enchant)
method_61711(class_1889 arg0)
getEnchantedBookWith(EnchantmentLevelEntry entry)
private static void
runIterationOnItem(ItemStack piece, EnchantmentHelper$EnchantmentVisitor method)
runIterationOnItem(ItemStack piece, EnchantmentHelper$EnchantmentVisitor method)
method_8220(class_1799 arg0, class_1890$class_1891 arg1)
forEachEnchantment(ItemStack stack, EnchantmentHelper$Consumer consumer)
private static void
runIterationOnItem(ItemStack piece, EquipmentSlot slot, LivingEntity owner, EnchantmentHelper$EnchantmentInSlotVisitor method)
runIterationOnItem(ItemStack piece, EquipmentSlot slot, LivingEntity owner, EnchantmentHelper$EnchantmentInSlotVisitor method)
method_60139(class_1799 arg0, class_1304 arg1, class_1309 arg2, class_1890$class_9702 arg3)
forEachEnchantment(ItemStack stack, EquipmentSlot slot, LivingEntity entity, EnchantmentHelper$ContextAwareConsumer contextAwareConsumer)
private static void
runIterationOnEquipment(LivingEntity owner, EnchantmentHelper$EnchantmentInSlotVisitor method)
runIterationOnEquipment(LivingEntity owner, EnchantmentHelper$EnchantmentInSlotVisitor method)
method_8209(class_1309 arg0, class_1890$class_9702 arg1)
forEachEnchantment(LivingEntity entity, EnchantmentHelper$ContextAwareConsumer contextAwareConsumer)
public static boolean
isImmuneToDamage(ServerLevel serverLevel, LivingEntity victim, DamageSource source)
isImmuneToDamage(ServerLevel serverLevel, LivingEntity victim, DamageSource source)
method_60112(class_3218 arg0, class_1309 arg1, class_1282 arg2)
isInvulnerableTo(ServerWorld world, LivingEntity user, DamageSource damageSource)
public static float
getDamageProtection(ServerLevel serverLevel, LivingEntity victim, DamageSource source)
getDamageProtection(ServerLevel serverLevel, LivingEntity victim, DamageSource source)
method_8219(class_3218 arg0, class_1309 arg1, class_1282 arg2)
getProtectionAmount(ServerWorld world, LivingEntity user, DamageSource damageSource)
public static float
modifyDamage(ServerLevel serverLevel, ItemStack itemStack, Entity victim, DamageSource damageSource, float damage)
modifyDamage(ServerLevel serverLevel, ItemStack itemStack, Entity victim, DamageSource damageSource, float damage)
method_60120(class_3218 arg0, class_1799 arg1, class_1297 arg2, class_1282 arg3, float arg4)
getDamage(ServerWorld world, ItemStack stack, Entity target, DamageSource damageSource, float baseDamage)
public static float
modifyFallBasedDamage(ServerLevel serverLevel, ItemStack itemStack, Entity victim, DamageSource damageSource, float damage)
modifyFallBasedDamage(ServerLevel serverLevel, ItemStack itemStack, Entity victim, DamageSource damageSource, float damage)
method_60160(class_3218 arg0, class_1799 arg1, class_1297 arg2, class_1282 arg3, float arg4)
getSmashDamagePerFallenBlock(ServerWorld world, ItemStack stack, Entity target, DamageSource damageSource, float baseSmashDamagePerFallenBlock)
public static float
modifyArmorEffectiveness(ServerLevel serverLevel, ItemStack itemStack, Entity victim, DamageSource damageSource, float armorFraction)
modifyArmorEffectiveness(ServerLevel serverLevel, ItemStack itemStack, Entity victim, DamageSource damageSource, float armorFraction)
method_60170(class_3218 arg0, class_1799 arg1, class_1297 arg2, class_1282 arg3, float arg4)
getArmorEffectiveness(ServerWorld world, ItemStack stack, Entity user, DamageSource damageSource, float baseArmorEffectiveness)
public static float
modifyKnockback(ServerLevel serverLevel, ItemStack itemStack, Entity victim, DamageSource damageSource, float knockback)
modifyKnockback(ServerLevel serverLevel, ItemStack itemStack, Entity victim, DamageSource damageSource, float knockback)
method_60175(class_3218 arg0, class_1799 arg1, class_1297 arg2, class_1282 arg3, float arg4)
modifyKnockback(ServerWorld world, ItemStack stack, Entity target, DamageSource damageSource, float baseKnockback)
public static void
doPostAttackEffects(ServerLevel serverLevel, Entity victim, DamageSource damageSource)
doPostAttackEffects(ServerLevel serverLevel, Entity victim, DamageSource damageSource)
method_60107(class_3218 arg0, class_1297 arg1, class_1282 arg2)
onTargetDamaged(ServerWorld world, Entity target, DamageSource damageSource)
public static void
doPostPiercingAttackEffects(ServerLevel serverLevel, LivingEntity user)
doPostPiercingAttackEffects(ServerLevel serverLevel, LivingEntity user)
method_75255(class_3218 arg0, class_1309 arg1)
onAttack(ServerWorld world, LivingEntity attacker)
public static void
doPostAttackEffectsWithItemSource(ServerLevel serverLevel, Entity victim, DamageSource damageSource, ItemStack source)
doPostAttackEffectsWithItemSource(ServerLevel serverLevel, Entity victim, DamageSource damageSource, ItemStack source)
method_60619(class_3218 arg0, class_1297 arg1, class_1282 arg2, class_1799 arg3)
onTargetDamaged(ServerWorld world, Entity target, DamageSource damageSource, ItemStack weapon)
public static void
doPostAttackEffectsWithItemSourceOnBreak(ServerLevel serverLevel, Entity victim, DamageSource damageSource, ItemStack source, Consumer<ItemStack> attackerlessOnBreak)
doPostAttackEffectsWithItemSourceOnBreak(ServerLevel serverLevel, Entity victim, DamageSource damageSource, ItemStack source, Consumer<ItemStack> attackerlessOnBreak)
method_63016(class_3218 arg0, class_1297 arg1, class_1282 arg2, class_1799 arg3, Consumer<class_1799> arg4)
onTargetDamaged(ServerWorld world, Entity target, DamageSource damageSource, ItemStack weapon, Consumer<ItemStack> breakCallback)
public static void
runLocationChangedEffects(ServerLevel serverLevel, LivingEntity entity)
runLocationChangedEffects(ServerLevel serverLevel, LivingEntity entity)
method_60111(class_3218 arg0, class_1309 arg1)
applyLocationBasedEffects(ServerWorld world, LivingEntity user)
public static void
runLocationChangedEffects(ServerLevel serverLevel, ItemStack stack, LivingEntity entity, EquipmentSlot slot)
runLocationChangedEffects(ServerLevel serverLevel, ItemStack stack, LivingEntity entity, EquipmentSlot slot)
method_60125(class_3218 arg0, class_1799 arg1, class_1309 arg2, class_1304 arg3)
applyLocationBasedEffects(ServerWorld world, ItemStack stack, LivingEntity user, EquipmentSlot slot)
public static void
stopLocationBasedEffects(LivingEntity entity)
stopLocationBasedEffects(LivingEntity entity)
method_60135(class_1309 arg0)
removeLocationBasedEffects(LivingEntity user)
public static void
stopLocationBasedEffects(ItemStack stack, LivingEntity entity, EquipmentSlot slot)
stopLocationBasedEffects(ItemStack stack, LivingEntity entity, EquipmentSlot slot)
method_60141(class_1799 arg0, class_1309 arg1, class_1304 arg2)
removeLocationBasedEffects(ItemStack stack, LivingEntity user, EquipmentSlot slot)
public static void
tickEffects(ServerLevel serverLevel, LivingEntity entity)
tickEffects(ServerLevel serverLevel, LivingEntity entity)
method_60154(class_3218 arg0, class_1309 arg1)
onTick(ServerWorld world, LivingEntity user)
public static int
getEnchantmentLevel(Holder<Enchantment> enchantment, LivingEntity entity)
getEnchantmentLevel(Holder<Enchantment> enchantment, LivingEntity entity)
method_8203(class_6880<class_1887> arg0, class_1309 arg1)
getEquipmentLevel(RegistryEntry<Enchantment> enchantment, LivingEntity entity)
public static int
processProjectileCount(ServerLevel serverLevel, ItemStack weapon, Entity shooter, int count)
processProjectileCount(ServerLevel serverLevel, ItemStack weapon, Entity shooter, int count)
method_60119(class_3218 arg0, class_1799 arg1, class_1297 arg2, int arg3)
getProjectileCount(ServerWorld world, ItemStack stack, Entity user, int baseProjectileCount)
public static float
processProjectileSpread(ServerLevel serverLevel, ItemStack weapon, Entity shooter, float angle)
processProjectileSpread(ServerLevel serverLevel, ItemStack weapon, Entity shooter, float angle)
method_60118(class_3218 arg0, class_1799 arg1, class_1297 arg2, float arg3)
getProjectileSpread(ServerWorld world, ItemStack stack, Entity user, float baseProjectileSpread)
public static int
getPiercingCount(ServerLevel serverLevel, ItemStack weapon, ItemStack ammo)
getPiercingCount(ServerLevel serverLevel, ItemStack weapon, ItemStack ammo)
method_60128(class_3218 arg0, class_1799 arg1, class_1799 arg2)
getProjectilePiercing(ServerWorld world, ItemStack weaponStack, ItemStack projectileStack)
public static void
onProjectileSpawned(ServerLevel serverLevel, ItemStack weapon, Projectile projectileEntity, Consumer<ItemStack> onBreak)
onProjectileSpawned(ServerLevel serverLevel, ItemStack weapon, Projectile projectileEntity, Consumer<ItemStack> onBreak)
method_60127(class_3218 arg0, class_1799 arg1, class_1676 arg2, Consumer<class_1799> arg3)
onProjectileSpawned(ServerWorld world, ItemStack weaponStack, ProjectileEntity projectile, Consumer<ItemStack> onBreak)
public static void
onHitBlock(ServerLevel serverLevel, ItemStack weapon, LivingEntity owner, Entity entity, EquipmentSlot slot, Vec3 hitLocation, BlockState hitBlock, Consumer<ItemStack> onBreak)
onHitBlock(ServerLevel serverLevel, ItemStack weapon, LivingEntity owner, Entity entity, EquipmentSlot slot, Vec3 hitLocation, BlockState hitBlock, Consumer<ItemStack> onBreak)
method_60124(class_3218 arg0, class_1799 arg1, class_1309 arg2, class_1297 arg3, class_1304 arg4, class_243 arg5, class_2680 arg6, Consumer<class_1799> arg7)
onHitBlock(ServerWorld world, ItemStack stack, LivingEntity user, Entity enchantedEntity, EquipmentSlot slot, Vec3d pos, BlockState state, Consumer<ItemStack> onBreak)
public static int
modifyDurabilityToRepairFromXp(ServerLevel serverLevel, ItemStack item, int durability)
modifyDurabilityToRepairFromXp(ServerLevel serverLevel, ItemStack item, int durability)
method_60168(class_3218 arg0, class_1799 arg1, int arg2)
getRepairWithExperience(ServerWorld world, ItemStack stack, int baseRepairWithExperience)
public static float
processEquipmentDropChance(ServerLevel serverLevel, LivingEntity entity, DamageSource killingBlow, float chance)
processEquipmentDropChance(ServerLevel serverLevel, LivingEntity entity, DamageSource killingBlow, float chance)
method_60113(class_3218 arg0, class_1309 arg1, class_1282 arg2, float arg3)
getEquipmentDropChance(ServerWorld world, LivingEntity attacker, DamageSource damageSource, float baseEquipmentDropChance)
public static void
forEachModifier(ItemStack itemStack, EquipmentSlotGroup slot, BiConsumer<Holder<Attribute>, AttributeModifier> consumer)
forEachModifier(ItemStack itemStack, EquipmentSlotGroup slot, BiConsumer<Holder<Attribute>, AttributeModifier> consumer)
method_60622(class_1799 arg0, class_9274 arg1, BiConsumer<class_6880<class_1320>, class_1322> arg2)
applyAttributeModifiers(ItemStack stack, AttributeModifierSlot slot, BiConsumer<RegistryEntry<EntityAttribute>, EntityAttributeModifier> attributeModifierConsumer)
public static void
forEachModifier(ItemStack itemStack, EquipmentSlot slot, BiConsumer<Holder<Attribute>, AttributeModifier> consumer)
forEachModifier(ItemStack itemStack, EquipmentSlot slot, BiConsumer<Holder<Attribute>, AttributeModifier> consumer)
method_60140(class_1799 arg0, class_1304 arg1, BiConsumer<class_6880<class_1320>, class_1322> arg2)
applyAttributeModifiers(ItemStack stack, EquipmentSlot slot, BiConsumer<RegistryEntry<EntityAttribute>, EntityAttributeModifier> attributeModifierConsumer)
public static int
getFishingLuckBonus(ServerLevel serverLevel, ItemStack rod, Entity fisher)
getFishingLuckBonus(ServerLevel serverLevel, ItemStack rod, Entity fisher)
method_8223(class_3218 arg0, class_1799 arg1, class_1297 arg2)
getFishingLuckBonus(ServerWorld world, ItemStack stack, Entity user)
public static float
getFishingTimeReduction(ServerLevel serverLevel, ItemStack rod, Entity fisher)
getFishingTimeReduction(ServerLevel serverLevel, ItemStack rod, Entity fisher)
method_60158(class_3218 arg0, class_1799 arg1, class_1297 arg2)
getFishingTimeReduction(ServerWorld world, ItemStack stack, Entity user)
public static int
getTridentReturnToOwnerAcceleration(ServerLevel serverLevel, ItemStack weapon, Entity trident)
getTridentReturnToOwnerAcceleration(ServerLevel serverLevel, ItemStack weapon, Entity trident)
method_60169(class_3218 arg0, class_1799 arg1, class_1297 arg2)
getTridentReturnAcceleration(ServerWorld world, ItemStack stack, Entity user)
public static float
modifyCrossbowChargingTime(ItemStack crossbow, LivingEntity holder, float time)
modifyCrossbowChargingTime(ItemStack crossbow, LivingEntity holder, float time)
method_60159(class_1799 arg0, class_1309 arg1, float arg2)
getCrossbowChargeTime(ItemStack stack, LivingEntity user, float baseCrossbowChargeTime)
public static float
getTridentSpinAttackStrength(ItemStack trident, LivingEntity holder)
getTridentSpinAttackStrength(ItemStack trident, LivingEntity holder)
method_60123(class_1799 arg0, class_1309 arg1)
getTridentSpinAttackStrength(ItemStack stack, LivingEntity user)
public static boolean
hasTag(ItemStack item, TagKey<Enchantment> tag)
hasTag(ItemStack item, TagKey<Enchantment> tag)
method_60138(class_1799 arg0, class_6862<class_1887> arg1)
hasAnyEnchantmentsIn(ItemStack stack, TagKey<Enchantment> tag)
public static boolean
has(ItemStack item, DataComponentType<?> effectType)
has(ItemStack item, DataComponentType<?> effectType)
method_60142(class_1799 arg0, class_9331<?> arg1)
hasAnyEnchantmentsWith(ItemStack stack, ComponentType<?> componentType)
public static <T> Optional<T>
pickHighestLevel(ItemStack itemStack, DataComponentType<List<T>> componentType)
pickHighestLevel(ItemStack itemStack, DataComponentType<List<T>> componentType)
method_60165(class_1799 arg0, class_9331<List<T>> arg1)
getEffect(ItemStack stack, ComponentType<List<T>> componentType)
public static <T> com.mojang.datafixers.util.Pair<T, Integer>
getHighestLevel(ItemStack item, DataComponentType<T> effectType)
getHighestLevel(ItemStack item, DataComponentType<T> effectType)
method_60174(class_1799 arg0, class_9331<T> arg1)
getHighestLevelEffect(ItemStack stack, ComponentType<T> componentType)
public static Optional<EnchantmentEffectContext>
getRandomItemWith(DataComponentType<?> componentType, LivingEntity source, Predicate<ItemStack> predicate)
getRandomItemWith(DataComponentType<?> componentType, LivingEntity source, Predicate<ItemStack> predicate)
method_8204(class_9331<?> arg0, class_1309 arg1, Predicate<class_1799> arg2)
chooseEquipmentWith(ComponentType<?> componentType, LivingEntity entity, Predicate<ItemStack> stackPredicate)
public static int
getEnchantmentCost(RandomSource random, int slot, int bookcases, ItemStack itemStack)
getEnchantmentCost(RandomSource random, int slot, int bookcases, ItemStack itemStack)
method_8227(class_5819 arg0, int arg1, int arg2, class_1799 arg3)
calculateRequiredExperienceLevel(Random random, int slotIndex, int bookshelfCount, ItemStack stack)
public static ItemStack
enchantItem(RandomSource random, ItemStack itemStack, int enchantmentCost, RegistryAccess registryAccess, Optional<? extends HolderSet<Enchantment>> set)
enchantItem(RandomSource random, ItemStack itemStack, int enchantmentCost, RegistryAccess registryAccess, Optional<? extends HolderSet<Enchantment>> set)
method_60133(class_5819 arg0, class_1799 arg1, int arg2, class_5455 arg3, Optional<? extends class_6885<class_1887>> arg4)
enchant(Random random, ItemStack stack, int level, DynamicRegistryManager dynamicRegistryManager, Optional<? extends RegistryEntryList<Enchantment>> enchantments)
public static ItemStack
enchantItem(RandomSource random, ItemStack itemStack, int enchantmentCost, Stream<Holder<Enchantment>> source)
enchantItem(RandomSource random, ItemStack itemStack, int enchantmentCost, Stream<Holder<Enchantment>> source)
method_8233(class_5819 arg0, class_1799 arg1, int arg2, Stream<class_6880<class_1887>> arg3)
enchant(Random random, ItemStack stack, int level, Stream<RegistryEntry<Enchantment>> possibleEnchantments)
public static List<EnchantmentLevelEntry>
selectEnchantment(RandomSource random, ItemStack itemStack, int enchantmentCost, Stream<Holder<Enchantment>> source)
selectEnchantment(RandomSource random, ItemStack itemStack, int enchantmentCost, Stream<Holder<Enchantment>> source)
method_8230(class_5819 arg0, class_1799 arg1, int arg2, Stream<class_6880<class_1887>> arg3)
generateEnchantments(Random random, ItemStack stack, int level, Stream<RegistryEntry<Enchantment>> possibleEnchantments)
public static void
filterCompatibleEnchantments(List<EnchantmentInstance> enchants, EnchantmentInstance target)
filterCompatibleEnchantments(List<EnchantmentInstance> enchants, EnchantmentInstance target)
method_8231(List<class_1889> arg0, class_1889 arg1)
removeConflicts(List<EnchantmentLevelEntry> possibleEntries, EnchantmentLevelEntry pickedEntry)
public static boolean
isEnchantmentCompatible(Collection<Holder<Enchantment>> enchants, Holder<Enchantment> target)
isEnchantmentCompatible(Collection<Holder<Enchantment>> enchants, Holder<Enchantment> target)
method_8201(Collection<class_6880<class_1887>> arg0, class_6880<class_1887> arg1)
isCompatible(Collection<RegistryEntry<Enchantment>> existing, RegistryEntry<Enchantment> candidate)
public static List<EnchantmentLevelEntry>
getAvailableEnchantmentResults(int value, ItemStack itemStack, Stream<Holder<Enchantment>> source)
getAvailableEnchantmentResults(int value, ItemStack itemStack, Stream<Holder<Enchantment>> source)
method_8229(int arg0, class_1799 arg1, Stream<class_6880<class_1887>> arg2)
getPossibleEntries(int level, ItemStack stack, Stream<RegistryEntry<Enchantment>> possibleEnchantments)
public static void
enchantItemFromProvider(ItemStack itemStack, RegistryAccess registryAccess, ResourceKey<EnchantmentProvider> providerKey, DifficultyInstance difficulty, RandomSource random)
enchantItemFromProvider(ItemStack itemStack, RegistryAccess registryAccess, ResourceKey<EnchantmentProvider> providerKey, DifficultyInstance difficulty, RandomSource random)
method_60137(class_1799 arg0, class_5455 arg1, class_5321<class_9741> arg2, class_1266 arg3, class_5819 arg4)
applyEnchantmentProvider(ItemStack stack, DynamicRegistryManager registryManager, RegistryKey<EnchantmentProvider> providerKey, LocalDifficulty localDifficulty, Random random)