Posted 31 January 2013 - 09:13 PM
Has anyone built an ultimate crafting setup that can make anything? Let's see what the challenges are.
A turtle only knows about the items in its inventory and all it knows is, is this the same as some other item in its inventory. This is a huge problem, but it's solvable.
It needs a way of populating specific slots with specific items, e.g. a charcoal in slot 1 and a stick in slot 5.
It needs to know where to get charcoal, and where to get sticks.
You need a chest dedicated to each item, and the turtle needs to know where to go to find the chest. How many chests is that? Well, I reckon a few hundred should do. An 8x8 grid of iron chests or alternating wood and iron should do, two layers with a gap in between for turtle acces, that's 128 which should do for a start. A database recording what chest each item contains, and an input chest for new items which would then be moved into an empty chest.
So then what? You just go to a chest that contains an item needed, suck a stack into Slot 16, spit the surplus back into the chest, transfer the material to the right slot, repeat for entire pattern, and then craft(), right? Seems so simple really. Someone must have done this already. Setting up all the patterns is most of the work, there must be a pattern list that could be used for that.
What have I missed?
Oh, yes, some items are not consumed such as water buckets and minium stones so it needs to refill and/or return those. And if it's going to craft more than one then it needs to go to an infinite water (or milk!) source and do the crafting and refilling there, that's definitely advanced mode. Probably the first version will just dump the bucket in a chest for a dedicated refilling turtle to deal with. But how does the refilling turtle know if it's a milk bucket or a water bucket… two dump chests, one next to water and one next to bessie?
Anything else I need to do?
Ooh, need to check that the chest hasn't run out of materials. And maybe craft some if it has. Need a proper crafting queue really. A stack, in computing terms, but that is an overloaded term in a Minecraft context.
A turtle only knows about the items in its inventory and all it knows is, is this the same as some other item in its inventory. This is a huge problem, but it's solvable.
It needs a way of populating specific slots with specific items, e.g. a charcoal in slot 1 and a stick in slot 5.
It needs to know where to get charcoal, and where to get sticks.
You need a chest dedicated to each item, and the turtle needs to know where to go to find the chest. How many chests is that? Well, I reckon a few hundred should do. An 8x8 grid of iron chests or alternating wood and iron should do, two layers with a gap in between for turtle acces, that's 128 which should do for a start. A database recording what chest each item contains, and an input chest for new items which would then be moved into an empty chest.
So then what? You just go to a chest that contains an item needed, suck a stack into Slot 16, spit the surplus back into the chest, transfer the material to the right slot, repeat for entire pattern, and then craft(), right? Seems so simple really. Someone must have done this already. Setting up all the patterns is most of the work, there must be a pattern list that could be used for that.
What have I missed?
Oh, yes, some items are not consumed such as water buckets and minium stones so it needs to refill and/or return those. And if it's going to craft more than one then it needs to go to an infinite water (or milk!) source and do the crafting and refilling there, that's definitely advanced mode. Probably the first version will just dump the bucket in a chest for a dedicated refilling turtle to deal with. But how does the refilling turtle know if it's a milk bucket or a water bucket… two dump chests, one next to water and one next to bessie?
Anything else I need to do?
Ooh, need to check that the chest hasn't run out of materials. And maybe craft some if it has. Need a proper crafting queue really. A stack, in computing terms, but that is an overloaded term in a Minecraft context.