コンピュータ兼3Dプリンタを作る

Minecraft(クリエイティブ、チートon)で使えるブロック「コマンドブロック」を使うと論理回路、加算回路などを作ることができます。
コマンドブロック1 `/testforblock 0 0 0 stone` impulseモード
コマンドブロック2 `/testforblock 0 0 1 stone` chain&conditionalモード
コマンドブロック3 `/setblock 0 0 2 stone` chain&conditionalモード
手動だと大変なので、Minecraftのワールドのセーブデータを直接プログラムから作成します

コンパイラを作る

簡単なプログラミング言語をマイクラのワールドデータ(ブロックの配置)に変換するコンパイラを作ります。
`y = x + 4`
↓
`clone 0 100 0 0 100 31 0 0 0` xの値を読み出す
`fill 0 1 0 0 1 31 air` `setblock 0 1 2 stone` 4を書き込む
`setblock 1 2 3 redstone_block` 加算装置を起動
`clone 0 0 0 0 0 31 200 0 0` yに書き込む

実行

プログラムを書いて、コンパイル、Minecraft(modなどの拡張機能無し)で実行します。
ただし、とてつもなく遅い(クロック周波数、数Hz程度)ので
`sqrt(x*x+y*y)` → `sqrt_table[square_table[x] + square_table[y]]`
のような工夫をしました。

本物の3Dプリンタで出力

座標を指定して、STLファイルに書き出します
(Minewaysなどのソフトを使う、ワールドデータを開いて自分で作る、など)

最後に、縮尺を調整して本物の3Dプリンタで出力すれば完成