From 60d5d568647a58194054cfdf2e5e3de4e23db1c6 Mon Sep 17 00:00:00 2001 From: Sollace Date: Sun, 14 Nov 2021 01:17:43 +0200 Subject: [PATCH] Added icons for each trait and display known traits on item tooltips --- .../magic/spell/trait/SpellTraits.java | 10 +- .../ability/magic/spell/trait/Trait.java | 6 ++ .../magic/spell/trait/TraitDiscovery.java | 3 + .../client/gui/ItemTraitsTooltipRenderer.java | 91 ++++++++++++++++++ .../mixin/client/MixinTooltipComponent.java | 19 ++++ .../unicopia/textures/gui/trait/air.png | Bin 0 -> 240 bytes .../unicopia/textures/gui/trait/blood.png | Bin 0 -> 326 bytes .../unicopia/textures/gui/trait/chaos.png | Bin 0 -> 223 bytes .../unicopia/textures/gui/trait/darkness.png | Bin 0 -> 210 bytes .../unicopia/textures/gui/trait/earth.png | Bin 0 -> 520 bytes .../unicopia/textures/gui/trait/famine.png | Bin 0 -> 431 bytes .../unicopia/textures/gui/trait/fire.png | Bin 0 -> 561 bytes .../unicopia/textures/gui/trait/focus.png | Bin 0 -> 243 bytes .../textures/gui/trait/generosity.png | Bin 0 -> 404 bytes .../unicopia/textures/gui/trait/happiness.png | Bin 0 -> 557 bytes .../unicopia/textures/gui/trait/ice.png | Bin 0 -> 462 bytes .../unicopia/textures/gui/trait/kindness.png | Bin 0 -> 501 bytes .../unicopia/textures/gui/trait/knowledge.png | Bin 0 -> 284 bytes .../unicopia/textures/gui/trait/life.png | Bin 0 -> 603 bytes .../unicopia/textures/gui/trait/order.png | Bin 0 -> 226 bytes .../unicopia/textures/gui/trait/poison.png | Bin 0 -> 338 bytes .../unicopia/textures/gui/trait/power.png | Bin 0 -> 492 bytes .../unicopia/textures/gui/trait/rot.png | Bin 0 -> 485 bytes .../unicopia/textures/gui/trait/strength.png | Bin 0 -> 464 bytes .../unicopia/textures/gui/trait/water.png | Bin 0 -> 333 bytes src/main/resources/unicopia.mixin.json | 1 + 26 files changed, 125 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/minelittlepony/unicopia/client/gui/ItemTraitsTooltipRenderer.java create mode 100644 src/main/java/com/minelittlepony/unicopia/mixin/client/MixinTooltipComponent.java create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/air.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/blood.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/chaos.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/darkness.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/earth.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/famine.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/fire.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/focus.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/generosity.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/happiness.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/ice.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/kindness.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/knowledge.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/life.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/order.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/poison.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/power.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/rot.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/strength.png create mode 100644 src/main/resources/assets/unicopia/textures/gui/trait/water.png diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/SpellTraits.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/SpellTraits.java index c7633e4a..d0bd48cc 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/SpellTraits.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/SpellTraits.java @@ -16,8 +16,11 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import com.google.gson.JsonObject; +import com.minelittlepony.unicopia.client.gui.ItemTraitsTooltipRenderer; import com.minelittlepony.unicopia.util.InventoryUtil; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.block.Block; import net.minecraft.inventory.Inventory; import net.minecraft.item.Item; @@ -25,7 +28,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtElement; import net.minecraft.network.PacketByteBuf; -import net.minecraft.text.LiteralText; import net.minecraft.text.Text; import net.minecraft.util.math.MathHelper; import net.minecraft.util.registry.Registry; @@ -93,14 +95,12 @@ public final class SpellTraits implements Iterable> { return MathHelper.clamp(get(trait), min, max); } + @Environment(EnvType.CLIENT) public void appendTooltip(List tooltip) { if (isEmpty()) { return; } - tooltip.add(new LiteralText("Traits:")); - traits.forEach((trait, amount) -> { - tooltip.add(new LiteralText(trait.name().toLowerCase() + ": " + amount)); - }); + tooltip.add(1, new ItemTraitsTooltipRenderer(this)); } public NbtCompound toNbt() { diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/Trait.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/Trait.java index 921383e0..4915d836 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/Trait.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/Trait.java @@ -36,10 +36,12 @@ public enum Trait { public static final Map REGISTRY = Arrays.stream(values()).collect(Collectors.toMap(Trait::name, Function.identity())); private final Identifier id; + private final Identifier sprite; private final TraitGroup group; Trait(TraitGroup group) { this.id = new Identifier("unicopia", "spell/trait/" + name().toLowerCase()); + this.sprite = new Identifier("unicopia", "textures/gui/trait/" + name().toLowerCase() + ".png"); this.group = group; } @@ -50,4 +52,8 @@ public enum Trait { public TraitGroup getGroup() { return group; } + + public Identifier getSprite() { + return sprite; + } } diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/TraitDiscovery.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/TraitDiscovery.java index 9bb82e3b..fc9fed54 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/TraitDiscovery.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/TraitDiscovery.java @@ -12,6 +12,8 @@ import org.jetbrains.annotations.Nullable; import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.util.NbtSerialisable; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; @@ -66,6 +68,7 @@ public class TraitDiscovery implements NbtSerialisable { return items.getOrDefault(Registry.ITEM.getId(item), SpellTraits.EMPTY); } + @Environment(EnvType.CLIENT) public void appendTooltip(ItemStack stack, @Nullable World world, List tooltip) { getKnownTraits(stack.getItem()).appendTooltip(tooltip); } diff --git a/src/main/java/com/minelittlepony/unicopia/client/gui/ItemTraitsTooltipRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/gui/ItemTraitsTooltipRenderer.java new file mode 100644 index 00000000..f56e6fb4 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/client/gui/ItemTraitsTooltipRenderer.java @@ -0,0 +1,91 @@ +package com.minelittlepony.unicopia.client.gui; + +import java.util.Map.Entry; + +import com.minelittlepony.unicopia.ability.magic.spell.trait.SpellTraits; +import com.minelittlepony.unicopia.ability.magic.spell.trait.Trait; +import com.mojang.blaze3d.systems.RenderSystem; + +import net.minecraft.client.font.TextRenderer; +import net.minecraft.client.gui.DrawableHelper; +import net.minecraft.client.gui.tooltip.TooltipComponent; +import net.minecraft.client.render.Tessellator; +import net.minecraft.client.render.VertexConsumerProvider; +import net.minecraft.client.render.item.ItemRenderer; +import net.minecraft.client.texture.TextureManager; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.BaseText; +import net.minecraft.text.CharacterVisitor; +import net.minecraft.text.OrderedText; + +public class ItemTraitsTooltipRenderer extends BaseText implements OrderedText, TooltipComponent { + + private final SpellTraits traits; + + public ItemTraitsTooltipRenderer(SpellTraits traits) { + this.traits = traits; + } + + @Override + public int getHeight() { + return getRows() * 8 + 2 + 4; + } + + @Override + public int getWidth(TextRenderer textRenderer) { + return getColumns() * 8 + 2; + } + + private int getColumns() { + return Math.max(2, (int)Math.ceil(Math.sqrt(traits.entries().size() + 1))); + } + + private int getRows() { + return (int)Math.ceil((traits.entries().size() + 1) / getColumns()); + } + + @Override + public void drawItems(TextRenderer textRenderer, int x, int y, MatrixStack matrices, ItemRenderer itemRenderer, int z, TextureManager textureManager) { + + int columns = getColumns(); + + var entries = traits.stream().toList(); + + for (int i = 0; i < entries.size(); i++) { + int xx = x + (i % columns); + int yy = y + (i / columns); + Entry entry = entries.get(i); + + RenderSystem.setShaderTexture(0, entry.getKey().getSprite()); + DrawableHelper.drawTexture(matrices, xx, yy, 1, 0, 0, 8, 8, 8, 8); + + String string = String.valueOf(entry.getValue()); + matrices.push(); + + xx += 19 - 2 - textRenderer.getWidth(string); + yy += 6 + 3; + + matrices.translate(xx, yy, itemRenderer.zOffset + 200.0F); + matrices.scale(0.5F, 0.5F, 1); + VertexConsumerProvider.Immediate immediate = VertexConsumerProvider.immediate(Tessellator.getInstance().getBuffer()); + textRenderer.draw(string, 0, 0, 16777215, true, matrices.peek().getModel(), immediate, false, 0, 15728880); + immediate.draw(); + matrices.pop(); + } + } + + @Override + public boolean accept(CharacterVisitor visitor) { + return false; + } + + @Override + public OrderedText asOrderedText() { + return this; + } + + @Override + public BaseText copy() { + return new ItemTraitsTooltipRenderer(traits); + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/mixin/client/MixinTooltipComponent.java b/src/main/java/com/minelittlepony/unicopia/mixin/client/MixinTooltipComponent.java new file mode 100644 index 00000000..0bb60bc4 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/mixin/client/MixinTooltipComponent.java @@ -0,0 +1,19 @@ +package com.minelittlepony.unicopia.mixin.client; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +import net.minecraft.client.gui.tooltip.TooltipComponent; +import net.minecraft.text.OrderedText; + +@Mixin(TooltipComponent.class) +interface MixinTooltipComponent { + @Inject(method = "of", at = @At("HEAD"), cancellable = true) + private static void onOf(OrderedText text, CallbackInfoReturnable info) { + if (text instanceof TooltipComponent) { + info.setReturnValue((TooltipComponent)text); + } + } +} diff --git a/src/main/resources/assets/unicopia/textures/gui/trait/air.png b/src/main/resources/assets/unicopia/textures/gui/trait/air.png new file mode 100644 index 0000000000000000000000000000000000000000..670f77b4b3e8294ea91be0ca047c0ac019b8e66b GIT binary patch literal 240 zcmVJQEWw|ring)4GbrFSXcpg z+%J44R%0aqZ6l7=tf+#vf6hz~sGDw7uwkOl)i5pqNdmP}C=Dn8hvSvJ)N2sBlEgff q1~yvH2fFb8A52Uu84L2N|DfKFy~_AA)YRlzTn(b+Ylu5QlVgcQ8N3_{a}B-HR6nx=_O zDGDzB;ou$b-S7S1-NFA?7HP>ME$i}~`bPU9#jHRn1;GCGwg4pYn839J;A)hpR)F?H z@<~qr+`;G=sEfEdTs-e8pw&f#_VEzW-RWWvdXhz&BpzdhC+hLe5zm;{42!0VtvcW{ zona4pRcCwTsE@!+U^4MrfXJcdI!(*oM zbIz%XsQK^!L4EyZ0oja*y&pb*x8Kv~c7egn>{HHh504ERN@}_fd_0ca>M_-yFk@EW zUXa-Z0S2t+#4cDKQK+??@Nnrru{Qhr{|st&By&&STyNiQak=y4IfncH?Ec?KSoq{Qn=-3`RyqtooQRtVYtv$jFGI5#3O91O8*N370GWWAnm)bldT{ z45pU_k1bfm(Y?V$X*9Cn3PgNfz!i=E(KR4D8;jQ%QM^zV$is-wCSR;r(IHpgNwFm3~a0%4FCTAW%%>$4}<>co3zP|01Z$-kr#2B^8f$< M07*qoM6N<$f={|!g#Z8m literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/gui/trait/earth.png b/src/main/resources/assets/unicopia/textures/gui/trait/earth.png new file mode 100644 index 0000000000000000000000000000000000000000..6db11e4a6aab22aea79c6dedda742084cdbceede GIT binary patch literal 520 zcmV+j0{8uiP)Jgw++c@4h*`L`%?NLp%Z^NH z9oT+6Ui|}r-A}oBen*nF3hb~$NC9UpQY$7H8Xs_Z{_iZzP7)vI5rD%F*BK6#!N79- z9?Gfm@LrGcqkRBwA#C=|vV$}7#dp5>;sAj0x!G6Zv^+#H?C_)@5Zz1vxY%YC|NRMf~i2xkcGz|dU7h@`Hd^4Cfx0` z2{;rZrG)oNECb!`0ZHJ=`Y(tc1z0q0U!LS;e}}ctU#RN9M61b*{(#lp0~Y5xfQ@uK z0$7;2fSDts)XvfLo-!R0tH5EIFf;D7r$+$pXtC1YW@)y=@?0Cr0;Ps%Je)aCG9}cJ z?#}L?m$-WGrZoj{hN_ ZeFwVroYn)3iIM;S002ovPDHLkV1nJO$cO*{ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/gui/trait/fire.png b/src/main/resources/assets/unicopia/textures/gui/trait/fire.png new file mode 100644 index 0000000000000000000000000000000000000000..1be5c4e6b7ca0f5ab88ac5d14bc61da426cd41ac GIT binary patch literal 561 zcmV-10?z%3P)<(o=$j)->N-F!lBjqlO$beY6tH-L8uJ=QB*t!28A@ zJ*brLP|Qgle`t}vw=b0EA!37bE{QdWXm|mgw~Ho|wb*RNClzRAj~^zIOeZbk!;qno z*e1quCR;551}bK=8S`*8%a^shX}5h;Un3lc($yKXfZAR_Wqr{Ua}#=yNE`*dK(n>u zA*4d2TuRr{IC4O!5;&2>Rf=wVLJ5VHmjFEZ*d;OoC0s%;VAzil(#CZ)I*xg_?enbK zIo*Z1^%aVRS*rCIX*q0t4%jO9P=}hIUW6XFJXoHcJPUzm*zO(4%f8N=jZYyumZVeA z_cb@KPtm$n6Gy*MGB+>A2}ZsB7mNFpbC>@X8@uic1j=aa0$eD?s)FJ~<|Qw*3G9AE)N0Gaeu`YH@PH0`WgIJpU8o zW4M6aKqT7>7_p$m$;oi-`*)nl7zQR<@iVy2eaXP#!h<_0|G0b}t7Z;eLwHjDvF8f| thYJt(%*4RJz#z5bGz$NjhbaS1008pegn@y;+Rp$0002ovPDHLkV1gHIW4i4Z6E(B{)1Rj>F2wuYA`4EUGduPow~+l=eVM(imIxJ zNRT8%;N#$Y-o-dNSP;GF?j}{tIaU6%4 z$qcUXm>TP&wX>s%1=|p^uyy#Pvy;8NRSiko!#FWU2GgwX7BxaZn4qQx$FopP;221? zfia*~Dze!jf|Z4Cxx9Hmq)t3$V_dkrF0s1UBN0>lN+2SL2zY{RC2-stcoy*%yNN~F z0AP8(9sLLZwvQh5H1Fxg{(bY!KbPiP!wRw|&;E=Rp!!w(jyBke?gEP9*V+!F_X?$QAzP!@UD=CZ;}SBtAX>0000Nkl^P#eL4Y39v*@V;T-e~0|(aq#IpSI_PO;NH>O zA;b=w2l_{E%3lGu9?fEmCP~Va?miBktsP`i$HY}87RKp+*MO*B2SW$|ba(Bh2%644 z+lXyUT{5(kak-^ZYT4-5O@9*M&XYx^XO=kJ(Z>4^pV;EoQAWsZibp~2n*n2^#{oi| zRLJX>@v6>ZeMou^wDVbnPZ>WgsDV?Ak5dkQTzT};zTif zX)su4Nlb|gBiAeeF zkF^Khm6YY$3d>*C`5F(&*vB~rdUpa4sfN7%)8)+ofSx16RI6Gfa_m1eEU!lI z%gFd5i8cUC&72Hf-9rMflx}YZhzRMLB3)~guAgrwQkpAg+7JsT`t6RngbG{w~(gqS4-_Z9J z_^RJ&#*##0bCSgMWkHf4iBLO`L_94RYKNKjtp8K>EaO7S+=6F;h`IVp05}{dEN;M` zr?GtKfhVA}0sz3ro^b5Eyblz2U+f?<9*G6BY>lsP`}{Goa?n-WN)}0&Nx{ka9m}%G z>&coVVNF46%GNfB9gjYPB!-azNvsy0bIXbcGjV+Ih1xX$6acuqInCoGrBgRafp7bL zZk_e-Utg*gR!j2g;+7j~8BcdI4?{P^kb%CsUbQ zP((1wA@R&_Cvg}V#Iv&Bsa{tcB=(NO$RJC}VPsmj6QOpnQ!>;Ji;PvNkHnU~Gj|kJ)PJ4xKb#;$v1I!QHvj+t07*qoM6N<$ Ef)ByaqyPW_ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/gui/trait/kindness.png b/src/main/resources/assets/unicopia/textures/gui/trait/kindness.png new file mode 100644 index 0000000000000000000000000000000000000000..b461bea832137972037073a9c481ac88463362ca GIT binary patch literal 501 zcmVMqbT59uXewuM8`gKX^7# z2Qc}|Yg!?1*rqq+d95wIAs;bVb31BK#1^SK70GKKwWrpzNDR21j2R?})tW95->u+> z0nJ8JYiU^k+D=C=+eJ=pEfHebZhY3W_J^OSo<{+}yxBn;->BWb&fEBtw){P*Bj+)F8EnxtCw1 zNtZZ_NP?JxTR`??>2~GP1 zen1?htb4z>v-@1eg5>+BXLGqk-7Lta=^=z5haB06Y+%{(cB$&3td^fl4^n>CO+C~r z-VC7zymLF$<9W&FU}BK+s7Xm$*}jrk>gffU_HL>{TY6Npir}2`e039B_;Vj-msh#e rdc=>~3zFl6gROgGdvGrPWu1Qm1yj0VknkvR00000NkvXXu0mjfm67Fb literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/gui/trait/knowledge.png b/src/main/resources/assets/unicopia/textures/gui/trait/knowledge.png new file mode 100644 index 0000000000000000000000000000000000000000..78cfa32e5ef22b80831f9d8da2d596dead2a8d33 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k3C%+Lo7}wCoB*!ND>aI`t{u2 z>|^yMogNn6hRl81M|+gk{duDw<}A^9vFE&iT8ZlplgE>qr9YG$W8TChnAcF!#+1sI z!2Gp-s^qKxTFD*BrEA61)tfI}w*Q~F;9b8^*ftRJed+xc=|fDHYu^4YXH!+0TU**C z*!=$R`iQ*;IJ&iLE}rPP`qQB29dF6=`i+5UH+0VT&YbYzUd6BW#>U2n_Uo3|U+kKH zu=Jfb8=tt`9M72#k3an!!TaEXY04h;vxg1dGAkJ0KLoL>FVdQ&MBb@02q;dga7~l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/gui/trait/life.png b/src/main/resources/assets/unicopia/textures/gui/trait/life.png new file mode 100644 index 0000000000000000000000000000000000000000..d48e9cc3be27368113b7daf32e896fde3c41a71b GIT binary patch literal 603 zcmV-h0;K(kP)C`;B)~yJYBX zNVclF+QdZH_B1C!()gO)k@HG38{&0j_V{;M| z;p$SIdKPzx+Xa6K_g~o}8^ZTRjoo7MJWRvCLwW1 z&nHmpJMfgp;zE(8R+F1cqP7!j0=Oj;0C7qTU!PU!`2-!EN$yQW#d9^;Z?Lyba49ko zukn!|07$pLrY|XspAGmv*R)1!gN7y(aV;KQ{-pX+Ms*48nPZG4R8_xsTHu<(@W7n9 z(RV-rs8#=L1ON_3#{oDs;m<%j;FdOR9i2%4o}Y7R)cMNPRy-PYp7E2O55NEk(K`bYIH%;YxfS_y8A p>FkV%<7iIAid6({U#S0D=ijmnJDHSXCw>~_--JVDO-Hk&}-`qd1cup#5lQBcV X3+=zof&cFU9nIkB>gTe~DWM4fmh)Lp literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/gui/trait/poison.png b/src/main/resources/assets/unicopia/textures/gui/trait/poison.png new file mode 100644 index 0000000000000000000000000000000000000000..b4a654ca37f6f19e566788a90498e6d370f4c2f1 GIT binary patch literal 338 zcmV-Y0j>UtP)Lzv+{21-%s^7q|pP{2$2ZzqCU4>2#1?RX%FqCExni?*l zhI6R7CRhn>;(xlA=l}9>&%ysk9QZm8eErkC$Z!0CN4iWAVs*TKxvc@BaL(QH1pvKH zRNz$eXY`W#&e4) zw(QgpE=(`X|a^8%>tQg-aSLF6A8~WPuhZSKY6BKpa1{>07*qoM6N<$f-;7g3;+NC literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/gui/trait/power.png b/src/main/resources/assets/unicopia/textures/gui/trait/power.png new file mode 100644 index 0000000000000000000000000000000000000000..3164d42595e3e802e5f113044f910405d92d0a85 GIT binary patch literal 492 zcmVWL&EFTzYlYpqfcGS?kS6@!394cgwn1Yy)t= z(3Cg*1D#})Q`99wU+W3oy7KtWCp~ZLUmo3%7xtfc2N{5+Z@1~zKWf9XHh;%EkoT0tm+wCVDzHk|P?C2iUGz#)KBY(ZUC9v{icRmR=;B#*Quhjx9!m z1^=$RZA$9Br%{m~u{QoSxL)o7P~WyvoX^tOdJw8R8j2S<=Cpf*FcOSrb5$)>e9gRc zCpu`ku|{TIUm;l>LzZ)vfef(K_^klXKP$`cX2l&1Wp{PJ&Cz#B31V*$0&sFUZ;a-S ihB9rL$q)5k-}x`&*S2xORje}r0000ft zScF7Vaus4#6QZN3qN?O6mY%FaC06%c`uIQqky&DioEvNM#j=00000NkvXXu0mjfD5Kp= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/gui/trait/strength.png b/src/main/resources/assets/unicopia/textures/gui/trait/strength.png new file mode 100644 index 0000000000000000000000000000000000000000..131d37e2704890cc3d84b268d1f98c582a24ee26 GIT binary patch literal 464 zcmV;>0WbcEP)w2<8SL5g=^_tX7&$ zcu0&qvOVs05g-q1#y|iSb-lj+yHpMTXfhSNv5J$$AFjE-1BT}JhjtXdd66a|JHX@l zT)Vo)gba%T0quL7b96D1IY-krD8kdlV%KMeLyR54dxCZJ+9N3uQDRJJ*U@aZ(Dyh2 zRb>xgduU^%X<8gYpAuJnMjJcGGC~MsJ|ik3BKv?4G6c9%BW1GMc{6l7C35_~4aD63DOIsf_vwN}JhF^D{QzLNQwwf49@$>+-MJGMZsxZqpCbSI-=TaFvf6x_C^72 z-?}eVUE@Q*JIl$7mtzH|bKMv~CP z>ky2IHd+T4f4FeYJ)DpKoCE(~;X)EFWNBT?Cvq|;StV#%`fcw$D1gVqUG4gK2*Bz6 zO94>HH%H5e=0OXiVxS#8!!)fWS6ihH^!LCz@6zaO!z+lBI`!#HCH(nTXj fm!ExO$e-&Cj1*(*n{tf500000NkvXXu0mjf$vTfn literal 0 HcmV?d00001 diff --git a/src/main/resources/unicopia.mixin.json b/src/main/resources/unicopia.mixin.json index 74a9f47b..db39ca19 100644 --- a/src/main/resources/unicopia.mixin.json +++ b/src/main/resources/unicopia.mixin.json @@ -43,6 +43,7 @@ "client.MixinKeyboardInput", "client.MixinLightmapTextureManager", "client.MixinMouse", + "client.MixinTooltipComponent", "client.MixinWorldRenderer" ], "injectors": {