From 99b3c44e2b6632caf14e1c95d970cd499cb57993 Mon Sep 17 00:00:00 2001 From: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> Date: Mon, 14 Aug 2023 00:27:23 +0800 Subject: De-hardcode armor trim types --- .../xmrvizzy/skyblocker/mixin/ArmorTrimMixin.java | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/mixin') diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ArmorTrimMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ArmorTrimMixin.java index bb8dde66..a90cf4d4 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ArmorTrimMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ArmorTrimMixin.java @@ -1,13 +1,7 @@ package me.xmrvizzy.skyblocker.mixin; -import java.util.Optional; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; - import com.llamalad7.mixinextras.injector.ModifyReturnValue; import com.llamalad7.mixinextras.sugar.Local; - import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import me.xmrvizzy.skyblocker.skyblock.item.CustomArmorTrims; @@ -15,25 +9,29 @@ import me.xmrvizzy.skyblocker.utils.Utils; import net.minecraft.item.ItemStack; import net.minecraft.item.trim.ArmorTrim; import net.minecraft.nbt.NbtCompound; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; + +import java.util.Optional; @Mixin(ArmorTrim.class) public class ArmorTrimMixin { @ModifyReturnValue(method = "getTrim", at = @At("RETURN")) - private static Optional skyblocker$customArmorTrims(Optional original, @Local ItemStack stack) { + private static Optional skyblocker$customArmorTrims(@SuppressWarnings("OptionalUsedAsFieldOrParameterType") Optional original, @Local ItemStack stack) { NbtCompound nbt = stack.getNbt(); if (Utils.isOnSkyblock() && nbt != null && nbt.contains("ExtraAttributes")) { - Object2ObjectOpenHashMap customTrims = SkyblockerConfig.get().general.customArmorTrims; + Object2ObjectOpenHashMap customTrims = SkyblockerConfig.get().general.customArmorTrims; NbtCompound extraAttributes = nbt.getCompound("ExtraAttributes"); String itemUuid = extraAttributes.contains("uuid") ? extraAttributes.getString("uuid") : null; - - if(customTrims.containsKey(itemUuid)) { - String trimKey = customTrims.get(itemUuid); + + if (customTrims.containsKey(itemUuid)) { + CustomArmorTrims.ArmorTrimId trimKey = customTrims.get(itemUuid); return CustomArmorTrims.TRIMS_CACHE.getOrDefault(trimKey, original); } } - + return original; } } -- cgit