From 5171d312459fa62de81c330cab13b6a28b246ba2 Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Thu, 1 Aug 2024 21:43:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=88=98=E6=9C=AF=E5=86=B2?= =?UTF-8?q?=E5=88=BA=E7=9A=84=E6=8C=89=E9=94=AE=E7=BB=91=E5=AE=9A=E5=92=8C?= =?UTF-8?q?=E7=BD=91=E7=BB=9C=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/mcreator/superbwarfare/ModUtils.java | 1 - .../event/PlayerEventHandler.java | 13 ++++- .../superbwarfare/init/ModKeyMappings.java | 21 -------- .../message/TacticalSprintMessage.java | 52 ------------------- .../assets/superbwarfare/lang/en_us.json | 1 - .../assets/superbwarfare/lang/zh_cn.json | 1 - 6 files changed, 12 insertions(+), 77 deletions(-) delete mode 100644 src/main/java/net/mcreator/superbwarfare/network/message/TacticalSprintMessage.java diff --git a/src/main/java/net/mcreator/superbwarfare/ModUtils.java b/src/main/java/net/mcreator/superbwarfare/ModUtils.java index 43a622257..f138b7443 100644 --- a/src/main/java/net/mcreator/superbwarfare/ModUtils.java +++ b/src/main/java/net/mcreator/superbwarfare/ModUtils.java @@ -108,7 +108,6 @@ public class ModUtils { addNetworkMessage(DroneMovementMessage.class, DroneMovementMessage::encode, DroneMovementMessage::decode, DroneMovementMessage::handler); addNetworkMessage(DroneFireMessage.class, DroneFireMessage::buffer, DroneFireMessage::new, DroneFireMessage::handler); addNetworkMessage(SimulationDistanceMessage.class, SimulationDistanceMessage::encode, SimulationDistanceMessage::decode, SimulationDistanceMessage::handle, Optional.of(NetworkDirection.PLAY_TO_CLIENT)); - addNetworkMessage(TacticalSprintMessage.class, TacticalSprintMessage::encode, TacticalSprintMessage::decode, TacticalSprintMessage::handler); event.enqueueWork(() -> BrewingRecipeRegistry.addRecipe(Ingredient.of(PotionUtils.setPotion(new ItemStack(Items.POTION), Potions.WATER)), Ingredient.of(Items.LIGHTNING_ROD), PotionUtils.setPotion(new ItemStack(Items.POTION), ModPotion.SHOCK.get()))); diff --git a/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java index 52b495f35..fc8c5894b 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java @@ -125,6 +125,17 @@ public class PlayerEventHandler { capability.tacticalSprint = false; capability.syncPlayerVariables(player); }); + player.getPersistentData().putBoolean("canTacticalSprint", true); + } + + if (player.isSprinting() + && !(player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).tacticalSprintExhaustion + && player.getPersistentData().getBoolean("canTacticalSprint")) { + player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { + capability.tacticalSprint = true; + capability.syncPlayerVariables(player); + }); + player.getPersistentData().putBoolean("canTacticalSprint", false); } if (player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).tacticalSprint) { @@ -132,7 +143,7 @@ public class PlayerEventHandler { capability.tacticalSprintTime = Mth.clamp(player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).tacticalSprintTime - sprint_cost,0,600); capability.syncPlayerVariables(player); }); - player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, 2, 1, false, false)); + player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, 2, 0, false, false)); } else { player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModKeyMappings.java b/src/main/java/net/mcreator/superbwarfare/init/ModKeyMappings.java index ca1f9bd59..68068a40c 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModKeyMappings.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModKeyMappings.java @@ -194,31 +194,13 @@ public class ModKeyMappings { isDownOld = isDown; } }; - public static final KeyMapping TACTICAL_SPRINT = new KeyMapping("key.superbwarfare.tactical_sprint", GLFW.GLFW_KEY_LEFT_CONTROL, "key.categories.superbwarfare") { - private boolean isDownOld = false; - @Override - public void setDown(boolean isDown) { - super.setDown(isDown); - if (isDownOld != isDown && isDown) { - ModUtils.PACKET_HANDLER.sendToServer(new TacticalSprintMessage(true)); - TACTICAL_SPRINT_LASTPRESS = System.currentTimeMillis(); - } else if (isDownOld != isDown) { - int dt = (int) (System.currentTimeMillis() - TACTICAL_SPRINT_LASTPRESS); - ModUtils.PACKET_HANDLER.sendToServer(new TacticalSprintMessage(false)); - } - isDownOld = isDown; - } - }; private static long FORWARD_LASTPRESS = 0; private static long BACKWARD_LASTPRESS = 0; private static long LEFT_LASTPRESS = 0; private static long RIGHT_LASTPRESS = 0; private static long UP_LASTPRESS = 0; private static long DOWN_LASTPRESS = 0; - private static long TACTICAL_SPRINT_LASTPRESS = 0; - - @SubscribeEvent public static void registerKeyMappings(RegisterKeyMappingsEvent event) { @@ -234,8 +216,6 @@ public class ModKeyMappings { event.register(RIGHT); event.register(UP); event.register(DOWN); - event.register(TACTICAL_SPRINT); - } @Mod.EventBusSubscriber({Dist.CLIENT}) @@ -255,7 +235,6 @@ public class ModKeyMappings { RIGHT.consumeClick(); UP.consumeClick(); DOWN.consumeClick(); - TACTICAL_SPRINT.consumeClick(); } } } diff --git a/src/main/java/net/mcreator/superbwarfare/network/message/TacticalSprintMessage.java b/src/main/java/net/mcreator/superbwarfare/network/message/TacticalSprintMessage.java deleted file mode 100644 index e5b5db2e6..000000000 --- a/src/main/java/net/mcreator/superbwarfare/network/message/TacticalSprintMessage.java +++ /dev/null @@ -1,52 +0,0 @@ -package net.mcreator.superbwarfare.network.message; - -import net.mcreator.superbwarfare.entity.DroneEntity; -import net.mcreator.superbwarfare.init.ModItems; -import net.mcreator.superbwarfare.init.ModTags; -import net.mcreator.superbwarfare.network.ModVariables; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.world.effect.MobEffect; -import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.effect.MobEffects; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; -import net.minecraftforge.network.NetworkEvent; -import software.bernie.geckolib.animatable.GeoItem; - -import java.util.function.Supplier; - -public class TacticalSprintMessage { - private final boolean sprint; - - public TacticalSprintMessage(boolean sprint) { - this.sprint = sprint; - } - - public static TacticalSprintMessage decode(FriendlyByteBuf buffer) { - return new TacticalSprintMessage(buffer.readBoolean()); - } - - public static void encode(TacticalSprintMessage message, FriendlyByteBuf buffer) { - buffer.writeBoolean(message.sprint); - } - - public static void handler(TacticalSprintMessage message, Supplier contextSupplier) { - NetworkEvent.Context context = contextSupplier.get(); - context.enqueueWork(() -> { - if (context.getSender() != null) { - Player player = context.getSender(); - if (message.sprint) { - player.setSprinting(true); - - if (!(player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).tacticalSprintExhaustion) { - player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { - capability.tacticalSprint = true; - capability.syncPlayerVariables(player); - }); - } - } - } - }); - context.setPacketHandled(true); - } -} diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index 3e004e474..085ea3635 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -220,7 +220,6 @@ "key.superbwarfare.right": "Right", "key.superbwarfare.up": "Up", "key.superbwarfare.down": "Down", - "key.superbwarfare.tactical_sprint": "Tactical Sprint", "effect.superbwarfare.shock": "Shock", "item.minecraft.potion.effect.superbwarfare_shock": "Potion of Shock", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index f3a12cfaa..3b85ed3d8 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -220,7 +220,6 @@ "key.superbwarfare.right": "向右移动", "key.superbwarfare.up": "上升", "key.superbwarfare.down": "下降", - "key.superbwarfare.tactical_sprint": "战术冲刺", "effect.superbwarfare.shock": "电击", "item.minecraft.potion.effect.superbwarfare_shock": "电击药水",