GithubHelp home page GithubHelp logo

tacigar / maidroid Goto Github PK

View Code? Open in Web Editor NEW
14.0 4.0 12.0 812 KB

Minetest modpack: Provides cute maid robots

License: GNU Lesser General Public License v2.1

Lua 98.73% Shell 1.27%
minetest maidroid minetest-mods

maidroid's Introduction

※ This repository has not been actively updated for a long time.

Maidroid

This mod is inspired littleMaidMob mod (for Minecraft), and provides maid robots called 'maidroid', cores that command them to do farming, following their owner and so on, involved tools.

How to Use

Create Maidroid Eggs

  1. Create an empty egg and Maidroid-Egg Writer by following the recipe below.
  2. Place Maidroid-Egg Writer and open formspec by right-clicking it.
  3. Put an empty egg into the slot labeled Egg, a coal into Fuel, and a dye into Dye.
  4. Then, Maidroid-Egg Writer activates.
  5. A short time later, a new maidroid egg will be created.

Create Cores

  1. Create an empty core and Core Writer by following the recipe below.
  2. Place Core Writer and open formspec by right-clicking it.
  3. Put an empty core into the slot labeled Core, a coal into Fuel, and a dye into Dye.
  4. Then, Core Writer activates.
  5. A short time later, a new core will be created.

Activate Maidroid

  1. Throw the egg created, then a new maidroid will be spawned.
  2. Open formspec by right-clicking the maidroid, and put the core created into Core slot.
  3. Then, the maidroid will be activated.

Recipes / Dye and Egg / Dye and Core

b = dye:black            c = default:cobble        d = default:diamond
f = farming:cotton       o = default:obsidian      p = default:paper
s = default:steel_ingot  w = bucket:bucket_water   z = default:bronze_ingot  

Core Writer      Egg Writer       Nametag          Empty Core       Empty Egg

| s | d | s |    | d | w | d |    |   | f |   |    | s | s | s |    | z | z | z |
| c | s | c |    | c | s | c |    | p | p | p |    | s | o | s |    | z | s | z |
| c | c | c |    | s | c | s |    | s | b | s |    | s | s | s |    | z | z | z |
White Mk1 Grey Mk2 Dark Grey Mk3
Black Mk4 Blue Mk5 Cyan Mk6
Green Mk7 Dark Green Mk8 Yellow Mk9
Orange Mk10 Brown Mk11 Red Mk12
Pink MK13 Magenta Mk14 Violet Mk15
RedBasic CoreMaidroids embeded this core will follow a player.
YellowFarming CoreMaidroids embeded this core will do farming. Embed this core and put seed into them, then they will plant the seeds. And the plant will be grown, they mow it. The farmlang should be surrounded by fences, because maidroids embeded this core cannot jump over fences.
WhiteOCR CoreMaidroids embeded this core will read a book written a program in their inventory, and execute the program. Program example:
start: sleep 1
beep
jump 0.9
jmp start
OrangeTorcher CoreMaidroids embeded this core will follow a player, and put torch if it is dark.

Dependencies

  • bucket
  • default
  • dye
  • pdisc?

Requirements

  • Minetest v0.4.14 or later

Forum Topic

The forum topic for this mod on the Minetest Forums is located at:

License

  • The source code of Maidroid is available under the LGPLv2.1 or later license.
  • The resouces included in Maidroid are available under the CC-BY-SA 4.0 or later license.

maidroid's People

Contributors

chu-hai avatar excaliburzero avatar hybriddog avatar tacigar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

maidroid's Issues

Guard Core を作成する.

そもそもデフォルトの Minetest は敵キャラクターという概念がない, 非常に優しい世界なので, 本当に必要なのかは分からない.
また, 敵キャラクターの概念がないので, どのように敵と判定するのかが分からない.
Mobs などの有名な MOD のみに対応する形で実装していく形になっていくのかね.

Maidroid holding tools

It would be awesome if the Maidroid used actual tools for example the farmer could hold a hoe and The Lumberjack could hold a axe ( if you didn't understand that I'm basically asking for them to hold tools in their hand)

ライセンスについて.

