Skip to content

Commit

Permalink
fixed some falses, added PlayerUtil and removed checks from last pr
Browse files Browse the repository at this point in the history
  • Loading branch information
JustDoom committed May 18, 2021
1 parent 274a03c commit 0ca7a20
Showing 18 changed files with 168 additions and 155 deletions.
10 changes: 2 additions & 8 deletions src/main/java/com/justdoom/flappyanticheat/checks/Check.java
Original file line number Diff line number Diff line change
@@ -3,14 +3,10 @@
import com.justdoom.flappyanticheat.FlappyAnticheat;
import com.justdoom.flappyanticheat.customevents.FlagEvent;
import com.justdoom.flappyanticheat.customevents.PunishEvent;
import com.justdoom.flappyanticheat.data.PlayerData;
import com.justdoom.flappyanticheat.utils.Color;
import com.justdoom.flappyanticheat.utils.Ping;
import com.justdoom.flappyanticheat.utils.PlayerUtil;
import io.github.retrooper.packetevents.PacketEvents;
import io.github.retrooper.packetevents.event.PacketEvent;
import io.github.retrooper.packetevents.event.PacketListenerAbstract;
import io.github.retrooper.packetevents.utils.server.ServerUtils;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.chat.HoverEvent;
@@ -19,8 +15,6 @@
import org.bukkit.GameMode;
import org.bukkit.entity.Player;

import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;

public class Check extends PacketListenerAbstract {
@@ -49,7 +43,7 @@ public void fail(String debug, Player player) {

String flagmsg = FlappyAnticheat.getInstance().getConfig().getString("prefix") + FlappyAnticheat.getInstance().getConfig().getString("messages.failed-check");
flagmsg = flagmsg.replace("{player}", player.getName()).replace("{check}", this.check + " " + checkType).replace("{vl}", String.valueOf(FlappyAnticheat.getInstance().violationHandler.getViolations(this, player)));
String hover = FlappyAnticheat.getInstance().getConfig().getString("messages.hover").replace("{ping}", String.valueOf(Ping.getPing(player))).replace("{debug}", debug).replace("{tps}", String.valueOf(PacketEvents.get().getServerUtils().getTPS()));
String hover = FlappyAnticheat.getInstance().getConfig().getString("messages.hover").replace("{ping}", String.valueOf(PlayerUtil.getPing(player))).replace("{debug}", debug).replace("{tps}", String.valueOf(PacketEvents.get().getServerUtils().getTPS()));

if(experimental){
flagmsg = flagmsg+"&r*";
Original file line number Diff line number Diff line change
@@ -3,13 +3,11 @@
import com.justdoom.flappyanticheat.FlappyAnticheat;
import com.justdoom.flappyanticheat.checks.movement.fly.FlyA;
import com.justdoom.flappyanticheat.checks.movement.groundspoof.GroundSpoofA;
import com.justdoom.flappyanticheat.checks.movement.noslow.NoSlowA;
import com.justdoom.flappyanticheat.checks.movement.speed.SpeedA;
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;
@@ -28,13 +26,11 @@ 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 NoSlowA());
PacketEvents.get().registerListener(new SkinBlinkerA());
PacketEvents.get().registerListener(new SpeedA());

Bukkit.getPluginManager().registerEvents(new BlockPlaceA(), plugin);
Bukkit.getPluginManager().registerEvents(new BlockPlaceB(), plugin);
}
}
}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
package com.justdoom.flappyanticheat.checks.movement.fly;

