View difference between Paste ID: vUXHZ7vC and x7FVCisU
SHOW: | | - or go back to the newest paste.
1
local efficiency = 8 --the amount of items each fuel item can smelt
2
local furnaces = 6 --the amount of furnaces the chef has (MAX 8)
3
local amounts = {}
4
function selectNext() --selects the next non-empty slot in the turtle and returns true, else returns false
5
	for i = 1, 16 do
6
		if turtle.getItemCount(i) ~= 0 then
7
			turtle.select(i)
8
			return true
9
		end
10
	end
11
	return false
12
end
13
while turtle.suck() do
14
	for i = 2, furnaces do --get's the ores out of the chest, until chest is empty or has [furnaces] stacks
15
		table.insert(amounts, 0)
16
		if not turtle.suck() then break end
17
	end
18
	for k, v in pairs(amounts) do --puts the ores it has collected into the furnaces
19
		turtle.back()
20
		selectNext()
21
		amounts[k] = turtle.getItemCount()
22
		turtle.dropDown()
23
	end
24
	while turtle.forward() do end --resets to the chest location
25
	turtle.select(1)
26
	turtle.down()
27
	for k, v in pairs(amounts) do
28
		turtle.suck(math.ceil(v/efficiency)) --sucks out of the coal chest how much fuel it needs
29
	end
30
	turtle.down()
31
	local biggestStack = 0
32
	for k, v in pairs(amounts) do
33
		if v > biggestStack then --calculates the size of the biggest stack
34
			biggestStack = v
35
		end
36
		turtle.back()
37
		selectNext()
38
		turtle.dropUp(math.ceil(v/efficiency)) --puts the correct amount of fuel into each furnace
39
	end
40
	sleep(biggestStack*10) --waits for the biggest stack to be done
41
	for k, v in pairs(amounts) do --collects all the items
42
		turtle.suckUp()
43
		turtle.forward()
44
	end
45
	while selectNext() do turtle.drop() end
46
	turtle.up()
47
	turtle.up()
48
	turtle.select(1)
49
end