前項ではエンティティや場所を必要としないコマンドについて述べたが、
この項では特定のエンティティから実行する必要があるコマンドについて解説する
例として、モブがスポーンした時にモブが羊毛に囲まれるようにしたいとする
まず失敗例を示す
Skills:
- command{c="minecraft:fill ~2 ~2 ~2 ~-2 ~-2 ~-2 minecraft:wool 0 replace"}
この場合、コマンドは正常に機能しない
コンソール自身の座標がないため、相対座標を利用したこのコマンドは実行されない
これを解消するため、
executeコマンドを利用する
Skills:
- command{c="minecraft:execute <mob.uuid> ~ ~ ~ minecraft:fill ~2 ~2 ~2 ~-2 ~-2 ~-2 minecraft:wool 0 replace"}
<mob.uuid>でコマンドスキルを発動したモブを指定し、コマンドがモブの位置から実行される
同様に、
Skills:
- command{c="minecraft:execute **<target.uuid>** ~ ~ ~ minecraft:fill ~2 ~2 ~2 ~-2 ~-2 ~-2 minecraft:wool 0 replace"} **@self**
としてもコマンドを実行することが可能
この時、ターゲットに自身を指定する@Selfを使うこと
さらに、特定のモブや他のターゲットにコマンドを実行することもできる
Skills:
- command{c="minecraft:execute **<target.uuid>** ~ ~ ~ minecraft:fill ~2 ~2 ~2 ~-2 ~-2 ~-2 minecraft:wool 0 replace"} **@MobsInRadius{r=10;t=BAT}**
モブの周囲10ブロック以内のコウモリを羊毛で囲む
その他に可能なコマンドの例
- command{c="minecraft:execute <mob.uuid> ~ ~ ~ minecraft:scoreboard objectives add mrjlmmw1b dummy mrjlmmw1b"}
- command{c="minecraft:execute <mob.uuid> ~ ~ ~ minecraft:scoreboard players set @a[x=-16,y=104,z=-60,dx=-3,dy=3,dz=9] mrjlmmw1b 0"}
- command{c="minecraft:execute <mob.uuid> ~ ~ ~ minecraft:scoreboard players set @a[x=-16,y=104,z=-60,dx=-3,dy=3,dz=9] mrjlmmw1b 1 <&lc>Inventory:[<&lc>id:minecraft:paper,tag:<&lc>display:<&lc>Lore:[0:,1:&7Can be used once for any,2:&7monorail on Jaygrounds.,3:&8Absolutely no refunds.,4:],Name:&fMonorail Ticket&r<&rc><&rc>,Damage:0s<&rc>]<&rc>"}
- command{c="minecraft:execute <mob.uuid> ~ ~ ~ minecraft:scoreboard players set @a[x=-16,y=104,z=-60,dx=-3,dy=3,dz=9,score_donators_min=1] mrjlmmw1b 2"}
- command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:tp @a[team=!pve_ruins_1,r=50] 366.5 71 487.5 0 0"}
- command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:scoreboard teams join pve_ruins_1 @a[r=50]"}
- command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:scoreboard objectives remove pve_ruins_cur"}
- command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:scoreboard teams remove pve_ruins_2"}
- command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:scoreboard teams remove pve_ruins_3"}
- command{c="minecraft:execute <target.uuid> ~ ~ ~ minecraft:fill 368 71 494 364 72 494 minecraft:acacia_fence 0 replace minecraft:air"}
- command{c="minecraft:execute <target.uuid> ~ ~ ~ mm m s pve_ruins_sign_arena_ready 1 world,366.5,71,493.5"}