From 90c5d8bb6eafbdd3f75f4de4efc3bd59e1187435 Mon Sep 17 00:00:00 2001 From: Bram Date: Wed, 4 Sep 2024 21:03:29 +0200 Subject: [PATCH] Improved: AutoTotemB --- .../com/deathmotion/totemguard/TotemGuard.java | 2 +- .../totemguard/checks/impl/totem/AutoTotemA.java | 9 +-------- .../totemguard/checks/impl/totem/AutoTotemB.java | 14 +++++++++++--- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/deathmotion/totemguard/TotemGuard.java b/src/main/java/com/deathmotion/totemguard/TotemGuard.java index 6cac3ea..1add423 100644 --- a/src/main/java/com/deathmotion/totemguard/TotemGuard.java +++ b/src/main/java/com/deathmotion/totemguard/TotemGuard.java @@ -93,7 +93,7 @@ private void registerPacketListeners() { } private void registerChecks() { - PacketEvents.getAPI().getEventManager().registerListener(new AutoTotemA(this), PacketListenerPriority.NORMAL); + new AutoTotemA(this); PacketEvents.getAPI().getEventManager().registerListener(new AutoTotemB(this), PacketListenerPriority.NORMAL); new ManualTotemA(this); PacketEvents.getAPI().getEventManager().registerListener(new BadPacketsA(this), PacketListenerPriority.NORMAL); diff --git a/src/main/java/com/deathmotion/totemguard/checks/impl/totem/AutoTotemA.java b/src/main/java/com/deathmotion/totemguard/checks/impl/totem/AutoTotemA.java index 634eb07..ade635b 100644 --- a/src/main/java/com/deathmotion/totemguard/checks/impl/totem/AutoTotemA.java +++ b/src/main/java/com/deathmotion/totemguard/checks/impl/totem/AutoTotemA.java @@ -18,8 +18,6 @@ package com.deathmotion.totemguard.checks.impl.totem; -import com.github.retrooper.packetevents.event.PacketListener; -import com.github.retrooper.packetevents.event.PacketReceiveEvent; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import com.deathmotion.totemguard.TotemGuard; @@ -37,7 +35,7 @@ import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; -public class AutoTotemA extends Check implements PacketListener, Listener { +public class AutoTotemA extends Check implements Listener { private final TotemGuard plugin; private final ConcurrentHashMap totemUsage; @@ -85,11 +83,6 @@ public void onInventoryClick(InventoryClickEvent event) { } } - @Override - public void onPacketReceive(PacketReceiveEvent event) { - // TODO: Implement packet listener - } - @Override public void resetData() { totemUsage.clear(); diff --git a/src/main/java/com/deathmotion/totemguard/checks/impl/totem/AutoTotemB.java b/src/main/java/com/deathmotion/totemguard/checks/impl/totem/AutoTotemB.java index 10de83a..5c842ed 100644 --- a/src/main/java/com/deathmotion/totemguard/checks/impl/totem/AutoTotemB.java +++ b/src/main/java/com/deathmotion/totemguard/checks/impl/totem/AutoTotemB.java @@ -2,11 +2,11 @@ import com.deathmotion.totemguard.TotemGuard; import com.deathmotion.totemguard.checks.Check; -import com.deathmotion.totemguard.config.Settings; import com.github.retrooper.packetevents.event.PacketListener; import com.github.retrooper.packetevents.event.PacketReceiveEvent; import com.github.retrooper.packetevents.protocol.packettype.PacketType; -import com.github.retrooper.packetevents.wrapper.play.client.WrapperPlayClientPluginMessage; +import com.github.retrooper.packetevents.protocol.player.DiggingAction; +import com.github.retrooper.packetevents.wrapper.play.client.WrapperPlayClientPlayerDigging; import io.github.retrooper.packetevents.util.folia.FoliaScheduler; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; @@ -76,7 +76,15 @@ public void onInventoryClick(InventoryClickEvent event) { @Override public void onPacketReceive(PacketReceiveEvent event) { - // TODO: Implement packet listener + if (event.getPacketType() == PacketType.Play.Client.PLAYER_DIGGING) { + WrapperPlayClientPlayerDigging packet = new WrapperPlayClientPlayerDigging(event); + Player player = (Player) event.getPlayer(); + + if (packet.getAction().equals(DiggingAction.SWAP_ITEM_WITH_OFFHAND) && player.getInventory().getItemInMainHand().getType() == Material.TOTEM_OF_UNDYING) { + recordTotemEvent(totemReEquipTimes, player.getUniqueId()); + checkPlayerConsistency(player); + } + } } @Override