#何でこんなことしたのか
プログラムマーにわかの私がMinecraftをプレイしている最中に都度動作が重くなることがあり気になって調べた所Minecraftで使用されているJavaがJava8という古いバージョンで動作に起因していると考え実行してみたのでその忘備録的な物なのである(そもそもベンチマークすら取っていないのでこの記事はMinecraftの動作改善を保証する物ではありません)。
###実行環境
Windows 10 Home Version 1909
MinecraftLauncher 2.1.13827
Minceraft 1.15.2
Minecraft 1.15.2 Optifine_HD_U_G1_Pre10
##そもそもJavaってなんぞや
###Javaってなんぞや
Java(ジャヴァ)は、クラスベースのオブジェクト指向の、実装の依存関係をできるだけ少なくするように設計された汎用プログラミング言語である。
という事でざっくり言うとMinecraftではこのJavaというソフトで動作していると、そしてそのMinecraftLauncherに搭載されているJava自体はバージョン8です。
2020/05/13現在、リリースされているJavaの最新安定版はJava SE 14という事で今回はOpenJDK14を導入してMinecraftを起動してみようと言うことです。
###OpenJDKってなんぞや
OpenJDK (Open Java Development Kit) は、プログラミング言語Javaのフリーかつオープンソースの実装である。
Oracleが用意しているJavaSE自体はバージョン8以降は有償になってしまったのでMinecraftに搭載されているJavaは8で止まっている訳ですね。
##早速OpenJDKを導入してみる
今回はOpenJDKのインストールですがブラウザで逐一サイトを調べて~クリックして~ダウンロード~という動作はしたくないのでターミナルでとある物を使い行うことにします。
###Scoopを導入する
Scoopってなんぞやって思う人も結構居ると思います。
プログラマーの方はご存知だと思うかもしれないですがMac OSに存在するHomebrewのWindows版のような物です。
コマンドラインのみでインストールが完了するのでとても便利です(流石にHomebrewよりパッケージは充実していないですが・・・)。
まずScoop本体を導入するためにPowershellを管理者権限で実行して次のコマンドを入力して実行します。(コマンドプロンプトじゃなくてPowershellなので注意)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
iwr -useb get.scoop.sh | iex
Scoopを使ったWindows環境構築のススメ - Super!!
WindowsのスタートメニューにGitや7Zipという物が追加されますがScoopの動作に必要な物なので削除しないように気を付けてください。
これで問題無くScoop本体が導入出来たはずです。
###OpenJDKの導入
今回はMinecraft用にOpenJDK14を導入します(任意のバージョンも指定出来ますが今回は最新安定版の14を使用します)。
Scoopは基本
scoop search "任意のパッケージ"
と検索してパッケージの導入をするので今回はOpenJDKと入力して検索するのですがデフォルトのままだと検索してもヒットしません。
なので今回はJababucketという検索出来る内容を追加出来るようにします。
scoop bucket add java
これでJava関連のパッケージを検索することが可能になります。
試しに
scoop search OpenJDK
と入力を行いEnterを押すと、しばらくした後に
scoop search openjdk
'java' bucket:
adoptopenjdk-hotspot-jre (14.0.1-7.1)
adoptopenjdk-hotspot (14.0.1-7.1)
adoptopenjdk-lts-hotspot-jre (11.0.7-10.2)
adoptopenjdk-lts-hotspot (11.0.7-10.2)
adoptopenjdk-lts-openj9-jre (11.0.7-10.1-0.20.0)
adoptopenjdk-lts-openj9-xl-jre (11.0.7-10.1-0.20.0)
adoptopenjdk-lts-openj9-xl (11.0.7-10.1-0.20.0)
adoptopenjdk-lts-openj9 (11.0.7-10.1-0.20.0)
adoptopenjdk-lts-upstream-jre (11.0.7-10)
adoptopenjdk-lts-upstream (11.0.7-10)
adoptopenjdk-openj9-jre (14.0.1-7.1-0.20.0)
adoptopenjdk-openj9-xl-jre (14.0.1-7.1-0.20.0)
adoptopenjdk-openj9-xl (14.0.1-7.1-0.20.0)
adoptopenjdk-openj9 (14.0.1-7.1-0.20.0)
openjdk-ea (15-22-ea)
openjdk (14.0.1-7)
openjdk10 (10.0.2-13)
openjdk11 (11.0.2-9)
openjdk12 (12.0.2-10)
openjdk13 (13.0.2-8)
openjdk14 (14.0.1-7)
openjdk15 (15-22-ea)
openjdk7-unofficial (7u80-b32)
openjdk9 (9.0.4-12)
の用に検索結果が一覧表示される筈です。
お目当てのopenjdk14も存在するので今回はこちらを使います(他のバージョンでも問題はないかと思われますが動作の保証はしかねます)。
インストールの際は
scoop install openjdk14
と入力してEnterを押すとしばらくインストールの動作を行った後に無事にインストールされます。
ゲームのようなソフトではないのでスタートメニューで検索をしてもアプリとしてはヒットしません。最近追加されたものにも表示されていないですがインストールはされています。
インストールされているか確認したい場合は
scoop list
で一覧表示されるのでopenjdk14が表示されていれば導入に成功しています。
#MinecraftでOpenJDK14を使い実行する
説明が書くのが下手でこのようにくっそ長い内容になりましたがついに起動です(こう言うこと書いてるから記事が肥大化するんですけどね)。
皆さんおなじみのMinecraftLauncherの画面です(新しい見た目使い易くて良いですよね)。
今回はこの起動構成画面に移動して作業します。
起動構成には既に最新版が一つをプレイヤーの方なら様々なバージョンのMinecraftの構成をご用意していると思いますが基本的にはどの構成を変更していただいてもかまいません(個人的には動作確認も含め最新バージョンの構成を一つ作成するのが良いと思います)。
起動構成の三点リーダー(…←こんなん)から編集を押してさらに下の方にある"その他オプション"を選択します。
そうすると下の図のようにJavaのパス指定とJVMの引数という設定があります。
今回はJavaのバージョン変更なのでパス指定を行います(JVMの引数は調べて適切な値を設定してあげると幸せになれるかもしれない)。
デフォルトでは<ランチャー付属のJavaランタイムを使用>と書いてあるのでJava8が使用されています。
ここに先ほど導入したOpenJDKのパスを指定します(正確にはjavaw.exe)。
この世に居ないとは言い切れないですがもしもユーザー名がkiritanという人が居る場合はパスは
C:\Users\Kitiran\scoop\apps\openjdk14\14-36\bin\javaw.exe
となると思います。
当然他の人も居るので他の人は適宜Kiritanの部分を自分のユーザー名に変更してください。
不安な方は参照を押してCドライブから順々にopenjdkの項目まで移動する方が確実です。
編集が終わったらそのまま保存を押して起動してみましょう。
起動画面でF3を押すと詳細情報を表示出来ます。
右上を見ると問題無くJava: 14 64Bitで動作している事がわかります。これで問題無くJava14でMinecraftをプレイすることが出来ました。
#おきもち
今までQiitaを閲覧した事は多々あるものの記事を書いたことがなくちょっとしたお気持ちで書いてみようと思いました。コロナで引きこもりパーリナイなのも影響してる気がしますが。
記事を書くのが初めてでマークダウンも扱った事が無いので内容もめちゃくちゃかも知れないですが初心者と思ってそんな眼差しで見ていただけると光栄です。
そもそもこれプログラムに関係あるのかな・・・?って感じもしますがScoopでPythonとかも導入出来た気がするからまあ大丈夫でしょう・・・
消されるようなら他のサイトに転載しようと思います。