import com.justdoom.flappyanticheat.FlappyAnticheat;
import com.justdoom.flappyanticheat.checks.Check;
import com.justdoom.flappyanticheat.checks.CheckData;
import com.justdoom.flappyanticheat.data.PlayerData;
import com.justdoom.flappyanticheat.utils.PlayerUtil;
import io.github.retrooper.packetevents.PacketEvents;
import io.github.retrooper.packetevents.event.impl.PacketPlayReceiveEvent;
import io.github.retrooper.packetevents.packettype.PacketType;
import io.github.retrooper.packetevents.packetwrappers.play.in.flying.WrappedPacketInFlying;
@@ -28,6 +31,11 @@ public FlyA(){
public void onPacketPlayReceive(PacketPlayReceiveEvent event) {
if (event.getPacketId() == PacketType.Play.Client.POSITION || event.getPacketId() == PacketType.Play.Client.POSITION_LOOK) {

String path = ("checks." + check + "." + checkType).toLowerCase();
if(PacketEvents.get().getServerUtils().getTPS() <= FlappyAnticheat.getInstance().getConfig().getDouble(path + ".min-tps")){
return;
}

WrappedPacketInFlying packet = new WrappedPacketInFlying(event.getNMSPacket());
Player player = event.getPlayer();

@@ -40,7 +48,7 @@ public void onPacketPlayReceive(PacketPlayReceiveEvent event) {
this.lastOnGround = onGround;
boolean lastLastOnGround = this.lastLastOnGround;
this.lastLastOnGround = lastOnGround;
if (!lastLastOnGround && !lastOnGround && !onGround && !isInLiquid(player)) {
if (!lastLastOnGround && !lastOnGround && !onGround && !PlayerUtil.isInLiquid(player) && !PlayerUtil.isOnClimbable(player)) {
double deltaY = (currentLoc.getY() - lastLocation.getY());
double lastDeltaY = this.lastDeltaY;
this.lastDeltaY = deltaY;
@@ -59,13 +67,6 @@ public void onPacketPlayReceive(PacketPlayReceiveEvent event) {
}
}

public boolean isInLiquid(Player player) {
if(player.isInWater() || player.getLocation().getBlock().getType() == Material.LAVA){
return true;
}
return false;
}

//Not at all taken from Juaga Anticheat, ignore this message ;)
//Got stuck with a bug, had most of this code myself anyway
}
Original file line number Diff line number Diff line change
@@ -4,6 +4,8 @@
import com.justdoom.flappyanticheat.checks.Check;
import com.justdoom.flappyanticheat.checks.CheckData;
import com.justdoom.flappyanticheat.data.PlayerData;
import com.justdoom.flappyanticheat.utils.PlayerUtil;
import io.github.retrooper.packetevents.PacketEvents;
import io.github.retrooper.packetevents.event.impl.PacketPlayReceiveEvent;
import io.github.retrooper.packetevents.packettype.PacketType;
import io.github.retrooper.packetevents.packetwrappers.play.in.flying.WrappedPacketInFlying;
@@ -40,10 +42,15 @@ public void onPacketPlayReceive(PacketPlayReceiveEvent e) {

WrappedPacketInFlying packet = new WrappedPacketInFlying(e.getNMSPacket());

String path = ("checks." + check + "." + checkType).toLowerCase();
if(PacketEvents.get().getServerUtils().getTPS() <= FlappyAnticheat.getInstance().getConfig().getDouble(path + ".min-tps")){
return;
}

double groundY = 0.015625;
boolean client = packet.isOnGround(), server = packet.getY() % groundY < 0.0001;

if (client != server) {
if (client != server && !PlayerUtil.isOnClimbable(player)) {
if (++buffer > 1) {

if(player.getLocation().getY() < 1){
@@ -67,7 +74,7 @@ public void onPacketPlayReceive(PacketPlayReceiveEvent e) {
}
}

for (Block block : getNearbyBlocks(new Location(player.getWorld(), packet.getX(), packet.getY(), packet.getZ()), 2)) {
for (Block block : PlayerUtil.getNearbyBlocks(new Location(player.getWorld(), packet.getX(), packet.getY(), packet.getZ()), 2)) {

if (Tag.SHULKER_BOXES.isTagged(block.getType())) {
shulker = true;
@@ -88,18 +95,4 @@ public void onPacketPlayReceive(PacketPlayReceiveEvent e) {
} else if (buffer > 0) buffer--;
}
}

public Set<Block> getNearbyBlocks(Location location, int radius) {
Set<Block> blocks = new HashSet<>();

for(int x = location.getBlockX() - radius; x <= location.getBlockX() + radius; x++) {
for(int y = location.getBlockY() - radius; y <= location.getBlockY() + radius; y++) {
for(int z = location.getBlockZ() - radius; z <= location.getBlockZ() + radius; z++) {
blocks.add(location.getWorld().getBlockAt(x, y, z));
}
}
}

return blocks;
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.justdoom.flappyanticheat.checks.movement.noslow;

import com.justdoom.flappyanticheat.FlappyAnticheat;
import com.justdoom.flappyanticheat.checks.Check;
import com.justdoom.flappyanticheat.checks.CheckData;
import com.justdoom.flappyanticheat.data.PlayerData;
@@ -31,6 +32,11 @@ public void onPacketPlayReceive(PacketPlayReceiveEvent event) {
if(event.getPacketId() == PacketType.Play.Client.POSITION){
WrappedPacketInFlying packet = new WrappedPacketInFlying(event.getNMSPacket());

String path = ("checks." + check + "." + checkType).toLowerCase();
if(PacketEvents.get().getServerUtils().getTPS() <= FlappyAnticheat.getInstance().getConfig().getDouble(path + ".min-tps")){
return;
}

Location currentLoc = new Location(event.getPlayer().getWorld(), packet.getX(), packet.getY(), packet.getZ());
Location lastLocation = this.lastLocation;
this.lastLocation = currentLoc;
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.justdoom.flappyanticheat.checks.movement.speed;

import com.justdoom.flappyanticheat.FlappyAnticheat;
import com.justdoom.flappyanticheat.checks.Check;
import io.github.retrooper.packetevents.PacketEvents;
import io.github.retrooper.packetevents.event.impl.PacketPlayReceiveEvent;
import io.github.retrooper.packetevents.packettype.PacketType;
import io.github.retrooper.packetevents.packetwrappers.play.in.flying.WrappedPacketInFlying;
@@ -19,10 +21,16 @@ public SpeedA(){

@Override
public void onPacketPlayReceive(PacketPlayReceiveEvent event) {

if(event.getPacketId() == PacketType.Play.Client.POSITION){
WrappedPacketInFlying packet = new WrappedPacketInFlying(event.getNMSPacket());
Player player = event.getPlayer();

String path = ("checks." + check + "." + checkType).toLowerCase();
if(PacketEvents.get().getServerUtils().getTPS() <= FlappyAnticheat.getInstance().getConfig().getDouble(path + ".min-tps")){
return;
}

double deltaX = packet.getX() - player.getLocation().getX();
double deltaZ = packet.getZ() - player.getLocation().getZ();

Original file line number Diff line number Diff line change
@@ -4,6 +4,7 @@
import com.justdoom.flappyanticheat.checks.Check;
import com.justdoom.flappyanticheat.checks.CheckData;
import com.justdoom.flappyanticheat.data.PlayerData;
import io.github.retrooper.packetevents.PacketEvents;
import io.github.retrooper.packetevents.event.impl.PacketPlayReceiveEvent;
import io.github.retrooper.packetevents.packettype.PacketType;
import io.github.retrooper.packetevents.packetwrappers.play.in.flying.WrappedPacketInFlying;
@@ -16,7 +17,9 @@ public BadPacketsA(){

@Override
public void onPacketPlayReceive(PacketPlayReceiveEvent event) {

if (event.getPacketId() == PacketType.Play.Client.POSITION || event.getPacketId() == PacketType.Play.Client.POSITION_LOOK) {

float pitch = event.getPlayer().getLocation().getPitch();
if(Math.abs(pitch) > 90F || Math.abs(pitch) < -90F){
String suspectedHack = "Old/Bad KillAura (This cannot false)";
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package com.justdoom.flappyanticheat.checks.player.badpackets;

import com.justdoom.flappyanticheat.FlappyAnticheat;
import com.justdoom.flappyanticheat.checks.Check;
import com.justdoom.flappyanticheat.checks.CheckData;
import com.justdoom.flappyanticheat.data.PlayerData;
import io.github.retrooper.packetevents.PacketEvents;
import io.github.retrooper.packetevents.event.impl.PacketPlayReceiveEvent;
import io.github.retrooper.packetevents.packettype.PacketType;

@@ -16,7 +18,14 @@ public BadPacketsB(){

@Override
public void onPacketPlayReceive(PacketPlayReceiveEvent event) {

if (event.getPacketId() == PacketType.Play.Client.USE_ENTITY){

String path = ("checks." + check + "." + checkType).toLowerCase();
if(PacketEvents.get().getServerUtils().getTPS() <= FlappyAnticheat.getInstance().getConfig().getDouble(path + ".min-tps")){
return;
}

if(!wasLastArmAnimation){
fail("&7ArmAnimation=&2false", event.getPlayer());
}
Original file line number Diff line number Diff line change
@@ -2,6 +2,7 @@

import com.justdoom.flappyanticheat.FlappyAnticheat;
import com.justdoom.flappyanticheat.checks.Check;
import io.github.retrooper.packetevents.PacketEvents;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.block.Block;
@@ -22,6 +23,12 @@ public BlockPlaceA() {

@EventHandler
public void onBlockPlace(BlockPlaceEvent event) {

String path = ("checks." + check + "." + checkType).toLowerCase();
if(PacketEvents.get().getServerUtils().getTPS() <= FlappyAnticheat.getInstance().getConfig().getDouble(path + ".min-tps")){
return;
}

Player player = event.getPlayer();

Block block = event.getBlock();
Original file line number Diff line number Diff line change
@@ -2,6 +2,7 @@

import com.justdoom.flappyanticheat.FlappyAnticheat;
import com.justdoom.flappyanticheat.checks.Check;
import io.github.retrooper.packetevents.PacketEvents;
import org.bukkit.Bukkit;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
@@ -18,13 +19,20 @@ public BlockPlaceB() {

@EventHandler
public void onBlockPlace(BlockPlaceEvent event) {

Player player = event.getPlayer();

Block block = event.getBlock();

ItemStack hand = player.getItemInHand();

String path = ("checks." + check + "." + checkType).toLowerCase();
if(PacketEvents.get().getServerUtils().getTPS() <= FlappyAnticheat.getInstance().getConfig().getDouble(path + ".min-tps")){
return;
}

if (block.getType() != hand.getType()) {

Bukkit.getScheduler().runTaskAsynchronously(FlappyAnticheat.getInstance(), () -> fail("hand=" + hand.getType() + " placed=" + block.getType(), player));
}
}
Loading

0 comments on commit 0ca7a20

Please sign in to comment.