From 9bd26849cd992a2ab70c5ce0ee27953c8047301e Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Thu, 16 Jan 2025 15:59:03 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=BC=A0=E6=A0=87=E8=BE=93?= =?UTF-8?q?=E5=85=A5=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/MouseMovementHandler.java | 16 ------- .../client/MouseMovementInput.java | 48 ------------------- ...erlay.java => GrenadeLauncherOverlay.java} | 19 ++++++-- 3 files changed, 14 insertions(+), 69 deletions(-) delete mode 100644 src/main/java/com/atsuishio/superbwarfare/client/MouseMovementInput.java rename src/main/java/com/atsuishio/superbwarfare/client/overlay/{M79UIOverlay.java => GrenadeLauncherOverlay.java} (86%) diff --git a/src/main/java/com/atsuishio/superbwarfare/client/MouseMovementHandler.java b/src/main/java/com/atsuishio/superbwarfare/client/MouseMovementHandler.java index ac9ade572..92b1961ad 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/MouseMovementHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/MouseMovementHandler.java @@ -1,6 +1,5 @@ package com.atsuishio.superbwarfare.client; -import com.mojang.blaze3d.Blaze3D; import net.minecraft.client.Minecraft; import net.minecraft.client.MouseHandler; import net.minecraft.client.player.LocalPlayer; @@ -17,9 +16,7 @@ public class MouseMovementHandler { public static Vec2 lastPos = null; public static Vec2 vel = null; private static MouseHandler mouseHandler = null; - private static double lastMouseEventTime; private static boolean mouseLockActive = false; - private static float deltaT = 0; private static Vector3f savedRot = new Vector3f(); public static Vec2 getMousePos() { @@ -46,18 +43,6 @@ public class MouseMovementHandler { Minecraft mc = Minecraft.getInstance(); mouseHandler = mc.mouseHandler; lastPos = getMousePos(); - lastMouseEventTime = Blaze3D.getTime(); - } - - public static void update() { - double d0 = Blaze3D.getTime(); - deltaT = (float) (d0 - lastMouseEventTime); - lastMouseEventTime = d0; - Vec2 tmp = getMousePos(); - vel = new Vec2(tmp.x - lastPos.x, tmp.y - lastPos.y); - delta = delta.add(vel); - vel = vel.scale(1 / deltaT); - lastPos = tmp; } public static float getX(boolean useVelocity) { @@ -85,7 +70,6 @@ public class MouseMovementHandler { savedRot.z = 0; mouseLockActive = true; lastPos = getMousePos(); - lastMouseEventTime = Blaze3D.getTime(); } public static void deactivateMouseLock() { diff --git a/src/main/java/com/atsuishio/superbwarfare/client/MouseMovementInput.java b/src/main/java/com/atsuishio/superbwarfare/client/MouseMovementInput.java deleted file mode 100644 index abea3731d..000000000 --- a/src/main/java/com/atsuishio/superbwarfare/client/MouseMovementInput.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.atsuishio.superbwarfare.client; - -/** - * Codes from @getItemFromBlock's Create-Tweaked-Controllers - */ -public class MouseMovementInput { - - public boolean useVelocity = false; - public boolean isYAxis = false; - public float minBound = 0.0f; - public float maxBound = 1000.0f; - - public MouseMovementInput(boolean axis, float min, float max, boolean useVel) { - this.isYAxis = axis; - this.minBound = min; - this.maxBound = max; - this.useVelocity = useVel; - } - - public MouseMovementInput() { - } - - public boolean hasOutput() { - return getAxisValue() >= 0.5f; - } - - public float getAxisValue() { - if (isInputInvalid()) return 0; - float v = isYAxis ? MouseMovementHandler.getY(useVelocity) : MouseMovementHandler.getX(useVelocity); - v = (v - minBound) / (maxBound - minBound); - if (v < 0) v = 0; - if (v > 1) v = 1; - return v; - } - - public boolean isInputInvalid() { - return minBound == maxBound; - } - - public int getValue() { - return isYAxis ? 1 : 0; - } - - public float getRawInput() { - if (isInputInvalid()) return 0; - return isYAxis ? MouseMovementHandler.getY(useVelocity) : MouseMovementHandler.getX(useVelocity); - } -} diff --git a/src/main/java/com/atsuishio/superbwarfare/client/overlay/M79UIOverlay.java b/src/main/java/com/atsuishio/superbwarfare/client/overlay/GrenadeLauncherOverlay.java similarity index 86% rename from src/main/java/com/atsuishio/superbwarfare/client/overlay/M79UIOverlay.java rename to src/main/java/com/atsuishio/superbwarfare/client/overlay/GrenadeLauncherOverlay.java index 8f7d948d4..9dc1aecd3 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/overlay/M79UIOverlay.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/overlay/GrenadeLauncherOverlay.java @@ -10,6 +10,7 @@ import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.CameraType; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.world.entity.player.Player; import net.minecraftforge.api.distmarker.Dist; @@ -19,7 +20,7 @@ import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; @Mod.EventBusSubscriber(value = Dist.CLIENT) -public class M79UIOverlay { +public class GrenadeLauncherOverlay { @SubscribeEvent(priority = EventPriority.NORMAL) public static void eventHandler(RenderGuiEvent.Pre event) { @@ -29,7 +30,13 @@ public class M79UIOverlay { if (player != null && player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).edit) return; - if (player.getVehicle() instanceof IArmedVehicleEntity iArmedVehicle && iArmedVehicle.isDriver(player) && iArmedVehicle.banHand()) return; + if (player.getVehicle() instanceof IArmedVehicleEntity iArmedVehicle && iArmedVehicle.isDriver(player) && iArmedVehicle.banHand()) + return; + if (!shouldRenderCrossHair(player)) return; + + GuiGraphics guiGraphics = event.getGuiGraphics(); + + guiGraphics.pose().pushPose(); RenderSystem.disableDepthTest(); RenderSystem.depthMask(false); @@ -37,14 +44,16 @@ public class M79UIOverlay { RenderSystem.setShader(GameRenderer::getPositionTexShader); 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(player)) { - event.getGuiGraphics().blit(ModUtils.loc("textures/screens/rex.png"), w / 2 - 16, h / 2 - 16, 0, 0, 32, 32, 32, 32); - } + + guiGraphics.blit(ModUtils.loc("textures/screens/rex.png"), w / 2 - 16, h / 2 - 16, 0, 0, 32, 32, 32, 32); + RenderSystem.depthMask(true); RenderSystem.defaultBlendFunc(); RenderSystem.enableDepthTest(); RenderSystem.disableBlend(); RenderSystem.setShaderColor(1, 1, 1, 1); + + guiGraphics.pose().popPose(); } private static boolean shouldRenderCrossHair(Player player) {