生活 その他

【マイクラドット絵】リヴァイ兵長をプログラミング!

投稿日:2020年12月31日 更新日:

完成品

縦204×横197
リヴァイ

作り方概要

ざっくり言うと、Pythonでプログラミングしました。
環境構築及び設計図の下準備に2時間ほどかかったと思います。
そのあとはプログラムを実行して瞬作!
作成後の微調整を施して完成しました。

以下からは手順の概要を書いていきます。

元画像の取得

こちらから拝借しました。
https://bibi-star.jp/posts/6881

設計図作成

元画像を読み込ませると、Excelのドット絵ファイルを出力してくれるサイトです。
ドット絵ナニカ

カラー設定

出力されたExcelではマインクラフトのブロックコード等になっていないので、
対応する色を設定しなおしていきます。
これがちょっとだけ面倒です。

リヴァイの場合、以下のように設定しなおしました。

Excel出力されたカラー番号:ドット絵ナニカで出力されたExcelに設定されていたカラー番号
ブロック番号:マインクラフトのブロック番号(24:砂岩、35:羊毛)
ブロックのデータ番号:ブロック番号の枝番になる番号(ブロック番号の種類に該当)
※2は皮膚の近くだったのと、あまり数が無かったので1と同様に肌色想定で、「滑らかな砂岩」にしています。

ブロック番号
ブロックのデータ番号

Pythonのインストール

詳細は以下のサイトに譲ります。
https://www.python.jp/install/windows/install.html

Forge及びRaspberry Jam Modのインストール

Forge及びRaspberry Jam Modのインストールは、下記を参考にしました。
マインクラフトでpythonプログラミングをするための5つのステップ

私の場合、Minecraftのバージョンが1.16.4であったため、Forgeも1.16.4をインストールしましたが、「Raspberry Jam Mod」で使えるバージョンが異なるためかうまく読込ができなかったため、1.12.2(Raspberry Jam Modの最新Ver)に合わせております。
※本記事執筆時点(2020年12月31日)
Mincraft Forge 1.12.2

Raspberry Jam Modは以下から「mods.zip」をDLします。
https://github.com/arpruss/raspberryjammod/releases/tag/0.94

解凍したフォルダのうち、1.12.2に入っている「RaspberryJamMod.jar」を、
マインクラフトのmodsフォルダに置いて下さい。

カラーコードの変換

Excelでのカラーコードをマインクラフトのカラーコードに変換します。
先程の設定に対応した変換ツールを独自(VBA)に作りました。

マインクロフトのカラーコードは「ブロック番号_ブロックデータ番号」と、
アンダーバー(_)で区切るようにしています。
これは後程のPython側で処理しやすくするためです。

<出力結果>
['35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0','35_0'],
…(204行まで似たような行列が続く)

ソースコード(Python)

ファイル名:dot_levi.py

blockNo, blockDataNo = row[j].split('_')
⇒ここで、アンダーバー(_)で区切ったブロック番号とブロックデータ番号を各変数に格納しています。
 1つのブロック番号に固定すると、そのブロック番号以外で使いたい色があった場合に対応できないので、このような形式で保持するようしました。
 これにより、肌色に近い「滑らかな砂岩(24_8])」と、羊毛(35_XX)を、
 同時に扱えるようにしています。

プログラムの実行

・マインクラフトを起動します。
・コマンドプロンプトで、dot_levi.pyがおいてあるフォルダに移動し、
 「python dot_levi.py」と入力してEnterとします。

まとめ

・大規模なドット絵はPythonでプログラミングできる。
・Pythonプログラミングするには、Python/Forge/Raspberry Jam Modのインストールが必要。
・ドット絵ナニカというサイトを利用すると、設計図がほぼ出来上がる。
・作成時のブロックの指定に柔軟性を持たせるため、「ブロック番号_ブロックデータ番号」という形式にするとよい。
・元画像、設計図、マイクラに対応したカラーコードがあれば何でもつくることができる!!

所感

こういったクリエイティブなことを障害なくできることに、
プログラミングを仕事にしてきてよかったとしみじみ感じています。
本記事を切っ掛けに、あなたにもプログラミングを楽しんでもらえたらと思います。

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-生活, その他
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

脇のにおい対策商品。たったこれ1個でにおいが消える!

この記事の対象者 ・脇汗をかくとにおいがする人 ・「近くに寄ると明らかににおう」程度の人 私の実体験 ◎雑菌が匂いの原因であるという前提での試み 何かの記事で、脇の匂いは雑菌によるもので、除菌すれば匂 …

【Bootstrap】共通ヘッダーをナビバーとしてデザインしよう!

概要 ヘッダーをナビバーとして実装します。 (SpringBootチュートリアルの共通ヘッダーを基に解説していきます) また、デザインはBootstrapのサンプルを基にしていますので、 そちらも一度 …

Javaの開発用PCの推奨スペックは?

概要 これからJavaを勉強しようとしている方、そのためにパソコンの購入または買い替えを検討している方向けです。   推奨スペック 以下の観点で説明したいと思います。 ・処理性能 ・作業のしやすさ ・ …

curlでRest通信するコマンド

Springの勉強でRestサービスを実装した際に、 curlでRest通信することを学んだ際のメモ。   仕様 ユーザーテーブルに対して、取得(1件、全件)、登録、更新、削除を行う。 &n …

【Bootstrap4】ボタンが黒字になる原因と対策

状況 btnタグの中の文字が黒字で表示されている場合の原因と対処法です。   原因 aタグに、href属性が無い。

&nbs …

記事を探す

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。