ぶっちゃけどうでもいいが, WTFPL が割と多くを占めてるっぽい Minetest 界隈において, GPL は厳しすぎる感がある.

Maidroid に燃料の概念を入れるべきか.

littleMaidMob では, メイドにケーキが燃料という, 何とも素敵な感じになっている.
考えなければならないのは, そもそも燃料という概念があるべきなのか, あるべきだとしたら何を燃料とするべきか, の二点である.

Maidroid ai Improvement

For some reason if you get a lumberjack maidroid they just get some random trees ( I think they should go for the closest tree to them) because now making a farm is pretty much impossible they just try to find a tree somewhere like a hundred blocks away even though there's a treat just next to them ( it's really annoying)

TODO とか MEMO とか 進捗とか

  • maidroid/maidroid
    • maidroidに名前を持たせる(nametag)
    • maidroidの状態をinfotextで表示
    • maidroidにアイテムを持たせる処理
  • maidroid/maidroid_core
    • 昔実装してたやつはもうちょっと賢くして実装しなおす
      • empty
      • basic(旧player_chasing)
      • minetest.find_path の使い方を調べる
      • farming
      • lumberjack
    • ほかにも役立ちそうなやつを実装しよう
      • 暗ければ明るく照らしてくれる系
      • Guard Maidroid (Core)
  • maidroid/maidroid_tool
    • core writerの実装
      • active core writerの実装
      • inactive core writerの実装
      • core writerの上で回るcoreの実装
      • core_writerのformspecをいい感じにしなければならない
    • maidroidを作る機械の実装(名前も決める必要がある)
  • README.md
    • maidroid MODの概要
    • 各アイテムの使い方
    • 各アイテムのレシピ
    • APIの簡単な説明

Linux のパッケージについて.

軽く調べてみたところ, 現在, Debian には unstable として, Ubuntu には zesty スイート内にこの MOD が登録されている.
Debian の Minetest の stable バージョンは 4.10.0 というかなり古いバージョンなので, これに対応することを考えるのは相当面倒臭い気がする.
Ubuntu に関しては, 最新の 16.10 では 0.4.14 がインストールされるのでとりあえず問題ないと思われる.
ただ, LTS は 16.04 で, そちらでは 0.4.13 がインストールされてしまうので, 0.4.13 を考えておいた方がいいかもしれない.

maidroidにアイテムを持たせる方法

maidroidがアイテムを持った方が見栄えがいいのでそうしたい。
maidroidのinventoryにwielditem用のlistを追加してそこはGUIからは操作できないようにして、各coreが責任をもって扱うようにした方が、そのcoreに合った選択ができるし、余計なことに気を使わなくて済むような気がする。

Maidroid に名前を付ける方法

今は formspec 開いて登録という形になっているが, formspec が散らかってきたので止めたい.
候補として考えているのは nametag アイテムを登録して, それを Maidroid に対して使用すると, 名前が付くというやつ.
一回名前を付けてしまうと, 名前を変更することができなくもしたい.

Wield Item の Lock / Unlock 機構

現在, maidroid の wield_item リストにはユーザーは触れられない状況になっているが, これを Lock / Unlock 方式にしたい.

Guard maidroid

Basicaly it's a maidroid Which defends you, you can ask them to stay guard
And defend Anything you want (also maybe being able to give them armor would be cool) also they should hold a sword

ディレクトリの整理

テクスチャの生成スクリプトとかがごちゃ混ぜになってしまっているから, 整理する.

0.1.0 リリースまで.

  • Minetest Forums で, WIP Mods から Mod Releases に移動したい.
    • そのまま移動できるのか.
    • Topic を立て直さないとダメなのか.
  • 0.4.15 での動作確認
  • タグ付け
  • ...

TODO

  • maidroidにアイテムを持たせる機構の開発
    • formspecの変更
    • APIの開発
      • wieldのスタックを取得するAPI
      • mainからwieldにアイテムを移動させるAPI
    • 持っているアイテムを手に持たせる機構
  • Farming coreの作成
  • Lumberjack coreの作成
  • maidroid生成ノードの作成
  • ここまでの機能をテスト
  • README記述
  • テスト
  • v0.1リリース

  • Guard coreの作成
  • 防具をmaidroidに着せる方法(可能なのか?)

