From c6ac33816b6ec2021d0c7fde25c247131dd22040 Mon Sep 17 00:00:00 2001
From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
Date: Sun, 1 Apr 2018 02:30:41 +0300
Subject: [PATCH] Add method to open already placed sign

---
 ...d-method-to-open-already-placed-sign.patch | 27 ++++++++++++++++
 ...d-method-to-open-already-placed-sign.patch | 31 +++++++++++++++++++
 2 files changed, 58 insertions(+)
 create mode 100644 Spigot-API-Patches/0095-Add-method-to-open-already-placed-sign.patch
 create mode 100644 Spigot-Server-Patches/0286-Add-method-to-open-already-placed-sign.patch

diff --git a/Spigot-API-Patches/0095-Add-method-to-open-already-placed-sign.patch b/Spigot-API-Patches/0095-Add-method-to-open-already-placed-sign.patch
new file mode 100644
index 0000000000..56b2754584
--- /dev/null
+++ b/Spigot-API-Patches/0095-Add-method-to-open-already-placed-sign.patch
@@ -0,0 +1,27 @@
+From 68549b0d344a01f477843cb2023716f2db573f32 Mon Sep 17 00:00:00 2001
+From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
+Date: Sun, 1 Apr 2018 02:28:43 +0300
+Subject: [PATCH] Add method to open already placed sign
+
+
+diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java
+index 3939d4af..dd95773e 100644
+--- a/src/main/java/org/bukkit/entity/HumanEntity.java
++++ b/src/main/java/org/bukkit/entity/HumanEntity.java
+@@ -335,4 +335,13 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, Permissible, Inv
+      */
+     @Deprecated
+     public void setShoulderEntityRight(Entity entity);
++
++    // Paper start - Add method to open already placed sign
++    /**
++     * Opens an editor window for the specified sign
++     *
++     * @param sign The sign to open
++     */
++    void openSign(org.bukkit.block.Sign sign);
++    // Paper end
+ }
+-- 
+2.16.3
+
diff --git a/Spigot-Server-Patches/0286-Add-method-to-open-already-placed-sign.patch b/Spigot-Server-Patches/0286-Add-method-to-open-already-placed-sign.patch
new file mode 100644
index 0000000000..763ce3d414
--- /dev/null
+++ b/Spigot-Server-Patches/0286-Add-method-to-open-already-placed-sign.patch
@@ -0,0 +1,31 @@
+From 7c3df4fa912a9bb2192a0d96cefc191085afd673 Mon Sep 17 00:00:00 2001
+From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
+Date: Sun, 1 Apr 2018 02:29:37 +0300
+Subject: [PATCH] Add method to open already placed sign
+
+
+diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+index a0128426f..d85b5defc 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+@@ -507,4 +507,17 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
+             entity.remove();
+         }
+     }
++
++    // Paper start - Add method to open already placed sign
++    @Override
++    public void openSign(org.bukkit.block.Sign sign) {
++        org.apache.commons.lang.Validate.isTrue(sign.getWorld().equals(this.getWorld()), "Sign must be in the same world as player is in");
++        org.bukkit.craftbukkit.block.CraftSign craftSign = (org.bukkit.craftbukkit.block.CraftSign) sign;
++        net.minecraft.server.TileEntitySign teSign = craftSign.getTileEntity();
++        // Make sign editable temporarily, will be set back to false in PlayerConnection later
++        teSign.isEditable = true;
++
++        getHandle().openSign(teSign);
++    }
++    // Paper end
+ }
+-- 
+2.16.3
+