From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Fri, 23 Jun 2023 12:16:35 -0700
Subject: [PATCH] Add Sign#getInteractableSideFor


diff --git a/src/main/java/org/bukkit/block/Sign.java b/src/main/java/org/bukkit/block/Sign.java
index 1fdb1144949adc3a2b5cbc3aca94d2f8e0c6d9ee..7983ccb54f5f358dea1ffb530b9cc5bd716fb9b1 100644
--- a/src/main/java/org/bukkit/block/Sign.java
+++ b/src/main/java/org/bukkit/block/Sign.java
@@ -187,4 +187,34 @@ public interface Sign extends TileState, Colorable {
      */
     @Nullable
     public Player getAllowedEditor();
+    // Paper start - get side for player
+    /**
+     * Compute the side facing the specified entity.
+     *
+     * @param entity the entity
+     * @return the side it is facing
+     */
+    default @NotNull Side getInteractableSideFor(org.bukkit.entity.@NotNull Entity entity) {
+        return this.getInteractableSideFor(entity.getLocation());
+    }
+
+    /**
+     * Compute the side facing the specific position.
+     *
+     * @param position the position
+     * @return the side the position is facing
+     */
+    default @NotNull Side getInteractableSideFor(io.papermc.paper.math.@NotNull Position position) {
+        return this.getInteractableSideFor(position.x(), position.z());
+    }
+
+    /**
+     * Compute the side facing the specific x and z coordinates.
+     *
+     * @param x the x coord
+     * @param z the z coord
+     * @return the side the coordinates are facing
+     */
+    @NotNull Side getInteractableSideFor(double x, double z);
+    // Paper end
 }
