コマンド/commandscore

Last-modified: 2022-12-27 (火) 20:43:13

What is This?

コマブロで一時的に数字とかを管理するためのすごいコマンド。
使い方はとりあえずこの動画みろ
https://www.youtube.com/watch?v=5q8529b4114

How to Use?

サーバー内で/commandscore と打つと詳しい説明が見れる
なんならそれ見ればこの説明は必要ないレベル
【set】

説明スコアを設定する。
構文/CommandScore set 設定値 ワールド名:x,y,z
/CommandScore set 1 dungeon:-1392,201,-879

【add】

説明スコアを加算/減算する。
構文/CommandScore add 加算値 ワールド名:x,y,z
/CommandScore add 1 dungeon:-1392,201,-879

【hp】

説明指定したEntityのHPをスコアとしてコマブロに設定する。
構文/CommandScore hp セレクター(@は除外) ワールド名:x,y,z
/CommandScore hp e[r=20,type=Zombie] dungeon:-1392,201,-879

【equal】

説明指定したスコアと比較値が同じかどうかを確認し、同じ場合はコマンドを実行する。
構文/CommandScore equal 比較値 ワールド名:x,y,z command
/CommandScore equal 10 dungeon:-1392,201,-879 tellraw @a[r=10] こんにちは
備考equalの代わりに!equalを指定することで一致しない場合にコマンドが実行するようになります。

【msg】

説明指定したスコアを利用したメッセージを送信する。
構文/CommandScore msg <Player> ワールド名:x,y,z <メッセージ($socreでスコアを埋め込む)>
/CommandScore msg @a[r=10] dungeon:-1392,201,-879 &aこのコマブロの数値は$score です
備考ColorCodeはセクションの代わりに$を使ってください

【within】

説明コマンド発動時にポイントが数値1~数値2の間だったらコマンドを実行
構文/CommandScore within 数値1~数値2 ワールド名:x,y,z command
CommandScore within 21~29 dungeon:1,210,30 say 123
備考withinの代わりに!withinを指定することで範囲内でない場合にコマンドが実行するようになります。

【over】

説明指定したスコアが比較値よりも大きいかどうかを確認し、大きい場合はコマンドを実行する。
構文/CommandScore over 比較値 ワールド名:x,y,z command
commandscore over 10 dungeon:1,210,30 say 123
備考overの代わりに!overを指定することで比較値よりも小さい場合にコマンドが実行するようになります。(underと同じ)

【under】

説明コマンド発動時にポイントが比較値より下だったらコマンド発動
構文/CommandScore under 比較値 ワールド名:x,y,z command
CommandScore under 2 dungeon:1,210,30 say 123
備考underの代わりに!underを指定することで比較値よりも大きい場合にコマンドが実行するようになります。(overと同じ)

【execute】

説明指定したスコアを代入するようなコマンドを実行する。
構文CommandScore execute ワールド名:x,y,z コマンド($scoreはスコア値に変換)
例:スコアが3の場合
commandscore execute dungeon:1,210,30 loop $score 0 say 123
-> say 123が3回実行される。

【product】

説明スコアに指定した値をかける。変更値には少数も指定可能。
構文CommandScore product 変更値 ワールド名:x,y,z
CommandScore product 0.2 dungeon:-1392,201,-879
スコアの現在値に変更値をかける。

【setEntityData】

説明スコアにEntityの座標情報を設定する。
構文/CommandScore setEntityData セレクター(@は除外) [x,y,z,yaw,pitch] ワールド名:x,y,z
CommandScore setEntityData e[type=Zombie,r=20] x dungeon:-1392,201,-879
ゾンビの座標の「x」をコマンドスコアに設定する。

特殊な使い方 その1:コマンド管理用パラメータ

コマンド管理用のコマブロ(scoreが記載されているもの)に以下のパラメータを指定することで特殊効果を得れる。

  • mobhp
    • 指定したボスのHPと同期する。スコアが増減するとmobのhpもそれに合わせて増減する。
  • maxpoint
    • 最大スコアを設定する。これ以上のスコアになることはない。
  • redstone
    • スコアが変更するたびに指定箇所に一瞬だけレッドストーンを置く。

パラメータは以下の通りに指定する。

<ポイント> -パラメータ名 値
例:0 -mobhp {mobの名前} -redstone dungeon:100,200,100 -maxpoint 100

特殊な使い方 その2:値の設定方法

比較値や変更値には以下の特殊の設定が可能である。
比較値とはoverやwithinで比較対象の数値である。
変更値とはaddやsetで指定する変更対象の数値である。

数値

数値を設定する。

ほかのスコアを指定する

score:world:x,y,zを指定することで、その座標のスコアを比較値/変更値として利用できる。
例えば

commandScore over score:dungeon:1,2,3 dungeon:100,200,300 say 123

とした場合、「dungeon:1,2,3」のスコアが20の場合は以下と同義になる。

commandScore over 20 dungeon:100,200,300 say 123

Entityの数を指定する

entity:セレクター(@は省略)を指定することで、セレクターの数を比較値/変更値として利用できる。
例えば

commandScore over entity:e[r=20,type=Zombie] dungeon:100,200,300 say 123

とした場合、セレクターに一致するmobの数が20の場合は以下と同義となる。

commandScore over 20 dungeon:100,200,300 say 123