Minecraft【テクニック】ファンクション、スケジュールコマンドの使い方。1-4

Java版1.21.4-、統合版v1.21.51-で動作確認。

ファンクション、スケジュールコマンドの基本と応用。

ファンクション、スケジュールコマンド。

ファンクションはデータパック(Java版)、ビヘイビアーパック(統合版)の拡張機能のひとつ。複数のコマンドをテキストファイルに保存しておけるので、コマンドブロックの数を大幅に減らす事が出来ます。スケジュールコマンドは、ファイルの実行時間を指定出来ます。テキストファイルなので、編集や修正も簡単です。

 

ファンクションコマンドを使うには、データパック、またはビヘイビアーパックが必要です。導入がまだの方は、関連記事を参考にフォルダ構造を作成してください。

 

 

 

目次

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ブロックの円の範囲でファンクションを実行。