2016-09-06 13:43:30 +00:00
|
|
|
package pw.yumc.MiaoBoard.scoreboard.core;
|
|
|
|
|
2016-09-29 10:34:20 +00:00
|
|
|
import org.bukkit.Bukkit;
|
2016-09-06 13:43:30 +00:00
|
|
|
import org.bukkit.entity.Player;
|
|
|
|
import org.bukkit.plugin.Plugin;
|
|
|
|
|
2017-03-09 03:11:35 +00:00
|
|
|
import pw.yumc.MiaoBoard.event.BodyUpdateEvent;
|
|
|
|
import pw.yumc.MiaoBoard.event.TitleUpdateEvent;
|
|
|
|
|
2016-09-06 13:43:30 +00:00
|
|
|
/**
|
|
|
|
* @author 尘曲
|
2019-12-30 06:27:50 +00:00
|
|
|
* @since 2016年7月4日 下午4:40:21
|
2016-09-06 13:43:30 +00:00
|
|
|
*/
|
|
|
|
public class SidebarBoard extends Board {
|
2017-03-09 03:11:35 +00:00
|
|
|
public SidebarBoard(final Plugin plugin) {
|
|
|
|
super(plugin);
|
2016-09-06 13:43:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2017-10-15 16:22:52 +00:00
|
|
|
public SidebarBoardPage getBoardPage(final Player player) {
|
|
|
|
return (SidebarBoardPage) super.getBoardPage(player);
|
2016-09-06 13:43:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2017-10-15 16:22:52 +00:00
|
|
|
public SidebarBoardPage newPage() {
|
|
|
|
return new SidebarBoardPage();
|
2016-09-06 13:43:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void update(final Player player) {
|
2017-08-17 07:27:08 +00:00
|
|
|
Bukkit.getScheduler().runTaskAsynchronously(getPlugin(), () -> {
|
2017-10-15 16:22:52 +00:00
|
|
|
final SidebarBoardPage boardPage = this.getBoardPage(player);
|
2017-08-17 07:27:08 +00:00
|
|
|
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());
|
|
|
|
});
|
2016-09-06 13:43:30 +00:00
|
|
|
}
|
|
|
|
}
|