Files
Purpur/patches/server/0027-Signs-editable-on-right-click.patch
William Blake Galbreath c0c212bf48 Updated Upstream (Paper)
Upstream has released updates that appears to apply and compile correctly

Paper Changes:
b75eeca0 Boost light task priority to ensure it doesnt hold up chunk loads
3d2bc848 Ensure VillagerTrades doesn't load async - fixes #3495
e470f1ef Add more information to Timing Reports
f4a47db6 Improve Thread Pool usage to allow single threads for single cpu servers
a4fe910f Fix sounds when using worldedit regen command
70ad51a8 Updated Upstream (Bukkit/CraftBukkit)
d7cfa4fa Improve legacy format serialization more
2020-06-05 21:42:48 -05:00

65 lines
3.1 KiB
Diff

From d724d49d366b35c1181dd2fc15e42daade8f1ce6 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
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 8a31054a1d..d20849ce2b 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 0e9a90b70f..099d98e04c 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 426e6f18bd..f098a36b51 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