この度は、プラグイン作成についてわからないことがあったため質問させていただきます。
プレイヤー個人のキル数とデス数を取得し、ScoreboardのSidebarに画像のように表示させたいと考えているのですが、
どのようにすればよいか、わかりません。
どなたか、ご存知の方がいらしゃればご教授お願い致します。
(画像は 8Kill, 3Death したとき)
Scoreboard Class は以下の通りに書きました。(スコアの数字は仮のものです)
- コード: 全て選択
public class ScoreBoard implements Listener{
public ScoreBoard(メインクラス plugin) {
plugin.getServer().getPluginManager().registerEvents(this,plugin);
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event){
Player player = event.getPlayer();
setScoreBoard(player);
}
public void setScoreBoard(Player player){
ScoreboardManager manager = Bukkit.getScoreboardManager();
Scoreboard board = manager.getNewScoreboard();
Objective main = board.registerNewObjective("gameinfo","dummy");
Objective kc = board.registerNewObjective("killCount", Criterias.PLAYER_KILLS); //キル数取得
//Objective dc = board.registerNewObjective("deathCount", Criterias.DEATHS); //デス数取得
//Objective pp = board.registerNewObjective("personalPoints", "dummy");;
main.setDisplaySlot(DisplaySlot.SIDEBAR);
kc.setDisplaySlot(DisplaySlot.PLAYER_LIST);
main.setDisplayName("§f=-[§bGameInfo§f]-=");
main.getScore("§b§l■Your Score■").setScore(10);
main.getScore("§dKill: §e8").setScore(9); //ここにキル数を表示させたい
main.getScore("§dDeaths: §e3").setScore(8); //ここにデス数を表示させたい
main.getScore("§dGet Points: §e0").setScore(7);
main.getScore("§b§l■Game Info■").setScore(6);
main.getScore("§cRed: §e0").setScore(5);
main.getScore("§cRed Points: §e0").setScore(4);
main.getScore("§9Blue: §e0").setScore(3);
main.getScore("§9Blue Points: §e0").setScore(2);
main.getScore("").setScore(1);
player.setScoreboard(board);
}
}