Skip to content

Commit 158f816

Browse files
authored
Merge branch 'GrimAnticheat:2.0' into 2.0
2 parents 0e8a872 + 0318693 commit 158f816

32 files changed

+265
-138
lines changed

build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ repositories {
3131
}
3232

3333
dependencies {
34-
implementation("com.github.retrooper.packetevents:spigot:2.3.1-SNAPSHOT")
34+
implementation("com.github.retrooper:packetevents-spigot:2.3.1-SNAPSHOT")
3535
implementation("co.aikar:acf-paper:0.5.1-SNAPSHOT")
3636
implementation("club.minnced:discord-webhooks:0.8.0") // Newer versions include kotlin-stdlib, which leads to incompatibility with plugins that use Kotlin
3737
implementation("it.unimi.dsi:fastutil:8.5.13")
@@ -136,7 +136,7 @@ tasks.shadowJar {
136136
relocate("club.minnced", "ac.grim.grimac.shaded.discord-webhooks")
137137
relocate("github.scarsz.configuralize", "ac.grim.grimac.shaded.configuralize")
138138
relocate("com.github.puregero", "ac.grim.grimac.shaded.com.github.puregero")
139-
relocate("com.google.gson", "ac.grim.grimac.shaded.gson")
139+
relocate("com.google.code.gson", "ac.grim.grimac.shaded.gson")
140140
relocate("alexh", "ac.grim.grimac.shaded.maps")
141141
relocate("it.unimi.dsi.fastutil", "ac.grim.grimac.shaded.fastutil")
142142
relocate("net.kyori", "ac.grim.grimac.shaded.kyori")

src/main/java/ac/grim/grimac/checks/impl/badpackets/BadPacketsA.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,14 @@ public BadPacketsA(final GrimPlayer player) {
1919
@Override
2020
public void onPacketReceive(PacketReceiveEvent event) {
2121
if (event.getPacketType() == PacketType.Play.Client.HELD_ITEM_CHANGE) {
22-
WrapperPlayClientHeldItemChange packet = new WrapperPlayClientHeldItemChange(event);
22+
final int slot = new WrapperPlayClientHeldItemChange(event).getSlot();
2323

24-
int slot = packet.getSlot();
25-
26-
if (slot == lastSlot) {
27-
flagAndAlert("slot=" + slot);
24+
if (slot == lastSlot && flagAndAlert("slot=" + slot) && shouldModifyPackets()) {
25+
event.setCancelled(true);
26+
player.onPacketCancel();
2827
}
2928

30-
lastSlot = packet.getSlot();
29+
lastSlot = slot;
3130
}
3231
}
3332
}

src/main/java/ac/grim/grimac/checks/impl/badpackets/BadPacketsB.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ public BadPacketsB(GrimPlayer player) {
1717
@Override
1818
public void onPacketReceive(final PacketReceiveEvent event) {
1919
if (event.getPacketType() == PacketType.Play.Client.STEER_VEHICLE) {
20-
WrapperPlayClientSteerVehicle packet = new WrapperPlayClientSteerVehicle(event);
20+
final WrapperPlayClientSteerVehicle packet = new WrapperPlayClientSteerVehicle(event);
2121

22-
float forwards = Math.abs(packet.getForward());
23-
float sideways = Math.abs(packet.getSideways());
24-
25-
if (forwards > 0.98f || sideways > 0.98f) {
26-
flagAndAlert();
22+
if (Math.abs(packet.getForward()) > 0.98f || Math.abs(packet.getSideways()) > 0.98f) {
23+
if (flagAndAlert("forwards=" + packet.getForward() + ", sideways=" + packet.getSideways()) && shouldModifyPackets()) {
24+
event.setCancelled(true);
25+
player.onPacketCancel();
26+
}
2727
}
2828
}
2929
}

src/main/java/ac/grim/grimac/checks/impl/badpackets/BadPacketsC.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,12 @@ public BadPacketsC(GrimPlayer player) {
1717
@Override
1818
public void onPacketReceive(PacketReceiveEvent event) {
1919
if (event.getPacketType() == PacketType.Play.Client.INTERACT_ENTITY) {
20-
WrapperPlayClientInteractEntity packet = new WrapperPlayClientInteractEntity(event);
21-
if (packet.getEntityId() == player.entityID) {
22-
flagAndAlert(); // Instant ban
20+
if (new WrapperPlayClientInteractEntity(event).getEntityId() == player.entityID) {
21+
// Instant ban
22+
if (flagAndAlert() && shouldModifyPackets()) {
23+
event.setCancelled(true);
24+
player.onPacketCancel();
25+
}
2326
}
2427
}
2528
}

src/main/java/ac/grim/grimac/checks/impl/badpackets/BadPacketsE.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public void onPacketReceive(PacketReceiveEvent event) {
2828
}
2929

3030
if (noReminderTicks > 20) {
31-
flagAndAlert(); // ban? I don't know how this would false
31+
flagAndAlert("ticks=" + noReminderTicks); // ban? I don't know how this would false
3232
}
3333
}
3434

src/main/java/ac/grim/grimac/checks/impl/badpackets/BadPacketsF.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@ public void onPacketReceive(PacketReceiveEvent event) {
2828
exemptNext = false;
2929
return;
3030
}
31-
flagAndAlert();
31+
if (flagAndAlert("state=true") && shouldModifyPackets()) {
32+
event.setCancelled(true);
33+
player.onPacketCancel();
34+
}
3235
}
3336

3437
lastSprinting = true;
@@ -38,7 +41,10 @@ public void onPacketReceive(PacketReceiveEvent event) {
3841
exemptNext = false;
3942
return;
4043
}
41-
flagAndAlert();
44+
if (flagAndAlert("state=false") && shouldModifyPackets()) {
45+
event.setCancelled(true);
46+
player.onPacketCancel();
47+
}
4248
}
4349

4450
lastSprinting = false;

src/main/java/ac/grim/grimac/checks/impl/badpackets/BadPacketsG.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,19 @@ public void onPacketReceive(PacketReceiveEvent event) {
2626

2727
if (packet.getAction() == WrapperPlayClientEntityAction.Action.START_SNEAKING) {
2828
if (lastSneaking && !wasTeleport) {
29-
flagAndAlert();
29+
if (flagAndAlert("state=true") && shouldModifyPackets()) {
30+
event.setCancelled(true);
31+
player.onPacketCancel();
32+
}
3033
} else {
3134
lastSneaking = true;
3235
}
3336
} else if (packet.getAction() == WrapperPlayClientEntityAction.Action.STOP_SNEAKING) {
3437
if (!lastSneaking && !wasTeleport) {
35-
flagAndAlert();
38+
if (flagAndAlert("state=false") && shouldModifyPackets()) {
39+
event.setCancelled(true);
40+
player.onPacketCancel();
41+
}
3642
} else {
3743
lastSneaking = false;
3844
}

src/main/java/ac/grim/grimac/checks/impl/badpackets/BadPacketsH.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public void onPacketReceive(PacketReceiveEvent event) {
2626
if (packet.getAction() != WrapperPlayClientInteractEntity.InteractAction.ATTACK) return;
2727
if (!sentAnimation && flagAndAlert()) {
2828
event.setCancelled(true);
29+
player.onPacketCancel();
2930
}
3031

3132
sentAnimation = false;

src/main/java/ac/grim/grimac/checks/impl/badpackets/BadPacketsI.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@ public BadPacketsI(GrimPlayer player) {
1717
@Override
1818
public void onPacketReceive(PacketReceiveEvent event) {
1919
if (event.getPacketType() == PacketType.Play.Client.PLAYER_ABILITIES) {
20-
WrapperPlayClientPlayerAbilities packet = new WrapperPlayClientPlayerAbilities(event);
21-
22-
if (packet.isFlying() && !player.canFly) {
23-
flagAndAlert();
20+
if (new WrapperPlayClientPlayerAbilities(event).isFlying() && !player.canFly) {
21+
if (flagAndAlert() && shouldModifyPackets()) {
22+
event.setCancelled(true);
23+
player.onPacketCancel();
24+
}
2425
}
2526
}
2627
}

src/main/java/ac/grim/grimac/checks/impl/badpackets/BadPacketsJ.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ public BadPacketsJ(GrimPlayer player) {
1717
public void onPacketReceive(PacketReceiveEvent event) {
1818
if (event.getPacketType() == PacketType.Play.Client.STEER_VEHICLE) {
1919
if (!player.compensatedEntities.getSelf().inVehicle()) {
20-
flagAndAlert();
20+
if (flagAndAlert() && shouldModifyPackets()) {
21+
event.setCancelled(true);
22+
player.onPacketCancel();
23+
}
2124
}
2225
}
2326
}

0 commit comments

Comments
 (0)