From 6924e803b080a451e61f2f1a7d50f6a773b0db64 Mon Sep 17 00:00:00 2001 From: Morphan1 Date: Tue, 13 Mar 2018 03:58:28 -0400 Subject: [PATCH] Fix strange sign cast exceptions, fixes #1729 --- .../events/player/PlayerChangesSignScriptEvent.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugin/src/main/java/net/aufdemrand/denizen/events/player/PlayerChangesSignScriptEvent.java b/plugin/src/main/java/net/aufdemrand/denizen/events/player/PlayerChangesSignScriptEvent.java index 92bb50ee56..56b3a492f8 100644 --- a/plugin/src/main/java/net/aufdemrand/denizen/events/player/PlayerChangesSignScriptEvent.java +++ b/plugin/src/main/java/net/aufdemrand/denizen/events/player/PlayerChangesSignScriptEvent.java @@ -11,6 +11,7 @@ import net.aufdemrand.denizencore.tags.core.EscapeTags; import net.aufdemrand.denizencore.utilities.CoreUtilities; import org.bukkit.Bukkit; +import org.bukkit.block.BlockState; import org.bukkit.block.Sign; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -136,7 +137,11 @@ public void onPlayerChangesSign(SignChangeEvent event) { if (dEntity.isNPC(event.getPlayer())) { return; } - Sign sign = (Sign) event.getBlock().getState(); + BlockState state = event.getBlock().getState(); + if (!(state instanceof Sign)) { + return; + } + Sign sign = (Sign) state; material = dMaterial.getMaterialFrom(event.getBlock().getType(), event.getBlock().getData()); location = new dLocation(event.getBlock().getLocation()); cuboids = new dList();