MC CommanderMinecraft非公式コマンド支援

PvPをオフにするコマンド

プレイヤー同士で攻撃できないようにするには、バージョンによって方法が変わります。Java版1.21.9からはゲームルール1つで切りかえられるようになりました。古いバージョンやサーバーでの方法、場所ごとに分ける方法もまとめます。

PvPgameruleJava版・統合版

executeコマンドを作る

更新日:

1. Java版1.21.9以降:ゲームルールで切りかえる

/gamerule pvp false

これだけで、ワールド全体でプレイヤーがほかのプレイヤーにダメージを与えられなくなります。元に戻すときは true にします。1.21.11でほかのゲームルールの名前が変わりましたが、pvp は同じ名前のままです。サーバーでも、OP権限があればゲーム中に切りかえられます。

2. Java版1.21.8以前のサーバー:server.properties

pvp=false

1.21.8以前のサーバーでは、サーバーのフォルダにある server.properties の pvp を false にして、サーバーを再起動します。1.21.9でこの設定はなくなり、1のゲームルールに変わりました。設定ファイルの書き方は server.propertiesのおすすめ設定 を見てください。

3. どのバージョンでも使える:チームで攻撃を止める

/team add peace "なかよし"
/team modify peace friendlyFire false
/team join peace @a

同じチームの人どうしは攻撃できない、というチームの設定を使う方法です。1.21.8以前の1人用ワールドやLANのように、server.properties がないときにも使えます。あとから入った人もチームに入るように、次のコマンドをくり返しコマンドブロック(常時実行)に入れておきます。

/team join peace @a[team=]

team= は「どのチームにも入っていない人」という意味です。チームの使い方は teamコマンドの使い方 にまとめています。

4. 決まった場所だけPvPできるようにする(くり返し)

/team leave @a[x=100,y=60,z=200,dx=30,dy=20,dz=30]
/execute as @a[team=] unless entity @s[x=100,y=60,z=200,dx=30,dy=20,dz=30] run team join peace @s

3のチームを作ったうえで、1行目をくり返しコマンドブロックに、2行目をチェーンに入れます。アリーナの範囲に入った人はチームから外れて戦えるようになり、外に出るとまたチームに入って攻撃できなくなります。範囲の決め方は 範囲に入ったら発動するコマンド を見てください。

チームに入っていない人からチームの人への攻撃は止まらないので、アリーナの中から外の人をたたけないように、アリーナはさくや壁で囲んでおきます。

5. 統合版の場合

/gamerule pvp false

統合版には前から pvp のゲームルールがあり、同じ書き方で切りかえられます。ワールドの設定画面の「フレンドリーファイア」をオフにしても、同じようにプレイヤー同士で攻撃できなくなります。

うまくいかないときの確認ポイント

よくある質問

モブからのダメージも止まりますか?

止まりません。pvp はプレイヤー同士の攻撃だけです。モブからのダメージも止めたいときは、耐性のエフェクトや無敵になるコマンドを使います。

一部の人だけ攻撃できなくできますか?

攻撃できなくしたい人たちだけを同じチームに入れ、friendlyFire を false にします。

ミニゲーム中だけPvPをオンにできますか?

ゲームを始めるコマンドに gamerule pvp true を入れ、終わるときに false に戻します。

関連ページ

teamコマンドの使い方

friendlyFire の設定です。

PvPのチーム戦をコマンドで作る

戦うときのしくみです。

範囲に入ったら発動するコマンド

場所で分ける方法です。

server.propertiesのおすすめ設定

サーバーの設定ファイルです。

コマンド辞典

基本構文とコマンド別の使い方を確認できます。