HapInS Developers Blog

HapInSが提供するエンジニアリングの情報サイト

【Python】LinuxとMinecraftでプログラミングを始めよう!

あけましておめでとうございます!
年末に購入したラダーで卓球のフットワークを向上させようと目論んでいます、ponです。
今回は、昨年末にサンタさんからMinecraft Java&Bedrock版(DL引換券)をプレゼントしてもらった小2の息子のために、LinuxMinecraftの環境構築をした話をご紹介いたします。

前提

  • 私自身は一度もMinecraftのプレイ経験なし。
  • 私のマイクラの知識は、子供がSwitchで遊んだり、Youtube動画を視聴しているのを横目で見ていたレベル。
  • サンタさんからMinecraftと一緒にもらった「MinecraftPythonプログラミングをしよう!」的な本はすべてWindowsベースのため、逐次Linuxへ変換しています。
  • 我が家では、12年ほど前に購入したiMacにMXLinux23.1を導入し家族PCとして利用。
  • Minecraft Java版を遊ぶための推奨スペックは以下の通り4GB以上ですが、別のノートPC(RAM 8GB)にインストールした場合でも時々カクつく時があったので、ご自宅に眠っている古いPCをLinux化する場合はRAM 4GBでも遊べないことはないと思いますが、8GB以上がオススメです。
  • 一度ギフトコードを引き換えた後でも、同じMicrosoftアカウントのご利用で家の別PCへもインストール可能です。

注意

本記事の対象読者は、お子さんが普段からSwitch版のMinecraftをガッツリプレイされていて、かつ Youtubeでヒ⚫︎キンやま⚫︎ぜんシスターズ、し⚫︎ちゃんねるや⚫︎みかぜ等の動画を浴びるほど視聴されている方を想定しており、 Mod(Minecraftで改造やコマンドを使用すること)を使ってプレイすることに憧れている少年少女たちとその親御さんに向けて執筆しています。
初めに注意喚起させていただきますが、お子さんだけではLinuxMinecraftの環境構築は不可能です。 というか大人の方が一緒でもハマるポイントが複数あり、IT免疫のある方にとっても面倒な手順かと思われますので 、手順やバージョン情報などをしっかりご確認いただきながら、辛抱強くステップを進めていただけますと幸いです。
※サンタさんからもらった本に記載のWindows環境でも構築はややハードル高めでした。

準備

Javaのダウンロード&インストール

まずはPCにMinecraftを動かすためにJavaがインストールされているかどうかをターミナルから確認します。
ターミナルはCtrl+Alt+Tのショートカット、またはWindowsキーを押した後のアプリケーションメニューから「terminal」と検索することで起動できます。
ターミナルが起動できたら、以下コマンドを入力してEnterで実行しましょう。
java --version

もしすでにJavaがPCにインストールされている場合は、「OpenJDK Runtime Environment」といった文字列が見つかるはずですので、以下のJavaをインストールする作業はスキップしていただいて構いません。

Javaがインストールされていない場合は、OracleのサイトからJavaを入手します。
Googleなどの検索エンジンで「oracle java linux」と検索するか、以下ページからLinux用のJavaをダウンロードできます。
Linux用のJavaダウンロードページ
https://www.java.com/ja/download/linux_manual.jsp

もしどのJavaをダウンロードしてよいか分からない場合は、先ほどのターミナル上でarchと打ち込んでEnterを押してみましょう。
x86_64」と表示されれば、「Linux x64」 というファイルをダウンロードし、それ以外であれば「Linuxファイル」をダウンロードしてください。
CentOSFedoraなどのRedhatディストリビューションであれば、末尾に「RPM」とついているものを選んでください。

ダウンロードしたファイルを解凍する必要がありますが、ファイル末尾の拡張子が「tar.gz」となっていますので、専用のコマンドを使っていきましょう。
先ほどarchコマンドを使ったターミナルを再度開き、以下の順でコマンドを打ちます。
cd ~/Downloads/
tar -zxvf jre-8u391-linux-x64.tar.gz(先ほどダウンロードしたファイル名)
上記コマンドを実行すると、ズラーッと文字列が流れていきますが、Javaがインストールされているのであって、PCが壊れたわけではないので安心してください。

Minecraftのダウンロード&インストール

次に、Googleなどの検索エンジンで「Minecraft Java」等と検索し、Minecraftの公式ページを開きましょう。
www.minecraft.net

