diff --git a/paper-server/patches/sources/net/minecraft/world/item/EnderpearlItem.java.patch b/paper-server/patches/sources/net/minecraft/world/item/EnderpearlItem.java.patch index 0b1cbebad..5b8ef433b 100644 --- a/paper-server/patches/sources/net/minecraft/world/item/EnderpearlItem.java.patch +++ b/paper-server/patches/sources/net/minecraft/world/item/EnderpearlItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/item/EnderpearlItem.java +++ b/net/minecraft/world/item/EnderpearlItem.java -@@ -21,22 +_,38 @@ +@@ -21,22 +_,42 @@ @Override public InteractionResult use(Level level, Player player, InteractionHand hand) { ItemStack itemInHand = player.getItemInHand(hand); @@ -39,7 +39,11 @@ + ); + player.awardStat(Stats.ITEM_USED.get(this)); + } else { -+ // Paper end - PlayerLaunchProjectileEvent ++ if (player instanceof net.minecraft.server.level.ServerPlayer serverPlayer) { ++ serverPlayer.deregisterEnderPearl(thrownEnderpearl.projectile()); ++ serverPlayer.connection.send(new net.minecraft.network.protocol.game.ClientboundCooldownPacket(player.getCooldowns().getCooldownGroup(itemInHand), 0)); // prevent visual desync of cooldown on the slot ++ } ++ // Paper end - PlayerLaunchProjectileEvent + player.containerMenu.sendAllDataToRemote(); + return InteractionResult.FAIL; + }