提供: Minecraft Modding Wiki
この編集を取り消せます。
下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
8行目: | 8行目: | ||
このチュートリアルを理解するためには、/scoreboard コマンドを試して、 | このチュートリアルを理解するためには、/scoreboard コマンドを試して、 | ||
Scoreboardシステムの仕様をよく理解することが一番の近道です。 | Scoreboardシステムの仕様をよく理解することが一番の近道です。 | ||
− | コマンドの使い方は、[http://ch.nicovideo.jp/minecrafter/blomaga/ar95807 こちら]や[http://www.nicovideo.jp/watch/sm20410540 こちら] | + | コマンドの使い方は、[http://ch.nicovideo.jp/minecrafter/blomaga/ar95807 こちら]や[http://www.nicovideo.jp/watch/sm20410540 こちら]を参考にしてみてください。 |
− | = | + | =スコアボードシステムの基本的な使い方= |
まず、ScoreboardManager を取得します。 | まず、ScoreboardManager を取得します。 | ||
80行目: | 80行目: | ||
特定のプレイヤーに対するObjectiveでの点数を設定します。 | 特定のプレイヤーに対するObjectiveでの点数を設定します。 | ||
<source lang = "java"> | <source lang = "java"> | ||
− | |||
Score score = objective.getScore(player); | Score score = objective.getScore(player); | ||
− | |||
− | |||
− | |||
− | |||
score.setScore(42); | score.setScore(42); | ||
</source> | </source> | ||
95行目: | 90行目: | ||
特定のプレイヤーのスコアをリセットするには、次のようにします。 | 特定のプレイヤーのスコアをリセットするには、次のようにします。 | ||
<source lang = "java"> | <source lang = "java"> | ||
− | |||
board.resetScores(player); | board.resetScores(player); | ||
− | |||
− | |||
− | |||
</source> | </source> | ||
126行目: | 117行目: | ||
=サイドバーでのカスタム項目の設定= | =サイドバーでのカスタム項目の設定= | ||
− | + | サイドバーにObjectiveを設定している場合、ダミーのOfflinePlayerを登録することで、 | |
カスタム項目を表示することが可能です。 | カスタム項目を表示することが可能です。 | ||
カスタム項目のスコアを登録するには、次のようにします。 | カスタム項目のスコアを登録するには、次のようにします。 | ||
<source lang = "java"> | <source lang = "java"> | ||
− | |||
Score score = objective.getScore(Bukkit.getOfflinePlayer(name)); | Score score = objective.getScore(Bukkit.getOfflinePlayer(name)); | ||
− | |||
− | |||
− | |||
− | |||
score.setScore(99); | score.setScore(99); | ||
</source> | </source> | ||
142行目: | 128行目: | ||
カスタム項目のスコアをリセットするには、次のようにします。 | カスタム項目のスコアをリセットするには、次のようにします。 | ||
<source lang = "java"> | <source lang = "java"> | ||
− | |||
board.resetScores(Bukkit.getOfflinePlayer(name)); | board.resetScores(Bukkit.getOfflinePlayer(name)); | ||
− | |||
− | |||
− | |||
</source> | </source> | ||
152行目: | 134行目: | ||
例 | 例 | ||
<source lang = "java"> | <source lang = "java"> | ||
− | + | Score score = objective.getScore(Bukkit.getOfflinePlayer(ChatColor.GREEN + "kills:")); | |
− | Score score = objective.getScore(ChatColor.GREEN + "kills:"); | ||
score.setScore(99); | score.setScore(99); | ||
</source> | </source> | ||
[[Image:scoreboard2.png]] | [[Image:scoreboard2.png]] | ||
+ | |||
+ | |||
=簡単な実装例= | =簡単な実装例= | ||
192行目: | 175行目: | ||
// メインスコアボードを取得します。 | // メインスコアボードを取得します。 | ||
− | + | ScoreboardManager manager = Bukkit.getScoreboardManager(); | |
Scoreboard board = manager.getMainScoreboard(); | Scoreboard board = manager.getMainScoreboard(); | ||
200行目: | 183行目: | ||
if ( objective == null ) { | if ( objective == null ) { | ||
objective = board.registerNewObjective(OBJECTIVE_NAME, "health"); | objective = board.registerNewObjective(OBJECTIVE_NAME, "health"); | ||
− | + | objective.setDisplaySlot(DisplaySlot.BELOW_NAME); | |
− | + | objective.setDisplayName("/ 20"); | |
} | } | ||
211行目: | 194行目: | ||
} | } | ||
</source> | </source> | ||
+ | |||
==チーム分けプラグイン== | ==チーム分けプラグイン== | ||
310行目: | 294行目: | ||
} else { | } else { | ||
team = teamBlue; | team = teamBlue; | ||
− | + | } | |
team.addPlayer(target); | team.addPlayer(target); | ||
sender.sendMessage("プレイヤー " + args[1] + " を " + args[0] + " に加えました。"); | sender.sendMessage("プレイヤー " + args[1] + " を " + args[0] + " に加えました。"); | ||
319行目: | 303行目: | ||
慣れてきたら、いろいろ工夫してみましょう。<br/> | 慣れてきたら、いろいろ工夫してみましょう。<br/> | ||
− | + | 例えば、チームから離脱するコマンドをしてみてください。 | |
+ | |||
=TIPS= | =TIPS= |