From dcaf704bda3c075a7b3167b1c7ffbd42bfecb9e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Miguel=20Moreno?= Date: Fri, 25 Jun 2021 15:59:24 +0200 Subject: [PATCH] Fixed block selection on 1.17 - Upgraded ProtocolLib to latest snapshot - Updated PlayerInteractionListener#onPacketReceiving() --- pom.xml | 2 +- .../io/josemmo/bukkit/plugin/utils/SelectBlockTask.java | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index ea30f26..592a192 100644 --- a/pom.xml +++ b/pom.xml @@ -43,7 +43,7 @@ com.comphenix.protocol ProtocolLib - 4.7.0-SNAPSHOT + 4.7.0-20210624.212914-2 provided diff --git a/src/main/java/io/josemmo/bukkit/plugin/utils/SelectBlockTask.java b/src/main/java/io/josemmo/bukkit/plugin/utils/SelectBlockTask.java index a224dfa..bcc3d85 100644 --- a/src/main/java/io/josemmo/bukkit/plugin/utils/SelectBlockTask.java +++ b/src/main/java/io/josemmo/bukkit/plugin/utils/SelectBlockTask.java @@ -152,7 +152,6 @@ public void onPlayerQuit(PlayerQuitEvent event) { @Override public void onPacketReceiving(PacketEvent event) { - EnumWrappers.EntityUseAction action = event.getPacket().getEntityUseActions().read(0); Player player = event.getPlayer(); // Get task responsible for handling this event @@ -160,6 +159,14 @@ public void onPacketReceiving(PacketEvent event) { SelectBlockTask task = instances.get(uuid); if (task == null) return; + // Get action + EnumWrappers.EntityUseAction action; + if (Internals.MINECRAFT_VERSION < 17) { + action = event.getPacket().getEntityUseActions().read(0); + } else { + action = event.getPacket().getEnumEntityUseActions().read(0).getAction(); + } + // Player left clicked an entity if (action == EnumWrappers.EntityUseAction.ATTACK) { event.setCancelled(true);