Package me.hackware.api.util
Class EnchantUtil
java.lang.Object
me.hackware.api.util.EnchantUtil
Enchantment utilities using the 1.21+ registry-based enchantment system.
All methods require a loaded level for registry access.
-
Method Summary
Modifier and TypeMethodDescriptionstatic net.minecraft.core.Holder<net.minecraft.world.item.enchantment.Enchantment> getHolder(net.minecraft.resources.ResourceKey<net.minecraft.world.item.enchantment.Enchantment> key) Resolve aResourceKeyto aHolderusing the current level's registry.static intgetLevel(net.minecraft.world.item.ItemStack stack, net.minecraft.resources.ResourceKey<net.minecraft.world.item.enchantment.Enchantment> key) Get the level of an enchantment on an item stack.static booleanhas(net.minecraft.world.item.ItemStack stack, net.minecraft.resources.ResourceKey<net.minecraft.world.item.enchantment.Enchantment> key) Check whether an item has at least one level of the given enchantment.
-
Method Details
-
getLevel
public static int getLevel(net.minecraft.world.item.ItemStack stack, net.minecraft.resources.ResourceKey<net.minecraft.world.item.enchantment.Enchantment> key) Get the level of an enchantment on an item stack.- Parameters:
stack- the item to checkkey- the enchantment resource key (e.g.Enchantments.SILK_TOUCH)- Returns:
- the enchantment level, or 0 if not present
-
has
public static boolean has(net.minecraft.world.item.ItemStack stack, net.minecraft.resources.ResourceKey<net.minecraft.world.item.enchantment.Enchantment> key) Check whether an item has at least one level of the given enchantment. -
getHolder
public static net.minecraft.core.Holder<net.minecraft.world.item.enchantment.Enchantment> getHolder(net.minecraft.resources.ResourceKey<net.minecraft.world.item.enchantment.Enchantment> key) Resolve aResourceKeyto aHolderusing the current level's registry.- Returns:
- the holder, or null if the level is not loaded or the key is invalid
-