この記事では、Minecraft Java Edition(バージョン1.19)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。
コマンドの!(ビックリマーク)に疑問なマインクラフター
「コマンドの中に!があったんだけど、これってどういう意味なの? どういう時に使うのかな?」
こんな疑問を解決します!
- !の後に指定したものが対象にならなくなる
こんにちは! マインクラフターのなつめ(@natsume_717b)です。
マイクラ歴は5年程で、最近は脱出マップやミニゲームを制作しています!
→ダウンロードページ
この記事では、コマンドで使用することのある!(ビックリマーク)についてです。
これはアイテムIDに付与されていることのある#と同様に、意味のあるもので覚えて損のないものです。
1度理解してしまえば難しいものではないので、ぜひこの記事でマスターしてくださいね。
それでは、さっそく見ていきましょう。
#については以下の記事で説明しています。
!の後に指定したものが対象にならなくなる
コマンドを使用していると、!のついたアイテムIDを使用している場合があります。
これは!の後に指定されているものは当てはまらないという意味合いになります。
もう少し具体的に見ていきます。
例えば、以下のようなコマンドがあったとします。
/effect give @e[type=!minecraft:player] minecraft:glowing 100 0 true
このコマンド自体はeffectコマンドで、minecraft:glowingが指定されているので発光するようにしています。
そして、その対象が@e[type=!minecraft:player]となっており、!が使われています。
なのでこれを1つ1つ見ていきます。
まず@eなので、すべてのエンティティが対象となっています。
要するにプレイヤーを含めた動物や敵、防具立てなどですね。
そこに[]で詳しい条件を指定されています。
type=は種類を指定するものですので、通常はその後に指定されたものしか対象になりません。
type=minecraft:playerとあれば、すべてのエンティティの中からプレイヤーだけが対象になるわけですね。
しかし、今回の場合は!がついていますので、この意味が反転します。
要はプレイヤー以外のすべてのエンティティとなるわけです。
まとめると、上記のコマンドを実行することでプレイヤー以外の全てのエンティティが100秒間発光するようになっています。
今回はtype=で例を出しましたが、そのほかにもtag=やgamemode=などでも使います。
というわけで、!を使うことで指定したものが当てはまらないようにできます。
まとめ
というわけで、今回のまとめです。
今回使ったコマンドはこちら。
/effect give @e[type=!minecraft:player] minecraft:glowing 100 0 true
この記事は以上になります。