From f8cdce095fffdc4719403efafe2574ec3df29c00 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Tue, 16 Jul 2024 01:53:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8B=89=E6=A0=93=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/screens/CrossHairOverlay.java | 22 +++++++++++++++---- .../resources/assets/target/lang/en_us.json | 1 + .../resources/assets/target/lang/zh_cn.json | 1 + 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/mcreator/target/client/screens/CrossHairOverlay.java b/src/main/java/net/mcreator/target/client/screens/CrossHairOverlay.java index cb8d6debc..e6b7da835 100644 --- a/src/main/java/net/mcreator/target/client/screens/CrossHairOverlay.java +++ b/src/main/java/net/mcreator/target/client/screens/CrossHairOverlay.java @@ -6,9 +6,12 @@ import net.mcreator.target.init.TargetModItems; import net.mcreator.target.init.TargetModTags; import net.minecraft.client.CameraType; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Font; import net.minecraft.client.renderer.GameRenderer; +import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.client.event.RenderGuiEvent; import net.minecraftforge.event.TickEvent; @@ -28,12 +31,12 @@ public class CrossHairOverlay { public static void eventHandler(RenderGuiEvent.Pre event) { int w = event.getWindow().getGuiScaledWidth(); int h = event.getWindow().getGuiScaledHeight(); - Player entity = Minecraft.getInstance().player; - if (entity == null) { + Player player = Minecraft.getInstance().player; + if (player == null) { return; } - double spread = entity.getPersistentData().getDouble("crosshair"); + double spread = player.getPersistentData().getDouble("crosshair"); RenderSystem.disableDepthTest(); RenderSystem.depthMask(false); @@ -42,7 +45,7 @@ public class CrossHairOverlay { RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); RenderSystem.setShaderColor(1, 1, 1, 1); - if (shouldRenderCrossHair(entity)) { + if (shouldRenderCrossHair(player)) { preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/point.png"), w / 2f - 7.5f, h / 2f - 8, 0, 0, 16, 16, 16, 16); preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/rexheng.png"), w / 2f - 9.5f - 2.8f * (float) spread, h / 2f - 8, 0, 0, 16, 16, 16, 16); preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/rexheng.png"), w / 2f - 6.5f + 2.8f * (float) spread, h / 2f - 8, 0, 0, 16, 16, 16, 16); @@ -74,6 +77,17 @@ public class CrossHairOverlay { RenderSystem.enableDepthTest(); RenderSystem.disableBlend(); RenderSystem.setShaderColor(1, 1, 1, 1); + + ItemStack stack = player.getMainHandItem(); + if (!stack.is(TargetModTags.Items.GUN)) return; + + if (stack.getOrCreateTag().getBoolean("need_bolt_action")) { + Font font = Minecraft.getInstance().font; + Component component = Component.translatable("des.target.need_bolt_action"); + + event.getGuiGraphics().drawString(font, component, w / 2 - font.width(component) / 2, h / 2 + 50, 0xFF6969); + } + } private static boolean shouldRenderCrossHair(Player player) { diff --git a/src/main/resources/assets/target/lang/en_us.json b/src/main/resources/assets/target/lang/en_us.json index 00f2e410e..dec67d96f 100644 --- a/src/main/resources/assets/target/lang/en_us.json +++ b/src/main/resources/assets/target/lang/en_us.json @@ -220,6 +220,7 @@ "enchantment.target.monster_hunter.desc": "Increases bullet damage against monsters", "des.target.sensitivity": "Current Sensitivity of This Gun: %1$s", + "des.target.need_bolt_action": "[ Need Bolt Action ]", "commands.ammo.get": "Current %s ammo: %s", "commands.ammo.set": "Set %s ammo to %s for %s players", diff --git a/src/main/resources/assets/target/lang/zh_cn.json b/src/main/resources/assets/target/lang/zh_cn.json index 72d519854..424eb242a 100644 --- a/src/main/resources/assets/target/lang/zh_cn.json +++ b/src/main/resources/assets/target/lang/zh_cn.json @@ -220,6 +220,7 @@ "enchantment.target.monster_hunter.desc": "增加对怪物的子弹伤害", "des.target.sensitivity": "当前枪械的灵敏度为:%1$s", + "des.target.need_bolt_action": "【需要拉栓】", "commands.ammo.get": "当前%s弹药数量: %s", "commands.ammo.set": "为%3$s位玩家的%1$s弹药数量设置为%2$s",