From 8fe9b376850ea004b3af6c49c594bfadb8140c6e Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Fri, 22 Nov 2024 18:49:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=87=AA=E5=AE=9A=E4=B9=89to?= =?UTF-8?q?oltip=E6=B8=B2=E6=9F=93=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/tooltip/ClientImageTooltip.java | 36 ++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/mcreator/superbwarfare/client/tooltip/ClientImageTooltip.java b/src/main/java/net/mcreator/superbwarfare/client/tooltip/ClientImageTooltip.java index a70c1e061..ae23a454b 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/tooltip/ClientImageTooltip.java +++ b/src/main/java/net/mcreator/superbwarfare/client/tooltip/ClientImageTooltip.java @@ -52,7 +52,7 @@ public class ClientImageTooltip implements ClientTooltipComponent { if (shouldRenderPerks()) { if (!Screen.hasShiftDown()) { - renderPerksShortcut(guiGraphics, x, y + yo); + renderPerksShortcut(font, guiGraphics, x, y + yo); } else { renderPerks(font, guiGraphics, x, y + yo); } @@ -157,7 +157,7 @@ public class ClientImageTooltip implements ClientTooltipComponent { guiGraphics.drawString(font, editComponent, x, y + 10, 0xFFFFFF); } - private void renderPerksShortcut(GuiGraphics guiGraphics, int x, int y) { + private void renderPerksShortcut(Font font, GuiGraphics guiGraphics, int x, int y) { guiGraphics.pose().pushPose(); int xOffset = -20; @@ -167,7 +167,15 @@ public class ClientImageTooltip implements ClientTooltipComponent { xOffset += 20; var ammoItem = PerkHelper.getPerkItem(ammoPerk).get().get(); - guiGraphics.renderItem(ammoItem.getDefaultInstance(), x + xOffset, y + 2); + ItemStack perkStack = ammoItem.getDefaultInstance(); + + CompoundTag ammoTag = PerkHelper.getPerkTag(stack, Perk.Type.AMMO); + if (!ammoTag.isEmpty()) { + int level = PerkHelper.getItemPerkLevel(ammoPerk, stack); + perkStack.setCount(level); + } + guiGraphics.renderItem(perkStack, x + xOffset, y + 2); + guiGraphics.renderItemDecorations(font, perkStack, x + xOffset, y + 2); } Perk funcPerk = PerkHelper.getPerkByType(stack, Perk.Type.FUNCTIONAL); @@ -175,7 +183,16 @@ public class ClientImageTooltip implements ClientTooltipComponent { xOffset += 20; var funcItem = PerkHelper.getPerkItem(funcPerk).get().get(); - guiGraphics.renderItem(funcItem.getDefaultInstance(), x + xOffset, y + 2); + ItemStack perkStack = funcItem.getDefaultInstance(); + + CompoundTag funcTag = PerkHelper.getPerkTag(stack, Perk.Type.FUNCTIONAL); + if (!funcTag.isEmpty()) { + int level = PerkHelper.getItemPerkLevel(funcPerk, stack); + perkStack.setCount(level); + } + + guiGraphics.renderItem(perkStack, x + xOffset, y + 2); + guiGraphics.renderItemDecorations(font, perkStack, x + xOffset, y + 2); } Perk damagePerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE); @@ -183,7 +200,16 @@ public class ClientImageTooltip implements ClientTooltipComponent { xOffset += 20; var damageItem = PerkHelper.getPerkItem(damagePerk).get().get(); - guiGraphics.renderItem(damageItem.getDefaultInstance(), x + xOffset, y + 2); + ItemStack perkStack = damageItem.getDefaultInstance(); + + CompoundTag damageTag = PerkHelper.getPerkTag(stack, Perk.Type.DAMAGE); + if (!damageTag.isEmpty()) { + int level = PerkHelper.getItemPerkLevel(damagePerk, stack); + perkStack.setCount(level); + } + + guiGraphics.renderItem(perkStack, x + xOffset, y + 2); + guiGraphics.renderItemDecorations(font, perkStack, x + xOffset, y + 2); } guiGraphics.pose().popPose();