見出し画像

[Minetest]プログラミングでブロックを積んだ

おつかれさまです。「やきそばん」のY研究員です。

たまには焼きそば以外の話をしようかと思います。お酢の瓶を眺めていたら、飲む場合は5倍に薄めてください、と赤い字で書いてありました。たしかに薄めて飲むめば健康に良さそうです。個人的には蜂蜜を混ぜると美味しいと思います。

さて、しばらく遊んできたMinetestですが、ついにプログラミングでブロックを積むところまで到達しました。これで大きな構造物もどんどん作れますね。

手順は以下のとおりです。まずWorldEditというModを導入して、.we形式で書いたファイルをチャットコマンド”load”で読み込みます。.weファイルの見た目はこんな感じです。

5:return { 
   {["y"] = 0, ["x"] = 0, ["name"] = "default:snowblock", ["z"] = 0, ["param1"] = 14}, 
   {["y"] = 0, ["x"] = 0, ["name"] = "default:snowblock", ["z"] = 1, ["param1"] = 14}, 
   {["y"] = 0, ["x"] = 0, ["name"] = "default:snowblock", ["z"] = 2, ["param1"] = 14}, 
   {["y"] = 0, ["x"] = 0, ["name"] = "default:snowblock", ["z"] = 3, ["param1"] = 14}, 
   {["y"] = 0, ["x"] = 0, ["name"] = "default:snowblock", ["z"] = 4, ["param1"] = 14}, 
   {["y"] = 0, ["x"] = 0, ["name"] = "default:snowblock", ["z"] = 5, ["param1"] = 14} 
}

Pythonで言うところのdictionaryみたいな形です。"xyz"のkeyでpos1からの位置を示して、"name"でブロックの種類を決めます。ブロック毎に"param1"などのオプションもありますが、とりあえず無視して構いません。

今回はこの.we形式のファイルを生成するPythonのスクリプトを書いてみました。指定した高さのピラミッドをつくり、その角に松明を立てます。とりあえず動くだけのスクリプトなので、ご参考までに。

.weファイルを書き出して、Minetestから読み込むとこんな感じになります。

画像1

高さ50段のピラミッドができました。ちゃんと角に松明が設置されています。次に夕焼けと一緒にスクショを撮ってみました。

画像2

手作りでピラミッドを積むこともできますが、50段ともなると大変な労力です。そこはプログラミングの力を借りてサクッとやりたいところです。

さて、ようやくプログラミングでブロックを積めるようになりました。次は「さざえ堂」をプログラミングで建ててみたいと思います。

ではまた。

この記事が参加している募集

おうち時間を工夫で楽しく

無料のプログラミングクラブCoderDojoを運営するにあたり寄付を受け付けています。お金は会場費・Wifiの費用・教科書に使用します。