turi_startup.lua
turi_startup.lua
turiのスタートアッププログラムです。 startupの中で、
shell.run('/start/turi_startup')
のように呼び出すことを想定しています。
ものすごく眠い時に書いたやつをそのまま使っていて酷いですが、直す予定もないです。
----------------------------------------------------------- -- turi_startup.lua -- 自動釣りプログラムのスタートアップ -- @author 琴葉茜(さとうけい) ----------------------------------------------------------- os.loadAPI('/lib/apis/application') os.loadAPI('/lib/apis/const') os.loadAPI('/lib/apis/identify') os.loadAPI('/lib/apis/turtlefuel') application.turtleInit('turi_startup') ----------------------------------------------------------- -- プログラム引数処理 ----------------------------------------------------------- local args = { ... } local config_path = args[1] or 'turi_config' -- 第一引数はコンフィグファイル名や ----------------------------------------------------------- -- コンフィグファイル読み込み ----------------------------------------------------------- local config = application.loadConfig(config_path) ----------------------------------------------------------- -- 釣りをする方向に水ブロックがあるか ----------------------------------------------------------- local function isWater(direction) local success, data = turtleapis.INSPECT[direction]() if identify.isWaterBlock(data) then return true end return false end local search_water = { [const.FORWARD] = function() for i=1, 4 do if isWater(const.FORWARD) then return true end turtle.turnRight() end return false end, [const.UP] = function() return isWater(const.UP) end, [const.DOWN] = function() return isWater(const.DOWN) end, } if not search_water[config.turi.dir_fishing]() then -- 水ブロックは見つからんかった… return false end shell.run('turi')