Minecraft【ミニゲーム】大乱闘モブバトルv1.1。

Java版1.19.4、統合版はv1.19.83で動作確認。
「Coin」を投入したら、モブを選んでバトルスタート! 3種類のモブで対戦するミニゲームを作成。
大乱闘モブバトルv1.1。
スコアボードで作成する通貨「Coin」で遊べるミニゲーム、大乱闘モブバトルv1.1(じゃんけんゲームを改名)。演出や複雑なしくみを大幅に減らし、回路をシンプルに変更。2Pプレイも分離して別ワールドにしました。
◻︎1人プレイの場合
「Coin」を消費してボタンを押したらバトルスタート。ゾンビ(グー)、スケルトン(チョキ)、クリーパー(パー)からモブを選んで召喚。相手より強いモブを出したら勝利。足元の勝利ランプが点灯するので、感圧版を踏んで「Coin」をもらいます。感圧版を踏まずに連勝すれば、より多くの「Coin」が貰えますが、1度でも負けたら貰える「Coin」は0になります。同じモブが出たら、引き分けで再バトル。
◻︎2人プレイの場合
1人プレイ用を少し改良して2人プレイにしました。2P側(桃色)が先にモブを選び、1P(空色)が後からモブを選びます。「Coin」や連勝システムも無く、勝敗を決めるだけの装置です。
◻︎装置の特徴
・TPコマンドを使ったモブの固定と弓無しスケルトン。
・9パターンの結果を検知する、小型のAND回路。
・tick(ティック)を使ったループ式抽選装置。
・引数を使ったモブの検知。
完成動画(旧式)
1.作成準備
・フラットワールド。
・チャットコマンド。
2.コマンドブロックの設置
3.装置全体図
・大乱闘モブバトルv1.1の装置全体図。
4.プレイエリア
・スコアボードの作成。・バトル開始ボタン。・モブ召喚ボタン。・モブ固定。
5.景品回路
・スコア検知。
6.勝敗判定回路
・モブ検知。・勝敗結果。・仕上げ。
7.操作方法
・1人プレイ用と2人プレイ用。
8.ワールドデータとスキン
・完成データのダウンロード。・大乱闘モブバトルv1.1スキン。
更新履歴
2023-2-9/新設計!回路を簡単にして、統合版の新コマンドにも対応しました。
作成準備
フラットワールド。
マインクラフトのバージョンも上がり、フラットワールドの作成が簡単になりました。 詳しくは、下記の関連記事を参考に作成してください。
- フラットワールドの作り方はこちら→ 新規フラットワールド作成。
チャットコマンド。
チャットに大量のコマンドログが流れ、装置作成の邪魔になるのでログを非表示にしておきます。 ※Java版では、新規ワールド作成時にも非表示に出来ます。
◻︎コマンドログの非表示 ※表示する場合 「false」を「true」に変更。
/gamerule commandBlockOutput false |
装置作成に必要なコマンドブロックを手に入れます。
◻︎コマンドブロックの入手
/give @s command_block |
コマンドブロックの設置
Java版と統合版では、コマンドやブロックの名称など違いがあります。
装置の解説はJava版の名称で統一しています。
コマンドブロックは画像に合わせて配置。「ブロックの種類」「レッドストーン」を変更します。変更がある場合は、個別に解説していきます。
配置したコマンドブロックの状態/すべて無条件
※()内は統合版の名称。
コマンドブロックの色 | ブロックの種類 | レッドストーン |
黄色 | インパルス (衝撃) |
動力が必要 (レッドストーンが必要) |
青色 | チェーン | 常時実行 (常にアクティブ) |
紫色 | リピート (反復) |
常時実行 (常にアクティブ) |
装置全体図
大乱闘モブバトルv1.1の装置全体図。
フラットワールドを作成したら、座標(0 -60 0)へ移動して開花したツツジの葉を設置。装置は開始点座標(0 -60 0)を基準に、南が正面がになるよう設置にしています。座標を合わせてブロックを設置していくと、コマンドはコピー&ペーストで作れます。
開始点は座標(0 -60 0)。防具立ての座標「M」(5 -60 7)、「P」(5 -60 6)。※プレイエリアと景品回路は重なっています。
❶プレイエリア ❷景品回路 ❸勝敗判定回路
◻︎南向きを確認するには
ストラクチャーブロックを設置して、境界線の青い線が伸びる方が南。※赤い線は東。
/give @s structure_block
防具立ての設置。
チャットコマンドを使って、名前を付けた防具立てを2つ設置します。ループ式抽選装置用の「M」、景品ポイント用の「P」。
【Java版】
/summon armor_stand 5 -60 7 {CustomName:"\"M\""} /summon armor_stand 5 -60 6 {CustomName:"\"P\""} |
【統合版】
/summon armor_stand M 5 -60 7 /summon armor_stand P 5 -60 6 |
プレイエリア
スコアボードの作成。
3種類のスコアボードを作成。「mob」は、防具立てに数字持たせループします。「Coin」はスコアボード通貨として使用。「point」は景品用として使用。装置が完成するまで「mob」をサイドバーに表示しておきます。※確認用
【Java版/統合版 共通】
scoreboard objectives add mob dummy scoreboard objectives add Coin dummy scoreboard objectives add point dummy scoreboard objectives setdisplay sidebar mob |
◻︎削除する場合。
/scoreboard objectives remove mob
/scoreboard objectives remove Coin
/scoreboard objectives remove point
バトル開始ボタン。
「Coin」を消費して、バトルを開始する装置を作ります。
「あ」は座標(10 -60 12)。「い」は範囲座標(5 -59 12)、(7 -59 12)。⑤は動力が必要(レッドストーンが必要)に変更。 ※統合版のみ、ティックの遅延10を入力。
①の上にはレッドストーンダスト(の粉)、その上に銅ブロック、木のボタンを付けておきます。「A、B、C」には音符ブロックを設置。「A」は1回クリック、「B」は5回クリック、「C」は8回クリック。
【Java版】
①execute if entity @p[scores={Coin=5..}] run scoreboard players remove @p Coin 5 ②fill 3 -59 12 7 -59 12 redstone_block ③kill @e[type=!player,name=!M,name=!P] ④title @a title {"text":"バトル!","bold":true} ⑤setblock 10 -60 12 air |
【統合版】①②③⑤はJava版と同じ。
④title @a title バトル! |
①プレイヤーの「Coin」が5以上の時、「Coin」を5引く。
②「い」の範囲座標にレッドストーンブロックを設置。
③プレイヤーと名前が「M」と「P」以外をキル。
④タイトルに「バトル!」と表示。
⑤信号がある時「あ」の座標に空気ブロックを設置。※統合版のみ、ティックの遅延10。
モブ召喚ボタン。
プレイヤーがモブを選び召喚する装置。同時にtick(ティック)を使ったループ式抽選装置で相手モブ(NPC)も選びます。
「空」は座標(8 -58 9)、「桃」は座標(4 -58 9)。「う」は範囲座標(3 -59 12)、(7 -59 12)。 ⑤は動力が必要(レッドストーンが必要)、⑥は条件付きに変更。
「空、桃」はモブの召喚場所。色付きガラス(ステンドグラス)を設置。 コマンド入力後、②③④の上に粘着(吸着)ピストン、「R」の上にレッドストーンリピーター(反復装置)を 矢印の方向に設置。
【Java版】
①fill 3 -59 12 7 -59 13 air ②summon husk 8 -57 9 ③summon skeleton 8 -57 9 ④summon creeper 8 -57 9 ⑤scoreboard players add @e[name=M] mob 1 ⑥scoreboard players set @e[name=M,scores={mob=4..}] mob 1 |
【統合版】①②③⑤はJava版と同じ。
④title @a title バトル! |
【モブ召喚】
①信号がある時「う」の範囲座標に空気ブロックを設置。
②③④「空」の座標1ブロック上にハスク、スケルトン、クリーパーを召喚。
【ループ式抽選装置】
④⑤信号がある時、防具立て「M」に「mob」を追加し、1〜3の数字をループ。「mob」が4になったら1に戻します。
モブ固定。
信号が切れた時、防具立て「M」の「mob」のスコアに合わせてモブを召喚。「空、桃」に召喚したモブを、TPコマンドで固定します。また、スケルトンが召喚した時、弓を削除します。
「空」は座標(8 -58 9)、「桃」は座標(4 -58 9)。
「え」のレッドストーンダスト(の粉)の上に石ブロックを設置。「D」のトーチ(のたいまつ)上には音符ブロックを設置(1回クリック)。「お」空色、「か」黄色、「き」桃色(ピンク)のコンクリートを設置して、石のボタンを付ける。
【Java版】
①execute if entity @e[name=M,scores={mob=1..1}] run summon husk 4 -57 9 ②execute if entity @e[name=M,scores={mob=2..2}] run summon skeleton 4 -57 9 ③execute if entity @e[name=M,scores={mob=3..}] run summon creeper 4 -57 9 ④execute as @e[type=husk] at @s run tp @s ~ ~ ~ ⑤execute as @e[type=skeleton] at @s run tp @s ~ ~ ~ ⑥execute as @e[type=creeper] at @s run tp @s ~ ~ ~ ⑦item replace entity @e[type=skeleton] weapon.mainhand with air |
【統合版】①②③④⑤⑥はJava版と同じ。
⑦replaceitem entity @e[type=skeleton] slot.weapon.mainhand 0 air |
【モブ召喚】
※敵モブ ①②③「mob」のスコアに合わせて「桃」の座標1ブロック上にハスク、スケルトン、クリーパーを召喚。【モブ固定】
④⑤⑥ハスク、スケルトン、クリーパーが召喚された時、その場に固定します。※座標入力は無し。
【弓無し】
⑦スケルトンが攻撃してこないように、弓を消します。
景品回路
スコア検知。
防具立て「P」の「point」のスコアに合わせてランプを光らせたり、プレイヤーに「Coin」を与えたりします。
③④は条件付きに変更。「け」の銅ブロックの上にレッドストーンランプを設置。⑤はコマンド入力後、銅ブロックと感圧版を設置。
【Java版/統合版 共通】
①execute if entity @e[name=P,scores={point=1..3}] ②execute if entity @e[name=P,scores={point=3..3}] run scoreboard players add @p Coin 30 ③scoreboard players reset @e[name=P] point ④playsound entity.firework_rocket.twinkle player @a 5 -58 16 ⑤execute if entity @e[name=P,scores={point=1..1}] run scoreboard players add @p Coin 10 ⑥execute if entity @e[name=P,scores={point=2..2}] run scoreboard players add @p Coin 20 ⑦scoreboard players reset @e[name=P] point |
【景品ランプ】
①防具立て「P」の「point」が1〜3の時、信号を出す。
【3連勝】
②防具立て「P」の「point」が3の時、プレイヤーの「Coin」を30追加。
③②が実行された時、防具立て「P」の「point」をリセット。
④③が実行された時、プレイエリアに花火の音を鳴らす。
【1・2連勝】
⑤⑥防具立て「P」の「point」に合わせて、プレイヤーの「Coin」を追加。
⑦防具立て「P」の「point」をリセット。
勝敗判定回路
モブ検知。
「空、桃」に召喚したモブを検知します。AND回路を使って勝利、敗北、引き分けを判定します。
①②③はプレイヤーが「空」に召喚したモブを、④⑤⑥はNPC(ループ式抽選装置)が「桃」に召喚したモブ、 枠に囲まれた④⑤⑥は引き分けの場合を検知。
設置しているコンクリートは、検知するモブに合わせて色を変えています。「空色」はハスク、「黄色」はスケルトン、「桃色(ピンク)」はクリーパー。
モブの検知。
引数を使って、「空、桃」の1ブロック上にいるモブ検知します。※1ブロック分だけの検知なので(dx)、(dy)、(dz)は0のまま。
【Java版/統合版 共通】
①execute if entity @e[type=husk,x=8,y=-57,z=9,dx=0,dy=0,dz=0] ②execute if entity @e[type=skeleton,x=8,y=-57,z=9,dx=0,dy=0,dz=0] ③execute if entity @e[type=creeper,x=8,y=-57,z=9,dx=0,dy=0,dz=0] ④execute if entity @e[type=skeleton,x=4,y=-57,z=9,dx=0,dy=0,dz=0] ⑤execute if entity @e[type=creeper,x=4,y=-57,z=9,dx=0,dy=0,dz=0] ⑥execute if entity @e[type=husk,x=4,y=-57,z=9,dx=0,dy=0,dz=0] |
【プレイヤーが召喚したモブ】
①②③「空」の上に指定したモブがいる時、信号を出す。
【NPC】
④⑤⑥「桃」の上に指定したモブがいる時、信号を出す。
勝敗結果。
信号に合わせて、勝利、敗北、引き分けのコマンドを実行します。
①②③はプレイヤーが勝利した時、④⑤⑥はプレイヤーが敗北した時、⑦は引き分けの場合。※回路はコマンドブロックの数を減らすため、隣の回路と共有している部分があります。
【Java版】
①title @a title {"text":"1Pの勝利!","bold":true} ②kill @e[x=4,y=-57,z=9,dx=0,dy=0,dz=0] ③scoreboard players add @e[name=P] point 1 ④title @a title {"text":"1Pの負け!","bold":true} ⑤kill @e[x=8,y=-57,z=9,dx=0,dy=0,dz=0] ⑥scoreboard players reset @e[name=P] point ⑦setblock 10 -60 12 redstone_block |
【統合版】②③⑤⑥⑦はJava版と同じ。
①title @a title 1Pの勝利! ④title @a title 1Pの敗北! |
【勝利】
①タイトルに「1Pの勝利!」と表示。
②「桃」の座標の上にいるモブをキル。
③防具立て「P」の「point」に1追加。
【敗北】
④タイトルに「1Pの敗北!」と表示。
⑤「空」の座標の上にいるモブをキル。
⑥防具立て「P」の「point」をリセット。
【引き分け】◻︎プレイエリア、開始ボタン画像を参照。
⑦「あ」の座標にレッドストーンブロックを設置。
仕上げ。
プレイエリアに足場を作り、正面にステージを作ります。モブ召喚ボタンの上に頭を乗せておきます。※ハスクは無いので、ゾンビで代用。
操作方法
1人プレイ用と2人プレイ用。
「Coin」が5以上ある時、木のボタンを押すとバトル開始。向かって右側(空色)がプレイヤー側。 左側(桃色)はNPCになります。引き分けの場合は「Coin」の消費無しに再バトルになりますが、 木のボタンを押してしまうと消費されます。※「Coin」が5以下の時、バトルは開始されません。
【Java版/統合版 共通】サイドバー表示と「Coin」の入手コマンド。
/scoreboard objectives setdisplay sidebar Coin /scoreboard players add @p Coin 30 |
初回のみ、木のボタンを押してスコアボードを作成します(リセットボタン兼用)。 桃色側が2P用。相手に見えないようにモブ召喚ボタンを押してバトル開始。空色側がモブを召喚すると勝敗が決まります。演出やルールは特にありません。
ワールドデータとスキン
完成データのダウンロード。
完成データでは、座標(12 -60 0)にリセットボタンを設置してあります。また座標(12 -60 11)には「Coin」の追加ボタンを設置。スコアボードも作成されます。
【統合版】 v1.19.83 アプリで開くから、Minecraftを選びます。
ダウンロード/大乱闘モブバトルv1.1.mcworld
ダウンロード/大乱闘モブバトルv1.1_2P用.mcworld
【Java版】 1.19.4 zipを解凍して、フォルダを「saves」に入れて起動します。
ダウンロード/大乱闘モブバトルv1.1.zip
ダウンロード/大乱闘モブバトルv1.1_2P用.zip
※二次配布は禁止です。
大乱闘モブバトルv1.1スキン。
スティーブタイプ 64×64px Skin
ダウンロード/
battle_s0ch
※二次配布は禁止です。