こんにちはちょびさんです
今回は Spigot でのボスバーの表示方法について解説していきます!
ボスバーは上記のゲージのことです!エンドラやウィザーを倒すときに出てくるものですね!
下の画像の画面上記に表示されているバーです。

プレイヤー個別に表示したり、リアルタイムで文字やバーの進行度を変えれるので結構使い道があります!
例えば、一時的なメッセージをそれっぽく表示したり、ゲージを満タンにしたり減らしたりすることでおしゃれに使用することもできます。
コード
BossBar bar = Bukkit.createBossBar("テストボスバー - Chobi", BarColor.YELLOW, BarStyle.SOLID);
bar.setProgress(1);
bar.addPlayer(p);
bar.setVisible(true);
上記のコードでひとまず動きます。
実際は下記のコードのようにコマンドからテストをしています。
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
if (sender instanceof Player) {
Player p = (Player) sender;
if (args[0].equals("test")) {//testt
if (!p.isOp()) return true;
// Bukkit.createBossBar(タイトル, カラー, スタイル)
BossBar bar = Bukkit.createBossBar("テストボスバー - Chobi", BarColor.YELLOW, BarStyle.SOLID);
bar.setProgress(1); //進行度 0 ~ 1 の値 (0.5だと半分)
bar.addPlayer(p); //上記で作成したbossbarにプレイヤーを追加
bar.setVisible(true); //barを表示する。これやらないと見えない
}
}
}
タイトルをカラフルに
タイトルに色を付けるには ChatColor を使います。
ChatColorは便利でわかりやすいのですがたくさん使うとコードが長くなりがち...
BossBar bar = Bukkit.createBossBar(ChatColor.AQUA+"テストボスバー - "+ChatColor.YELLOW+"Chobi"+ChatColor.BLUE+"ブルー!", BarColor.YELLOW, BarStyle.SOLID);
バーのカラーを変更する
タイトルの色を変更したときのようにバーのカラーを変更します。
こちらの記事がわかりやすいです。
https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Bossbar
BossBar bar = Bukkit.createBossBar(ChatColor.AQUA+"ブルー - Chobi", BarColor.BLUE, BarStyle.SOLID);
BossBar bar = Bukkit.createBossBar(ChatColor.AQUA+"グリーン - Chobi", BarColor.GREEN, BarStyle.SOLID);
BossBar bar = Bukkit.createBossBar(ChatColor.AQUA+"ピンク - Chobi", BarColor.PINK, BarStyle.SOLID);
BossBar bar = Bukkit.createBossBar(ChatColor.AQUA+"パープル - Chobi", BarColor.PURPLE, BarStyle.SOLID);
BossBar bar = Bukkit.createBossBar(ChatColor.AQUA+"レッド Chobi", BarColor.RED, BarStyle.SOLID);
BossBar bar = Bukkit.createBossBar(ChatColor.AQUA+"ホワイト- Chobi", BarColor.WHITE, BarStyle.SOLID);
BossBar bar = Bukkit.createBossBar(ChatColor.AQUA+"イエロー- Chobi", BarColor.YELLOW, BarStyle.SOLID);
//Stringから色指定
BossBar bar = Bukkit.createBossBar(ChatColor.AQUA+"テストボスバー - Chobi", BarColor.valueOf("BLUE"), BarStyle.SOLID);
スタイルを変更する
バーのスタイルを変更できます。
こちらの記事がわかりやすいです。
https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Bossbar
BossBar bar = Bukkit.createBossBar(ChatColor.AQUA+"テストボスバー - Chobi", BarColor.PURPLE, BarStyle.SOLID);
BossBar bar = Bukkit.createBossBar(ChatColor.AQUA+"テストボスバー - Chobi", BarColor.PURPLE, BarStyle.SEGMENTED_6);
BossBar bar = Bukkit.createBossBar(ChatColor.AQUA+"テストボスバー - Chobi", BarColor.PURPLE, BarStyle.SEGMENTED_10);
BossBar bar = Bukkit.createBossBar(ChatColor.AQUA+"テストボスバー - Chobi", BarColor.PURPLE, BarStyle.SEGMENTED_12);
BossBar bar = Bukkit.createBossBar(ChatColor.AQUA+"テストボスバー - Chobi", BarColor.PURPLE, BarStyle.SEGMENTED_20);