Dummy item が消えてない.

よくよく考えれば, その処理を入れてなかったから当たり前.
set_attach してれば勝手に一緒に消えると勘違いしていた.
Maidroid が消える時に, 一緒に Dummy item も消す必要がある.
LuaEntity にはそのためのコールバックが無いっぽいので, 他の方法を探す必要がある.

Maidroidの生成方法

スポーンエッグを生成するノード.
原料は空の卵と染料. 燃料に石炭を用いる.
組み合わせた染料の色に応じて異なるmaidroidを生成する卵を生成する.

README を記述する.

日本語の README を作成し, それを翻訳する形で英語版を作成する.
記述する内容としては, 以下のようになる.

  • Maidroid MOD の概要
  • 使用方法
    • 使用方法を簡単に説明した動画(YouTube に投稿?)
    • 上記の動画の内容を簡易的に説明した文
    • 各種レシピ
  • 依存 MOD
  • ライセンス
  • Contributers

Animation がおかしい.

一瞬ガクッとなる.
おそらく, フレームが一つズレているため, 他のアクションが入ってしまっていると思われる.

Maidroid Mod incompatible with other mods

@tacigar @Rui914 It seems like if I load maidroid together with another mod it keeps crashing, and both mods work perfectly well if I don't put them together also (I would like to compliment you, really nice Mod) I'm using 0.4.14

Farming Core を作成する.

農業用の Core , Farming Core を作成する.
Version 0.4.13 以前の minetest.find_pathair 以外のノードを避ける様に作られているため, 少なくとも農業用のモジュールには使えない ( 稲を一々避けてたら不自然である ) .
したがって, 経路探索は自前で実装することとする.

Maidroid-Egg Writer を作成する.

元々, Maidroid を組み立てる用のノードを作成して, 頭手足のパーツをそのノードに put して, パーツが揃った時点で Maidroid をスポーンする方針で考えていたが, あまりユーザビリティもよくないし, 実装やモデリングもごちゃごちゃして面倒臭そうなので, スポーンエッグを作る方針に変更する.

使い方としては以下のようになる.

  1. Maidroid-Egg Generator をクラフトする.
  2. 空の Maidroid-Egg をクラフトする.
  3. 燃料, 染料, 空のMaidroid-Egg を Maidroid-Egg Generator に put する.
  4. 染料に混ぜる染料ごとに違う種類の Maidroid をスポーンする Maidroid-Egg を生成する.

雰囲気としては, Core-Writer と同じである.
maidroid_tool 内に作成することとする.

Maidroid のサイズを変更したい.

Player と横に並ぶとよく分かるが, 顔がデカすぎる.
ので, 全体的にサイズを小さくする.

Entity の登録で, 以下のようにすればよい.

visual_size                  = {x = 6, y = 6},
collisionbox                 = {-0.25, -0.3, -0.25, 0.25, 1.05, 0.25},

Basic Core がバグってる.

ジャンプしてほしいところでしないし, 全然ダメ.
多分モデルを裏返した時にバグったと思われる.

Wet → Soil への変更

何故か minetest.get_item_group を 0 or 1 以上の判定に使うことしか考えてなくて,
default:dirtgroupsoil = 1 があったので, 土壌の判定には soil を使えないと判断していた.

種を植えられる土壌は soil > 1 で判定すればいいのでそっちを使う.
乾いている状態の土壌でもメイドが種を植えられるようになる.

maidroidにアイテムを持たせる方法

maidroidにアイテムを持たせる方法

単にプレーヤーを追従するだけのコアが設定されている場合に、maidroidにものを持たせる必要もないし、逆に農業用のコアが設定されている場合は、鍬か種を持っていればよい。
すなわち、maidroidがその時手に持っているべきアイテムはコアによってのみ決まるので、その部分にプレーヤーが触れられないようにするべきである。

READMEについて

  • MODの概要
  • 使い方の概要(動画へのリンク)
  • レシピ
  • 依存MOD
  • ライセンス
  • Contributers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.