From fedf2734e57d3485725c69435878e2e98b173d67 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Tue, 14 Jan 2025 19:18:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=83=A8=E5=88=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/client/ClickHandler.java | 2 +- .../superbwarfare/mixins/CameraMixin.java | 2 - .../mixins/MouseHandlerMixin.java | 16 +---- .../network/message/EditMessage.java | 2 + .../network/message/FireMessage.java | 7 +-- .../network/message/ReloadMessage.java | 1 - .../network/message/ZoomMessage.java | 59 +++++++++---------- 7 files changed, 38 insertions(+), 51 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java b/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java index 29f973869..f6c52a4d0 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java @@ -331,7 +331,7 @@ public class ClickHandler { player.playSound(ModSounds.TRIGGER_CLICK.get(), 1, 1); } - if (!gunItem.useBackpackAmmo(stack) && GunsTool.getGunIntTag(stack, "Ammo", 0) <= 0 && stack.getOrCreateTag().getInt("ReloadTime") == 0) { + if (!gunItem.useBackpackAmmo(stack) && GunsTool.getGunIntTag(stack, "Ammo", 0) <= 0 && GunsTool.getGunIntTag(stack, "ReloadTime") == 0) { if (ReloadConfig.LEFT_CLICK_RELOAD.get()) { ModUtils.PACKET_HANDLER.sendToServer(new ReloadMessage(0)); } diff --git a/src/main/java/com/atsuishio/superbwarfare/mixins/CameraMixin.java b/src/main/java/com/atsuishio/superbwarfare/mixins/CameraMixin.java index e3c42e3be..2592a0004 100644 --- a/src/main/java/com/atsuishio/superbwarfare/mixins/CameraMixin.java +++ b/src/main/java/com/atsuishio/superbwarfare/mixins/CameraMixin.java @@ -103,8 +103,6 @@ public abstract class CameraMixin { return transform.transform(new Vector4f(x, y, z, 1)); } - - @Inject(method = "setup", at = @At("TAIL")) public void ia$setup(BlockGetter area, Entity entity, boolean thirdPerson, boolean inverseView, float tickDelta, CallbackInfo ci) { if (thirdPerson && entity.getVehicle() instanceof Mk42Entity) { diff --git a/src/main/java/com/atsuishio/superbwarfare/mixins/MouseHandlerMixin.java b/src/main/java/com/atsuishio/superbwarfare/mixins/MouseHandlerMixin.java index 97c3685b2..85c24170c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/mixins/MouseHandlerMixin.java +++ b/src/main/java/com/atsuishio/superbwarfare/mixins/MouseHandlerMixin.java @@ -33,9 +33,7 @@ public class MouseHandlerMixin { Minecraft mc = Minecraft.getInstance(); Player player = Minecraft.getInstance().player; - if (player == null) { - return original; - } + if (player == null) return original; if (player.hasEffect(ModMobEffects.SHOCK.get()) && !player.isSpectator()) { return 0; @@ -44,11 +42,7 @@ public class MouseHandlerMixin { ItemStack stack = mc.player.getMainHandItem(); if (player.getVehicle() instanceof ICannonEntity) { - if (ClientEventHandler.zoom) { - return 0.15; - } else { - return 0.3; - } + return ClientEventHandler.zoom ? 0.15 : 0.3; } if (player.getVehicle() instanceof Ah6Entity ah6Entity && !ah6Entity.onGround() && ah6Entity.getFirstPassenger() == player) { @@ -56,11 +50,7 @@ public class MouseHandlerMixin { } if (player.getVehicle() instanceof Lav150Entity) { - if (ClientEventHandler.zoom) { - return 0.23; - } else { - return 0.28; - } + return ClientEventHandler.zoom ? 0.23 : 0.28; } if (stack.is(ModItems.MONITOR.get()) && stack.getOrCreateTag().getBoolean("Using") && stack.getOrCreateTag().getBoolean("Linked")) { diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/EditMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/EditMessage.java index f34c55c23..a139027a2 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/EditMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/EditMessage.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.network.message; import com.atsuishio.superbwarfare.init.ModSounds; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.tools.SoundTool; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.FriendlyByteBuf; @@ -36,6 +37,7 @@ public class EditMessage { if (player == null) return; ItemStack stack = player.getMainHandItem(); + if (!stack.is(ModTags.Items.GUN)) return; CompoundTag tag = stack.getOrCreateTag().getCompound("Attachments"); switch (type) { diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/FireMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/FireMessage.java index 59982ad42..36c14bbd9 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/FireMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/FireMessage.java @@ -83,13 +83,12 @@ public class FireMessage { capability.syncPlayerVariables(player); }); - if (player.getMainHandItem().getItem() == ModItems.BOCEK.get()) { + if (stack.getItem() == ModItems.BOCEK.get()) { handleBowShoot(player); } - if (player.getMainHandItem().getItem() == ModItems.JAVELIN.get()) { - var handItem = player.getMainHandItem(); - var tag = handItem.getOrCreateTag(); + if (stack.getItem() == ModItems.JAVELIN.get()) { + var tag = stack.getOrCreateTag(); handleJavelinFire(player); tag.putBoolean("Seeking", false); tag.putInt("SeekTime", 0); diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/ReloadMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/ReloadMessage.java index 7bcb6f844..c78709bda 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/ReloadMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/ReloadMessage.java @@ -55,7 +55,6 @@ public class ReloadMessage { && GunsTool.getGunIntTag(stack, "ReloadTime") == 0 && GunsTool.getGunIntTag(stack, "BoltActionTick") == 0 && !GunsTool.getGunBooleanTag(stack, "Reloading") - ) { CompoundTag tag = stack.getOrCreateTag(); diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/ZoomMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/ZoomMessage.java index 2a7598a4e..18f75eaee 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/ZoomMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/ZoomMessage.java @@ -36,40 +36,39 @@ public class ZoomMessage { NetworkEvent.Context context = contextSupplier.get(); context.enqueueWork(() -> { ServerPlayer player = context.getSender(); + if (player == null) return; - if (player != null) { - if (message.type == 0) { - player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { - capability.zoom = true; - capability.edit = false; - capability.syncPlayerVariables(player); - }); + if (message.type == 0) { + player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { + capability.zoom = true; + capability.edit = false; + capability.syncPlayerVariables(player); + }); - if (player.isPassenger() && player.getVehicle() instanceof IArmedVehicleEntity && !(player.getVehicle() instanceof WheelChairEntity)) { - SoundTool.playLocalSound(player, ModSounds.CANNON_ZOOM_IN.get(), 2, 1); - } + if (player.isPassenger() && player.getVehicle() instanceof IArmedVehicleEntity && !(player.getVehicle() instanceof WheelChairEntity)) { + SoundTool.playLocalSound(player, ModSounds.CANNON_ZOOM_IN.get(), 2, 1); + } + } + + if (message.type == 1) { + player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { + capability.zoom = false; + capability.breath = false; + capability.syncPlayerVariables(player); + }); + + if (player.isPassenger() && player.getVehicle() instanceof IArmedVehicleEntity && !(player.getVehicle() instanceof WheelChairEntity)) { + SoundTool.playLocalSound(player, ModSounds.CANNON_ZOOM_OUT.get(), 2, 1); } - if (message.type == 1) { - player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { - capability.zoom = false; - capability.breath = false; - capability.syncPlayerVariables(player); - }); - - if (player.isPassenger() && player.getVehicle() instanceof IArmedVehicleEntity && !(player.getVehicle() instanceof WheelChairEntity)) { - SoundTool.playLocalSound(player, ModSounds.CANNON_ZOOM_OUT.get(), 2, 1); - } - - if (player.getMainHandItem().getItem() == ModItems.JAVELIN.get()) { - var handItem = player.getMainHandItem(); - var tag = handItem.getOrCreateTag(); - tag.putBoolean("Seeking", false); - tag.putInt("SeekTime", 0); - tag.putString("TargetEntity", "none"); - var clientboundstopsoundpacket = new ClientboundStopSoundPacket(new ResourceLocation(ModUtils.MODID, "javelin_lock"), SoundSource.PLAYERS); - player.connection.send(clientboundstopsoundpacket); - } + if (player.getMainHandItem().getItem() == ModItems.JAVELIN.get()) { + var handItem = player.getMainHandItem(); + var tag = handItem.getOrCreateTag(); + tag.putBoolean("Seeking", false); + tag.putInt("SeekTime", 0); + tag.putString("TargetEntity", "none"); + var clientboundstopsoundpacket = new ClientboundStopSoundPacket(new ResourceLocation(ModUtils.MODID, "javelin_lock"), SoundSource.PLAYERS); + player.connection.send(clientboundstopsoundpacket); } } });