2019年8月15日木曜日

1マスの自動農業プログラム

究極の自動農業プログラムです、移動しないタートルが作物を植え、骨粉を撒き、収穫を繰り返すだけの簡易的なものですが、タートルのスロット管理、アイテム判別、メタデータでの収穫判断と内容は濃いものとなっています。


タートルが動かないとプログラムを組みやすい


タートルのスロットは1にニンジンを1本
残りはすべて骨粉で埋めます


移動しないので燃料を使用しません
タートルを地面より1ブロック上に設置します
下は草もしくは土ブロック
水源を1マス準備します
骨粉がある限り自動農業を行います
(自然に育っても収穫して植えます)


タートルのインベントリは骨粉が減っていき、ニンジンが増えていきます




最終的にはこのようになります、移動がないのでかなり早いです
チェストを横に置いたり、配送用のタートルを含め複数台のタートルでの自動農業も面白いかもしれません




--####1マスの自動植林プログラム
turtle.digDown()--下を耕す
turtle.placeDown()--スロット1のニンジンを植える
while true do--無限ループの始まり
local There,What=turtle.inspectDown()--下のブロックを調べる
    if What.metadata==7 then--もし収穫時期なら
        turtle.digDown()--収穫
        for Slot=1,16 do--スロット1から16までのループ
            turtle.select(Slot)--ループをスロット選択
            local What=turtle.getItemDetail()--選択スロットのアイテムを調べる
            if What then--もし何かああるなら
                if What.name=="minecraft:carrot" then--もしニンジンなら
                    turtle.placeDown()--ニンジンを植える
                end--もしニンジンならの終わり
            end--もし何かあるならの終わり
        end--スロットのループの終わり
    else--収穫時期でないなら
        for Slot=1,16 do--スロット1から16までのループ
            turtle.select(Slot)--骨粉のスロットを選ぶ
            local What=turtle.getItemDetail()--選択スロットのアイテムを調べる
            if What then--もし何かああるなら
                if What.name=="minecraft:dye" then--もし骨粉なら
                    turtle.placeDown()--骨粉を散布
                end--もし骨粉ならの終わり
            end--もし何かああるなら 
        end--スロットのループの終わり
    end--もし収穫時期なら
end--無限ループの終わり
--####1マスの自動植林プログラム




赤文字が任意に設定した文字です

local There,What=turtle.inspectDown()--下のブロックを調べる
「There」でブロックがあるかないかの戻り値が入ります
「What」で何のブロックなのかの戻り値が入ります

if What.metadata==7 then--もし収穫時期なら
「What.metadata」でブロックのメタデータが呼び出せます
実際には「7==7」となっています、7が収穫時期なので収穫します
もしメタデータが7でないなら
else--収穫時期でないなら
までプログラムは飛んで骨粉を散布します

for Slot=1,16 do--スロット1から16までのループ
    turtle.select(Slot)--ループをスロット選択
「Slot」をturtle.select()に当てはめることでスロットを1~16まで変更します

local What=turtle.getItemDetail()--選択スロットのアイテムを調べる
「What」で何のブロックなのかの戻り値が入ります

if What.name=="minecraft:carrot" then--もしニンジンなら
「What.name」でスロットのアイテム名を呼び出せます
実際には「"minecraft:carrot"=="minecraft:carrot"」となっています

関連サイト
コンピュータークラフトを極める その3

0 件のコメント:

コメントを投稿