From 18ebf6c308fd33b08faff2a9153dd8ad7cf37ccf Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Fri, 20 Sep 2024 23:01:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8A=A0=E7=89=B9=E6=9E=97?= =?UTF-8?q?=E5=92=8C=E8=8E=AB=E5=90=8D=E5=85=B6=E5=A6=99=E7=9A=84=E8=A7=86?= =?UTF-8?q?=E8=A7=92=E6=91=87=E6=99=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/model/ProjectileEntityModel.java | 2 +- .../event/ClientEventHandler.java | 35 +++++++------------ .../superbwarfare/event/GunEventHandler.java | 2 +- .../network/message/ShootMessage.java | 11 +++++- 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/main/java/net/mcreator/superbwarfare/entity/model/ProjectileEntityModel.java b/src/main/java/net/mcreator/superbwarfare/entity/model/ProjectileEntityModel.java index 793caf498..33ac71c3c 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/model/ProjectileEntityModel.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/model/ProjectileEntityModel.java @@ -24,7 +24,7 @@ public class ProjectileEntityModel extends GeoModel { return new ResourceLocation(ModUtils.MODID, "geo/projectile_entity2.geo.json"); } - if (GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) == GLFW.GLFW_PRESS + if ((GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) == GLFW.GLFW_PRESS && !player.getMainHandItem().is(ModItems.MINIGUN.get())) || player.getMainHandItem().is(ModItems.GLOCK_17.get()) || player.getMainHandItem().is(ModItems.GLOCK_18.get()) || player.getMainHandItem().is(ModItems.BOCEK.get())) { diff --git a/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java index 3a78e5e8a..8b88fe304 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java @@ -13,7 +13,6 @@ import net.minecraft.client.CameraType; import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.player.LocalPlayer; -import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; @@ -139,7 +138,7 @@ public class ClientEventHandler { clientTimer.setProgress((long) (clientTimer.getProgress() - cooldown)); } - player.displayClientMessage(Component.literal(new java.text.DecimalFormat("####").format(clientTimer.getProgress())), true); +// player.displayClientMessage(Component.literal(new java.text.DecimalFormat("####").format(clientTimer.getProgress())), true); } else { clientTimer.stop(); } @@ -205,23 +204,6 @@ public class ClientEventHandler { } } - private static void handleCannonScreen(LivingEntity entity) { - if (entity.level().isClientSide() && entity instanceof Player player) { - ItemStack stack = player.getMainHandItem(); - DroneEntity drone = entity.level().getEntitiesOfClass(DroneEntity.class, entity.getBoundingBox().inflate(512)) - .stream().filter(e -> e.getStringUUID().equals(stack.getOrCreateTag().getString("LinkedDrone"))).findFirst().orElse(null); - - if ((drone != null && player.getMainHandItem().is(ModItems.MONITOR.get()) && stack.getOrCreateTag().getBoolean("Using")) - || (player.isPassenger() && player.getVehicle() instanceof ICannonEntity && GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) == GLFW.GLFW_PRESS && !stack.is(ModTags.Items.GUN))) { - if (Minecraft.getInstance().gameRenderer.currentEffect() == null) { - Minecraft.getInstance().gameRenderer.loadEffect(new ResourceLocation("minecraft:shaders/post/scan_pincushion.json")); - } - } else { - Minecraft.getInstance().gameRenderer.shutdownEffect(); - } - } - } - @SubscribeEvent public static void onRenderHand(RenderHandEvent event) { Player player = Minecraft.getInstance().player; @@ -436,9 +418,18 @@ public class ClientEventHandler { } public static void shake(double boneRotX, double boneRotY, double boneRotZ) { - cameraRot[0] = boneRotX; - cameraRot[1] = boneRotY; - cameraRot[2] = boneRotZ; + LocalPlayer player = Minecraft.getInstance().player; + if (player != null) { + if (player.getMainHandItem().is(ModTags.Items.GUN) || (player.getVehicle() != null && (player.getVehicle() instanceof ICannonEntity))) { + cameraRot[0] = boneRotX; + cameraRot[1] = boneRotY; + cameraRot[2] = boneRotZ; + } else { + cameraRot[0] = 0; + cameraRot[1] = 0; + cameraRot[2] = 0; + } + } } private static void handlePlayerCameraShake(ViewportEvent.ComputeCameraAngles event) { diff --git a/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java index 936093811..1ad486f7e 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java @@ -211,7 +211,7 @@ public class GunEventHandler { if (tag.getDouble("overheat") == 0 && (player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).rifleAmmo > 0 - && !(player.getCooldowns().isOnCooldown(stack.getItem())) && tag.getDouble("minigun_rotation") >= 10 && player.getPersistentData().getBoolean("firing")) { + && !(player.getCooldowns().isOnCooldown(stack.getItem())) && tag.getDouble("minigun_rotation") >= 10 && player.getPersistentData().getBoolean("holdFire")) { tag.putDouble("heat", (tag.getDouble("heat") + 0.5)); if (tag.getDouble("heat") >= 50.5) { tag.putDouble("overheat", 40); diff --git a/src/main/java/net/mcreator/superbwarfare/network/message/ShootMessage.java b/src/main/java/net/mcreator/superbwarfare/network/message/ShootMessage.java index 198ed7bd4..30208f19c 100644 --- a/src/main/java/net/mcreator/superbwarfare/network/message/ShootMessage.java +++ b/src/main/java/net/mcreator/superbwarfare/network/message/ShootMessage.java @@ -122,17 +122,26 @@ public class ShootMessage { stack.getOrCreateTag().putDouble("chamber_rot", 20); } + int actionInterval = 0; + + if (stack.getItem() == ModItems.MARLIN.get() || stack.getItem() == ModItems.M_870.get()) { + actionInterval = stack.getOrCreateTag().getInt("fire_interval"); + } + + int customCoolDown = 0; + if (stack.getItem() == ModItems.MARLIN.get()) { if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zoom) { stack.getOrCreateTag().putDouble("marlin_animation_time", 15); stack.getOrCreateTag().putBoolean("fastfiring", false); + customCoolDown = 5; } else { stack.getOrCreateTag().putDouble("marlin_animation_time", 10); stack.getOrCreateTag().putBoolean("fastfiring", true); } } - int cooldown = burstCooldown; + int cooldown = burstCooldown + actionInterval + customCoolDown; player.getCooldowns().addCooldown(stack.getItem(), cooldown); for (int index0 = 0; index0 < (int) stack.getOrCreateTag().getDouble("projectile_amount"); index0++) {