Deploy some new helper functions in the API

This commit is contained in:
Aria 2023-02-22 03:52:00 -07:00
parent 954642b922
commit 116e2d92e1
4 changed files with 47 additions and 3 deletions

View file

@ -0,0 +1,44 @@
package dev.zontreck.libzontreck.util;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import net.minecraft.core.Registry;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.ListTag;
import net.minecraft.nbt.Tag;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.enchantment.Enchantment;
import net.minecraft.world.item.enchantment.EnchantmentHelper;
public class ItemUtils {
public static Map<Enchantment, Integer> getEnchantments(ItemStack stack)
{
ListTag enchants = stack.getEnchantmentTags();
Map<Enchantment, Integer> enchantments = new HashMap<>();
Iterator<Tag> enchantsIterator = enchants.iterator();
while(enchantsIterator.hasNext())
{
CompoundTag theTag = (CompoundTag)enchantsIterator.next();
Enchantment ench = Registry.ENCHANTMENT.getOptional(EnchantmentHelper.getEnchantmentId(theTag)).get();
Integer level = EnchantmentHelper.getEnchantmentLevel(theTag);
enchantments.put(ench, level);
}
return enchantments;
}
public static Integer getEnchantmentLevel(Enchantment ench, ItemStack stack)
{
Integer ret = 0;
Map<Enchantment, Integer> enchants = getEnchantments(stack);
ret=enchants.get(ench);
return ret;
}
}