スキルでコマンドを打たせるための解説
Bukkit/Spigotの余計な機能がコマンドブロックの動作を妨げないよう
Bukkit/Spigotのcommands.yml内のコマンドブロックの設定をする
Bukkit/Spigotのcommands.yml内のコマンドブロックの設定をする
command-block-overrides:
-'*'
コマンドスキルは、管理者が実行可能なコマンドをすべて利用可能である
特に指定がない場合、コマンドはコンソールから実行される
特定のプレイヤーやエンティティ、場所に影響しないコマンドであれば問題なく使える
それを避けるため、コマンドをより正確に書くことが推奨される
特に指定がない場合、コマンドはコンソールから実行される
特定のプレイヤーやエンティティ、場所に影響しないコマンドであれば問題なく使える
Skills: - command{c="time set 0"} - command{c="weather clear"} - command{c="gamerule doMobSpawning false"}しかし、同じ構文を使用するプラグインがある場合、競合が発生する
それを避けるため、コマンドをより正確に書くことが推奨される
Skills: - command{c="minecraft:time set 0"} - command{c="mincraft:weather clear"} - command{c="minecraft:tp player1 player2"} - etc...
前項ではエンティティや場所を必要としないコマンドについて述べたが、
この項では特定のエンティティから実行する必要があるコマンドについて解説する
例として、モブがスポーンした時にモブが羊毛に囲まれるようにしたいとする
まず失敗例を示す
コンソール自身の座標がないため、相対座標を利用したこのコマンドは実行されない
これを解消するため、executeコマンドを利用する
同様に、
この時、ターゲットに自身を指定する@Selfを使うこと
さらに、特定のモブや他のターゲットにコマンドを実行することもできる
その他に可能なコマンドの例
この項では特定のエンティティから実行する必要があるコマンドについて解説する
例として、モブがスポーンした時にモブが羊毛に囲まれるようにしたいとする
まず失敗例を示す
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"}
コメントをかく