マイクラの配布サイト › フォーラム › 技術相談(統合版) › 鬼ごっこ系コマンド載せていきます。
- 投稿者投稿
カレー餃子
参加者【名前付きのアイテムをgiveで渡したい時】
giveでは無理ですが、名前付きのアイテムをチェストに入れ、そのチェストをプレイヤーのいる位置にcloneコマンドでクローン(コピーみたいなもの)します。中身もコピーされてます。
そのチェストをsetblockコマンドのdestroyという機能で壊します。そしたら中身が出てきます。
ただこのままだと壊されたチェストもドロップすることになるので、ゲームの設定から「タイルからのドロップ」をオフにするか、コマンドでチェストだけ永久にkillしてください。
タイルからのドロップをオフにすると物を壊しても何も出てこなくなります(チェストの中身等は別)【チェストのコピーと破壊】
─────────────────────
衝撃 無条件 動力が必要
clone 0 0 0 0 0 0 1 1 1
─────────────────────
チェーン 無条件 常時実行
setblock 1 1 1 air destroy
─────────────────────【もしチェストをkillし続ける場合】
─────────────────────
リピート 無条件 常時実行
kill @e[name=チェスト]
─────────────────────(0 0 0)はチェストの位置。(1 1 1)はプレイヤーのいる位置です、ゲーム開始時にプレイヤーが湧く位置とかにすると良いです。ゲーム開始のコマンドに組み込んでおけばそのままいけます、その場合はcloneをチェーン、無条件、常時実行にしてください。
ただこの場合、1回しかチェストがクローンされないため、1人分のアイテムしか出てこないのでかなり不便です。そして鬼と逃走者で分けれないというのが特に凄く不便です。
そういう時のためにあるのがexecuteコマンドです。
─────────────────────
execute as @a[tag=鬼] at @s run clone 0 0 0 0 0 0 ~ ~ ~
─────────────────────
execute as @a[tag=鬼] at @s run setblock ~ ~
~ air destroy
─────────────────────コマンドの設定はさっきと同じです。executeを使うことで、今回の場合は「鬼」のタグがついているプレイヤーの座標にチェストをクローンし、壊す。というコマンドになりました。
tagの部分を「逃走」にしたら逃走者全員の元へcloneされます。
なので鬼と逃走の2種類を用意すれば完成です。
ただプレイヤーが重なっているとアイテムも重なってしまうので、そこはティックの遅延で作動を遅らせ、作動するまでに全員がちょっと動いてズレたりするか、遅延はせずに全員のtpの位置をそれぞれ変えるか。となってきます。カレー餃子
参加者【死んだら特定の場所へtp】
tagの名前は何でもいいです。
今回は分かりやすく「死亡」にしています。─────────────────────
リピート 無条件 常時実行
tag @a add 死亡
─────────────────────
チェーン 無条件 常時実行
tag @e remove 死亡
─────────────────────
チェーン 無条件 常時実行
tp @a[tag=死亡] 0 0 0
─────────────────────(0 0 0)は好きなように。
これは@aと@eの違いを利用しています。
@aは死んでいるプレイヤーも対象に含み、
@eは生きていなければ対象になりません。
全員が生きている限りは高速で「死亡」タグを付けて外しているので、順番が最後のtpコマンドは作動しません。
死んだ人は2つ目のコマンドでタグが除去されないので、最後のコマンドでtpされます。生死問わずつける
↓
生きている人から取る
(死んだ人からは取らない)
↓
死んだ人をtpするを繰り返している
カレー餃子
参加者【最寄りのプレイヤー追跡コンパス】
どこかで既出かもしれませんが一応オリジナルで作ったのでミスってたらすみません。
分かりやすく「近い」というタグを使ってますが、何でも良いです。─────────────────────
リピート 無条件 常時実行
execute as @a[tag=鬼] at @s run tag @a[tag=逃走,c=1] add 近い
─────────────────────
チェーン 無条件 常時実行
execute as @a[tag=近い] at @s run setworldspawn ~ ~ ~
─────────────────────
チェーン 無条件 常時実行
execute as @a[tag=鬼] at @s run tag @a[tag=近い,c=-1] remove 近い
─────────────────────鬼から1番近い逃走者に「近い」タグをつける
↓
「近い」タグを持っている人の場所にワールドスポーン(コンパスの指す方向)を設定する
↓
鬼から1番遠くにいる[近い]タグ持ちから[近い]を取るc=1とc=-1を間違えると機能しないので注意。
最後のコマンドで、「近い」タグ持ちが複数になることを回避しています。
@aを@eにして、逃走者にアーマースタンド(アーマースタンドに「逃走」タグをつけるコマンドをどこかに作ってリピート、常時実行させておく)を持たせたらダミーとして使えそう。カレー餃子
参加者【一撃剣】
今回は鬼側、ダイヤ剣の設定で書いてます。
─────────────────────
リピート 無条件 常時実行
execute as @a[tag=鬼,hasitem={item=diamond_sword,location=slot.weapon.mainhand}]
run effect @s strength 1 100 true
─────────────────────「鬼」タグ持ちが手にダイヤ剣を持っている時、攻撃力を100上昇させるというコマンドです。
100の部分は255まで出来ます。カレー餃子
参加者打つのめんどくさいんでテンプレワールド作ります。
- 投稿者投稿