添加离开载具二次确认功能

This commit is contained in:
17146 2025-01-01 23:15:57 +08:00
parent aacd22bf93
commit c78f611dcc
2 changed files with 23 additions and 6 deletions

View file

@ -195,7 +195,6 @@ public class ClickHandler {
int key = event.getKey();
if (event.getAction() == GLFW.GLFW_PRESS) {
if (player.hasEffect(ModMobEffects.SHOCK.get())) {
return;
}
@ -216,7 +215,7 @@ public class ClickHandler {
ModUtils.PACKET_HANDLER.sendToServer(new InteractMessage(0));
}
if (key == ModKeyMappings.DISMOUNT.getKey().getValue()) {
ModUtils.PACKET_HANDLER.sendToServer(new PlayerStopRidingMessage(0));
handleDismountPress(player);
}
if (key == ModKeyMappings.EDIT_MODE.getKey().getValue() && ClientEventHandler.burstFireSize == 0) {
ClientEventHandler.holdFire = false;
@ -459,4 +458,16 @@ public class ClickHandler {
player.displayClientMessage(Component.translatable("des.superbwarfare.no_cloth_config").withStyle(ChatFormatting.RED), true);
}
}
private static void handleDismountPress(Player player) {
var vehicle = player.getVehicle();
if (!(vehicle instanceof VehicleEntity)) return;
if ((!vehicle.onGround() || vehicle.getDeltaMovement().length() >= 0.1) && ClientEventHandler.dismountCountdown <= 0) {
player.displayClientMessage(Component.translatable("mount.onboard", ModKeyMappings.DISMOUNT.getTranslatedKeyMessage()), true);
ClientEventHandler.dismountCountdown = 20;
return;
}
ModUtils.PACKET_HANDLER.sendToServer(new PlayerStopRidingMessage(0));
}
}

View file

@ -142,6 +142,8 @@ public class ClientEventHandler {
public static int lungeAttack;
public static Entity entity;
public static int dismountCountdown = 0;
@SubscribeEvent
public static void handleWeaponTurn(RenderHandEvent event) {
LocalPlayer player = Minecraft.getInstance().player;
@ -207,6 +209,10 @@ public class ClientEventHandler {
miniGunRot--;
}
if (dismountCountdown > 0) {
dismountCountdown--;
}
if (notInGame() && !ClickHandler.switchZoom) {
zoom = false;
}