Minecraft【Java版/統合版】タイマー楽譜で演奏。(ファンクション対応)
音色変更や曲の切り替えも簡単! 鍵盤装置。タイマー楽譜はファンクションを使って読み込みます。
Java版1.19.3、統合版はv1.19.62で動作確認。
タイマー楽譜で演奏。
スコアボードで作るタイマーを使って、音を鳴らす装置を作成(鍵盤装置)。ファンクションでタイマー楽譜を読み込み、感圧版を踏んで曲を再生。曲の再生中でも、指定ポイントにブロックを置くと音色も変更可能。楽譜コマンドは、音の長さと音符(音)ブロックのクリック回数を入力するだけで作れます。※楽譜はファンクションを使わずに、ワールド内に設置しても動作します。
◻︎装置の特徴
・ファンクションの読み込み(サンプル曲付き)。
・execute as、at、run を使ったタイマー楽譜。
・防具立ての応用。
完成動画(旧式)
更新履歴
2023-2-18/新設計!鍵盤装置。統合版の新コマンドにも対応しました。※完成動画は旧式のタイマー楽譜で演奏です。
1.作成準備
・フラットワールド。
・チャットコマンド。
2.コマンドブロックの設置
3.装置全体図
・タイマー楽譜で演奏の装置全体図。
4.視聴エリア
・スコアボードの作成。・視聴台。
5.鍵盤装置
・防具立ての設置。・音符(音)ブロックの設置。・コマンド変更(統合版)。・仕上げ。
6.楽譜の読み方
・記号や拍子の種類。・音符と音の長さ。・Onpuの入力例。
7.タイマー楽譜の作成
・鍵盤表。・音符コマンド。・ファンクションの保存。
8.ワールドデータ
・完成データのダウンロード。
9.ファンクションの移動と読み込み
・移動場所。・読み込み。
※一部Java版と統合版のコマンドに違いがあるので気をつけてください。
作成準備
フラットワールド。
マインクラフトのバージョンも上がり、フラットワールドの作成が簡単になりました。 詳しくは、下記の関連記事を参考に作成してください。
- フラットワールドの作り方はこちら→ 新規フラットワールド作成。
チャットコマンド。
チャットに大量のコマンドログが流れ、装置作成の邪魔になるのでログを非表示にしておきます。 ※Java版では、新規ワールド作成時にも非表示に出来ます。
◻︎コマンドログの非表示 ※表示する場合 「false」を「true」に変更。
/gamerule commandBlockOutput false |
装置作成に必要なコマンドブロックを手に入れます。
◻︎コマンドブロックの入手
/give @s command_block |
コマンドブロックの設置
Java版と統合版では、コマンドやブロックの名称など違いがあります。
装置の解説はJava版の名称で統一しています。
コマンドブロックは画像に合わせて配置。「ブロックの種類」「レッドストーン」を変更します。変更がある場合は、個別に解説していきます。
配置したコマンドブロックの状態/すべて無条件
※()内は統合版の名称。
コマンドブロックの色 | ブロックの種類 | レッドストーン |
黄色 | インパルス (衝撃) |
動力が必要 (レッドストーンが必要) |
青色 | チェーン | 常時実行 (常にアクティブ) |
紫色 | リピート (反復) |
常時実行 (常にアクティブ) |
装置全体図
タイマー楽譜で演奏の装置全体図。
フラットワールドを作成したら、座標(0 -60 0)へ移動して開花したツツジの葉を設置。装置は開始点座標(0 -60 0)を基準に、南が正面がになるよう設置にしています。座標を合わせてブロックを設置していくと、コマンドはコピー&ペーストで作れます。
開始点は座標(0 -60 0)。防具立ての座標「O」(1 -60 0)。
❶視聴エリア ❷鍵盤装置
◻︎南向きを確認するには
ストラクチャーブロックを設置して、境界線の青い線が伸びる方が南。※赤い線は東。
/give @s structure_block
防具立ての設置。
チャットコマンドを使って、名前を付けた防具立てを設置します。「O」はタイマー用に使用。
【Java版】
/summon armor_stand 1 -60 0 {CustomName:"\"O\""} |
【統合版】
/summon armor_stand O 1 -60 0 |
視聴エリア
スコアボードの作成。
スコアボードを作成。「Onpu」は、防具立てに数字持たせタイマーにします。
【Java版/統合版 共通】
/scoreboard objectives add Onpu dummy |
◻︎削除する場合。
/scoreboard objectives remove Onpu
視聴台。
感圧版を踏むとタイマーが起動する装置を作ります。周辺には、音符(音)ブロックの音色を変更出来るブロックを設置しておきます。
「あ」は座標(6 -60 9)、「A」は座標(6 -60 12)。①は動力が必要(レッドストーンが必要)に変更。 ①統合版のみ、ティックの遅延を1に変更。
「A」は1ブロック下にレッドストーンダスト(の粉)、その上にオークの原木(樫の木の丸太)と感圧版を設置。 ①にはトーチ(のたいまつ)を設置。「あ」にブロックを置いた時、音色が変わるようにします。(座標確認)
【Java版/統合版 共通】
①scoreboard players add @e[name=O] Onpu 1 ②scoreboard players reset @e[name=O] Onpu |
【音符タイマー】
①信号がオンの時、防具立て「O」に「Onpu」を追加(統合版のみ、ティックの遅延を1)。
②信号がオフの時「Onpu」をリセット。
鍵盤装置
防具立ての設置。
ブロックが簡単に設置出来るように、名前を付けた防具立てを地下に設置します。
チャットコマンドを使って、名前を付けた防具立てを設置します。「B」「C」の「T」は音色変更に使用(全25個)。 「R0〜R24」はレッドストーンブロックで音符ブロックを鳴らすために使用(全25個)。 ※Rはレッドストーンの略。数字は音符(音)ブロックのクリック回数と合わせます。
【Java版】
/summon armor_stand 0 -60 5 {CustomName:"\"T\""} /summon armor_stand 0 -60 4 {CustomName:"\"R0\""} |
【統合版】
/summon armor_stand T 0 -60 5 /summon armor_stand R0 0 -60 4 |
防具立てを設置したら、石ブロックと草ブロックで穴を閉じます。
音符(音)ブロックの設置。
全種類の音がなるようにクリック(タップ)を変えて、音符(音)ブロックを設置します。
「0」は座標(0 -59 5)、「12」は座標(0 -59 2)。「え」は座標(2 -60 0)。「F」は範囲座標(0 -59 3)〜(12 -59 4)。 ③は動力が必要(レッドストーンが必要)に変更。
【Java版/統合版 共通】
①execute at @e[name=T] run clone 6 -60 9 6 -60 9 ~ ~3 ~ ②execute if blocks 0 -59 3 12 -59 4 0 55 3 all ③fill 0 -59 3 12 -59 4 air |
【音色変更】◻︎視聴エリア、視聴台の画像参考。
①「あ」の座標に置いたブロックを、防具立て「T」の3ブロック上にクローン。
【レッドストーンブロック検知】
②「F」の範囲座標が、5ブロック上の空気ブロックと同じかを検知。
※Fにレッドストーンブロックが置かれた時、信号をオフにします。
③信号がオンの時「F」の範囲座標に空気ブロックを設置。
コマンド変更(統合版)。
統合版の場合「execute if blocks」を使った装置では、処理速度が間に合わず、うまく再生出来ない曲があります。しっかり再生するには「setblock air」を使います。
①は座標(0 -60 3)。コマンドブロックは全て動力が必要(レッドストーンが必要)、ティックの遅延を10に変更。
【統合版】
①setblock 0 -59 3 air |
【レッドストーンブロック検知】
①信号がオンの時、1ブロック上に空気ブロックを設置(ティックの遅延を10)。座標を変えながら25個のコマンドブロックに入力します。
仕上げ。
レッドストーンランプを置くと、演奏時に光ります。視聴台から届く場所に、タイマー楽譜を読み込むためのコマンドブロックを設置しておきます。
◎鍵盤装置の応用(Java版)。
Java版では音階を変えたブロックを直接コマンドで出せるので、防具立ての数を減らすことが出来ます。「execute if block」で真ん中の音符ブロックを検知して消しています。すっきりして見栄えも良いので、ぜひ挑戦してみてください。※楽譜のコマンドも変わります。
楽譜の読み方
記号や音の長さなど、タイマー楽譜の作成時に必要な楽譜の読み方をまとめました。
記号や拍子の種類。
音符と音の長さ。
Onpuの入力例。
開始が「Onpu=0」だと音が出せないので、開始は0以上の数字にします。 休符やタイも音は鳴らさず足していく。割り切れない数字は、小節の長さを優先し調整します。 ※16音符や連符などうまく音が鳴らない場合があります。音符を減らしたりして誤魔化します。
タイマー楽譜の作成
鍵盤表。
音階と音符(音)ブロックのクリック回数が分かる鍵盤表。
音符コマンド。
テキストエディタを使って、音符コマンドを作ります。ひとつのコマンドをコピーして、音の長さと音階を楽譜や鍵盤表を見ながら入力していきます。
【Java版/統合版 共通】
①execute as @e[scores={Onpu=12}] at @e[name=R6] run clone 2 -60 0 2 -60 0 ~ ~4 ~ ②scoreboard players reset @e[scores={Onpu=24..}] Onpu |
【音符コマンド】◻︎鍵盤装置、音符(音)ブロックの設置の画像を参照。
①防具立て「O」のスコア「Onpu」に合わせて「え」のレッドストーンブロックを防具立て「R6」の4ブロック上にクローン。 ※「Onpu=12」は音の長さ。「name=R6」は音符ブロックのクリック回数(音階)。
②防具立て「O」の「Onpu」が24以上になった時「Onpu」をリセット。 ※曲をループする時に使います。
タイマー楽譜で「ドレミ」と鳴らす場合)
♯ドレミ execute as @e[scores={Onpu=12}] at @e[name=R6] run clone 2 -60 0 2 -60 0 ~ ~4 ~ execute as @e[scores={Onpu=24}] at @e[name=R8] run clone 2 -60 0 2 -60 0 ~ ~4 ~ execute as @e[scores={Onpu=36}] at @e[name=R10] run clone 2 -60 0 2 -60 0 ~ ~4 ~ . . . scoreboard players reset @e[scores={Onpu=48..}] Onpu |
※ファンクションの場合、コマンド以外のコメントには「♯」を付けておきます。
ファンクションの保存。
音符1個にひとつのコマンドが必要なので、大量のコマンドを使います。ファンクションでは、多くのコマンドを1ブロックで読み込めるので、タイマー楽譜に最適です。 ファイルの拡張子を「.txt」から「.mcfunction」に変更。(ファイル名は半角英数)※ファンクションが使えない機種は、ゲーム内でコマンドブロックに直接入力します。
ワールドデータ
完成データのダウンロード。
完成データでは、座標(4 -60 0)にリセットボタンを設置してあります。視聴台(6 -49 12)を踏むとスコアボードも作成されます。配布ワールドには、サンプル4曲を収録してあります。ファミマ大盛況、マリオブラザーズ、ミッキーマウスマーチ、マイムマイム。
【統合版】 v1.19.62 アプリで開くから、Minecraftを選びます。
ダウンロード/タイマー楽譜で演奏.mcworld
【Java版】 1.19.3 zipを解凍して、フォルダを「saves」に入れて起動します。
ダウンロード/タイマー楽譜で演奏.zip
※二次配布は禁止です。
ファンクションの移動と読み込み
移動場所。
今回は配布しているにワールド内に、ファンクションフォルダを作ってあるので、そこに「.mcfunction」を移動します。Java版と統合版では移動場所が異なります。
【Java版】
タイマー楽譜で演奏.zipを解凍。「datapacks」→「Onpu」→「data」→「note」→「functions」
【統合版】
タイマー楽譜で演奏.mcworldをMinecraftにインポート。ビヘイビアーパックが使用中になっているか確認します。
◻︎インポートしたワールドの場所
◎iOS
「ファイル」アプリから、ブラウズ→「minecraftWorlds」で検索。
◎Android
Minecraftの設定→プロフィール→ファイルストレージの場所を外部にチェック。
「ファイルマネージャー」などのアプリから
メインストレージ\Android\data\com.mojang.minecraftpe\files\games\com.mojang\minecraftWorlds |
◎Windows ※AppDataは隠しファイルになっています。
C:\Users\ユーザー名\AppData\Local\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\minecraftWorlds |
◎iOS、Android、Windows共通
日付順に並び替え→日付の一番新しいワールドを開く。
「behavior_packs」→「Onpu」→「functions」→「note」
読み込み
動力が必要(レッドストーンが必要)。レバーを付けておきます。
【Java版】
①function note:ファイル名(半角英数) |
【統合版】
①function note/ファイル名(半角英数) |
①「function note」と入力すると読み込み可能なファイルがリストに表示されます。
※目的のファイルがリストに出てこない場合、タイマー楽譜のコマンドが間違っている可能性があります。
【Java版/統合版 共通】リロードコマンド。
/reload |
Java版では、ワールド起動中でも新しく追加したり、編集したファンクションを読み込む事が出来ます。 またコマンドブロックにも入力可能。
統合版で新しくファンクションを追加するには、Minecraftの再起動が必要です。 編集したファンクションは、リロードで読み込み可能。コマンドブロックに入力しても機能しません。
おすすめ記事もどうぞ!