Minecraft: Java Edition このゲームの記事一覧

1コマンド装置の作り方解説

一つコマンドを実行するだけで、大量のコマンドブロックが出現して、一瞬で装置が出来上がる... そんな装置は何度か当ブログでも出てきましたよね。例えば配布ワールド用の仕掛けを作ってYouTubeで紹介する時など、コマンドを圧縮すれば共有にとっても便利です。今回はバージョン1.9用の"複数のコマンドを1つにまとめるWebツールを紹介/解説します。

スポンサーリンク

ちょっと流行ってる「1コマンド装置」とはどんな物?

▲この前公式フォーラムで紹介されてた動画なのですが、なんとたった1コマンドで「巨大な村を生成する」装置が出来上がる、という動画です。こんな風に、最近"1コマンドで○○する"って仕掛けをよく見ません? コマンド界で「1コマンド装置」がちょっと流行ってると私は思いますね。

大量のコマンドを人に教えるのは大変

例えばコマンドで何か装置を作った時、一つ一つコマンドを人に教えるのは大変面倒です。1.9でコマブロにバリエーションとモードが追加され、余計教えるのが面倒になりました。そんな時、コマンド1つにまとめれば便利ですよね。YouTubeで装置の紹介をしたい時やTwitterでシェアしたい時もコマンドを圧縮すればポータブルでユースフルになります。

1コマンド装置の作り方とは

当ブログでもこれまでに『投げて種まき/水抜きできる装置』『Splatoonのトラップ再現してみた』の記事で1コマンド装置が登場しました。「こういう1コマンド装置ってどうやって作るの?」という質問を多数頂いたので、この記事ではコマンドを圧縮して共有する詳細な手順をまとめました。どうぞ最後までお読み頂ければ嬉しいです。


コマンドを貼り付けて簡単に圧縮できるWebツールの使い方

コマンドを圧縮するのに便利なWebツールがありますのでご紹介します。

Command Combiner 1.9
Command Combiner
https://mrgarretto.com/cmdcombiner

この前紹介した防具立てアニメーションを生成するツールの作者であるMrGarretto氏が制作したツールです。それでは早速使い方を解説します。


生成するコマンドの箱の位置や素材等の設定

箱の素材などの設定

ツールの上部には、コマンドを実行すると出てくる箱の素材などの設定が並んでいます。各項目の意味をまとめました。

Command Combinerの上部の各設定項目の解説
Enable casingコマンドブロックをケースに入れるか否か
チェックを入れるとコマンドブロックを覆う箱が生成されます。
Case main blockケースの側面のブロックの種類を、IDとデータ値で指定します。例えば赤色の羊毛ならminecraft:wool 14になります。
Case top/bottom blocksケースの上面と底面のブロックの種類を、IDとデータ値で指定します。
Structure Rotation装置が設置される向きを指定します。X+は東、X-は西、Z+は南、Z-は北方向に設置されます。
Structure Offset装置設置用のコマンドブロックと、生成される装置の距離を指定します。マイナスの値を設定することも出来ますが、設置用のコマンドブロックと被ると装置が正常に生成されないのでご注意下さい。
Hopper Clockホッパークロック
チェックを入れるとホッパークロックでコマンドが実行されます。常時実行じゃなくてカッチッカッチって感じです。
1.9 Server Signsよく分かりませんでした... 私の環境ではチェックを入れたらコマンド実行できなくなりました。(バックスラッシュのエスケープがおかしい、とエラーが吐かれた)
Box Length箱の奥行きです。大きい値を設定しても、必要以上に大きくはならないようです。
Box Width箱の横幅です。こちらも必要以上に大きくはならないようです。
Unique Scoreboard Obj.装置の動作に使うスコアボードの名前です。普通に使うなら弄る機会はないと思いますが、もし既存の名前と被ってしまっている場合は変更しましょう。
なんでスコアボードが必要なんだよ、と思いましたが実はこのツールには色々便利な機能がありまして(詳細は後述します)、その機能の動作にあたり必要なスコアボードを自動で生成してくれるみたいです。

右クリックで使う看板を装置に貼り付けるには

装置に看板を付けるには

こういう1コマンド装置って大抵、横に「右クリックで装置を消去」などの看板が付いてますよね。この「Command Combiner」を使えば、消去だけでなく装置を有効化/無効化したり、他にも様々なコマンドを実行できる看板を一緒に設置できます。

看板の編集画面