今回はサンタさんからもらったギフトカードに記載されたコードからダウンロードするため、添付画像の右上にある「商品と引き換える」というボタンをクリックしました。
※新規購入の場合は「MINECRAFTを購入」ボタンをクリックしてください。

この時点で、以下二つのMicrosoftアカウント(Hotmailアドレス)が必要になるため、事前にアカウント作成が必要です
(今回手順からは省略します)

  • 親のアカウント
  • 子どものアカウント

すでに息子のアカウントで引換済みのため、引換画面は省略しますが、同様に引換済みのコードを用いて別のPCへMinecraftをダウンロードする場合は初めにMicrosoftアカウントへサインインします(上記画像の右上「サインイン」から画面遷移します)

次に「サインイン方法 Mircrosoft」を選択します。
事前に作成したHotmailアドレスとパスワードを入力します。

今回はすでにダウンロードコードを引き換え済み(別PCへダウンロード済み)のため、「ランチャーをダウンロード」を選びます。 初回ダウンロードの際は、ギフトコード引き換えの際にダウンロードが実施されます。

ご自身のLinuxディストリビューションに応じてMinecraftをダウンロードしましょう。
もしどのバージョンをダウンロードして良いか分からない場合は、以下ページをご参照ください。
Linuxディストリビューション - Wikipedia
今回使用のマシンはMXLinuxですので「Debian」を選びました。
Ubuntu系であればまず間違いなくDebianでOKです。

エクスプローラからダウンロードフォルダを開き、ダブルクリック等で実行します。 インストール確認のポップアップが出てくるので、「インストール」をクリックします。
必要に応じて(管理者)パスワードを入力して認証します。

ランチャーのダウンロード自体は爆速で終了しますので、Enter押下等でウィンドウを閉じます。

アプリケーションメニューからMinecraftを検索しましょう。デフォルトであれば画面左下のMXLinuxアイコンをクリックして「Minecraft」と検索します。
WindowsキーボードであればWindowsキー押下でもメニューを開けます。

「min」くらいまで打ち込むとMinecraft Launcherが表示されるので、Enter押下あるいはアプリケーション名をクリックしてランチャーを起動します。更新ファイルのダウンロード等が終わると、Minecraftが起動するので、子供のMicrosoftアカウントでログインします。

Microsoftアカウントでのログイン後、こんな感じでMinecraftのトップページが起動します。
一旦起動が確認できたら、下準備のためにゲーム画面は閉じて頂いて大丈夫です。

Forgeの導入

次に、MinecraftでModを使用するためにForgeの設定を行います。
※Modが何か分からない親御さんは、とりあえず「ゲームを改造するためのハサミやボンド」ぐらいの認識でOKです。おそらくお子さんに聞くと小一時間ほど熱く語ってくれるはずです。PCが故障するような危険な類のものではなく、Minecraftの開発会社が許可しているもので違法性もありませんのでご安心ください。
Googleなどで「forge minecraft」と検索すると、最初にヒットするページか以下URLリンクからダウンロードページへ進みましょう。
files.minecraftforge.net

Forgeのページへ遷移すると英語で色々なことが書いてありますが、大丈夫です。慌てないでください。
今回はタイトルにある通りPythonでプログラミングをするのですが、そのために「1.12.2」というバージョンを使用する必要があります。
これは、後述のPythonMinecraftを動かすためのモジュールのバージョン「1.12.2」で、そのバージョンと合わせる必要があるためです。
(※最初、Forgeを最新バージョン 1.20.2でPythonのモジュールを動かそうとしたところ、上手く認識できずに1時間ほどハマりました)
添付画像にある通り、左側のサイドバーから「1.12」のタブを展開し、「1.12.2」を選択します。


画面遷移先で、「Download Recommended(おすすめのインストール)」の欄にある「Installer」からダウンロードしましょう。

「いつまで経ってもダウンロードできないなー」という方は、英語で説明がありますが右上の「Skip」を押さないとダウンロードが始まりませんのでご注意ください。 ダウンロード完了したら、jarファイルをダブルクリックもしくはターミナルから実行します。
(※私は最初ダブルクリックでインストール開始できることを知らず、ターミナルからコマンドでインストール実行しましたが、どちらでもお好きな方をお選びください)

インストーラを起動すると、添付のウインドウが開きますので「Install client」を選択しOKボタンを押します。
※特にこだわりがなければ、インストールフォルダはそのままで問題ありません。

