From 82cd8c3cd1dc427582ffe40266c453cf30ff88fa Mon Sep 17 00:00:00 2001 From: fanta Date: Mon, 12 Aug 2024 08:39:24 +0200 Subject: [PATCH] fix sign updates --- .../classic/handlers/sign/SignManager.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/sign/SignManager.java b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/sign/SignManager.java index f6be6884..f4e425d8 100644 --- a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/sign/SignManager.java +++ b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/sign/SignManager.java @@ -22,6 +22,7 @@ import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.block.Block; +import org.bukkit.block.BlockState; import org.bukkit.block.Sign; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.event.EventHandler; @@ -204,8 +205,13 @@ public void updateSigns() { long start = System.currentTimeMillis(); for(ArenaSign arenaSign : arenaSigns) { - for(int i = 0; i < signLines.size(); i++) { - ComplementAccessor.getComplement().setLine(arenaSign.getSign(), i, new MessageBuilder(signLines.get(i)).arena(arenaSign.getArena()).build()); + BlockState state = arenaSign.getSign().getBlock().getState(); + if(state instanceof Sign) { + Sign sign = (Sign) state; + for(int i = 0; i < signLines.size(); i++) { + ComplementAccessor.getComplement().setLine(sign, i, new MessageBuilder(signLines.get(i)).arena(arenaSign.getArena()).build()); + } + sign.update(); } if(plugin.getConfig().getBoolean("Signs-Block-States-Enabled", true) && arenaSign.getBehind() != null) { Block behind = arenaSign.getBehind(); @@ -247,7 +253,6 @@ public void updateSigns() { } catch(Exception ignored) { } } - arenaSign.getSign().update(); } plugin.getDebugger().performance("SignUpdate", "[PerformanceMonitor] [SignUpdate] Updated signs took {0}ms", System.currentTimeMillis() - start); }