From 116e2d92e14c084256fb2c95d35bb7731cfa87cf Mon Sep 17 00:00:00 2001 From: Aria Date: Wed, 22 Feb 2023 03:52:00 -0700 Subject: [PATCH] Deploy some new helper functions in the API --- gradle.properties | 2 +- .../zontreck/libzontreck/util/ItemUtils.java | 44 +++++++++++++++++++ src/main/resources/META-INF/mods.toml | 2 +- src/main/resources/pack.mcmeta | 2 +- 4 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 src/main/java/dev/zontreck/libzontreck/util/ItemUtils.java diff --git a/gradle.properties b/gradle.properties index f92b50b..c280e3d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,5 +5,5 @@ org.gradle.daemon=false mc_version=1.18.2 forge_version=40.2.1 -myversion=1.0.4.9 +myversion=1.0.4.10 parchment_version=2022.11.06 \ No newline at end of file diff --git a/src/main/java/dev/zontreck/libzontreck/util/ItemUtils.java b/src/main/java/dev/zontreck/libzontreck/util/ItemUtils.java new file mode 100644 index 0000000..41fe63c --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/util/ItemUtils.java @@ -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 getEnchantments(ItemStack stack) + { + + ListTag enchants = stack.getEnchantmentTags(); + Map enchantments = new HashMap<>(); + Iterator 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 enchants = getEnchantments(stack); + ret=enchants.get(ench); + + return ret; + } +} diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index 8d28856..108d7f3 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -19,7 +19,7 @@ modId="libzontreck" #mandatory # The version number of the mod - there's a few well known ${} variables useable here or just hardcode it # ${file.jarVersion} will substitute the value of the Implementation-Version as read from the mod's JAR file metadata # see the associated build.gradle script for how to populate this completely automatically during a build -version="1.0.4.9" #mandatory +version="1.0.4.10" #mandatory # A display name for the mod displayName="LibZontreck" #mandatory # A URL to query for updates for this mod. See the JSON update specification https://mcforge.readthedocs.io/en/latest/gettingstarted/autoupdate/ diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta index b82b8d2..2a23a90 100644 --- a/src/main/resources/pack.mcmeta +++ b/src/main/resources/pack.mcmeta @@ -3,6 +3,6 @@ "description": "libzontreck resources", "pack_format": 9, "forge:resource_pack_format": 9, - "forge:data_pack_format": 10 + "forge:data_pack_format": 9 } }