From 9f6c7db8fd9a50df8774c995f7eba4ca5fe19e81 Mon Sep 17 00:00:00 2001 From: LoJoSho Date: Sat, 11 Mar 2023 19:20:35 -0600 Subject: [PATCH] fix: kicking while interacting in emote/wardrobe #76 --- .../listener/PlayerGameListener.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/listener/PlayerGameListener.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/listener/PlayerGameListener.java index cec785c3..6ea66878 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/listener/PlayerGameListener.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/listener/PlayerGameListener.java @@ -51,6 +51,7 @@ public class PlayerGameListener implements Listener { registerMenuChangeListener(); registerPlayerEquipmentListener(); registerPlayerArmListener(); + registerEntityUseListener(); //registerLookMovement(); //registerMoveListener(); @@ -406,6 +407,21 @@ public class PlayerGameListener implements Listener { }); } + private void registerEntityUseListener() { + ProtocolLibrary.getProtocolManager().addPacketListener(new PacketAdapter(HMCCosmeticsPlugin.getInstance(), ListenerPriority.NORMAL, PacketType.Play.Client.USE_ENTITY) { + @Override + public void onPacketReceiving(PacketEvent event) { + if (!(event.getPlayer() instanceof Player)) return; + Player player = event.getPlayer(); + CosmeticUser user = CosmeticUsers.getUser(player); + if (user == null) return; + if (user.getUserEmoteManager().isPlayingEmote() || user.isInWardrobe()) { + event.setCancelled(true); + } + } + }); + } + private void registerLookMovement() { ProtocolLibrary.getProtocolManager().addPacketListener(new PacketAdapter(HMCCosmeticsPlugin.getInstance(), ListenerPriority.NORMAL, PacketType.Play.Client.LOOK) { @Override