Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- #深夜のComputerCrafting60分一本勝負
- -- お題: 「turtle.inspect()」または「turtle.getItemDetail()」を使ったプログラム
- -- 2015/01/26 23:00スタート by hevo2
- -- 23:40終了
- -- turtle.select() →発展 → selectItem("dirt",0)
- -- turtle.getItemDetail(slot_num)
- -- nil or
- -- { count=1, name="minecraft:dirt", damage=0}
- -- 数はやめよう。
- function selectItem(name,damege)
- -- local selected_slot = turtle.getSelectedSlot()
- for i=1,16 do
- local item = turtle.getItemDetail(i)
- if type(item)=="table" then -- スロットに何かアイテム
- -- print("slot=",i," ",item["name"]," ",item["damage"])
- if string.match(item["name"],name) then -- 指定アイテムの名前と一致
- if damege==nil or damage == item["damage"] then -- ダメージ値指定がない、または指定と一致
- turtle.select(i)
- return true, item["count"]
- else -- 名前は一致したがダメージ値が違う
- -- do nothing
- end
- else -- 指定アイテムの名前と不一致
- -- do nothing
- end
- else -- スロット内にアイテムなし
- -- do nothing
- end
- end
- -- turtle.select(selected_slot)
- return false, "No item to match"
- end
- -- 使い方
- -- selectItem(name, damage)
- -- スロット内を探し、name(damage値指定があるときはそれも)とマッチするアイテムを選択する。
- -- スロット内に土ブロックが1個ある状況
- -- selectItem("dirt",0) => true, 1
- -- selectItem("dirt",2) => false, "No item to match"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement