From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 24 May 2019 02:39:25 -0500 Subject: [PATCH] Signs editable on right click diff --git a/src/main/java/net/minecraft/server/BlockSign.java b/src/main/java/net/minecraft/server/BlockSign.java index 3585fd82c..770ad5edf 100644 --- a/src/main/java/net/minecraft/server/BlockSign.java +++ b/src/main/java/net/minecraft/server/BlockSign.java @@ -56,6 +56,17 @@ public abstract class BlockSign extends BlockTileEntity implements IBlockWaterlo } } + // Purpur start - right click to open sign editor + if (world.purpurConfig.signRightClickEdit && itemstack.getItem() instanceof ItemSign && + !entityhuman.isSneaking() && entityhuman.abilities.mayBuild && + entityhuman.getBukkitEntity().hasPermission("purpur.sign.edit")) { + tileentitysign.isEditable = true; + tileentitysign.a(entityhuman); + entityhuman.openSign(tileentitysign); + return EnumInteractionResult.SUCCESS; + } + // Purpur end + return tileentitysign.b(entityhuman) ? EnumInteractionResult.SUCCESS : EnumInteractionResult.PASS; } else { return EnumInteractionResult.PASS; diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java index 2b9d5724c..316766970 100644 --- a/src/main/java/net/minecraft/server/TileEntitySign.java +++ b/src/main/java/net/minecraft/server/TileEntitySign.java @@ -113,6 +113,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // return this.isEditable; } + public void setEditor(EntityHuman entityhuman) { a(entityhuman); } // Purpur - OBFHELPER public void a(EntityHuman entityhuman) { // Paper start //this.c = entityhuman; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java index 4f4996011..227436226 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -102,6 +102,11 @@ public class PurpurWorldConfig { }); } + public boolean signRightClickEdit = false; + private void signSettings() { + signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit); + } + public boolean turtleEggsBreakFromExpOrbs = true; public boolean turtleEggsBreakFromItems = true; public boolean turtleEggsBreakFromMinecarts = true;