From c4aa45fb32889a6de0d0a863344b19e50da6eb90 Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Tue, 14 Jan 2025 04:32:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96lavHUD=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E8=A7=86=E8=A7=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/overlay/LandArmorHudOverlay.java | 19 +++++++++++++----- .../projectile/SmallCannonShellEntity.java | 2 +- .../entity/vehicle/Lav150Entity.java | 8 ++++---- .../event/ClientEventHandler.java | 6 +++++- .../superbwarfare/mixins/CameraMixin.java | 8 ++++++++ .../mixins/MouseHandlerMixin.java | 4 ++-- .../textures/screens/land/body.png | Bin 0 -> 308 bytes .../textures/screens/land/lav_cross.png | Bin 0 -> 1344 bytes .../textures/screens/land/line.png | Bin 0 -> 91 bytes .../textures/screens/land/tv_frame.png | Bin 26683 -> 24333 bytes 10 files changed, 34 insertions(+), 13 deletions(-) create mode 100644 src/main/resources/assets/superbwarfare/textures/screens/land/body.png create mode 100644 src/main/resources/assets/superbwarfare/textures/screens/land/lav_cross.png create mode 100644 src/main/resources/assets/superbwarfare/textures/screens/land/line.png diff --git a/src/main/java/com/atsuishio/superbwarfare/client/overlay/LandArmorHudOverlay.java b/src/main/java/com/atsuishio/superbwarfare/client/overlay/LandArmorHudOverlay.java index b03593acf..5bdc69eb7 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/overlay/LandArmorHudOverlay.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/overlay/LandArmorHudOverlay.java @@ -6,6 +6,7 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.math.Axis; import net.minecraft.client.CameraType; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; @@ -65,11 +66,19 @@ public class LandArmorHudOverlay { int addW = (w / h) * 48; int addH = (w / h) * 27; preciseBlit(guiGraphics, FRAME, (float) -addW / 2, (float) -addH / 2, 10, 0, 0.0F, w + addW, h + addH, w + addW, h + addH); - preciseBlit(guiGraphics, ModUtils.loc("textures/screens/helicopter/heli_base.png"), k, l, 0, 0.0F, i, j, i, j); - preciseBlit(guiGraphics, ModUtils.loc("textures/screens/compass.png"), (float) w / 2 - 128, (float) 6, 128 + ((float) 64 / 45 * player.getYRot()), 0, 256, 16, 512, 16); - preciseBlit(guiGraphics, ModUtils.loc("textures/screens/helicopter/speed_frame.png"), (float) w / 2 - 144, (float) h / 2 - 6, 0, 0, 50, 18, 50, 18); - guiGraphics.drawString(Minecraft.getInstance().font, Component.literal(new DecimalFormat("##").format(lav150.getDeltaMovement().length() * 72) + "KM/H"), - w / 2 - 140, h / 2, 0x66FF00, false); + preciseBlit(guiGraphics, ModUtils.loc("textures/screens/land/lav_cross.png"), k, l, 0, 0.0F, i, j, i, j); + preciseBlit(guiGraphics, ModUtils.loc("textures/screens/compass.png"), (float) w / 2 - 128, (float) 10, 128 + ((float) 64 / 45 * player.getYRot()), 0, 256, 16, 512, 16); + preciseBlit(guiGraphics, ModUtils.loc("textures/screens/helicopter/roll_ind.png"), w / 2 - 8, 30, 0, 0.0F, 16, 16, 16, 16); + preciseBlit(guiGraphics, ModUtils.loc("textures/screens/land/line.png"), w / 2 - 64, h - 56, 0, 0.0F, 128, 1, 128, 1); + preciseBlit(guiGraphics, ModUtils.loc("textures/screens/land/line.png"), w / 2 + 112, h - 71, 0, 0.0F, 1, 16, 1, 16); + + poseStack.pushPose(); + poseStack.rotateAround(Axis.ZP.rotationDegrees(Mth.lerp(event.getPartialTick(), lav150.turretYRotO, lav150.getTurretYRot())),w / 2 + 112, h - 56, 0); + preciseBlit(guiGraphics, ModUtils.loc("textures/screens/land/body.png"), w / 2 + 96, h - 72, 0, 0.0F, 32, 32, 32, 32); + poseStack.popPose(); + + guiGraphics.drawString(Minecraft.getInstance().font, Component.literal(new DecimalFormat("##").format(lav150.getDeltaMovement().length() * 72) + " KM/H"), + w / 2 + 160, h / 2 - 48, 0x66FF00, false); if (lav150.getEnergy() < 0.02 * lav150.getMaxEnergy()) { guiGraphics.drawString(Minecraft.getInstance().font, Component.literal("NO POWER!"), w / 2 - 144, h / 2 + 14, -65536, false); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/projectile/SmallCannonShellEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/projectile/SmallCannonShellEntity.java index 80180b649..a515d81bb 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/projectile/SmallCannonShellEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/projectile/SmallCannonShellEntity.java @@ -90,7 +90,7 @@ public class SmallCannonShellEntity extends ThrowableItemProjectile implements G entity.invulnerableTime = 0; } - if (this.tickCount > 1) { + if (this.tickCount > 0) { if (this.level() instanceof ServerLevel) { causeExplode(result); } diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Lav150Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Lav150Entity.java index f1de7bc85..4328050a5 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Lav150Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Lav150Entity.java @@ -375,12 +375,12 @@ public class Lav150Entity extends ContainerMobileEntity implements GeoEntity, IC float diffY; float diffX; - diffY = Mth.wrapDegrees(gunAngle - getTurretYRot() + 0.1f); + diffY = Mth.wrapDegrees(gunAngle - getTurretYRot() + 0.05f); diffX = Mth.wrapDegrees(driver.getXRot() - this.getTurretXRot()); - this.setTurretXRot(Mth.clamp(this.getTurretXRot() + Mth.clamp(0.5f * diffX, -2, 2), -25, 10)); - this.setTurretYRot(this.getTurretYRot() + Mth.clamp(0.5f * diffY, -8, 8)); + this.setTurretXRot(Mth.clamp(this.getTurretXRot() + Mth.clamp(0.95f * diffX, -5, 5), -32.5f, 15)); + this.setTurretYRot(this.getTurretYRot() + Mth.clamp(0.95f * diffY, -20, 20)); } public float getTurretYRot() { @@ -490,7 +490,7 @@ public class Lav150Entity extends ContainerMobileEntity implements GeoEntity, IC protected void clampRotation(Entity entity) { float f = Mth.wrapDegrees(entity.getXRot()); - float f1 = Mth.clamp(f, -25.0F, 10F); + float f1 = Mth.clamp(f, -32.5F, 15F); entity.xRotO += f1 - f; entity.setXRot(entity.getXRot() + f1 - f); } diff --git a/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java index 8cba30dd7..e2b48277c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java @@ -749,7 +749,7 @@ public class ClientEventHandler { Minecraft.getInstance().gameRenderer.shutdownEffect(); } } - + if (level != null && stack.is(ModTags.Items.GUN)) { handleWeaponSway(living); handleWeaponMove(living); @@ -1347,6 +1347,10 @@ public class ClientEventHandler { event.setCanceled(true); } + if (player.getVehicle() instanceof Lav150Entity) { + event.setCanceled(true); + } + if (player.getVehicle() instanceof SpeedboatEntity && zoom) { event.setCanceled(true); } diff --git a/src/main/java/com/atsuishio/superbwarfare/mixins/CameraMixin.java b/src/main/java/com/atsuishio/superbwarfare/mixins/CameraMixin.java index 893c71835..e3c42e3be 100644 --- a/src/main/java/com/atsuishio/superbwarfare/mixins/CameraMixin.java +++ b/src/main/java/com/atsuishio/superbwarfare/mixins/CameraMixin.java @@ -62,6 +62,14 @@ public abstract class CameraMixin { return; } + if ((player.getVehicle() instanceof Lav150Entity lav150 && lav150.getFirstPassenger() == player) && Minecraft.getInstance().options.getCameraType() == CameraType.FIRST_PERSON) { + setRotation(-Mth.lerp(partialTicks, lav150.turretYRotO - lav150.yRotO, lav150.getTurretYRot() - lav150.getYRot()), Mth.lerp(partialTicks, lav150.turretXRotO - lav150.xRotO, lav150.getTurretXRot() - lav150.getXRot())); + setPosition(Mth.lerp(partialTicks, player.xo, player.getX()), Mth.lerp(partialTicks, player.yo + player.getEyeHeight(), player.getEyeY()), Mth.lerp(partialTicks, player.zo, player.getZ())); + info.cancel(); + + return; + } + if (stack.is(ModItems.MONITOR.get()) && stack.getOrCreateTag().getBoolean("Using") && stack.getOrCreateTag().getBoolean("Linked")) { DroneEntity drone = EntityFindUtil.findDrone(player.level(), stack.getOrCreateTag().getString("LinkedDrone")); if (drone != null) { diff --git a/src/main/java/com/atsuishio/superbwarfare/mixins/MouseHandlerMixin.java b/src/main/java/com/atsuishio/superbwarfare/mixins/MouseHandlerMixin.java index 12aa60775..97c3685b2 100644 --- a/src/main/java/com/atsuishio/superbwarfare/mixins/MouseHandlerMixin.java +++ b/src/main/java/com/atsuishio/superbwarfare/mixins/MouseHandlerMixin.java @@ -57,9 +57,9 @@ public class MouseHandlerMixin { if (player.getVehicle() instanceof Lav150Entity) { if (ClientEventHandler.zoom) { - return 0.22; + return 0.23; } else { - return 0.31; + return 0.28; } } diff --git a/src/main/resources/assets/superbwarfare/textures/screens/land/body.png b/src/main/resources/assets/superbwarfare/textures/screens/land/body.png new file mode 100644 index 0000000000000000000000000000000000000000..137e01fba60d7371b623e28b8623f2f9746752d5 GIT binary patch literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F3${@^GvDCf{DEQ3N z#WAE}&f8gre1{bT4tQMM{w(mX&P*-WNP&kI+6V7hO)=KXH4f+7S&DMPF3|3G2HQ`=wYWs|BKVGxpznqU6^IPmlS#Y$J0&(!C=-nr~+(DN(PH3;Q@`q)uY0LAq3RR*zc^9R9UuQJ2-WDy85}Sb4q9e08B4p-v9sr literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/superbwarfare/textures/screens/land/line.png b/src/main/resources/assets/superbwarfare/textures/screens/land/line.png new file mode 100644 index 0000000000000000000000000000000000000000..7e756920254d80c089021bb4d829ba021579c38d GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1|;Q0k8}bl&H|6fVg?31We{epSZZGe6y)`E kaSY*@ne6fV{0Dgk)|pJHZXc$o03{eaUHx3vIVCg!0M3XLssI20 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/superbwarfare/textures/screens/land/tv_frame.png b/src/main/resources/assets/superbwarfare/textures/screens/land/tv_frame.png index dd21874470bb248db1efb2b89c8635a822d0cd30..d54966bef04b3220e1c56a023d5cfce6a42fa21d 100644 GIT binary patch literal 24333 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

mEK?hk%1CbG#Xk?}5yDWsH=oe5H`L7Qf` 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 literal 26683 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