先ほど解説した設定コーナーの下に「Signs」コーナーがあります。Add Signをクリックすれば看板を追加、Remove Signで看板を削除できます。各看板左上の▲▼を押せば順番を入れ替えられます。

Activate/Deatcivate Machineにチェックを入れると、その看板を右クリックして装置を有効化(起動)/無効化(停止)できるようになります。また、Destroy Machineにチェックを入れた看板を右クリックすれば装置をまるごと消去できます。

看板の文字の装飾

看板は4行に分けて好きな文章を入力します。文字色、斜体太字下線のオプションも用意されています。ですがこれ、行ごとの装飾しかできないので文字ごとに細かく装飾したい方はこちらの記事で解説したツールをお使い下さい。

看板のバグ
2016年5月17日現在、看板内の最初の文字より前のどれかの行が空欄だと文字が書かれないバグがあるようです。看板の途中から文字を書く場合は、それより上の欄にスペース等を入力してください。


実行させるコマンドの書き方 (一回だけ実行させるには、など)

コマンドを入力していこう

さあ、いよいよ圧縮したいコマンドを書いていきます。書く場所が少し分かりにくいのですが、「Output」の下の大きなテキストフィールドがコマンド入力欄となっています。

コマンド1つごとに改行しよう

とりあえず前回作った「バズーカ」装置のコマンドを入力してみました。そうそう、コマンドとコマンドの間は必ず改行してください。この入力欄では、コマンドそれぞれを改行で区切るのがルールです。


一度だけ実行するコマンドを指定するには

コマンドを一度だけ実行するには

入力したコマンドは原則常時実行されます。(要するにリピート+それに繋がったチェイン) ですがgiveコマンドやスコアボード作成コマンドなど、一回だけ実行させたいコマンドはどうやって指定すればいいのでしょうか。


INIT:give @p minecraft:diamond 1 0
scoreboard players tag @a add hasDia {SelectedItem:{id:minecraft:diamond}}

▲このように、一度だけ実行させたいコマンドの頭にINIT:を付けます。

/*INIT:
say これは一度だけ実行されます
tell @a これも一度だけ実行されます
w @a これも一度だけ実行されます
*/

▲一度だけ実行させたいコマンドが複数ある場合は、こんな感じでスラッシュとアスタリスクで囲ってまとめて指定することも可能です。


コマンドの実行に条件を付けるには(Conditionalモードを使うには)

コマンドの実行条件を設定するには

バージョン1.9からはコマンドブロックに様々なモードが追加され、コンパレーターがなくてもtestforなどの条件付きでコマンドを実行できるようになりました。このWebツール「Command Combiner」のコマンド入力欄では、どうやってコマンドの実行条件を設定するのでしょうか。


testfor @a[r=3]
COND:say 近寄るな
条件付きコマンドとはこういうこと

▲まずは条件となるtestforコマンドなどを書きます。その下のコマンドにCOND:を付ければ、COND:の上のコマンドが成功したらCOND:の後のコマンドが実行されます。

IF:testfor @a[r=3]
DO:say 近寄るな

▲実行条件の設定にはもう一つ書き方があり、条件となるコマンドにIF:、実行するコマンドにDO:を付けて指定することも可能です。私は面倒なのでCOND:の方法を使ってますが、ツール内の説明には(IFとDOを使えば)後でコマンドを見返した時に構造が分かりやすくなると書かれています。なるほど...


インパルスモードのコマンドブロックを設置させるには

部分的にインパルスモードにするには

コマンドブロックの基本となるモードが「インパルス」モード。要するに1.8以前のコマンドブロックと同じ動作をするわけです。これを1コマンド装置の中に組み込めば、部分的に「ボタンやレバーで実行するコマンド」を設置できるわけです。

say これは常時実行される
I:say これは装置設置時と動力入力時に実行される(インパルス)

▲インパルスモードにするには、コマンドの先頭にI:を付けるだけです。

say これは常時実行
/*I:
say これはインパルス
tell @a これもインパルス
*/
tell これは常時実行

▲INITの時と同様、スラッシュとアスタリスクでまとめて設定可能です。


リピートモードのコマンドブロックを設置させるには

途中でリピートが途切れてしまった

装置の途中にインパルスコマブロを噛ますと、そこで常時実行が途切れてしまいます。(それ以降のコマンドが常時実行されない) 常時実行を絶やさないためにはどうすればいいのでしょうか。


say a
say b
I:say これはインパルス
R:say c
say d

▲答えは簡単。リピートモードにしたいコマンドの先頭にR:を付けるだけです。


