マルチプレイなら『シン・VPS』がおすすめ!

【マイクラ】functionコマンドでwithを使う【関数や引数】

【マイクラ】functionコマンドでwithを使う【関数や引数】

この記事では、Minecraft Java Edition(バージョン1.20.2)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。

こんにちは!
マインクラフターのなつめ(@natsume_717b)です。

なつめ

2016年からマイクラを楽しんでおり、最近はクリエイティブモードでコマンドを駆使して遊んでいます!

この記事では、こんな疑問を解決します!

本記事の内容
  • functionコマンドのwithでも変数(引数)を扱える

functionコマンドでは呼び出す関数を指示した後に、withと書き込むことが可能です。

その場合、引数となる情報を書き込む必要が生じますが、functionコマンドで関数を呼び出すだけでは出来ないことも、出来るようになります。

変数(引数)を扱う方法は今回紹介するものだけではないので、過去に解説した記事も活用することをおすすめします。

【1.20.2~】functionコマンドで変数を使う方法【マイクラ】

それでは、さっそく見ていきましょう!

functionコマンドのwithでも変数(引数)を扱える

functionコマンドを使用する際、呼び出す関数を指定した後にwithを指示することができます。

withの後ろには、エンティティやstorageなどを指示します。
このように記述することで、変数(引数)を使用することが可能です。

実際の例を挙げてみると、以下のように打ち込んで実行します。

/function ntm_test:macro with storage minecraft:ntm

上記の場合は、minecraft:ntmというストレージを参照しつつ、ntm_test:macroという関数を実行します。

それぞれの中身は以下の通りです。

ntm_test:macro(mcfunction)の中身

$tp @a $(x) $(y) $(z)

minecraft:ntm(storage)の中身

{x"165.26701859979747d,y:58.0d,z:251.08493963884675d}

つまり、minecraft:ntmというstorageで保存しておいた値を参照して、tpコマンドを実行します。
1つずつ丁寧に見ていけば、難しくないですね。

xとzの値が細かすぎるのが気になる場合は、storageへ保存する際にexecuteコマンドのalignで整数に整える方法をおすすめします。

storageへの保存は以下のコマンドで行いました。

/data modify storage ntm x set from entity @s Pos[0]
/data modify storage ntm y set from entity @s Pos[1]
/data modify storage ntm z set from entity @s Pos[2]

これでfunctionコマンドでwithを用いた場合について、理解できたかと思います。

繰り返しになりますが、以下の記事でもfunctionコマンドで変数(引数)を扱っているので、あわせてどうぞ。

【1.20.2~】functionコマンドで変数を使う方法【マイクラ】

まとめ

というわけで、今回のまとめです。

ポイント
  • functionコマンドでwithを用いることで、エンティティやstorageなどから変数(引数)を指示できる。

この記事は以上になります。

  • 【まとめ】functionコマンドの基本から応用【マイクラ】
  • 【まとめ】カスタムストラクチャーの実装・カスタム方法【マイクラ】