From 77d92cd51596676373314c8eedb92d804fb8552d Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot Date: Sat, 27 Oct 2018 08:15:41 +1100 Subject: [PATCH] SPIGOT-4446: Legacy rotation methods don't work for wall mounted skulls By: md_5 --- .../org/bukkit/craftbukkit/block/CraftSkull.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java b/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java index ad7a2dd17..110e04597 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java @@ -12,6 +12,8 @@ import org.bukkit.SkullType; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; import org.bukkit.block.Skull; +import org.bukkit.block.data.BlockData; +import org.bukkit.block.data.Directional; import org.bukkit.block.data.Rotatable; import org.bukkit.craftbukkit.entity.CraftPlayer; @@ -106,13 +108,18 @@ public class CraftSkull extends CraftBlockEntityState implement @Override public BlockFace getRotation() { - return ((Rotatable) getBlockData()).getRotation(); + BlockData blockData = getBlockData(); + return (blockData instanceof Rotatable) ? ((Rotatable) blockData).getRotation() : ((Directional) blockData).getFacing(); } @Override public void setRotation(BlockFace rotation) { - Rotatable blockData = (Rotatable) getBlockData(); - blockData.setRotation(rotation); + BlockData blockData = getBlockData(); + if (blockData instanceof Rotatable) { + ((Rotatable) blockData).setRotation(rotation); + } else { + ((Directional) blockData).setFacing(rotation); + } setBlockData(blockData); }