Minecraft【作るゲーム】パルクール。No.1

Java版1.21、統合版はv1.21.2で動作確認。
障害物を置き、ゴールまでのタイムを競う。マルチプレイで遊べるレースゲームを作ります。
パルクールv1.20
パルクール装置をマルチプレイに対応しました。ラップタイム機能を追加して、ゴールしたプレイヤーの時間だけをサイドバーに表示。最後のプレイヤーがゴール、またはギブアップするまで装置を動作させます。コマンドの難易度は少し上がりましたが、数は少なめなので中級者向けの装置となります。パルクールはアクション要素が強く、タッチ操作で遊ぶのは難しいです。キーボードまたはコントローラー推奨。
※記事内容を大幅に変更しました。うまく表示されない場合は、ブラウザのキャッシュをクリアしてください。
◻︎装置の特徴
・引数を使った範囲検知。
・タイマーをアクションバーに表示。
・タグ不要。アイテムを使ってラップタイムを計測。
・四則演算でラップタイムをスコアに代入。
更新履歴
2024-6-21/マルチプレイに対応。ラップタイム機能を追加しました。
2023-5-26/統合版の「test」を廃止して「execute if score」に変更しました。
2023-4-3/レッドストーンブロックを廃止して、ラッチ回路を導入しました。
2022-12-5/Java版、統合版の1.19以降に対応。装置も再設計しました。
完成動画。v1.20
旧式/ v1.0はこちら。
目次
1.作成準備
・ログの非表示。
2.コマンドブロックの設置
3.パルクール装置全体図
・範囲内のプレイヤーを検知。・スタートゲートを作成。
4.ゲーム回路
・スコアボードの作成。・ステージエリア。・タイマー装置。・ゴールエリア。
5.仕上げ
・コース作り。
6.遊び方
・操作方法。
7.ワールドデータとスキン
・完成データのダウンロード。・パルクールスキン。
※「as」や「minecraft:」などのコマンドは簡略化しています。一部のコマンド、マルチプレイやサーバーでは必要な場合があります。
作成準備
ログの非表示。
◻︎ログの非表示と各種ブロックを入手。
/gamerule commandBlockOutput false /give @s command_block /give @s structure_block |
コマンドブロックの設置
コマンドブロックは画像に合わせて配置。「ブロック種類」「レッドストーン」を変更します。 変更がある場合は、個別に解説していきます。
◎配置したコマンドブロックの状態/すべて無条件。
コマンドブロックの色 | ブロックの種類 | レッドストーン |
黄色 | インパルス | 動力が必要 |
青色 | チェーン | 常時実行 |
紫色 | リピート | 常時実行 |
パルクール装置全体図。
フラットワールドを作成したら、座標(0 -60 0)へ移動して開花したツツジの葉を設置。装置は開始点座標(0 -60 0)を基準に、南が正面がになるよう設置にしています。座標を合わせてブロックを設置していくと、コマンドはコピー&ペーストで作れます。
開始点は座標(0 -60 0)。「え」はリスタート位置(4 -58 23)。①は開始スイッチ用(4 -58 25)※ストラクチャーブロック、テラコッタは目安。
❶スタート ❷ステージ ❸ゴール
パルクール装置を3つのエリアに分けています。
◻︎南向きを確認するには
ストラクチャーブロックを設置して、境界線の青い線が伸びる方が南。※赤い線は東。
範囲内のプレイヤーを検知。
❷ステージは2種類、❸ゴールでは1種類。範囲内のプレイヤーを検知するため、引数を使用します。高さ(dy=)は10ブロック。xとy軸の座標を確認。
❷ステージ(a)※ステージエリアだけの範囲。
「あ」の座標と、黄色のテラコッタまでの距離(引数)。
@a[x=1,y=-60,z=23,dx=6,dy=10,dz=16]
❷ステージ(b)※スタートとステージエリアを合わせた範囲。
「あ」の座標と、赤色のテラコッタまでの距離(引数)。
@a[x=1,y=-60,z=6,dx=6,dy=10,dz=21]
❸ゴールは「い」の座標と、空色のテラコッタまでの距離(引数)。
@a[x=1,y=-60,z=2,dx=6,dy=10,dz=3]
スタートゲートを作成。
鉄格子を使って、スタートゲートを作ります。①のコマンドブロック上に、2ブロック追加。木のボタンを設置。
「A」は座標(1 -56 23)。「B」は座標(7 -56 23)。①は座標(4 -58 25)。
【Java版/統合版】 共通
①fill 1 -56 23 7 -56 23 air replace iron_bars |
①範囲内の鉄格子を、空気ブロックに置き換える。
ゲーム回路
スコアボードの作成。
スコアボード「time」を作り、サイドバーに表示しておきます。※「below_name」や「list」でもOKです。 さらに即時リスポーン、スポーン位置がズレないようにゲームルールも変更しておきます。
【Java版/統合版】共通
/scoreboard objectives add time dummy "秒(タイム)" /scoreboard objectives setdisplay sidebar time ------ /gamerule spawnRadius 0 /gamerule doImmediateRespawn true |
◎統合版はダブルクォーテーションマーク「"」無し。
/scoreboard objectives add time dummy 秒(タイム)
ステージエリア。
プレイヤーがステージエリアに入った時、鉄のトラップドア音を鳴らし、ゲームを開始します。
①は座標(1 -60 24)。②は動力が必要。鉄のトラップドアを設置。④にはレッドストーントーチを設置。「え」は座標(4 -58 23)。「お」は地面下、金ブロック。
【Java版】
①execute if entity @a[x=1,y=-60,z=6,dx=6,dy=10,dz=16] ②item replace entity @a[x=1,y=-60,z=6,dx=6,dy=10,dz=21] hotbar.0 with stick ③title @a actionbar [{"score":{"name":"秒","objective":"count"}},{"text":" 秒"}] ------ ④scoreboard players reset @a time ⑤scoreboard objectives add count dummy ⑥title @a title "開始!" ⑦spawnpoint @a 4 -57 25 |
【統合版】②③⑥以外はJava版と同じ。
②replaceitem entity @a[x=1,y=-60,z=6,dx=6,dy=10,dz=21] slot.hotbar 0 stick 1 0 ③titleraw @a actionbar {"rawtext":[{"score":{"name":"秒","objective":"count"}},{"text":" 秒"}]} ------ ⑥title @a title 開始! |
①プレイヤーが、範囲内にいる時、信号を出す。「❷ステージ(a)」の範囲座標。
②範囲内にいるプレイヤーのホットバー0を、木の棒に置き換え。「❷ステージ(b)」の範囲座標。
③スコアボード「count」の秒をアクションバーに表示。
------
④スコアボード「time」をリセット。
⑤スコアボード「count」を作成。
⑥タイトルに「開始!」を表示。
⑦リスポーン位置を設定。「え」の座標。※Java版は座標の後ろに角度を入力すると、リスポーン時の向きを指定出来ます。
タイマー装置。
ゲーム内時間の「ティック(tick)」を数え、1秒のクロック回路を作成。※20ティックで約1秒。
②④⑤は条件付き。「お」には音符ブロックを設置。
【Java版】
①execute if entity @a[nbt={Inventory:[{id:"minecraft:stick"}]}] ②scoreboard players add ティック count 1 ------ ③execute if score ティック count matches 20.. ④scoreboard players set ティック count 0 ⑤scoreboard players add 秒 count 1 |
【統合版】①以外はJava版と同じ。
①execute if entity @a[hasitem={item=stick}] |
①プレイヤーが、木の棒を持っている時、信号を出す。※「minecraft:」が必要(Java版)。
②「count」のティックに1を足す。
------
③「count」のティックが20以上の時、信号を出す。
④「count」のティックを0に設定。
⑤「count」の秒に1を足す。
ゴールエリア。
プレイヤーがゴールエリアに入った時、音符ブロックを鳴らしゲームを終了します。
②③は条件付き。
【Java版】
①clear @a[x=1,y=-60,z=2,dx=6,dy=10,dz=3] stick 0 ②scoreboard players operation @a[x=1,y=-60,z=2,dx=6,dy=10,dz=3,nbt={Inventory:[{id:"minecraft:stick"}]}] time > 秒 count ③clear @a[x=1,y=-60,z=2,dx=6,dy=10,dz=3] stick 1 ------ ④title @a title "終了!" ⑤clear @a stick 1 ⑥scoreboard objectives remove count ⑦fill 1 -56 23 7 -56 23 iron_bars replace air |
【統合版】⑥⑦はJava版と同じ。
①clear @a[x=1,y=-60,z=2,dx=6,dy=10,dz=3] stick 0 0 ②scoreboard players operation @a[x=1,y=-60,z=2,dx=6,dy=10,dz=3,hasitem={item=stick}] time > 秒 count ③clear @a[x=1,y=-60,z=2,dx=6,dy=10,dz=3] stick 0 1 ------ ④title @a title 終了! ⑤clear @a stick 0 1 |
【❸ゴールの範囲座標】
①プレイヤーが、範囲内にいる時、信号を出す。
②範囲内で木の棒を持っているプレイヤーのスコア「time」を「count」の秒に置き換え。※「minecraft:」が必要(Java版)。
③範囲内のプレイヤーの木の棒を削除。
------
④タイトルに「終了!」を表示。
⑤木の棒を削除。
⑥スコアボード「count」を削除。
⑦範囲内の空気ブロックを、鉄格子に置き換える。「スタートゲート」の範囲座標。
仕上げ
コース作り。
コマンドブロックを隠してコースを仕上げます。ゲームモードをアドベンチャーモードにしたら、完成です。
◎作成ポイント
スタートエリアは外側、ゴールは内側から扉を開けれるようにします。ゴール地点にドロッパーを設置。体力を回復出来るアイテムを入れておきます。※スタートエリアの下は検知コマンドが有効なので、プレイヤーが入れないようにします。
遊び方
操作方法。
スタートゲートが開いたら障害物を乗り越え、早くゴールしたプレイヤーの勝ち。
1.木のボタンを押して、スタートゲートを開く。
2.ステージエリアに入ると、タイマーが起動。
3.ゴールするとサイドバーの秒(タイム)に、自分のラップタイムが表示されます。
4.すべてのプレイヤーがゴール、またはステージ内から出ると装置は終了。(装置外を含む)
※ステージ内にプレイヤーがいる時は、死亡してもレンガブロックから再スタート。スタートゲートが閉じた後、ゲームを開始すると秒(タイム)はリセットされます。
シングルプレイやもちろん、複数人でタイムを競って遊ぶことが出来ます。
ワールドデータとスキン
完成データのダウンロード。
ワールドデータは、コマンド入力不要。「開始レバー」を下げると装置が起動します。
◎ダウンロード/パルクールv1.20
【統合版】パルクールv1.20.mcworld
iOS、Android/Minecraftで開く。Windows/ダブルクリックでインポート。
【Java版】パルクールv1.20.zip
解凍後、ワールド内の「saves」フォルダに入れる。
※二次配布は禁止です。
パルクールスキン。
スティーブタイプ 64×64px Skin
【左】パルクールスティーブ
ダウンロード/
parkour_s0ch.png
スティーブタイプ 64×64px Skin
【右】パルクールスティーブ2
ダウンロード/
parkour_s20ch.png
※二次配布は禁止です。