Files
BobTonyMod/src/main/java/online/bobtony/handlers/DoubleJumpHandler.java
T
2026-05-01 19:12:47 +02:00

56 lines
1.7 KiB
Java

package online.bobtony.handlers;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.util.math.Vec3d;
import online.bobtony.BobTony;
import online.bobtony.enums.Modes;
public class DoubleJumpHandler {
public static void handleDoubleJump(ClientPlayerEntity player) {
boolean isJumping = player.input.playerInput.jump();
if (isJumping && !BobTony.wasJumping) {
long currentTime = System.currentTimeMillis();
if (currentTime - BobTony.lastJumpTime < 300) {
if(BobTony.mode == Modes.FLY) {
toggleFlyMode(player);
}else {
boostPlayer(player);
}
}
BobTony.lastJumpTime = currentTime;
}
BobTony.wasJumping = isJumping;
}
private static void toggleFlyMode(ClientPlayerEntity player) {
boolean isFlying = !player.getAbilities().flying;
player.getAbilities().flying = isFlying;
player.getAbilities().setFlySpeed(BobTony.flyspeed);
if (isFlying) {
BobTony.sendMessage(player, "Fly: §aEnabled", true);
} else {
BobTony.sendMessage(player, "Fly: §cDisabled", true);
}
player.sendAbilitiesUpdate();
}
private static void boostPlayer(ClientPlayerEntity apfel) {
double pitch = apfel.getPitch();
Vec3d velocity;
if (pitch > 70) {
velocity = new Vec3d(0.0, 1.0, 0.0).multiply(BobTony.strength);
} else {
velocity = apfel.getRotationVector().multiply(BobTony.strength);
}
apfel.addVelocity(velocity.x, velocity.y + 0.5, velocity.z);
apfel.velocityModified = true;
}
}