Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-17 03:50:08 +01:00
e403d6aafc
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: a0149bf16 SPIGOT-6480: Players cannot take books from lecterns that were opened by plugins
37 Zeilen
1.8 KiB
Diff
37 Zeilen
1.8 KiB
Diff
From 0000000000000000000000000000000000000000 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 893cea754ea1858d2b08ba377bbbc90e7c0efd6d..1333d425147e6dc7f21f755a9b25ead9723d4a28 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
|
@@ -29,6 +29,7 @@ import net.minecraft.world.level.block.BlockEnchantmentTable;
|
|
import net.minecraft.world.level.block.BlockWorkbench;
|
|
import net.minecraft.world.level.block.Blocks;
|
|
import net.minecraft.world.level.block.entity.TileEntity;
|
|
+import net.minecraft.world.level.block.entity.TileEntitySign;
|
|
import net.minecraft.world.level.block.state.IBlockData;
|
|
import org.bukkit.GameMode;
|
|
import org.bukkit.Location;
|
|
@@ -605,6 +606,17 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
|
}
|
|
}
|
|
|
|
+ // 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;
|
|
+ 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
|
|
@Override
|
|
public boolean dropItem(boolean dropAll) {
|
|
return getHandle().dropItem(dropAll);
|