あるきながら、ダンジョンの通路や部屋を作ったら、楽だろうなぁ。
そうがんがえ、マイクラ で、
歩くスピードで、ダンジョンつくるやり方を作りました。
ストラクチャーブロックの配置って、置く方角を気をつけるのが
面倒なので、それを、簡単にしちゃう方法の紹介となります。
ちょっと、ややこしいので、メモしたら、たくさん喜ぶ人が多いとおもったので
マイクラのストラクチャーブロックと、functionコマンドをつかうので、
いま(2019/10/19)のところ、マイクラのJava版です。
大変だけど、これができたら、高位な錬金術師みたいになりますよ。
自分が作った建築の部品を、マイクラではストラクチャーと呼んでいます。
以下に示すコマンドは、自分の立っている場所と、向きを逆算して、
ストラクチャーを、あるきながら、配置するように、するコマンドです。
name: ストラクチャー名
x: ストラクチャーを配置したときの自分の相対位置
z:
y:
実際に、どんなコマンドをつくるのかみてみましょう。
たとえば、
name: ストラクチャー名 : bath
x: 3
z: -1
y: -3
だとすると、
つくるコマンドは、次の6行になります。
最初の4行は、
なので、上記のいずれかのストラクチャーブロックが、置かれます。
つづく2行の意味は、
execute if entity @p[y_rotation=-45..44] as @p positioned ~ ~ ~ run setblock ~ ~2 ~ minecraft:structure_block{mode:"LOAD", name:"bath", posX:-3 ,posZ:1, posY:-5} replace execute if entity @p[y_rotation=45..135] as @p positioned ~ ~ ~ run setblock ~ ~2 ~ minecraft:structure_block{mode:"LOAD", name:"bath", posX:-1, posZ:-3, posY:-5, rotation:CLOCKWISE_90} replace execute if entity @p[y_rotation=135..224] as @p positioned ~ ~ ~ run setblock ~ ~2 ~ minecraft:structure_block{mode:"LOAD", name:"bath", posX:3, posZ:-1, posY:-5, rotation:CLOCKWISE_180} replace execute if entity @p[y_rotation=-135..-44] as @p positioned ~ ~ ~ run setblock ~ ~2 ~ minecraft:structure_block{mode:"LOAD", name:"bath", posX:1, posZ:3, posY:-5, rotation:COUNTERCLOCKWISE_90} replace execute as @p positioned ~ ~ ~ run setblock ~ ~3 ~ minecraft:redstone_block replace execute at @p positioned ~ ~2 ~ run fill ~ ~ ~ ~ ~1 ~ minecraft:air replace
毎回これを作るのは、大変なので、自分は、excelやrubyなどで、上記のめんどくさいのを、自動で作るようにしています。
これをテキストファイルに保存して、ファイルを保存するのですが、
保存先が、最近のバージョンで、変更されまくって、特定するのに時間がかかりました。 今のバージョン(1.14)ですと。
自分は
C:\Users\kh\AppData\Roaming\.minecraft\saves\structure\datapacks\kh\data\ns01\functions
というフォルダに、
bath.mcfunction
というファイル名で保存しています。
自分で調節できるのは、上記の
ですね。ここに、自由に好きな名前が入れれます。
登録後は、reloadコマンドを使って、マイクラで使える状態になります。
使うときは、上記の 名前の例ですと
function ns01:bath
となります。