この記事では、Minecraft Java Edition(バージョン1.18)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。

jfrコマンドについて知りたいマインクラフター
「1.18で追加されたjfrコマンドって何ができるの? マップ制作とかに使うコマンドなのかな?」
こんな疑問を解決します!
- jfrコマンドには専門知識が必要
- 覚える必要は全くない
こんにちは! マインクラフターのなつめ(@natsume_717b)です。

マイクラ歴は5年程で、最近は脱出マップを配布・制作しています!
→配布マップ・ダウンロードページ
今回は2021年12月1日にリリースされたバージョン1.18で追加されたjfrコマンドについて解説していきます。
はじめにjfrコマンドが何をするのか、どうやって使うのかについて説明します。
その後に脱出マップやミニゲーム制作などに役立つのか、覚えておくべきコマンドなのかを解説します。
それでは、さっそく見ていきましょう!
jfrコマンドには専門知識が必要

バージョン1.18で追加されたjfrコマンドはデータの測定ができます。
どんなデータかというと4種類のデータで、読み込み速度などに関するものです。
一覧にしてみると以下の通りです。
- minecraft.ServerTickTime
サーバーの1秒当たりのティックスピード。 - minecraft.ChunkGeneration
チャンクの生成にかかる時間。 - minecraft.PacketRead/minecraft.PacketSent
送受信される情報量。 - minecraft.WorldLoadFinishedEvent
ワールドの読み込み時間。
jfrコマンドの実行
実際にjfrコマンドを実行してみます。
まず初めに計測を開始しなければならないので、以下のコマンドを打ちこんでプロファイリングを開始します。
/jfr start
プロファイリングというのは性能分析のことで、今回の場合は先ほど紹介した4つの要素を計測し分析してくれます。
無事にコマンドが成功すると、「JFRによるプロファイリングを開始しました」というメッセージが表示されます。
そして、プロファイリングを停止したい場合は再度jfrコマンドを打ちこみます。
この時停止させるので、startではなくstopを選択します。
/jfr stop
停止させた場合は、「JFRによるプロファイリングを終了し、結果を○○に保存しました」というメッセージが表示され、jfrファイルが生成されます。
上記の「○○」という箇所は、生成されたjfrファイルが格納されている場所と同じ名前になります。
具体的には、「debug\client-2021-12-01-175713.jfr」といった具合の文字列が表示され、生成された日付などで数字部分は異なるのでご注意ください。
生成されたjfrファイルは、マイクラのデータの中にしっかりと存在するのでファイルそのものを見つけ出すことも可能です。
その時はWindowsキーとRを同時押しして、「%appdata%」と入力し実行。
その後、「.minecraft」から「debug」というフォルダを見つけ出せば、その中に格納されています。
コマンド結果の、保存場所を示す文字列をクリックして保存先のパスをコピーすることもできます。
生成されたjfrファイルについて
バージョン1.18がリリースされ、新たに追加されたjfrコマンドを使ってみようとあれこれしてみたのですが、いまいちjfrファイルというものがどういうものなのかを知ることはできませんでした。
一応、JDK(Java Development Kit)とJDK Mission Controlというものを用いて、jfrファイルが絡んでいるであろうデータを見ることができました。
難しい単語が並んでいますが、簡単に言ってしまえばプログラミング関係の話だと思ってくれればOKです。
ただ、プログラミングに疎い方やそこまでしたくないという方も多いはずです。
筆者もプログラミングにまで手を出すつもりはないので、脱出マップ制作などにめちゃくちゃ重要じゃないコマンドというのが分かったので、完全に理解するのは諦めました。
なので、プログラミングに強いという方やプログラミング言語としてのJavaに自信あるという方が触れるべきコマンドです。
というわけで、jfrコマンドはデータを計測し、それをjfrファイルとして生成するコマンドです。
他のコマンドと違い、ブロックやプレイヤー、ワールドに影響を与えるコマンドではありません。
startとstopを使い分けることで、一定期間の通信量など4つの項目を計測できますが、専門知識が必要となるのでコマンド初心者の方は触れなくてOKです。
覚える必要は全くない

というわけで、jfrコマンドは覚えるべきなのかという話です。
ここまで読んでいただいていれば分かっているかと思いますが、jfrコマンドを覚える必要性は全くありません。
内部データを見るようなコマンドなので、配布マップの制作などに役立つということも少ないと思います。
強いて言うならば読み込み速度などに関するコマンドなので、細部まで作り込みすぎてどれくらい負荷がかかっているのかを知りたいといった場合などには使えそうですが……。
どうしても知りたい、やってみたいという方はJDKなどを各自調べてみてください。
筆者は長時間向き合ったせいで少しうんざりしています。
jfrコマンドが使えなくとも、マップやゲームの制作は他のコマンドで楽々できますので、覚える必要は全くありません。
まとめ
というわけで、今回のまとめです。
今回使ったコマンドはこちら。
- プロファイリングを開始するコマンド
/jfr start
- プロファイリングを終了させるコマンド
(開始されていない場合は、当然終了させるものがないので失敗します)
/jfr stop
- jfrコマンドは専門的な知識が必要になります。
コマンド初心者やプログラミングに弱いという方は覚えなくてOKです。全く問題ありません。
この記事は以上になります。