コマンド構文解説-画面に文字を表示!/title, /titleraw-
投稿日:2021/05/01
最終更新日:2021/05/09
どうも、ユキミ大福です。
今回はMinecraft統合版のコマンドである『 /title 』及び『 /titleraw 』について解説をしていきます。
ここで解説するコマンド等は、解説する注意事項等をよく読み、個人でより詳しく調べた上で、個人の責任において使用して下さい。コマンド等の使用によって如何なる損害が発生しても、筆者であり当ブログの管理者でもあるわたくしユキミ大福は一切の責任を負いかねますので、ご了承下さい。
今回のコマンドは?
今回ご紹介するコマンドは『 /title (タイトル)』と『 /titleraw (タイトルロウ)』です。これらのコマンドはどちらも、プレイヤーの画面上に文字を表示できるというものですが、役割や可能なことに微妙な差があります。まずは /titleの構文から見てみましょう。
/title のコマンド構文
/title <セレクター> <表示場所> <メッセージ>
/title <セレクター> times <フェードイン(int)> <表示時間(int)> <フェードアウト(int)>
/title <セレクター> clear
/title <セレクター> reset
- <セレクター>:必須
ターゲットセレクター。プレイヤーしか対象にできない。ゲーマータグを直接入力可。 - <表示場所>:
メッセージを表示する場所を ↓ の3ヶ所の中から1つを設定する。
・title:タイトル
画面中央。大きな文字で表示される。「times」でフェードイン/表示/フェードアウト時間を指定できる。
・subtitle:サブタイトル
「title」のすぐ下。「title」よりも小さな文字で表示される。サブタイトル単体で表示することはできない(必ずタイトルとセット)。フェードイン/表示/フェードアウト時間は「title」に追従する。
・actionbar:アクションバー
ホットバーのすぐ上。文字サイズは、ほぼ同位置に表示されるアイテム名と同じくらい。「times」でフェードイン/表示/フェードアウト時間を指定することはできない。 - <メッセージ>:必須
送信するメッセージを記述する。改行だけはできない(?)ので注意。(情報求む!) - <フェードイン(int)>:必須
「title」の文字のフェードイン時間(Gtick)をint型の数値で指定する。デフォルトは10Gtick(0.5秒)。/titleraw と共用。 - <表示時間(int)>:必須
「title」の文字の表示時間(Gtick)をint型の数値で指定する。デフォルトは70Gtick(3.5秒)。/titleraw と共用。 - <フェードアウト(int)>:必須
「title」の文字のフェードアウト時間(Gtick)をint型の数値で指定する。デフォルトは20Gtick(1.0秒)。/titleraw と共用。
/title の失敗条件
/title の成功条件
- 上記の失敗条件を満たしていない場合。
- <メッセージ>内にプレイヤー1人を指定するターゲットセレクターが存在する場合、その部分がそのプレイヤーのゲーマータグに置き換えられる。
- <メッセージ>内に複数人を指定するターゲットセレクターが存在する場合、その部分が「"(name 1)", "(name 2)", ..., "(name N)"」のように置き換えられる(「name N」はゲーマータグ)。
/title の実行例
例1)
コマンド:/title @p title Good Morning!
実行結果:基準座標から1番近いプレイヤーの「title」に「Good Morning!」というメッセージを表示する。
例2)
コマンド:/title @p actionbar Hello, @p !
実行結果:基準座標から1番近いプレイヤーの「actionbar」に「Hello, (ゲーマータグ) !」というメッセージを表示する。「@p」の部分は基準座標から1番近いプレイヤーのゲーマータグに置換される。
例3)
コマンド:/title @a subtitle welcome!
実行結果:全てのプレイヤーのサブタイトルに「welcome!」というメッセージを設定する。「title」が表示されている場合はそのサブタイトルを置換し、表示されていない場合は次に「title」が表示された時にそのサブタイトルが表示される。
例4)
コマンド:/title @a times 20 100 40
実行結果:全てのプレイヤーのフェードイン時間を20Gtick、表示時間を100Gtick、フェードアウト時間を40Gtickに設定する。
例5)
コマンド:/title @a clear
実行結果:全てのプレイヤーの、表示されている「title」「subtitle」「actionbar」を全て消去する。
例6)
コマンド:/title @a reset
実行結果:全てのプレイヤーの、設定されているサブタイトルを空白にし、フェードイン/表示/フェードアウト時間を全てデフォルトの値にリセットする。
/title の詳細解説
/title の概要
/title は入力したメッセージを、指定したプレイヤーの画面の指定した場所に表示するコマンドです。場所は「title」「subtitle」「actionbar」の3ヶ所があり、画面上の位置は ↓ のようになっています。
なお「title」に付随するオプション設定(サブタイトル、フェードイン/表示/フェードアウト時間)は /titleraw と共用になっています。詳しくは /titleraw の方で解説します。
/title には ↓ の6種類のモードが存在します。
- clear (クリア):
対象プレイヤーの画面に表示されている「title」「subtitle」「actionbar」を全て消去する。 - reset (リセット):
対象プレイヤーの「title」のオプション設定(サブタイトル、フェードイン/表示/フェードアウト時間)を全てデフォルトにリセットする。 - times (タイムズ):
対象プレイヤーの「title」のフェードイン/表示/フェードアウト時間を設定する。
実行時にタイトルが表示されている場合はそのタイトルのフェードイン/表示/フェードアウト時間を置換し、表示されていない場合は、次に「title」を実行した時にそのタイトルが表示される時間をそのフェードイン/表示/フェードアウト時間に設定する。
一度設定すれば、再び「times」や「reset」を実行しない限り、時間設定がリセットされることはない。 - title (タイトル):
対象プレイヤーの「title」に、入力したメッセージを表示する。対象プレイヤーにサブタイトルが設定されている場合は、同時に「subtitle」にもサブタイトルを表示する。
フェードイン/表示/フェードアウト時間は「times」で設定したものになる(デフォルトは 10 / 70 / 20 Gtick)。 - subtitle (サブタイトル):
対象プレイヤーの「subtitle」に表示するメッセージを設定する(subtitle 自体にサブタイトルの表示機能は無い)。
実行時にタイトルが表示されている場合はそのサブタイトルを置換し、表示されていない場合は、次に「title」を実行した時にそのサブタイトルがタイトルと共に表示される。
一度サブタイトルが表示されると、そのプレイヤーのサブタイトルはリセットされる。 - actionbar (アクションバー):
対象プレイヤーの「actionbar」に、入力したメッセージを表示する。フェードイン/表示/フェードアウト時間を設定することはできない。
/title の実行結果等々
コマンドの実行結果は「コマンドの成功・失敗・エラー」のいずれかになります。
失敗した場合には「セレクターに合う対象がいない」と返って来ます。一部、そのまま打ち込むとエラーになる文字がありますが、メッセージ全体を「 " (ダブルクォーテーション)」で囲めば問題ありません。
コマンドブロックが保持・出力する結果は「コマンドの実行に成功したか(True or False)」と「コマンドが何人に対して成功したか(int)」の2点です。コマンドが成功した人数については、RSコンパレーターを用いてRS動力の形で取り出せます。
/title の強み・使い道
ゲーム制作においては、ゲームの演出として用いることが多いです。準備時間等の、ゲームに複数のフェイズが存在する場合には、それらの切り替わりの予告やお知らせに使うと効果的でしょう。
/title の弱み・弱点
3ヶ所の表示場所でコマンドの性質がやや異なるため、それらの得手不得手を考える必要があります。
- title:
・コマンドで直接表示:可
・時間設定 :可 - subtitle:
・コマンドで直接表示:不可
・時間設定 :title に付随 - actionbar:
・コマンドで直接表示:可
・時間設定 :不可
続いては /title の亜種とも言える /titleraw の構文です。
/titleraw のコマンド構文
/titleraw <セレクター> <表示場所> <rawtext>
/titleraw <セレクター> times <フェードイン(int)> <表示時間(int)> <フェードアウト(int)>
/titleraw <セレクター> clear
/titleraw <セレクター> reset
- <セレクター>:必須
ターゲットセレクター。プレイヤーしか対象にできない。ゲーマータグを直接入力可。 - <表示場所>:
メッセージを表示する場所を、/title と同じ3ヶ所の中から1つを設定する。
・title:タイトル
・subtitle:サブタイトル
・actionbar:アクションバー - <メッセージ(jsonテキスト)>:必須
表示するメッセージをjson形式の文章で記述する。json形式の文章の記述法は ↓ の記事で解説します。
(解説ページができ次第リンク貼ります) - <フェードイン(int)>:必須
「title」の文字のフェードイン時間(Gtick)をint型の数値で指定する。デフォルトは10Gtick(0.5秒)。/title と共用。 - <表示時間(int)>:必須
「title」の文字の表示時間(Gtick)をint型の数値で指定する。デフォルトは70Gtick(3.5秒)。/title と共用。 - <フェードアウト(int)>:必須
「title」の文字のフェードアウト時間(Gtick)をint型の数値で指定する。デフォルトは20Gtick(1.0秒)。/title と共用。
/titleraw の失敗条件
- 構文が適切でない(スペルミス等)。
- プレイヤー以外をセレクターの対象に指定している。
- 指定したセレクターの条件に合う対象が存在しないか、読み込まれているチャンク内に存在していない。
- jsonが間違っている(「 { , } 」等の付け忘れや付け過ぎに注意)。
/titleraw の成功条件
- 上記の失敗条件を満たしていない場合。
- <メッセージ(jsonテキスト)>内にプレイヤー1人を指定するターゲットセレクターが存在する場合、その部分がそのプレイヤーのゲーマータグに置き換えられる。
- <メッセージ(jsonテキスト)>内に複数人を指定するターゲットセレクターが存在する場合、その部分が「"(name 1)", "(name 2)", ..., "(name N)"」のように置き換えられる(「name N」はゲーマータグ)。
/titleraw の実行例
例1)
コマンド:/titleraw @p title {"rawtext":[{"text":"Good Morning!"}]}
実行結果:基準座標から1番近いプレイヤーの「title」に「Good Morning!」というメッセージを表示する。
例2)
コマンド:/title @p actionbar {"rawtext":[{"text":"Hello, @p !"}]}
実行結果:基準座標から1番近いプレイヤーの「actionbar」に「Hello, (ゲーマータグ) !」というメッセージを表示する。「@p」の部分は基準座標から1番近いプレイヤーのゲーマータグに置換される。
例3)
コマンド:/title @a subtitle {"rawtext":[{"text":"welcome!"}]}
実行結果:全てのプレイヤーのサブタイトルに「welcome!」というメッセージを設定する。「title」が表示されている場合はそのサブタイトルを置換し、表示されていない場合は次に「title」が表示された時にそのサブタイトルが表示される。
例4)
コマンド:/titleraw @a times 20 100 40
実行結果:全てのプレイヤーのフェードイン時間を20Gtick、表示時間を100Gtick、フェードアウト時間を40Gtickに設定する。
例5)
コマンド:/titleraw @a clear
実行結果:全てのプレイヤーの、表示されている「title」「subtitle」「actionbar」を全て消去する。
例6)
コマンド:/titleraw @a reset
実行結果:全てのプレイヤーの、設定されているサブタイトルを空白にし、フェードイン/表示/フェードアウト時間を全てデフォルトの値にリセットする。
/titleraw の詳細解説
/titleraw の概要
/title は入力したjson形式のメッセージを、指定したプレイヤーの画面の指定した場所に表示するコマンドです。
メッセージをjson形式で記述しなければならないこと以外はほぼ全て /title と同じです。また「title」に付随するオプション設定(サブタイトル、フェードイン/表示/フェードアウト時間)は /title と共用になっています。
また、「clear」「reset」「times」も /title で表示・設定したものに対して使用することができます。気を付けなければならないことも /title とほぼ同じです。
そうなってくると、このコマンドでは「json」というデータ形式でメッセージ文章を作成しなければならないため、一見すると手間のかかる /title の劣化版のように見えるかもしれません。
しかしそれ故に /title では不可能な、/scoreboard で設定したスコアの数値の表示等も可能です。詳しくはjson記述の解説回をお待ち下さい。
(解説ページができ次第リンク貼ります)
/titleraw の実行結果等々
コマンドの実行結果は「コマンドの成功・失敗・エラー」のいずれかになります。
失敗した場合には「セレクターに合う対象がいない」と返って来ます。
コマンドブロックが保持・出力する結果は「コマンドの実行に成功したか(True or False)」と「コマンドが何人に対して成功したか(int)」の2点です。コマンドが成功した人数については、RSコンパレーターを用いてRS動力の形で取り出せます。
/titleraw の強み・使い道
ゲーム制作においては、/title では難しいメッセージを表示するために用いることが多いです。詳しくは、コマンド解説応用編で解説しようと思いますのでお待ち下さい。
/titleraw の弱み・弱点
/title の弱点とほぼ同じです。ただし、こちらの方が記述するメッセージの自由度は高いです。
今回のまとめ
- 『 /title 』は指定したプレイヤーの画面上にメッセージを表示するコマンド!
- 『 /titleraw 』は指定したプレイヤーの画面上にjson形式のメッセージを表示するコマンド!
関連記事
- コマンド構文解説-霧を操る…?/fog-
- コマンド構文解説-エンティティにライド・オン!/ride-
- コマンド構文解説-モブがアクションを起こす!?/event, /mobevent-
- コマンド構文解説-あのモブのあのモーションを!?/playanimation-
- コマンド構文解説-何が起こるんだ!?PART1!/connect ( /wsserver ), /help ( /? ), /kick
- コマンド構文解説-何が起こるんだ!?PART2!/list, /locate, /schedule-
- コマンド構文解説-コマンドに革命を起こす…!?/function, /reload-
当記事及び当ブログへのご意見・ご質問はいつでも受け付けております。
お気軽にコメント欄までどうぞ!
↓良ければポチッとお願いします。