インストール完了後は「インストール成功しましたよ!」と英語で色々と書いてあるポップアップをOKボタンを押して閉じます。

Minecraftをインストールフォルダや今後Mod用のモジュールを入れるフォルダを見やすくするため、エクスプローラの表示設定を変更しておきます(MXLinuxではエクスプローラのことをThunarと呼称していますが、便宜上エクスプローラと記載しています)。
Linuxのサイドバー左側のドキュメントケースアイコンをクリックするか、「Windowsキー + E」を同時押しすることでエクスプローラを開けます。

ツールバー上部の「表示」を押し、「隠しファイルを表示」にチェックを入れます。
これで、Minecraftがインストールされた「.minecraft」フォルダへアクセスしやすくなりました。
※もちろんターミナル上で「ls -la」を使用して確認後「cd」でディレクトリ移動することも可能ですが、今回はGUIでの利用とします。

「/home/(ユーザ名)/」の中にある「.minecraft」というフォルダをクリックし、そこに新しいフォルダ「forge_1.12.2」を作りましょう。

次に、「forge_1.12.2」の中に新しいフォルダ「mods」を作ります。
今後MinecraftのModに利用するモジュールは、この「mods」フォルダにどんどん入れていくことになります。

ここまで完了したら、もう一度Minecraftの画面を開き、「起動構成」をクリックします。
先ほどインストールした「forge」の起動構成があるはずです。もしなければ、もう一度forgeのインストールクライアントを実行してください。

forgeの上にマウスカーソルを置くと表示される「…(三点リーダー)」から、「編集」をクリックします。

起動構成の編集画面が開きますので、以下の通り項目を入力します。
* 名前:forge_1.12.2(分かりやすいようバージョン情報を末尾に足しています) * バージョン:release 1.12.2-forge-14.23.5.2859 * ゲームディレクトリ:/home/pon/.minecraft/forge_1.12.2(先ほど作成したフォルダです)
※「pon」の部分は適宜ユーザ名に置き換えてください。
※すべて入力した状態は以下の通りです。

ここまで入力したら、右下の「保存」ボタンを押しましょう。

続いて「forge_1.12.2」の起動構成の「プレイ」を選択すると、以下の通り警告のポップアップが出てくるので、「危険性を理解し、この起動構成について二度と警告しない」にチェックを入れて「プレイ」をクリックします。
するとMinecraftのゲームをプレイするのに必要なモジュールのダウンロードが始まりますが、このダウンロードが結構時間かかるので、お茶でも飲んで一息ついてください。

Forgeのモジュールが読み込まれていれば、画像のように左下に「Powered by Forge…」と表示されるはずです。
※もしForgeの表示がなければ、一度手順を見返して間違いがないか確認してみましょう。

ここまで完了しForgeの導入まで確認できたら、「Quit Game」からゲームを終了しても大丈夫です。

Raspberry Jam Modの導入

次に、Pythonで作ったプログラムやコマンドをMinecraftで動かすためのモジュールを設定します。
Githubで公開されている、Raspberry Jam Modというモジュールをダウンロードしましょう。
github.com

「mods.zip」というファイル名をクリックするとダウンロードが始まります。

ダウンロードされた「mods.zip」をダブルクリック(コマンドで解凍してもOKですが今回はGUIでの手順を示します)し、ウインドウ左上の「Extract」を押すとダウンロードフォルダへ展開されます。

展開されたフォルダの中にある「1.12.2」というフォルダを、先ほど作ったフォルダ「forge_1.12.2」の中へドラッグ&ドロップします(あるいは、「Ctrl + x」でカットし、「Ctrl + v」でペーストしてもOK)。

Minecraftを起動し、「プレイ」を押してゲームを始めます。
(起動構成からではなく、トップページの「プレイ」ボタンを押してOKです)
先ほど設定したForgeにより追加された「Mods」ボタンを押し、

左側のモジュール一覧に「Raspberry Jam Mod」が表示されていればモジュールの設定完了です。

Thonnyのインストールと設定

続いて、プログラムを書くためのアプリケーションであるThonny(トニー)をインストールします。
thonny.org

公式ページに行くと、Linuxバージョンが用意されていますが、「Linux」の文字をクリックするとダウンロードが始まるわけではなく、ダウンロード用のコマンドが表示されるだけですので、一旦コマンドをコピーしてLinuxのターミナルを開きます。

