ishouseMODって言います(インスタント・スモール・ハウスMOD) (今回はアイテムタイプです)

 Minetestの使用やMODの使用は自己責任でお願いします

このMODの使用にはワールドのバックアップを強くお勧めします


下のほうにダウンロードリンクがあります


写真も下のほうにあります

実際に使ってみたものを載せています





(ここから本題です)

ようやく形になりました


前ブログを読んでない方はそちらもどうぞ


前バージョンのブログリンクです

こちらから読めます


前バージョンでは、ディスクに1つしか持てなかった「onブロック」を、

今回は多数持てる様にしました


※注意

※このMODは家を作らなくて良いというものではありません

※「onブロック」、「offブロック」を追加して、周囲のノードを読み込むものです


地形データはディスクにではなく、

Itemのほうに入れるようにしました

(ここが最大の変更点です)


9x9x9のサイズの家が持ち運べます

(9x9x9はデフォルトです)


2021年8月までは、

9x9x9のサイズの地形データを読み込んだ「ON」ブロックを捨てるとエラーになりました

(serialize時にエラーのようです・・・。大きさの制限があったのかもしれません・・・)

しかし、

2021年8月末のsfan5さんのWindowsビルド(私がWindowsを使ってる時は、sfan5さんのビルドを使っています)からは、9x9x9でもエラーが出なくなりました

(持ち切れなかった時のフィールドドロップや「捨てる」事もできるし、11x11x11とかの大きいサイズもフィールドドロップや「捨てる」事ができるようです)


コードにレンジ(範囲)があります、その値を変えれば読み取るサイズ(家の大きさ)はかわりますが、

version 1.5 (version 20211114)以降には、「チャットコマンド」を入れてあります

これにより、いつでも大きさを変えられます

/ishouse:range 5」数値は変えたい家の大きさ(中心を含めてそこからの距離)

(:5x5x5はrange 3、7x7x7はrange 4、9x9x9はrange 5、11x11x11はrange 6)


そのままの9x9x9でも沢山持てるので、

連結して大きい家とかできますね

バックパック等に入れるのは推奨できません

多数持つのであれば、インベントリに入れて行くことをお勧めします

(何が起こるか未だに分からないので、特に注意)


沢山持つと、処理が重くなることがありますので、

注意してくださいね

フィールドに「onブロック」を並べて、一気に読み込めば(1つの「onブロック」にすれば)、持ち運びが楽になりますよ

(どれだけ持てるかわかりませんので、自己責任で)

これも重くなるので、注意です

バックパックに入れるのとあまり変わりませんので、注意してください

下に写真がありますので、ご参考に



アイテムメタというのはメモリを使っていると思うので、

メモリが不足するとエラーが出るかもしれません

その辺りも注意が必要です


開始時や、終了時、読み書きが増えて遅くなったりするかもしれません


等々、いろいろな問題はありそうですが、

ちょっと、家を運びたいな・・・

チェストをいくつか(数個)運びたいな・・・

くらいなら、役立ちそうです


問題がありそう」と微妙な書き方をしたのは、

問題が解決していないままというよりは、

問題が未だに分からないって感じです

ですので、このMODは「WIP」未完成って事でお願いしますね


もう一度書いておきますが、

※Minetestの使用やMODの使用は自己責任でお願いします※

※このMODの使用にはワールドのバックアップを強くお勧めします※


それでも、使ってみたいかたは、

下のリンクからダウンロードできます

「使いたい」って思う人いるかな?



ダウンロードリンクです

ダウンロードはこちらから



--------------------------------------------------------------

写真を何点か載せておきますね(^^)


これは、9x9x9のサイズを使い切った「家」です

(豆腐ハウスと呼ばないで・・・サイコロでもないです💦)


「offブロック」です

レシピは、


板板板

板メ板

板板板


「板」はグループ「板材」

「メ」はメセクリスタル

です



「offブロック」を右クリックすると、

「onブロック」になります

と、同時に、範囲ないのものをブロック内に読み込みます



読み取る範囲が分かりづらいので、

「足場」でマーキング



「onブロック」の位置がフロアの一つ上ですね

足場の範囲内が読み取られ消えました



「onブロック」を右クリックすると、

フロアにめり込んでいますが、普通です(^^)

ジャンプすれば戻ります(^^)



ベッドです

どうしても、2ブロックのノードは欠けます

ドアも形はあるんです

ちゃんと開閉するんですが、水の侵入がドアトップからあります

これらは、付け直せば直ります

ベッドトップはオーバーライドしてます

そのせいか、欠けていない時、トップ側では寝れません

ボトム側のクリックをお願いします



地形を取り込んでいます



戻しました




これは、range 1の時です

「offブロック」の真下のみ取り込みました



range 2の場合、

取り込み後、「onブロック」が消える事があります

その時は、


「メインメニュー」に戻って、もう一度ワールドに入ってください



「onブロック」が戻っています

