From a6585f11db4c6d63af76ad886e8898a2310e3a8a Mon Sep 17 00:00:00 2001 From: 502647092 Date: Thu, 17 Aug 2017 15:27:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BC=82=E6=AD=A5=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E6=9C=AA=E8=BD=AC=E7=A7=BB=E5=88=B0=E5=BC=82=E6=AD=A5=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 502647092 --- .../scoreboard/core/SidebarBoard.java | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/main/java/pw/yumc/MiaoBoard/scoreboard/core/SidebarBoard.java b/src/main/java/pw/yumc/MiaoBoard/scoreboard/core/SidebarBoard.java index 3806454..b81e75f 100644 --- a/src/main/java/pw/yumc/MiaoBoard/scoreboard/core/SidebarBoard.java +++ b/src/main/java/pw/yumc/MiaoBoard/scoreboard/core/SidebarBoard.java @@ -29,19 +29,21 @@ public class SidebarBoard extends Board { @Override public void update(final Player player) { - final SiderbarBoardPage boardPage = this.getBoardPage(player); - if (boardPage == null) { return; } - TitleUpdateEvent te = new TitleUpdateEvent(player); - Bukkit.getPluginManager().callEvent(te); - String title = te.getTitle(); - if (title == null) { - player.setScoreboard(Bukkit.getScoreboardManager().getMainScoreboard()); - return; - } - boardPage.setTitle(title); - BodyUpdateEvent be = new BodyUpdateEvent(player); - Bukkit.getPluginManager().callEvent(be); - boardPage.setBody(be.getBody()); - player.setScoreboard(boardPage.getBoard()); + Bukkit.getScheduler().runTaskAsynchronously(getPlugin(), () -> { + final SiderbarBoardPage boardPage = this.getBoardPage(player); + if (boardPage == null) { return; } + TitleUpdateEvent te = new TitleUpdateEvent(player); + Bukkit.getPluginManager().callEvent(te); + String title = te.getTitle(); + if (title == null) { + player.setScoreboard(Bukkit.getScoreboardManager().getMainScoreboard()); + return; + } + boardPage.setTitle(title); + BodyUpdateEvent be = new BodyUpdateEvent(player); + Bukkit.getPluginManager().callEvent(be); + boardPage.setBody(be.getBody()); + player.setScoreboard(boardPage.getBoard()); + }); } }