From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Madeline Miller <mnmiller1@me.com>
Date: Mon, 4 Jan 2021 16:40:55 +1000
Subject: [PATCH] Add API to get exact interaction point in PlayerInteractEvent


diff --git a/src/main/java/org/bukkit/event/player/PlayerInteractEvent.java b/src/main/java/org/bukkit/event/player/PlayerInteractEvent.java
index ed72095b5cf669d9f25852e8ef772a710c54012a..ddea08e4de2198a0a7565e2fd7a05571ed48f27b 100644
--- a/src/main/java/org/bukkit/event/player/PlayerInteractEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerInteractEvent.java
@@ -1,5 +1,6 @@
 package org.bukkit.event.player;
 
+import org.bukkit.Location;
 import org.bukkit.Material;
 import org.bukkit.block.Block;
 import org.bukkit.block.BlockFace;
@@ -234,13 +235,30 @@ public class PlayerInteractEvent extends PlayerEvent implements Cancellable {
      * <p>
      * All vector components are between 0.0 and 1.0 inclusive.
      *
+     * @deprecated misleading, use {@link #getInteractionPoint()}
      * @return the clicked position. May be null.
      */
     @Nullable
+    @Deprecated // Paper
     public Vector getClickedPosition() {
         return clickedPosistion;
     }
 
+    // Paper start
+    /**
+     * The exact point at which the interaction occurred. May be null.
+     *
+     * @return the exact interaction point. May be null.
+     */
+    @Nullable
+    public Location getInteractionPoint() {
+        if (this.blockClicked == null || this.clickedPosistion == null) {
+            return null;
+        }
+        return this.blockClicked.getLocation().add(this.clickedPosistion);
+    }
+    // Paper end
+
     @NotNull
     @Override
     public HandlerList getHandlers() {
