【マイクラ統合版】/scoreboardの使い方・具体例 〜応用編〜
こんにちは!1mpulser(インパルサー)です!
今回は「/scoreboardの使い方・具体例」を解説します!
基礎を知りたい方は是非基本編をご覧ください!!
※この記事はMinecraft統合版に基づく記事です。
/scoreboardの隠された機能
前回書いた、/scoreboardの使い方(基本編)では、
書いていないことがあるんです、、、。
それは、「ダミープレイヤー」です。
「ダミースコア」とは、『データ上の偽のエンティティ』と、
思ってくれれば幸いです!
それを踏まえて解説していきます!!
『ダミープレイヤー』とは?
Hiveや、CubeCraftなど、外部サーバーに入ったことのある
方ならわかるかもしれませんが、
右側のスコアボードに、「プレイヤーの名前ではない」
スコアボードが表示されていませんでしたか?
残り人数とか、サーバーの情報とかが載っていましたよね。
あれは、スコアボードのダミープレイヤーで見せているんです。
人の名前では無い、『データ上の偽のエンティティ』を
作り上げる方法を伝授します!
『ダミープレイヤー』を作ってみよう
まず一旦スコアボードつくりましょっか。話はそれからです。
例) /scoreboard objectives add SCORE dummy SCORE
/scoreboard objectives setdisplay sidebar SCORE
ダミープレイヤーを作るのは意外と簡単。
「セレクター」に、表示させたい名前を入れるだけ!
/scoreboard players set “キル数” SCORE 1
右側に「キル数」と書かれた文字がでましたか?
これがダミープレイヤーです。
ミニゲームのワールドや、RPGとかを作りたい人にとっては
いいコマンドになるのではないでしょうか?
/scoreboardの具体例・使用例
scoreboardコマンドは理解しただけじゃ実践に使えないですよね
ちょっとした使用例を書こうと思います。
コマンドの内容と文章が意味する内容を載せるので
参考になれば幸いです!
具体例 : アイテムのクールタイム
アイテムのクールタイムでも作ってみましょっか!
作るアイテム
→釣竿を振ると浮遊が付き、10秒後に使えるようになる。
使用するスコアボード・タグ
scoreboard : ct (CoolTimeの略)
tag : fuyuu
事前に打つコマンド
/scoreboard objectives add ct dummy ct
コマンドブロック コマンド数:13 省略すれば9
①反復 無条件 常時実行
execute as @e[type=fishing_hook] at @s run tag @p add fuyuu
(投げた人にタグをつける)
②鎖 無条件 常時実行
scoreboard players add @a[tag=fuyuu,scores={ct=..200}] ct 1
(スコアボードを足し続ける)
③鎖 無条件 常時実行
effect @a[tag=fuyuu,scores={ct=1}] levitation 1 15
(投げた人の浮遊エフェクトをつける)
④鎖 無条件 常時実行(省略可)
effect @a[tag=fuyuu,scores={ct=1}] speed 2 1 true
(投げた人に移動速度上昇をつける)
⑤鎖 無条件 常時実行(省略可)
execute as @a[tag=fuyuu,scores={ct=2}] at @s run particle minecraft:knockback_roar_particle ~~~
(パーティクルを出す)
⑥鎖 無条件 常時実行(省略可)
execute as @a[tag=fuyuu,scores={ct=2}] at @s run playsound mob.wither.shoot @s ~~~ 0.5 1.5 0.5
(効果音を鳴らす)
⑦鎖 無条件 常時実行
replaceitem entity @a[tag=fuyuu,scores={ct=2}] slot.weapon.mainhand 0 air
(釣竿を消す)
⑧鎖 無条件 常時実行
give @a[tag=fuyuu,scores={ct=201}] fishing_rod 1
(クールタイムが終わったので、釣竿を渡す)
⑨鎖 無条件 常時実行(省略可)
execute as @a[tag=fuyuu,scores={ct=201}] at @s run playsound random.levelup @s ~~~ 0.75 1 0.75
(効果音を鳴らす)
⑩鎖 無条件 常時実行
tag @a[tag=fuyuu,scores={ct=201}] remove fuyuu
(投げた人のタグを消す)
⑪鎖 無条件 常時実行
scoreboard players set @a[scores={ct=201}] ct 0
(クールタイムリセット)
⑫鎖 無条件 常時実行
kill @e[type=fishing_hook]
(釣竿のウキを消す)
⑬鎖 無条件 常時実行
scoreboard players add @a ct 0
(全員のスコアボードに0を足す(みんな使えるようにする))
Minecraft内でテストせずに、
簡単に頭の中で思いついたまま書いたので、ミスあるかもしれません!
不具合やミス等あったらエラーメッセージと共に
コメントして下さると幸いです!
補足① : スコアボードをactionbarに表示する方法
なんかもうちょっと書きたいのでおまけで書きます。
actionbar(アイテム欄のちょっと上)にスコアを出す方法書きます。
たった1コマンドですが、クソ長いのでスペルミスしないようにね
コマンドブロック
反復 無条件 常時実行
titleraw @a actionbar {“rawtext”:[{“text”:”今のスコアは”},{“score”:{“name”:”セレクター”,”objective”:”スコア名”}}]}
セレクターには、1人だけ入れること。
スコア名には、表示させたいスコアボードの名前を入れること。
補足② : 参加合計人数をスコアボードに入れる方法
事前に打つコマンド
/scoreboard objectives add スコア名 dummy 表示名
/scoreboard players set “参加人数” スコア名 0
(スコア名 と 表示名 は自分で入れてね)
コマンドブロック
①インパルス 無条件 赤石信号
scoreboard players set “参加人数” スコア名 0
②鎖 無条件 常時実行
execute as @a run scoreboard players add “参加人数” スコア名 1
/scoreboardの使い方・構文 〜基本編〜
おわりに
簡単にスコアボードの具体例と、
前回話せなかった「ダミープレイヤー」を開設しました!
もしかしたら、具体例はそのうち追加するかもしれません。
ここまで閲覧してくださりありがとうございました!
1mpulser
追記 : コマンドに不備があった、できなかった、作れなかった
等々ある方はコメントにて、「エラーメッセージ」と共に
投稿していただければ幸いです!
←前の記事
次の記事→