【マイクラ】ガチャPVPの作り方!スポーン地点から待機場所へ

minecraft-sporn-to-gacha

マイクラ統合版(BE)でコマンドブロックを使って、ガチャPVPを作っていきます!
今回はスポーン地点を決めて、そこからガチャガチャのある待機場所へ移動しますが、スポーン地点初期スポーンだけでなく、対戦を終えて装備をしたままリスポーンするプレイヤーも来ますので、次の待機場所に行く前に装備を剥ぎ取って、ガチャガチャを回すアイテムを与えます。

スポーン位置を決定する

初期スポーン地点や対戦が終了した際のリスポーン地点範囲を決めて、プレイヤーが同じ場所にスポーンされるようにしましょう。
使用するコマンドは以下の3つです。

コマンド説明
/setworldspawn [spawnPoint: x y z]ワールドの初期スポーン地点を設定する
/spawnpoint [player target:] [spawnPos: x y z]プレイヤーのリスポーン地点を設定する
/gamerule spawnradius [value: int]スポーンする範囲を指定する
スポーン位置を設定するコマンド

初期スポーン地点

出典:【マイクラ統合版】冒険に便利なコマンド【スイッチ/PS4/スマホ対応】 – マイクラ職人組合の攻略ブログ そのほかの村

まず、プレイヤーが初めてワールドに入ってきた時に最初にスポーンする、初期スポーン地点を設定します。
こちらのコマンドは、以下のようにコマンドの後に座標を入れるだけです!

/setworldspawn 40 70 -30 

上記の例だと「X=30,Y=70,Z=-30」が初期スポーン地点になります。

リスポーン地点

出典:【マイクラ統合版】spawnpointで好きな場所に復活する【コマンドの使い方】 – マイクラ職人組合の攻略ブログ そのほかの村

次に、対戦して倒されたプレイヤーがリスポーンする際のリスポーン地点を設定します。
これで、ベッドを触ってリスポーン地点を設定するのと同じ効果があります。

/spawnpoint @a 40 70 -30

上記のコマンド例は、全てのプレイヤーのリスポーン地点を「X=30,Y=70,Z=-30」にする設定です。
@a」のすべてのプレイヤーを対象に、この位置にリスポーンすることを意味します。
他の対象も以下のように指定することができますが、プレイヤー名で指定することも可能です。

対象説明
@s自己
@p最寄りのプレイヤー
@rランダムなプレイヤー
@aすべてのプレイヤー
@eすべてのエンティティ
対象一覧

入力が面倒な場合は、リスポーンしたい地点に立って、以下のコマンドを実行します。

/spawnpoint @a ~ ~ ~

~(チルダ)」は、今現在自分が立っている位置を表します。
もちろん、座標の数字と組み合わせて使うこともできます。

/spawnpoint @a 40 ~ -30

上記はY軸だけ現在位置で、他は座標を指定するコマンドになります。

スポーン範囲

出典:【マイクラ統合版】gamerule でいろんなゲーム内設定を変える【コマンドの使い方】 – マイクラ職人組合の攻略ブログ そのほかの村

最後に、上記で決めたスポーン地点を中心に、半径何ブロック範囲スポーンするかも決定します。
建築したスポーン地点が広ければ特に気にする必要はありませんが、狭いとプレイヤーが建築した場所から外に出てしまいます。

/gamerule spawnradius 1

この設定で、必ずスポーン地点にスポーンするようになります。

待機場所へ移動する

スポーン地点から待機場所へ移動する

では、無事にスポーン地点が完成したら、そこからガチャガチャを回して装備をする待機場所へ移動する際に、コマンドブロックで制御をしましょう。
初期スポーン時には関係ありませんが、対戦を終えたプレイヤーが同じ場所リスポーンすることも想定してコマンドで制御していきます。

待機場所へ移動するまでの流れ
  • Step 1
    プレイヤーを初期状態に戻す

    対戦を終えたプレイヤーのアイテムや装備を剥ぎ取って初期状態に戻します。

  • Step 2
    ガチャガチャ用アイテム

    ガチャガチャを回すためのアイテム(ゲーム内通貨)をプレイヤーに与えます。

  • Step 3
    待機場所へ移動する

    最後にスポーン地点からガチャガチャを回して準備する待機場所へ移動します。

プレイヤーを初期状態に戻す

冒頭でも少し触れましたが、アイテムや装備を持ったままリスポーンすることを想定していますので、アイテムが散乱して他のプレイヤーや次回対戦する時にも拾わせないために、プレイヤーを初期状態に戻します。

プレイヤーの状態
  • 持ち物(インベントリにアイテム)を持っている
  • 武器や防具を装備している
  • 体力が減っている
  • ステータス異常が強化の効果が残っている

最初のコマンドブロックは、感圧板を踏むと発動するようにしておき、種類や条件は以下の通りです。
オレンジ色の衝撃タイプのコマンドブロックですね。

設定項目設定値
ブロックの種類衝撃
条件無条件
レッドストーンレッドストーンが必要
最初のティックで実行オフ
ティックの遅延0

2つ目以降のコマンドブロックは、上記の衝撃タイプに繋げていきますので、ブロックの種類を全てチェーンにしてください。
コマンドブロックチェーンタイプの緑色に変わるはずです。

設定項目設定値
ブロックの種類チェーン
条件無条件
レッドストーン常にアクティブ
最初のティックで実行オフ
ティックの遅延0

ここからコマンドの効果を与える対象は全て感圧板を踏んだプレイヤー「@p(最寄りのプレイヤー)」とします。

まず、インベントリに入っている持ち物(アイテム等)を空にします。

clear @p

次に、装備している武器や防具を剥ぎ取っていきます。

replaceitem entity @p slot.amaor.head 0 air

以下のスロットIDを参考に、頭から足、両手も全てのスロットを空にします。

スロットID スロット番号制限
slot.armor.chest 0防具立て、 Mob、 プレイヤーのみ
slot.armor.feet 0 
slot.armor.head 0 
slot.armor.legs 0 
slot.weapon.mainhand 0 
slot.weapon.offhand 0 
空にするスロットID一覧

こちらのコマンドは少し複雑なので、以下の参考サイトをご覧ください。

また、対戦で減っている体力を満タンにして、ポーション等による効果も全て無効化します。

effect @p instant_health 1 255
effect @p clear

ガチャガチャ用のアイテム

最後に、ガチャガチャを回すためのアイテム(ゲーム内通貨)を与えます。
著者が作ったガチャPVPでは、エメラルドとダイヤモンドをゲーム内通貨としています。

give @p emarald 6

エメラルドでガチャガチャを回し、当たりのダイヤモンドが入っていたら、プレミアムガチャが回せるようにしています!
そのお話は次回の待機場所編で詳しく説明します。

待機場所へ移動する

初めは、トラップドアでスポーン地点から真下にある待機場所へ移動していましたが、チートできることが発覚したので、コマンドによるテレポートに変更しました。
これまでと同じように、最後のコマンドブロックとして繋げて、tpコマンドテレポートします。

/tp @p 40 70 -30

tpコマンドは、単純に対象のプレイヤーと座標を指定するだけの簡単なものです。

コマンドブロックは隠しておくこと!

コマンドブロックは隠しておくこと!

コマンドブロックを繋げていくと、かなりの量になります。
見た目も悪くなるので、プレイヤーにコマンドブロックの存在を目に触れさせないためにも、ブロック等で隠しておきましょう。

お疲れ様です、今回はこれで完成です!
次回はいよいよガチャPVPのキモとなるガチャシステムを作っていきたいと、思いまぁ~す!


Amazonベストセラー

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA