【マイクラ】scheduleコマンドの使い方・構文・予約実行を解説【統合版】

この記事はマイクラ統合版(Bedrock Edition)向けです
Java版の/schedule functionとは構文が違うので注意してください
ビヘイビアパックのfunctionファイルを使う方向けのコマンド解説です

こんにちは。ゆずかきです。

マイクラ統合版でコマンドを触っていると、たまに/scheduleというコマンドを見かけることがあります。
名前だけ見ると、

「10秒後にこのコマンドを実行したい!」
「エリアが読み込まれたタイミングで処理を走らせたい!」

…みたいな時に使えそうですよね。

実際その認識でだいたい合っています。
ただし、ここで大事なのは、統合版のscheduleコマンドは、チャットに書いた普通のコマンドをそのまま予約するものではなく、functionファイルを予約実行するコマンドという点です。

つまり、

/schedule delay add timer/start 10s replace

のように書くと、timer/start.mcfunctionというfunctionを指定時間後に呼び出す、という使い方になります。

コマンドブロックの遅延設定でも似たことはできますが、scheduleを使えるようになると、functionファイル側から次の処理を予約できるので、ミニゲーム・演出・ワールドギミック作成がかなり整理しやすくなります👌

この記事では、統合版のscheduleコマンドについて、

  • 何ができるコマンドなのか
  • delay addで時間差実行する方法
  • on_area_loadedでエリア読み込み後に実行する方法
  • appendreplaceの違い
  • 予約したfunctionを消す方法
  • よくある失敗と対策

を、順番に解説していきます。

※本記事は統合版の公式Creator向けドキュメント、およびBedrock Wikiのfunction関連情報を参考に構成しています。
※マイクラは2026年からバージョン番号の付け方が変更されています。本記事では、旧1.21系記事で見かける表記も踏まえつつ、現在の統合版向け公式ドキュメントに掲載されている構文を中心に整理しています。
※コマンドやビヘイビアパックの仕様はアップデートで変わる可能性があるため、実際に入力する時はゲーム内の/help scheduleや入力補完もあわせて確認してください。


目次

1. scheduleコマンドとは
2. scheduleコマンドでできること・できないこと
3. 使う前に必要な準備
4. scheduleコマンドの基本構文一覧
5. delay addでfunctionを時間差実行する方法
6. appendとreplaceの違い
7. 予約したfunctionをキャンセルする方法
8. on_area_loadedでエリア読み込み後に実行する方法
9. tickingareaと組み合わせる使い方
10. 実用例:カウントダウン演出を作る
11. Java版との違い
12. うまく動かない時のチェックポイント
13. まとめ
14. 参考文献

この記事で分かること
・マイクラ統合版のscheduleコマンドの基本
・functionファイルを時間差で実行する方法
・エリア読み込み時にfunctionを実行する方法
・Java版のscheduleとの違い


1. scheduleコマンドとは

scheduleコマンドは、簡単に言うとfunctionファイルの実行を予約するコマンドです。

統合版では、大きく分けて次の2系統の使い方があります。

  • 指定時間後にfunctionを実行する
  • 指定したエリアが読み込まれた時にfunctionを実行する

「コマンドを予約実行する」と聞くと、チャット欄で直接、

/schedule delay add say Hello 10s

みたいに書けそうに見えるかもしれません。
しかし、これは基本的にそういう使い方ではありません。

scheduleで指定するのは、単体のコマンドではなくfunctionのファイルパスです。

例えば、ビヘイビアパック内に、

functions/timer/after_10s.mcfunction

というファイルを作った場合、ゲーム内では次のように呼び出します。

/function timer/after_10s

そして、このfunctionを10秒後に予約実行したい場合は、次のように書きます。

/schedule delay add timer/after_10s 10s replace

これが、統合版のscheduleコマンドの基本イメージです。

ポイント
scheduleは「あとで実行したい処理」を、functionファイルとして用意しておく必要があります。
ここを理解していないと、最初の段階でほぼ確実に詰まります。

使いどころとしては、

  • ミニゲーム開始前のカウントダウン
  • 一定時間後のテレポート
  • ボス戦のフェーズ移行
  • 建築ワールドの演出
  • エリア読み込み後の初期化処理

このあたりと相性が良いです。

コマンドブロックだけで全部やろうとすると、遅延用のコマンドブロックが増えて見た目も管理も大変になりがちです。
functionとscheduleを組み合わせると、処理をファイルごとに分けられるので、後から見返した時にかなり分かりやすくなります👌


2. scheduleコマンドでできること・できないこと

まず最初に、scheduleでできることと、できないことを整理しておきます。
ここを先に押さえておくと、かなり混乱しにくくなります。

やりたいこと scheduleで可能? 補足
10秒後にfunctionを実行 可能 schedule delay addを使う
特定エリアが読み込まれたらfunctionを実行 可能 schedule on_area_loaded addを使う
tickingareaが読み込まれたらfunctionを実行 可能 常時読み込みエリアと組み合わせる
チャットに書いた普通のコマンドを直接予約 基本不可 functionファイル化してから予約する
コマンドブロックの代わりに何でも自動化 一部可能 function・権限・読み込み範囲の理解が必要


特に大事なのは、普通のコマンドをそのまま遅延できるわけではないという点です。

例えば、10秒後に全員へメッセージを出したいなら、まずfunctionファイルを作ります。

say 10秒経過しました

このような内容の.mcfunctionを用意して、そのファイルをscheduleで呼ぶ、という流れですね。

初心者さんが最初に触るなら、いきなり複雑なエリア読み込み処理を作るより、delay addで数秒後にメッセージを出すところから試すのがおすすめです。


3. 使う前に必要な準備

scheduleコマンドを使うには、普通のサバイバルプレイとは少し違う準備が必要です。

最低限、次のものを用意してください。

  • チートを有効化した統合版ワールド
  • コマンドを実行できる権限
  • ビヘイビアパック
  • functionsフォルダ
  • .mcfunctionファイル

統合版のfunctionファイルは、ビヘイビアパック内のfunctionsフォルダに入れます。
例えば、次のような構成です。

my_behavior_pack/
├─ manifest.json
└─ functions/
   └─ timer/
      └─ after_10s.mcfunction

この場合、ゲーム内で指定するfunction名は、

timer/after_10s

です。
.mcfunctionの拡張子は、コマンド内では書きません。

そして、.mcfunctionファイルの中身を書く時は、先頭のスラッシュ/は不要です。

例えば、チャット欄ではこう書くコマンドも、

/say こんにちは

functionファイルの中では、こう書きます。

say こんにちは

ここもかなり間違えやすいです。
筆者もfunctionを触り始めた頃は、チャット欄の癖で/を付けたくなりました。
統合版のfunctionファイルでは、基本的にスラッシュ無しで書く、と覚えておきましょう。

注意点
ビヘイビアパックを変更した後は、ワールドの再読み込みや/reloadが必要になる場合があります。
functionが見つからない時は、まずファイル名・フォルダ名・ビヘイビアパック適用状況を確認してください。


4. scheduleコマンドの基本構文一覧

統合版のscheduleコマンドは、現在の公式ドキュメント上では次のような構文が案内されています。

👇下の表に、よく使う構文をまとめました。

目的 構文 使いどころ
時間差でfunction実行 /schedule delay add <function> <time> [append|replace] 10秒後の処理、カウントダウンなど
delay予約を消す /schedule delay clear <function> 予約済みの時間差実行を取り消す
予約を消す /schedule clear <function> 指定functionの予約を整理する
四角形エリア読み込みで実行 /schedule on_area_loaded add <from> <to> <function> 指定範囲が読み込まれた時の初期化
円形エリア読み込みで実行 /schedule on_area_loaded add circle <center> <radius> <function> 中心座標と半径で指定したい時
tickingarea読み込みで実行 /schedule on_area_loaded add tickingarea <name> <function> 常時読み込みエリアと組み合わせる時
tickingarea予約を消す /schedule on_area_loaded clear tickingarea <name> [function] 指定tickingareaの予約整理
on_area_loaded予約をfunction名で消す /schedule on_area_loaded clear function <function> エリア読み込み予約をfunction単位で消す


最初から全部覚える必要はありません。
初心者さんがまず覚えるなら、次の2つでOKです。

/schedule delay add <function> <time> replace
/schedule delay clear <function>

この2つが分かるだけでも、時間差演出や簡単なタイマー処理は作れます。


5. delay addでfunctionを時間差実行する方法

ここからは、schedule delay addを使って、functionを時間差で実行する方法を見ていきます。

基本構文はこちらです。

/schedule delay add <function: filepath> <time> [append|replace]

例えば、10秒後にtimer/after_10sを実行するなら、こう書きます。

/schedule delay add timer/after_10s 10s replace

timer/after_10s.mcfunctionの中身は、例えばこんな感じです。

say 10秒経過しました
playsound random.levelup @a

これで、/schedule delay add timer/after_10s 10s replaceを実行してから10秒後に、メッセージと効果音が実行されます。

timeの書き方

timeには、ゲーム内の時間単位を指定します。
実用上は、次のように覚えておくと分かりやすいです。

指定例 意味 主な用途
20t 20ティック 約1秒後の処理
10s 10秒 カウントダウン・演出
1d ゲーム内1日 長めの時間経過処理


マイクラでは、基本的に20ゲームティック=約1秒として扱われます。
そのため、1秒後なら20t、5秒後なら100tという考え方もできます。

ただ、記事を読む方にとっては、10sのように秒で書いた方が直感的だと思います。
まずは秒指定から試して、必要に応じてティック指定へ寄せると良いです。

まず作るならこの例でOK

最初に試すなら、次のような2ファイル構成が分かりやすいです。

functions/
└─ timer/
   ├─ start.mcfunction
   └─ after_10s.mcfunction

start.mcfunctionの中身:

say タイマーを開始しました
schedule delay add timer/after_10s 10s replace

after_10s.mcfunctionの中身:

say 10秒経過しました
playsound random.levelup @a

ゲーム内で実行するコマンド:

/function timer/start

これで、timer/startを実行した後、10秒後にtimer/after_10sが呼ばれます。

ここが便利です
functionの中から、次に実行するfunctionを予約できます。
つまり「処理A → 10秒後に処理B → さらに5秒後に処理C」のような流れも、ファイルを分けて整理できます。


6. appendとreplaceの違い

schedule delay addの最後には、appendまたはreplaceを指定できます。
ここが少し分かりにくいので、先に結論から言います。

基本はreplaceでOKです。
同じfunctionを複数回予約したい場合だけ、appendを検討しましょう。

replaceとは

replaceは、同じfunctionの予約を新しい予約で置き換えるイメージです。

/schedule delay add timer/after_10s 10s replace

この予約を入れた後、まだ実行される前に、もう一度次を実行したとします。

/schedule delay add timer/after_10s 30s replace

この場合、古い10秒後の予約は上書きされ、30秒後の予約に変わる、という考え方です。

タイマーの上書き、クールタイム、状態更新などはreplaceの方が扱いやすいです。

appendとは

appendは、同じfunctionの予約を追加していくイメージです。

/schedule delay add timer/after_10s 10s append
/schedule delay add timer/after_10s 20s append
/schedule delay add timer/after_10s 30s append

このようにすると、同じfunctionを複数のタイミングで予約する使い方ができます。

ただし、初心者さんがいきなりappendを多用すると、

「いつ予約されたのか分からない」
「同じ処理が何回も動く」
「キャンセルしたつもりなのに残っていた」

という事故が起きやすいです。

なので、最初はreplaceを使い、必要になった時だけappendにするのが安全です。

使い分けの目安

モード 特徴 おすすめ用途
replace 同じfunctionの予約を置き換える タイマー・クールタイム・状態更新
append 予約を追加する 複数タイミングで同じ処理を走らせたい時


実用では、replaceの方が管理しやすいです。
特にミニゲーム開始前のカウントダウンなどは、同じ処理が二重に走ると面倒なので、まずはreplaceがおすすめです。


7. 予約したfunctionをキャンセルする方法

予約したfunctionを取り消したい時は、clear系の構文を使います。

時間差実行の予約を消すなら、基本はこちらです。

/schedule delay clear <function: filepath>

例えば、timer/after_10sの予約を消したいなら、こう書きます。

/schedule delay clear timer/after_10s

また、指定functionの予約を消す構文として、次の形もあります。

/schedule clear <function: filepath>
/schedule clear timer/after_10s

実際に使う時は、まずdelayで予約したものはdelay clearで消す、と覚えると分かりやすいです。

キャンセル用functionを作っておくと便利

ミニゲームや演出では、途中で止めたい場面があります。
その場合は、キャンセル専用のfunctionを作っておくと管理が楽です。

functions/
└─ timer/
   ├─ start.mcfunction
   ├─ after_10s.mcfunction
   └─ cancel.mcfunction

cancel.mcfunctionの中身:

schedule delay clear timer/after_10s
say タイマーをキャンセルしました

ゲーム内で止めたい時:

/function timer/cancel

こうしておくと、コマンドブロックやNPCボタンからも呼び出しやすいです。

体験ベースの注意点
予約処理は、作った本人でも後から見返すと分からなくなりがちです。
startcancelresetのように、役割ごとにfunction名を分けておくと後で助かります。


8. on_area_loadedでエリア読み込み後に実行する方法

scheduleには、時間差実行だけでなく、エリアが読み込まれた時にfunctionを実行する使い方もあります。

基本構文は次の3種類です。

/schedule on_area_loaded add <from: x y z> <to: x y z> <function: filepath>
/schedule on_area_loaded add circle <center: x y z> <radius: int> <function: filepath>
/schedule on_area_loaded add tickingarea <name: string> <function: filepath>

通常プレイだけだと少しイメージしづらいですが、これはワールド制作やアドオン制作で便利です。
例えば、特定のエリアが読み込まれたタイミングで、初期化用のfunctionを実行したい時に使えます。

四角形エリアで指定する例

/schedule on_area_loaded add 0 60 0 20 80 20 area/init

この例では、0 60 0から20 80 20までの範囲を指定し、そのエリアが読み込まれた時にarea/initを実行するイメージです。

area/init.mcfunctionの中身は、例えばこんな感じです。

say エリアが読み込まれました
setblock 10 64 10 redstone_block

circleで指定する例

中心座標と半径で指定したい場合は、circleを使います。

/schedule on_area_loaded add circle 100 64 100 2 area/init_circle

この場合、中心座標100 64 100、半径2チャンクの範囲を指定する考え方です。

radiusはブロック数ではなく、チャンク単位で扱われる点に注意してください。
ここをブロック数のつもりで指定すると、思ったより広い範囲になったり、逆に意図と違う動きに見えたりします。

on_area_loadedの使いどころ

on_area_loadedは、サバイバル攻略というより、ワールド制作向けです。

  • エリア読み込み時に初期化処理を走らせる
  • ミニゲーム会場が読み込まれた時に準備処理をする
  • 特定範囲の装置を安全に起動する
  • プレイヤーが近づいた時に演出用functionを呼ぶ

こういう用途で使うと便利です。

ただし、エリア読み込みやチャンク読み込みの考え方が絡むため、delay addよりは少し上級者向けです。
最初はdelay addでfunction予約の流れを掴んでから、on_area_loadedへ進むのが良いと思います。


9. tickingareaと組み合わせる使い方

統合版には、/tickingareaというコマンドがあります。
これは、指定したエリアを常時処理対象として扱うための仕組みです。

scheduleでは、このtickingarea名を使って、エリア読み込み後のfunction実行を予約できます。

まず、tickingareaを作ります。

/tickingarea add circle 0 64 0 2 spawn_area

次に、そのtickingareaが読み込まれた時にfunctionを実行するよう予約します。

/schedule on_area_loaded add tickingarea spawn_area area/init_spawn

area/init_spawn.mcfunctionの中身例:

say spawn_areaが読み込まれました

このように、常時読み込みエリアとscheduleを組み合わせると、ワールドギミックの初期化に使いやすくなります。

tickingareaを使う時の注意点

tickingareaは便利ですが、増やしすぎるとワールドの処理負荷が重くなる可能性があります。
便利だからといって、何でもかんでも常時読み込みにするのはおすすめしません。

使うなら、

  • 本当に常時処理が必要な場所だけにする
  • 名前を分かりやすく付ける
  • 使わなくなったら削除する

このあたりを意識しましょう。

tickingarea名を使う場合、あとから見返して分かる名前にしておくのが大事です。
area1area2のような名前だと、後で何のエリアだったか分からなくなります。

例えば、

spawn_area
boss_room
lobby_system
minigame_stage_01

みたいに、用途が分かる名前を付けると管理しやすいです。


10. 実用例:カウントダウン演出を作る

ここでは、schedule delay addを使って、簡単なカウントダウン演出を作ってみます。

イメージとしては、

  1. /function countdown/startを実行
  2. 「3」表示
  3. 1秒後に「2」表示
  4. さらに1秒後に「1」表示
  5. さらに1秒後に「スタート!」表示

という流れです。

ファイル構成

functions/
└─ countdown/
   ├─ start.mcfunction
   ├─ count_2.mcfunction
   ├─ count_1.mcfunction
   └─ go.mcfunction

start.mcfunction

title @a title 3
playsound random.click @a
schedule delay add countdown/count_2 1s replace

count_2.mcfunction

title @a title 2
playsound random.click @a
schedule delay add countdown/count_1 1s replace

count_1.mcfunction

title @a title 1
playsound random.click @a
schedule delay add countdown/go 1s replace

go.mcfunction

title @a title スタート!
playsound random.levelup @a

ゲーム内では、次を実行します。

/function countdown/start

これで、functionファイル同士がscheduleで順番に呼ばれて、カウントダウン演出になります。

この構成の良いところ

この方法の良いところは、コマンドブロックを何個も並べなくても、ファイルだけで流れを作れることです。

もちろん、コマンドブロックの「遅延ティック」を使っても似た処理はできます。
ただ、カウントダウンやイベント演出が増えてくると、コマンドブロックだらけになって管理が大変です。

function化しておけば、

  • どの処理が何秒後に動くか分かりやすい
  • ファイルごとに役割を分けられる
  • 同じ演出を別の場所でも使い回しやすい
  • 修正する時に探しやすい

というメリットがあります。

補足
何度も同じカウントダウンを起動する可能性があるなら、replaceを使っておくと二重起動の事故を減らせます。
逆に、同じfunctionを複数のタイミングで並行予約したい場合はappendも選択肢になります。


11. Java版との違い

scheduleコマンドは、Java版にもあります。
ただし、統合版とは構文が違います。

Java版では、代表的には次のような書き方をします。

/schedule function <function> <time> [append|replace]

一方、統合版では、時間差実行の場合は次のように書きます。

/schedule delay add <function> <time> [append|replace]

ここがかなり重要です。
Java版の記事や動画を見ながら統合版で入力すると、構文が合わずにエラーになることがあります。

項目 Java版 統合版
時間差実行の基本 /schedule function ... /schedule delay add ...
実行対象 function function
functionの置き場所 データパック ビヘイビアパック
エリア読み込み予約 統合版とは構文が異なる on_area_loaded系を使用


検索すると、Java版向けの情報がかなり多く出てきます。
そのため、統合版で調べる時は、

  • 統合版
  • Bedrock Edition
  • BE
  • Creator Docs

といったキーワードを入れると、目的の情報に近づきやすいです。

また、古いコミュニティWikiでは、統合版のscheduleon_area_loaded中心で説明されている場合があります。
現在の公式Creator向けドキュメントでは、delay addによる時間差実行も案内されているため、古い記事だけで判断すると混乱しやすいです。

注意
2026年以降、マイクラのバージョン番号は従来の1.21.xxのような表記から、年ベースの表記へ移行しています。
古い記事を読む時は、記事の更新日と対象バージョンを必ず確認してください。


12. うまく動かない時のチェックポイント

scheduleコマンドがうまく動かない時は、原因がいくつかに絞れます。
トラブル時は、下のチェックリストを順番に見てください。

  • [ ] ワールドのチートは有効になっているか?
  • [ ] コマンドを実行できる権限があるか?
  • [ ] ビヘイビアパックはワールドに適用されているか?
  • [ ] functionsフォルダの場所は正しいか?
  • [ ] .mcfunctionの拡張子は正しいか?
  • [ ] コマンド内で.mcfunctionまで書いていないか?
  • [ ] functionファイル内のコマンドに/を付けていないか?
  • [ ] フォルダ名・ファイル名のスペルミスはないか?
  • [ ] ビヘイビアパック変更後に/reloadやワールド再読み込みをしたか?
  • [ ] appendで予約を増やしすぎていないか?
  • [ ] replaceで意図せず予約を上書きしていないか?
  • [ ] on_area_loaded系の場合、指定エリアが本当に読み込まれているか?
  • [ ] tickingarea名を間違えていないか?

よくあるミス1:function名に拡張子を書いてしまう

間違い例:

/schedule delay add timer/after_10s.mcfunction 10s replace

正しい例:

/schedule delay add timer/after_10s 10s replace

コマンド内では、.mcfunctionは書きません。

よくあるミス2:functionファイル内にスラッシュを書いてしまう

間違い例:

/say こんにちは
/schedule delay add timer/after_10s 10s replace

正しい例:

say こんにちは
schedule delay add timer/after_10s 10s replace

functionファイル内では、先頭の/は不要です。

よくあるミス3:Java版の構文を統合版に入れてしまう

間違い例:

/schedule function timer/after_10s 10s replace

統合版の時間差実行では、次のように書きます。

/schedule delay add timer/after_10s 10s replace

Java版の情報を参考にした時に起こりやすいミスです。
統合版で使うなら、必ず統合版向けの構文を確認しましょう。

よくあるミス4:予約は成功しているのにfunctionが存在しない

scheduleで指定したfunctionが存在しない、または読み込まれていない場合、当然ながら実行できません。

ファイル構成が、

functions/timer/after_10s.mcfunction

なら、指定する名前は、

timer/after_10s

です。
大文字・小文字、アンダーバー、フォルダ名の違いも確認してください。


13. まとめ

以上、マイクラ統合版のscheduleコマンドについて解説しました。

要点を整理すると、

  • schedulefunctionファイルを予約実行するコマンド
  • 普通のコマンドを直接予約するのではなく、.mcfunctionを指定する
  • 時間差実行は/schedule delay add <function> <time> [append|replace]を使う
  • 基本はreplaceでOK、複数予約したい時だけappendを使う
  • 予約を消したい時はdelay clearclearを使う
  • エリア読み込み後に実行したい時はon_area_loaded系を使う
  • Java版の/schedule functionとは構文が違うので注意

このあたりを押さえておけば、統合版でも予約実行の仕組みをかなり扱いやすくなります。

個人的には、最初からon_area_loadedまで全部覚えようとしなくて大丈夫だと思います。
まずは、

/schedule delay add timer/after_10s 10s replace

のような簡単な時間差実行から試すのがおすすめです。

コマンドブロックの遅延だけで作るより、functionとscheduleを組み合わせた方が、後から見返した時にかなり整理しやすいです。
ミニゲーム制作、ワールド演出、イベント処理などを作っている方は、ぜひ一度触ってみてくださいね(^^♪

では、本日はここまでで終わります。
最後までご覧いただき、ありがとうございました。


14. 参考文献

この記事を書くにあたり、以下の公式ドキュメント・海外系コミュニティ情報を参考にしています。