well in slots 1 2 and 3 i have dirt gravel and stone respectivly. so it checks that its not thoes before it mines it.
i just tested my program and it worked 100%
he mines down checking all his sides as he goes looking for not stone dirt or gravel, when he finds it he mines that.
later i plan on adding a location ticker setup like i did with the z axis so he can venure away from the mine shaft to get an entire veign of ore.
here is the finished code.
rednet.open("right")
rn = rednet.send
fx = turtle.getItemCount(16)
a = fx - 1
sleep(1)
base = 13
rn (base , "Connection established")
--sleep(1)
rn (base , "getting fuel level")
--sleep(1)
turtle.getFuelLevel()
local f = turtle.getFuelLevel()
--sleep(1)
rn (base , "Current fuel level is "..f.."" )
--sleep(1)
if f < 100 then
turtle.getItemCount(16)
rn (base , "current coal stack is")
turtle.select(16)
turtle.refuel(a)
else
rn (base , "Fuel levels are acceptable")
-- sleep(1)
end
--sleep(1)
rn (base , "getting coal count")
turtle.getItemCount(16)
--sleep(1)
rn (base, "I have "..fx.." Coal")
--sleep(1)
if fx < 64 then
rn (base, "DANGER! Coal is low")
os.reboot()
else
rn (base, "Coal storage is full")
--sleep(2)
end
--sleep(1)
rn (base , "comencing program")
--=======comence mining=======--
z = 0
--=======return code==========--
function home()
n = 0
while n ~= z do
turtle.up()
n = n + 1
end
rn (base , "Mining Operation finished")
rn (base , "ready for Pickup")
os.shutdown()
end
--============value===========--
function value()
ts = turtle.select
tc = turtle.compare
if not turtle.detect() then
return false
else
ts(1)
b = turtle.compare()
ts(2)
n = turtle.compare()
ts(3)
m = turtle.compare()
if m or n or b then
return false
else
return true
end
end
end
--============walls===========--
function walls()
for j = 1,4 do
print("value function")
if value() then
turtle.dig()
rn (base, "ore collected at "..z.." ")
else
turtle.turnRight()
end
end
end
--===========Dig Code=========--
z = 0
while true do
print("2")
f = turtle.getFuelLevel()
if f < z + 10 then
rn (base , "Danger! fuel levels low.")
turtle.select(16)
turtle.refuel()
z = turtle.getFuelLevel()
if f < z + 10 then
rn (base , "Insuficient Coal, Returning.")
home()
end
elseif turtle.detectDown() then
turtle.digDown()
turtle.detectDown()
print("3")
if turtle.detectDown() then
rn (base , "I hit bedrock, Returning")
print("Your home function")
home()
break -- to break out of the while loop
end
else
turtle.down()
rn (base , "Nothing on "..z.." moving down")
print("your walls function")
walls()
z = z + 1
end
end