ターミナルに以下コマンドを貼り付けて実行してください。
bash <(wget -O - https://thonny.org/installer-for-linux)

コマンドを実行すると、インストールの前に一度Enterを押すようメッセージが表示され、その後インストールが終了した際にもEnterでウインドウを閉じるよう促されます。

Thonnyのインストール後、アプリケーションメニューからThonnyを検索して起動します。

デフォルトでは英語設定になっているので、「Language」から日本語を選び「Let's go!」ボタンを押しましょう。

Thonnyを起動したら、上部メニューバーから「ツール」を選び、「パッケージを管理」をクリックします。
検索ウインドウが現れるので「mcpi」と入力し、右端の「PyPIを検索」を押すと検索結果が表示されたあと、「mcpi」をクリックします。

「インストール」をクリックし、mcpiをインストールします。

パスを設定する

Thonnyで書いたプログラムをMinecraftで読み込むために、プログラムを置く場所を作る必要があります。先ほど作ったフォルダ「forge_1.12.2」の中に、「mcpipy」という新しいフォルダを作りましょう(フォルダの名前は何でも大丈夫です)。

次にThonnyを開き、上部メニューバーから「ツール」→「オプション」の順に選択します。
インタプリタ」のタブをクリックすると、「Python実行可能ファイル」という項目があるので、このウインドウを開いたままにしておいてください。

ここでもう一度Minecraftを起動し、「プレイ」→「Mods」から「Raspberry Jam Mod」を選択したあと、「Config」ボタンを押します。

Python Interpreter」という設定項目があるので、こちらに先ほどのThonnyの「Python実行可能ファイル」に記載されていた文字列を入力します。
※私の場合は、以下のとおり入力しています。「pon」の部分は適宜ユーザ名へ読み替えてください。
/home/pon/apps/thonny/bin/python3.10

左下の「Done」を押して、設定完了です。

【閲覧注意】Pythonのプログラムを実行してみよう!

Minecraftが大好きなお子さんのお父さん、お母さん、大変ながらくお待たせしました。いよいよプログラミングの時間です。ここまでで、手順が多すぎて90%ぐらいの親御さんは「もうこんなんやっとれん!」と脱落されているかもしれません。

さて、先ほど設定していたThonnyをもう一度立ち上げ、次のように入力してみましょう。

from mcpi import minecraft
mc = minecraft.Minecraft.create()
mc.postToChat("Hello World!")

上記スクリプトを「test.py」として、先ほど作成したフォルダ「mcpipy」に保存します。
ちなみに、我が家の小2の息子は上記例の代わりに「u.py」というスクリプトを作り、内容も以下のとおり変更しています。


世界観がコロコロとかボンボンですが、小2男子なのでお許しください。

ではさっそく、Minecraftを立ち上げ、「Singleplayer」→「Create New World」でワールド作成してみましょう。
※今さらで申し訳ありませんが、下画面の「Options」→「Language」から日本語設定に変更できます。


ゲームがスタートしたら、/py testと入力し、Enterを押します。
※うちの息子と同じスクリプト名と内容にされた方は、/py uと置き換えて実行してください。

なんということでしょう。無限にでんぢゃらすな文字列が湧き出ててきます。
小2男子とは、皆このようなものなのでしょうか…
※食事中の方、申し訳ありません。

お疲れさまです!これでやっとプログラミングの第一歩、テキスト出力ができました!
※うまく表示されない、エラーになってしまう方は各種パスの設定手順を見直してみてください。

おわりに

いかがでしたでしょうか。ともすると、設定だけで日が暮れてしまった方もいたのではないでしょうか。しかし、これでYoutuberたちがMinecraftのModで見せてくれたあれもこれも実行できる環境が整いました。
子どものために何万円もする高価なPCを用意することは難しいですが、昔使っていた親御さんのPCが眠っているようであればLinux化して再活用することができますし、再生PCでも構わなければAmaz●nやR●kutenでRAM 8GB〜16GBのノートPCを2〜5万で揃えることもできます。この機会にLinuxMinecraftの世界に足を踏み入れてみてはいかがでしょうか?お子さんも、知らず知らずのうちにLinuxコマンドやコーディングに慣れ親しむことができるかもしれません。

それでは以上、Linuxの世界を愛してやまないponがお届けいたしました!
※反響があれば、LinuxMinecraftプログラミング続編を執筆するかもしれません。