diff --git a/src/main/java/dev/brighten/ac/check/impl/combat/Hitbox.java b/src/main/java/dev/brighten/ac/check/impl/combat/Hitbox.java index f7dcaf6..8ceeef4 100644 --- a/src/main/java/dev/brighten/ac/check/impl/combat/Hitbox.java +++ b/src/main/java/dev/brighten/ac/check/impl/combat/Hitbox.java @@ -65,8 +65,6 @@ public class Hitbox extends Check { final KLocation to = target.two; - debug("current loc: %.4f, %.4f, %.4f", eloc.one.x, eloc.one.y, eloc.one.z); - if(eloc.one.x == 0 && eloc.one.y == 0 & eloc.one.z == 0) { return; } @@ -81,7 +79,7 @@ public class Hitbox extends Check { EntityData.getEntityBox(oldLocation.toVector(), target.one); if(player.getPlayerVersion().isBelow(ProtocolVersion.V1_9)) { - box = box.expand(0.12); + box = box.expand(0.105); } else box = box.expand(0.0325); boxes.add(box); } @@ -90,7 +88,7 @@ public class Hitbox extends Check { EntityData.getEntityBox(oldLocation.toVector(), target.one); if(player.getPlayerVersion().isBelow(ProtocolVersion.V1_9)) { - box = box.expand(0.12); + box = box.expand(0.105); } else box = box.expand(0.0325); boxes.add(box); } @@ -100,7 +98,7 @@ public class Hitbox extends Check { EntityData.getEntityBox(oldLocation.toVector(), target.one); if(player.getPlayerVersion().isBelow(ProtocolVersion.V1_9)) { - box = box.expand(0.12); + box = box.expand(0.105); } else box = box.expand(0.0325); boxes.add(box); } @@ -110,7 +108,7 @@ public class Hitbox extends Check { int hits = 0; - boolean didSneakOrElytra = player.getInfo().getLastElytra().isNotPassed(40) + boolean didSneakOrElytra = player.getInfo().getLastSneak().isNotPassed(40) || player.getInfo().getLastElytra().isNotPassed(40); List directions = new ArrayList<>(Arrays.asList(MathUtils.getDirection( diff --git a/src/main/java/dev/brighten/ac/check/impl/movement/fly/FlyC.java b/src/main/java/dev/brighten/ac/check/impl/movement/fly/FlyC.java new file mode 100644 index 0000000..5003f0c --- /dev/null +++ b/src/main/java/dev/brighten/ac/check/impl/movement/fly/FlyC.java @@ -0,0 +1,16 @@ +package dev.brighten.ac.check.impl.movement.fly; + +import dev.brighten.ac.check.Check; +import dev.brighten.ac.check.WAction; +import dev.brighten.ac.data.APlayer; +import dev.brighten.ac.packet.wrapper.out.WPacketPlayOutEntityVelocity; + +public class FlyC extends Check { + public FlyC(APlayer player) { + super(player); + } + + WAction action = packet -> { + if(packet.getEntityId() != player.getBukkitPlayer().getEntityId()) return; + }; +} diff --git a/src/main/java/dev/brighten/ac/check/impl/movement/nofall/NoFallB.java b/src/main/java/dev/brighten/ac/check/impl/movement/nofall/NoFallB.java index b22a172..4bc1f3d 100644 --- a/src/main/java/dev/brighten/ac/check/impl/movement/nofall/NoFallB.java +++ b/src/main/java/dev/brighten/ac/check/impl/movement/nofall/NoFallB.java @@ -26,7 +26,7 @@ public class NoFallB extends Check { || player.getBlockInfo().miscNear || player.getInfo().inVehicle || player.getInfo().climbTimer.isNotPassed(3) - || player.getCreation().isPassed(2000L) + || player.getCreation().isNotPassed(2000L) || player.getInfo().slimeTimer.isNotPassed(3)) { if(groundBuffer > 0) groundBuffer--; if(airBuffer > 0) airBuffer--; @@ -41,7 +41,7 @@ public class NoFallB extends Check { && !player.getInfo().isServerGround()) { groundBuffer+= 2; if(groundBuffer > 14) { - flag("[%.1f] g=%s;dy=%.4f;ldy=%.4f", groundBuffer, true, + flag("[%s] g=%s;dy=%.4f;ldy=%.4f", groundBuffer, true, player.getMovement().getDeltaY(), player.getMovement().getLDeltaY()); } } else if(groundBuffer > 0) groundBuffer--; @@ -53,7 +53,7 @@ public class NoFallB extends Check { && ((player.getInfo().isServerGround() || player.getBlockInfo().blocksBelow) && dground && !player.getBlockInfo().onHalfBlock)) { if((airBuffer +=10) > 30) { - flag("[%.1f] g=%s;dy=%.4f;ldy=%.4f", airBuffer, false, + flag("[%s] g=%s;dy=%.4f;ldy=%.4f", airBuffer, false, player.getMovement().getDeltaY(), player.getMovement().getLDeltaY()); } } else if(airBuffer > 0) airBuffer-= 4; diff --git a/src/main/java/dev/brighten/ac/check/impl/movement/speed/Horizontal.java b/src/main/java/dev/brighten/ac/check/impl/movement/speed/Horizontal.java index 56f9ddc..f9a3b8f 100644 --- a/src/main/java/dev/brighten/ac/check/impl/movement/speed/Horizontal.java +++ b/src/main/java/dev/brighten/ac/check/impl/movement/speed/Horizontal.java @@ -249,13 +249,13 @@ public class Horizontal extends Check { if (player.getMovement().getDeltaXZ() > pmotion && smallestDelta > (player.getBlockInfo().onSoulSand ? 0.01 : 5E-13) && player.getMovement().getDeltaXZ() > 0.1) { - if ((buffer += smallestDelta > 58E-4 ? 1 : 0.5) > 3) { + if ((buffer += smallestDelta > 58E-5 ? 1 : 0.5) > 1) { buffer = Math.min(3.5f, buffer); //Ensuring we don't have a run-away buffer flag("smallest=%s b=%.1f to=%s dxz=%.2f", smallestDelta, buffer, player.getMovement().getTo().getLoc(), player.getMovement().getDeltaXZ()); cancel(); } else debug("bad movement"); - } else if (buffer > 0) buffer -= 0.1f; + } else if (buffer > 0) buffer -= 0.05f; debug("smallest=%s pm=%.5f dxz=%.5f b=%.1f f/s=%.2f,%.2f soulsand=%s", smallestDelta, pmotion, player.getMovement().getDeltaXZ(), buffer, forward, strafe, diff --git a/src/main/java/dev/brighten/ac/handler/VelocityHandler.java b/src/main/java/dev/brighten/ac/handler/VelocityHandler.java new file mode 100644 index 0000000..df941c3 --- /dev/null +++ b/src/main/java/dev/brighten/ac/handler/VelocityHandler.java @@ -0,0 +1,15 @@ +package dev.brighten.ac.handler; + +import dev.brighten.ac.data.APlayer; +import dev.brighten.ac.packet.wrapper.out.WPacketPlayOutEntityVelocity; +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor +public class VelocityHandler { + + private APlayer player; + + public void onPre(WPacketPlayOutEntityVelocity packet) { + if(packet.getEntityId() != player.getBukkitPlayer().getEntityId()) return; + } +}