Minecraft【テクニック】ファンクション、スケジュールコマンドの使い方。1-4
Java版1.21.4-、統合版v1.21.51-で動作確認。
ファンクション、スケジュールコマンドの基本と応用。
ファンクション、スケジュールコマンド。
ファンクションはデータパック(Java版)、ビヘイビアーパック(統合版)の拡張機能のひとつ。複数のコマンドをテキストファイルに保存しておけるので、コマンドブロックの数を大幅に減らす事が出来ます。スケジュールコマンドは、ファイルの実行時間を指定出来ます。テキストファイルなので、編集や修正も簡単です。
ファンクションコマンドを使うには、データパック、またはビヘイビアーパックが必要です。導入がまだの方は、関連記事を参考にフォルダ構造を作成してください。
- 詳しくはこちら→ 【テクニック】データパック、ビヘイビアーパックの作り方。1-3
目次
1.ファンクションコマンド
・ファンクションの指定とリロード。
・サブコマンド。(Java版)
・本と羽根ペンで、コマンド実行。(Java版)
2.スケジュールコマンド
・実行時間の設定。
・範囲の設定。(統合版)
ファンクションコマンド
ファンクションファイルが正しいフォルダ構造にある時、コマンド入力時にリスト表示されます。表示されない場合、必ずどこかに間違いがあるので、再度確認してください。
ファンクションの指定とリロード。
Java版は名前空間、統合版はファイルパスでファンクションファイルを指定します。ファイルのリストが表示された時、tabキーで順送りにして選択します。(キーボードの場合)
◻︎functionのコマンド 例
【Java版】
①function itaiwani:toy ②reload |
【統合版】
①function itaiwani/toy ②reload |
①ファンクションファイルを選びます。※記号の違いに注意。
②ファイルを修正したり、追加した時「/reload」すると、ファンクションが更新されます。※統合版(Windows)も、ゲーム起動中に更新出来るようになりました。
サブコマンド。(Java版)
functionのサブコマンド「with」は、executeのような使い方が出来ます。防具立てがある時だけ、コマンドを実行したりも出来ます。
◻︎withのコマンド 例
①function itaiwani:say with entity @e[name="防具立て",limit=1] ②tellraw @a "イタイワニー" |
①防具立てがある時、ファンクションコマンドを実行。※単体を選択。
②function itaiwani:sayに記入したコマンド。
本と羽根ペンで、コマンド実行。(Java版)
ファンクションにマクロ関数が含まれている場合、block、entity、storageなどから数字や文字を取得して、代入する事も出来ます。※少し難易度が高いため、今回はどんな事が出来るか紹介だけしておきます。
X動画/動画はこちら。
本と羽根ペンにコマンドを記入。オフハンドに持った時に実行しています。コマンドは何度でも書き換え可能。よく使うコマンドを他のページに登録しておく事も出来ます。
参考サイト/reddit。※コマンドが古くなっているので注意。
スケジュールコマンド
スケジュールコマンドは、ファンクションコマンドと一緒に使います。スコアボードやタイマー装置を作らなくても、時間を入力するだけで、コマンドの実行時間を変更する事が出来ます。統合版では、ファンクションコマンドの実行範囲も予約する事が出来ます。
実行時間の設定。
スケジュールコマンドを追加して時間を設定します。時間の単位は3種類(d、s、t)。「replace」で予定を置き換え、「append」で予定を削除せずに設定します。「clear」で予定を削除することが出来ます。コマンドはファンクションファイル、コマンドブロックにも入力出来ます。
◻︎scheduleコマンド 例
【Java版】
①schedule function itaiwani:toy 20t append ②schedule clear itaiwani:toy |
【統合版】
①schedule delay add itaiwani:toy 20t append ②schedule clear itaiwani:toy ③schedule delay clear itaiwani:toy |
①ファンクションファイルを、1秒後に実行することを予約。
②③実行中、または予約したファンクションファイルを削除。※統合版は2種類ありますが、違いは不明。
◻︎時間の単位
【d】:ゲーム内で1日(24000ティック)
【s】:ゲーム内で1秒(20ティック)
【t】:ゲーム内で最小単位(1ティック)
時間を操作する事で、アニメーション、文章の更新(ストーリー等)、タイマー、効果音、BGMなどの演出が簡単に作れるようになります。
範囲の設定。(統合版)
指定した範囲が読み込まれた時、コマンドを実行出来るように予約しておく事が出来ます。範囲の指定方法は、3種類。※統合版では、プレイヤーから離れた場所の更新が停止するため、コマンドブロックを使った装置では「on_area_loaded」は必要なさそうです。
◻︎on_area_loadedのコマンド 例
①schedule on_area_loaded add ~~~ ~~~ function itaiwani/toy ②schedule on_area_loaded add circle ~~~ 1 function itaiwani/toy ③schedule on_area_loaded add tickingarea abc function itaiwani/toy |
①2箇所の座標(開始と終了)を入力。<from: x y z> <to: x y z>
②1箇所の座標と円の半径を入力。<center: x y z> <radius: int>
③作成済みの「tickingarea」の名前を入力。<name: string>
②では相対座標も使う事が出来ました。ビヘイビアーパックだけでアドオンを作る場合、プレイヤーが移動中でも、常にコマンドを実行しておく事が出来そうです。
④execute as @p run schedule on_area_loaded add circle ~~~ 3 function itaiwani/toy |
④プレイヤーを中心に、半径3ブロックの円の範囲でファンクションを実行。