(この時だけなのかは、わかりませんので、バックアップをしてから自己責任で使ってくださいね)



戻ってきた後は、右クリックで元に戻りました


今のところ、range 2のみに、この症状が確認されています


ちょっとした説明でした

インスタントスモールハウスMODをイメージできたでしょうか?

(ちょっと心配ですが)


もう何点か写真を載せます



別の所から持って来たものです

(10個ありますね)



「offブロック」のそばに置いて、

「offブロック」そ右クリック



1つの「onブロック」になりましたね(^^)

持ち運びが楽そうです(^^)



別の場所で、「onブロック」をセット



取り込んだままですね


「onブロック」の取り扱いは細心の注意でお願いします

このまま「onブロック」を右クリックすると、

上書きされてしまうので、他の「onブロック」の内容が消えてしまします

「onブロック」の破壊時は「左クリック以外はしない」って事でよろしくお願いいたします






今回はここまでです


では、また次回(^^)




--------------------------------------------------------------


33:ついに!って感じですね(^^)


32:はい

 ようやくできました(^^)


33:ながかったですね(^^)


32:2018年頃からなんで、3年ですか・・・


33:お疲れ様です(^^)


32:ありがとうございます(^^)


33:苦労した場所、開発期間の長期化についてですが?


32:はい

 なんで、こんなにかかったのか、簡単に言いますと、

 「メタ情報がわからなかった」の一言ですね💦


33:たとえば?


32:限定公開版の頃は、HDDに地形データを書き込んで持ち歩くスタイルでした

メタ情報のやり取りが分からなくて「WorldEdit」というMODを参考にして

なんとか動かしていました

その後、Ruiさんに書き直して頂き、今の原型ができました

それを、HDDに1つだった「onブロック」を、

「アイテムメタ」に書き出して、持ち運べるようにしました

これにより、多数持てるようにもなりました


33:「WorldEdit」作者さま(sfan5さん)と、Ruiさんには感謝ですね(^^)


32:そうですね(^^)

 お二方がいなければ、このMODはもっともっと遅れて完成していたと思います

この場を借りてお礼を言わせてください

sfan5さん、Ruiさん ありがとうございました(^^)


33:その他に悩んだ点があれば・・・


32:コードで、

「number2 = math.ceil(number1^(1/3))」って場所があるんですが、

そこですね💦


33:なぜ、そこなんですか?


32:私が、Luaの変数を勘違いしていたから💦

「number2 = math.ceil(number1^(1/3))」は最初、「number2 = number1^(1/3)」だったんですよ


33:何がダメなんですか?


32:「number2」の変数の型が、以降の変数に影響を与えていました

「For文」のほうにも影響があって、

「For文」がバグったと思いました💦


33:それで、「For文」の変数、X、Y、Zを全部「print文」で書き出していたんですね(^^)


32:あの時、どこにバグがあるか、全く分からず、困りましたね


33:どうやって、原因を発見したんですか?


32:「For文」の変数に影響を与えている「number2」、

その代入の数を変えてみた時、変化がありました

で、

値が小数点以下が入っていてはダメ、

「math.ceil」が必要だったって所に落ち着きました


33:お疲れ様でした(^^)

 「ceil」って「切り上げ」ですが、「floor」の「切り捨て」ではダメなのでしょうか?


32:ダメでした

「floor」のほうの変化(range5の9x9x9の場合)

xは-3.5から3.5の変化です

実際に変化させたいのは、

-4から4までなので、

計算結果が同じになるのが「ceil」って事です

それに、xが「0」の時、「floor」を使うと、「for文」では、「0.5」でした

「floor」でも、、表示位置がずれるんですよ


33:演算の一つで変わってしまうって怖いですね


32:プログラムってだいたい、そうですね(^^)


33:「number2 = math.ceil(number1^(1/3))」って1行が重要なんですね(^^)


32:とても重要な所でしたので、解決できて良かったです(^^)


33:ところで、「number2 = math.ceil(number1^(1/3))」は、何をしてる所なんですか?


32:いろいろな大きさの「家」を、バグらせず再表示させるための計算式の部分です


33:ということは、

9x9x9で保存しても、7x7x7で保存しても、

範囲のコード部分を変えて起動しても、表示がうまく行くって事ですか?


32:そうですね(^^)

読み取った大きさから、「ishouse」の大きさを計算して表示させるように、書き直した場所なんですよ

分からなくて、しばらく保留(放置)してましたが、今回入れる事ができました(^^)


33:(^^)


ナレーター:開発秘話は、尽きないようですが、そろそろ時間です

では、また次回(^^)



32:ちょっと、「ishouse」で遊んできます💨


33:あっ・・・

行っちゃいました(^^)

3年分の思いがありますもんね(^^)

(しばらくは、戻って来ないでしょうね・・・はぁ(溜息))



コメント

このブログの人気の投稿

Minetestのメニュー言語の変え方 2017/06/17

MODを入れよう!

額縁MOD