diff options
author | msg-programs <msgdoesstuff@gmail.com> | 2023-08-14 18:18:00 +0200 |
---|---|---|
committer | msg-programs <msgdoesstuff@gmail.com> | 2023-08-14 18:18:00 +0200 |
commit | cfef2d401c80d58871c7d5c236946777d1915d00 (patch) | |
tree | 52f7eea8f0fb18bcc3327e098838fff07f61b8a1 /src/main/java/me/xmrvizzy/skyblocker/mixin/DyeableItemMixin.java | |
parent | 54133f9aa5d4b5134943d3e8d2916100ae7e1f3a (diff) | |
parent | ada74ef6b54168a1793c76bf3dd1c2c9d379c604 (diff) | |
download | Skyblocker-cfef2d401c80d58871c7d5c236946777d1915d00.tar.gz Skyblocker-cfef2d401c80d58871c7d5c236946777d1915d00.tar.bz2 Skyblocker-cfef2d401c80d58871c7d5c236946777d1915d00.zip |
Merge branch 'master' of https://github.com/SkyblockerMod/Skyblocker into json-tabhud
# Conflicts:
# src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java
Pull new upstream things into branch
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/mixin/DyeableItemMixin.java')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/mixin/DyeableItemMixin.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/DyeableItemMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/DyeableItemMixin.java new file mode 100644 index 00000000..f04c4cdd --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/DyeableItemMixin.java @@ -0,0 +1,27 @@ +package me.xmrvizzy.skyblocker.mixin; + +import com.llamalad7.mixinextras.injector.ModifyReturnValue; +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.utils.Utils; +import net.minecraft.item.DyeableItem; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NbtCompound; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; + +@Mixin(DyeableItem.class) +public interface DyeableItemMixin { + @ModifyReturnValue(method = "getColor", at = @At("RETURN")) + private int skyblocker$customDyeColor(int originalColor, ItemStack stack) { + NbtCompound nbt = stack.getNbt(); + + if (Utils.isOnSkyblock() && nbt != null && nbt.contains("ExtraAttributes")) { + NbtCompound extraAttributes = nbt.getCompound("ExtraAttributes"); + String itemUuid = extraAttributes.contains("uuid") ? extraAttributes.getString("uuid") : null; + + return SkyblockerConfig.get().general.customDyeColors.getOrDefault(itemUuid, originalColor); + } + + return originalColor; + } +} |