diff --git a/src/main/java/com/justdoom/flappyanticheat/checks/CheckManager.java b/src/main/java/com/justdoom/flappyanticheat/checks/CheckManager.java index 6c12733..3a32ffd 100644 --- a/src/main/java/com/justdoom/flappyanticheat/checks/CheckManager.java +++ b/src/main/java/com/justdoom/flappyanticheat/checks/CheckManager.java @@ -7,6 +7,9 @@ import com.justdoom.flappyanticheat.checks.player.blockplace.BlockPlaceA; import com.justdoom.flappyanticheat.checks.player.badpackets.BadPacketsA; import com.justdoom.flappyanticheat.checks.player.badpackets.BadPacketsB; +import com.justdoom.flappyanticheat.checks.combat.killaura.KillAuraA; +import com.justdoom.flappyanticheat.checks.combat.autoclicker.AutoClickerA; +import com.justdoom.flappyanticheat.data.PlayerData; import com.justdoom.flappyanticheat.checks.player.blockplace.BlockPlaceB; import com.justdoom.flappyanticheat.checks.player.skinblinker.SkinBlinkerA; import io.github.retrooper.packetevents.PacketEvents; @@ -25,10 +28,13 @@ public void loadChecks(){ PacketEvents.get().registerListener(new FlyA()); PacketEvents.get().registerListener(new BadPacketsA()); PacketEvents.get().registerListener(new BadPacketsB()); + PacketEvents.get().registerListener(new NoSlowA()); + PacketEvents.get().registerListener(new AutoClickerA()); + PacketEvents.get().registerListener(new KillAuraA()); PacketEvents.get().registerListener(new SkinBlinkerA()); PacketEvents.get().registerListener(new SpeedA()); Bukkit.getPluginManager().registerEvents(new BlockPlaceA(), plugin); Bukkit.getPluginManager().registerEvents(new BlockPlaceB(), plugin); } -} \ No newline at end of file +} diff --git a/src/main/java/com/justdoom/flappyanticheat/checks/combat/autoclicker/AutoClickerA.java b/src/main/java/com/justdoom/flappyanticheat/checks/combat/autoclicker/AutoClickerA.java new file mode 100644 index 0000000..9ed8097 --- /dev/null +++ b/src/main/java/com/justdoom/flappyanticheat/checks/combat/autoclicker/AutoClickerA.java @@ -0,0 +1,43 @@ + +package com.justdoom.flappyanticheat.checks.combat.killaura; + +import com.justdoom.flappyanticheat.checks.Check; +import com.justdoom.flappyanticheat.data.PlayerData; +import net.minecraft.server.v1_8_R3.Packet; +import net.minecraft.server.v1_8_R3.PacketPlayInArmAnimation; +import net.minecraft.server.v1_8_R3.PacketPlayInFlying; +import net.minecraft.server.v1_8_R3.PacketPlayInUseEntity; +import org.bukkit.entity.Player; + +/** + * ported by pixchure + * + */ + +public class AutoClickerA extends Check { + + private int swings; + private int movements; + + public AutoClickerA(PlayerData playerData) { + super("AutoClicker", "A", true); + } + + @Override + public void handleCheck(Player player, Packet packet) { + //double vl = playerData.getCheckVl(this); + + if (packet instanceof PacketPlayInArmAnimation + && !playerData.isDigging() && !playerData.isPlacing() && !playerData.isFakeDigging() + && (System.currentTimeMillis() - playerData.getLastDelayedMovePacket()) > 220L + && (System.currentTimeMillis() - playerData.getLastMovePacket().getTimestamp()) < 110L) { + ++swings; + } else if (packet instanceof PacketPlayInFlying && ++movements == 20) { + if (swings > 35) { + fail("", player); + } + movements = swings = 0; + } + } + +} diff --git a/src/main/java/com/justdoom/flappyanticheat/checks/combat/killaura/KillAuraA.java b/src/main/java/com/justdoom/flappyanticheat/checks/combat/killaura/KillAuraA.java new file mode 100644 index 0000000..18b4e22 --- /dev/null +++ b/src/main/java/com/justdoom/flappyanticheat/checks/combat/killaura/KillAuraA.java @@ -0,0 +1,44 @@ +package com.justdoom.flappyanticheat.checks.combat.killaura; + +import com.justdoom.flappyanticheat.checks.Check; +import com.justdoom.flappyanticheat.data.PlayerData; +import net.minecraft.server.v1_8_R3.Packet; +import net.minecraft.server.v1_8_R3.PacketPlayInArmAnimation; +import net.minecraft.server.v1_8_R3.PacketPlayInFlying; +import net.minecraft.server.v1_8_R3.PacketPlayInUseEntity; +import org.bukkit.entity.Player; + +/** + * ported by Pixchure + * not even sure if this works + */ + +public class KillAuraA extends Check { + private boolean sent; + public KillAuraA(){ + super("KillAura", "A", false); + } + + @Override + public void handleCheck(Player player, Packet packet) { + //double vl = playerData.getCheckVl(this); + + if (playerData.getPing() > 70) { + return; + } + + if (packet instanceof PacketPlayInUseEntity && ((PacketPlayInUseEntity) packet).a() == PacketPlayInUseEntity + .EnumEntityUseAction.ATTACK) { + if (!sent) { + fail("", player) + } else { + sent = false; + } + } else if (packet instanceof PacketPlayInArmAnimation) { + sent = true; + } else if (packet instanceof PacketPlayInFlying) { + sent = false; + } + //playerData.setCheckVl(vl, this); + } +} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 010037b..6968ef1 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -36,7 +36,7 @@ checks: broadcast-punishment: true punish-vl: 200 punish-commands: - - "kick {player} GroundSpoof A" + - "kick {player} FlappyAC > Suspicious Activity" vl: 20 fly: a: @@ -45,7 +45,7 @@ checks: broadcast-punishment: true punish-vl: 200 punish-commands: - - "kick {player} Fly A" + - "kick {player} FlappyAC > Suspicious Activity" vl: 15 badpackets: a: @@ -54,7 +54,7 @@ checks: broadcast-punishment: true punish-vl: 10 punish-commands: - - "kick {player} BadPackets A" + - "kick {player} FlappyAC > Suspicious Activity" vl: 10 b: enabled: true @@ -62,7 +62,7 @@ checks: broadcast-punishment: true punish-vl: 200 punish-commands: - - "kick {player} BadPackets A" + - "kick {player} FlappyAC > Suspicious Activity" vl: 10 skinblinker: a: @@ -72,4 +72,4 @@ checks: punish-vl: 100 punish-commands: - "kick {player} SkinBlinker A" - vl: 10 \ No newline at end of file + vl: 10