【マイクラ統合版】/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


追記 : コマンドに不備があった、できなかった、作れなかった
等々ある方はコメントにて、「エラーメッセージ」と共に
投稿していただければ幸いです!


←前の記事

次の記事→



いいなと思ったら応援しよう!