From 661dd7e10607752d0bc6979ce04d2d043412c9ca Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Sun, 8 Jun 2025 01:01:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4overlay?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../overlay/ItemRendererFixOverlay.java | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/client/overlay/ItemRendererFixOverlay.java b/src/main/java/com/atsuishio/superbwarfare/client/overlay/ItemRendererFixOverlay.java index 38bff1355..35d1aa2d2 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/overlay/ItemRendererFixOverlay.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/overlay/ItemRendererFixOverlay.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.overlay; import com.atsuishio.superbwarfare.Mod; +import com.atsuishio.superbwarfare.item.gun.GunItem; import net.minecraft.client.DeltaTracker; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; @@ -8,11 +9,16 @@ import net.minecraft.client.gui.LayeredDraw; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; import net.neoforged.api.distmarker.Dist; import net.neoforged.api.distmarker.OnlyIn; import javax.annotation.ParametersAreNonnullByDefault; +/** + * 这个类的作用是在看不见的地方渲染一个第三人称的武器模型,别管为啥这么干 + * 反正删了这个绝对会出事 + */ @OnlyIn(Dist.CLIENT) public class ItemRendererFixOverlay implements LayeredDraw.Layer { @@ -22,14 +28,15 @@ public class ItemRendererFixOverlay implements LayeredDraw.Layer { @ParametersAreNonnullByDefault public void render(GuiGraphics guiGraphics, DeltaTracker deltaTracker) { Minecraft mc = Minecraft.getInstance(); - Player entity = mc.player; + Player player = mc.player; + if (player == null) return; + ItemStack stack = player.getMainHandItem(); + if (!(stack.getItem() instanceof GunItem)) return; - if (entity != null) { - guiGraphics.pose().pushPose(); - guiGraphics.pose().translate(-1145.0D, 0.0D, 0.0D); - mc.gameRenderer.itemInHandRenderer.renderItem(entity, entity.getMainHandItem(), - ItemDisplayContext.THIRD_PERSON_RIGHT_HAND, false, guiGraphics.pose(), guiGraphics.bufferSource(), 0); - guiGraphics.pose().popPose(); - } + guiGraphics.pose().pushPose(); + guiGraphics.pose().translate(-1145.0D, 0.0D, 0.0D); + mc.gameRenderer.itemInHandRenderer.renderItem(player, stack, + ItemDisplayContext.THIRD_PERSON_RIGHT_HAND, false, guiGraphics.pose(), guiGraphics.bufferSource(), 0); + guiGraphics.pose().popPose(); } }