diff --git a/src/main/java/me/alpha432/oyvey/manager/EventManager.java b/src/main/java/me/alpha432/oyvey/manager/EventManager.java index 8a98417..63ffffd 100644 --- a/src/main/java/me/alpha432/oyvey/manager/EventManager.java +++ b/src/main/java/me/alpha432/oyvey/manager/EventManager.java @@ -6,7 +6,6 @@ import me.alpha432.oyvey.event.Stage; import me.alpha432.oyvey.event.impl.*; import me.alpha432.oyvey.features.Feature; import me.alpha432.oyvey.features.commands.Command; -import me.alpha432.oyvey.util.models.Timer; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.packet.BrandCustomPayload; import net.minecraft.network.packet.CustomPayload; @@ -15,8 +14,6 @@ import net.minecraft.network.packet.s2c.play.WorldTimeUpdateS2CPacket; import net.minecraft.util.Formatting; public class EventManager extends Feature { - private final Timer logoutTimer = new Timer(); - public void init() { EVENT_BUS.register(this); } @@ -27,17 +24,10 @@ public class EventManager extends Feature { @Subscribe public void onUpdate(UpdateEvent event) { - mc.getWindow().setTitle("OyVey 0.0.3"); if (!fullNullCheck()) { -// OyVey.inventoryManager.update(); OyVey.moduleManager.onUpdate(); OyVey.moduleManager.sortModules(true); onTick(); -// if ((HUD.getInstance()).renderingMode.getValue() == HUD.RenderingMode.Length) { -// OyVey.moduleManager.sortModules(true); -// } else { -// OyVey.moduleManager.sortModulesABC(); -// } } } @@ -49,7 +39,6 @@ public class EventManager extends Feature { if (player == null || player.getHealth() > 0.0F) continue; EVENT_BUS.post(new DeathEvent(player)); -// PopCounter.getInstance().onDeath(player); } } @@ -58,7 +47,7 @@ public class EventManager extends Feature { if (fullNullCheck()) return; if (event.getStage() == Stage.PRE) { - OyVey.speedManager.updateValues(); + OyVey.speedManager.update(); OyVey.rotationManager.updateRotations(); OyVey.positionManager.updatePosition(); } diff --git a/src/main/java/me/alpha432/oyvey/manager/SpeedManager.java b/src/main/java/me/alpha432/oyvey/manager/SpeedManager.java index 0b87893..426eb99 100644 --- a/src/main/java/me/alpha432/oyvey/manager/SpeedManager.java +++ b/src/main/java/me/alpha432/oyvey/manager/SpeedManager.java @@ -4,94 +4,44 @@ import me.alpha432.oyvey.features.Feature; import net.minecraft.entity.Entity; import net.minecraft.entity.player.PlayerEntity; -import java.util.HashMap; +import java.util.ArrayList; +import java.util.List; -public class SpeedManager - extends Feature { - public static final double LAST_JUMP_INFO_DURATION_DEFAULT = 3.0; - public static boolean didJumpThisTick = false; - public static boolean isJumping = false; - private final int distancer = 20; - public double firstJumpSpeed = 0.0; - public double lastJumpSpeed = 0.0; - public double percentJumpSpeedChanged = 0.0; - public double jumpSpeedChanged = 0.0; - public boolean didJumpLastTick = false; - public long jumpInfoStartTime = 0L; - public boolean wasFirstJump = true; - public double speedometerCurrentSpeed = 0.0; - public HashMap playerSpeeds = new HashMap(); +public class SpeedManager extends Feature { + private static final int SPEED_NORMALIZATION = 20; - public static void setDidJumpThisTick(boolean val) { - didJumpThisTick = val; + private final List localSpeed = new ArrayList<>(); + private float localSpeedNormal = 0f; + + public void update() { + localSpeed.add(getCurrentSpeed(mc.player)); + while (localSpeed.size() > SPEED_NORMALIZATION) localSpeed.removeFirst(); + + localSpeedNormal = localSpeed.stream().reduce(0f, Float::sum) / localSpeed.size(); } - public static void setIsJumping(boolean val) { - isJumping = val; + public double getSpeed(PlayerEntity player) { + if (mc.player == player) return localSpeedNormal; + return getCurrentSpeed(player); } - public float lastJumpInfoTimeRemaining() { - return (float) (System.currentTimeMillis() - this.jumpInfoStartTime) / 1000.0f; + public double getSpeedBpS(PlayerEntity player) { + return getSpeed(player) * 20; } - public void updateValues() { - Entity e = mc.player.getVehicle(); - double distTraveledLastTickX = mc.player.getX() - mc.player.lastX; - double distTraveledLastTickZ = mc.player.getZ() - mc.player.lastZ; - if (e != null) { - distTraveledLastTickX = e.getX() - e.lastX; - distTraveledLastTickZ = e.getZ() - e.lastZ; + public double getSpeedKmH(PlayerEntity player) { + return getSpeedBpS(player) * 3.6; + } + + public float getCurrentSpeed(Entity entity) { + Entity vehicle = entity.getVehicle(); + double distTraveledX = entity.getX() - entity.lastX; + double distTraveledZ = entity.getZ() - entity.lastZ; + if (vehicle != null) { + distTraveledX = vehicle.getX() - vehicle.lastX; + distTraveledZ = vehicle.getZ() - vehicle.lastZ; } - this.speedometerCurrentSpeed = distTraveledLastTickX * distTraveledLastTickX + distTraveledLastTickZ * distTraveledLastTickZ; - if (didJumpThisTick && (!mc.player.isOnGround() || isJumping)) { - if (didJumpThisTick && !this.didJumpLastTick) { - this.wasFirstJump = this.lastJumpSpeed == 0.0; - this.percentJumpSpeedChanged = this.speedometerCurrentSpeed != 0.0 ? this.speedometerCurrentSpeed / this.lastJumpSpeed - 1.0 : -1.0; - this.jumpSpeedChanged = this.speedometerCurrentSpeed - this.lastJumpSpeed; - this.jumpInfoStartTime = System.currentTimeMillis(); - this.lastJumpSpeed = this.speedometerCurrentSpeed; - this.firstJumpSpeed = this.wasFirstJump ? this.lastJumpSpeed : 0.0; - } - this.didJumpLastTick = didJumpThisTick; - } else { - this.didJumpLastTick = false; - this.lastJumpSpeed = 0.0; - } - this.updatePlayers(); - } - - public void updatePlayers() { - for (PlayerEntity player : mc.world.getPlayers()) { - if (!(mc.player.distanceTo(player) < distancer)) - continue; - double distTraveledLastTickX = player.getX() - player.lastX; - double distTraveledLastTickZ = player.getZ() - player.lastZ; - double playerSpeed = distTraveledLastTickX * distTraveledLastTickX + distTraveledLastTickZ * distTraveledLastTickZ; - this.playerSpeeds.put(player, playerSpeed); - } - } - - public double getPlayerSpeed(PlayerEntity player) { - if (this.playerSpeeds.get(player) == null) { - return 0.0; - } - return this.turnIntoKpH(this.playerSpeeds.get(player)); - } - - public double turnIntoKpH(double input) { - return Math.sqrt(input) * 71.2729367892; - } - - public double getSpeedKpH() { - double speedometerkphdouble = this.turnIntoKpH(this.speedometerCurrentSpeed); - speedometerkphdouble = (double) Math.round(10.0 * speedometerkphdouble) / 10.0; - return speedometerkphdouble; - } - - public double getSpeedMpS() { - double speedometerMpsdouble = this.turnIntoKpH(this.speedometerCurrentSpeed) / 3.6; - speedometerMpsdouble = (double) Math.round(10.0 * speedometerMpsdouble) / 10.0; - return speedometerMpsdouble; + return (float) Math.hypot(distTraveledX, distTraveledZ); } } \ No newline at end of file