From b430451cc77cb298176ce6b63bbb1c952b6af4e7 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 --- src/main/java/net/minecraft/server/BlockSign.java | 11 +++++++++++ .../java/net/minecraft/server/TileEntitySign.java | 1 + src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 5 +++++ 3 files changed, 17 insertions(+) diff --git a/src/main/java/net/minecraft/server/BlockSign.java b/src/main/java/net/minecraft/server/BlockSign.java index 8a31054a1..d20849ce2 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 0e9a90b70..099d98e04 100644 --- a/src/main/java/net/minecraft/server/TileEntitySign.java +++ b/src/main/java/net/minecraft/server/TileEntitySign.java @@ -109,6 +109,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 cd4b4ee29..4609c3c8b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -65,6 +65,11 @@ public class PurpurWorldConfig { return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path)); } + public boolean signRightClickEdit = false; + private void signSettings() { + signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit); + } + public boolean batRidable = false; public boolean batRidableInWater = false; public boolean batRequireShiftToMount = true; -- 2.24.0