「Command Combiner」でのコマブロのモード設定方法まとめ

「Command Combiner」でコマンドブロックのモードを設定するには
モード指定まとめ
  • I: インパルスモード
  • R: リピートモード
  • COND: 上のコマンドが成功したら実行
  • IF: このコマンドが成功したら下のDO:を実行
  • DO: 上のIF:が成功したら実行

圧縮したコマンドの生成方法とマイクラ内での使い方

コマンドを生成

コマンドを書き終えたらいよいよ圧縮されたコマンドを生成します。「Output」の下のGenerateをクリックしましょう。

コマンドが生成された

すると小さな枠が現れ、長い長いコマンドが出てきます。これが流行りの「1コマンドで作ってみた」のコマンドなのです。クリックすれば全選択されるのでそのままコピーしましょう。

コマンドブロックに貼り付け

コマンドは長過ぎてチャットからは実行できないのでコマンドブロックで実行します。周囲に何もない場所にコマンドブロックを置いて、Ctrl+Vキーで長いコマンドを貼り付けましょう。

装置が生成された

そしてコマンドブロックに動力を入力すると... 上から砂のように(というかFallingSandなので砂エンティティですが)コマンドブロックが降ってきて、一瞬で装置が出来上がります。難しそうな1コマンド装置がこんなに簡単に作れるだなんて、MrGarretto氏に感謝するしかありませんね!


出来上がった長いコマンドを共有するなら「Pastebin.com」が便利

長過ぎてツイートできない

1コマンド装置が完成した! 今すぐシェアしたい! ...ですがあまりに長過ぎてツイートできません。場合によってはDMでも無理になるレベルの文字数です。

YouTubeの説明欄に貼ったとしたら

YouTubeに装置の紹介動画をアップした! コマンドを説明欄に貼ろう! ...流石にこれだけ長いコマンドを説明欄に書くのも邪魔ですし、視聴者さんにコマンドを最初から最後までちゃんとコピーしてもらえるか不安です。

こんな長い長いコマンドを簡単にシェアするにはどうすればいいのでしょうか。


Pastebin.com
Pastebin.com
http://pastebin.com/

ご存じの方が多いとは思いますが一応紹介します、なんでもかんでもペーストできるPastebin.com君です。

サインインしよう

Pastebin.comはゲストとしても利用できますが、サインインしないとペーストしたデータの編集や削除や埋め込み等ができませんのでサインインしましょう。Twitterのアカウント使えますよ。

豪快にペーストだ

サインインしたら+ new pasteを押して新規ペーストを作り、先ほどの長いコマンドをそのまま貼り付けましょう。

ペーストの設定

貼り付け欄の下には重要な設定があります。

  • Syntax Highlighting: JSONを選びましょう。マイクラのコマンドは緩いJSONで書かれているので。
  • Paste Expiration: ペーストの保存期間です。Neverならずっと保存されます。
  • Paste Exposure: ペーストの公開状態です。
    • Public: Pastebin.comの検索結果に表示されます。
    • Unlisted: 検索結果には表示されませんがアドレスが分かれば誰でも見られます。コマンドをシェアするならこれがおすすめ。
    • Private: 自分(と設定したメンバー)しか見られません。自分用の保管庫として使いたいならこれ。
  • Paste Name / Title: ペーストのタイトルです。
  • Paste as a guest: 投稿者を伏せ、ゲストとして投稿します。

設定できたらCreate New Pasteをクリックして投稿しましょう。


ペーストのページを共有しよう

投稿したらこんな画面になるはずです。JSONを選んでいればカッコなどがハイライトされていますね。このページのURLをツイートするなりYouTubeに貼るなり友達に送るなりして共有すればいいのです。Privateに設定していない限りそのまま見てもらえます。

埋め込みや編集と削除

ペーストの所有者のみ、右上のボタンから編集や削除ができます。その左のembedを押せばブログ等に埋め込むためのコードが表示されます。scriptタグもしくはiframeタグ好きな方をお使い下さい。

▲scriptタグで埋め込むとこんな感じに表示されます。ブログでコマンドを紹介する際に便利。



「○○についてまとめてほしい/解説してほしい」などのご意見ご感想、コメント欄やTwitterでお待ちしています。
スポンサーリンク

毎度毎度ツイート、コメント等ありがとうございます。Twitterではブログの更新状況など色々呟いてます。気軽にフォロー下さい。

この記事を読んだ人は、こんな記事も読んでいます

スポンサーリンク

コメント