This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Evrae's profile picture

[MC 1.4.7][FTB]Crafty Turtle Cannot Craft Recipies With A Stack Per Craft

Started by Evrae, 21 April 2013 - 07:03 PM
Evrae #1
Posted 21 April 2013 - 09:03 PM
I'll preface this by saying this could qualify as a bug, suggestion, or interoperability issue with another mod, but this seemed like the best place so here it is. Please move it if necessary.

ComputerCraft Version Information: CC 1.5/MC 1.4.7/FTB Ultimate v1.0.1

Description of Bug: I have been attempting to use a Crafty Turtle to automate the crafting of redstone using Nether Wart in conjunction with the Alkahest item (Xeno's Reliquary mod - http://ftbwiki.org/Alkahest). This item allows you to craft X of different item types and it will change it into Redstone, Lapis Lazuli, or Lapis Lazuli Blocks depending on the item you convert. These conversions require you to convert entire stacks of items typically (for example I have created a Nether Wart farm and would like to automate converting 64 Nether Wart into 2 Redstone, which I can then use for other purposes). The problem is that the turtle.craft() function in the Turtle API is only capable of consuming a single item in a slot as a part of the craft function, which results in the craft completing but only a single Nether Wart is destroyed, yeilding no Redstone (the Redstone is only created if an entire stack of Nether Wart is crafted at once). This craft functionality works in any manual crafting table but seems to not work properly in the Crafty Turtle. Ideally there would be a parameter you could pass into the turtle.craft() function that would allow it to consume an entire stack of items on a single craft, rather than only a single item per craft.

Steps to Reproduce Bug: Place an Alkahest into any crafting slot (1, 2, 3, 5, 6, 7, 9, 10, 11), and a stack of Nether Wart into any crafting slot on a Crafty Turtle. Run the turtle.craft() function. Only a single Nether Wart will be consumed rather than all 64. (NOTE: You could alternatively use any item other than Nether Wart, provided it is an item that the Alkahest can convert - see http://ftbwiki.org/Alkahest for reference on what items can be converted.)

Thanks for reviewing this issue.

P.S. The turtles are awesome - I love them. I have a mining turtle army instead of a quarry :)/>
immibis #2
Posted 22 April 2013 - 02:45 AM
What if you do turtle.craft(64)?
Evrae #3
Posted 22 April 2013 - 03:51 AM
Hi immibis. Thanks for the reply. Neglected to mention it but I tried that before posting and it has the same result. Even with craft(64) it interprits the fact that there is only a single Alkahest and only does 1 craft (which is technically correct this is a single craft that uses 64 items in a slot for one craft), resulting in the consumption of a single Nether Wart and no Redstone.
Cranium #4
Posted 22 April 2013 - 08:40 AM
the craft() function will only do a single go, as if the player was left clicking on the item they want to craft, out of the crafting bench. I believe this is intended.
Evrae #5
Posted 22 April 2013 - 09:01 AM
Right but if you left click the resulting item out of an actual crafting table it works properly. When the turtle does it, the results are not the same as the crafting table results.

For anyone looking to automate Alkahest recipies, I found a way around the issue by using a Laser and an Advanced Crafting Table, since the Advanced Crafting Table actually does it properly. I really wanted to use a turtle for it but at least I have something workable. All other automatic/crafting tables in the game seem to have the same issue as the crafty turtle with the exception of the Advanced Crafting Table. Likely this is because the Xeno's Reliquary mod is very new and most other mods have not had the opportunity to do any interoperability testing. If the craft turtle can do this I'll switch over to using it but until then I guess I'll stick with the only thing that works.

Thanks :)/>
Cranium #6
Posted 22 April 2013 - 10:14 AM
when you left click in a vanilla crafting table, it does not craft the entire stack. It will craft only one recipe at a time. You must be thinking of shift-clicking. That is not what turtles do, and likely won't.
Evrae #7
Posted 22 April 2013 - 10:22 AM
Nope, not shift clicking. If you use an Alkahest + 64 Nether Wart in a vanilla Crafting Table, it will consume the entire stack of Nether Wart because it is a single "craft" action (no shift-click necessary). Seriously - give it a shot in a test world, it will make a lot more sense after you have done it once.
Dlcruz129 #8
Posted 22 April 2013 - 10:35 AM
Recipes aren't usually stack-size sensitive, which is probably confusing the turtle.
Cloudy #9
Posted 22 April 2013 - 12:03 PM
We probably only load one of each item into the fake player inventory. I'll look into rectifying that.
Evrae #10
Posted 22 April 2013 - 04:17 PM
Awesome thanks a bunch Cloudy!
superaxander #11
Posted 22 April 2013 - 07:50 PM
Recipes aren't usually stack-size sensitive, which is probably confusing the turtle.
They actually are
immibis #12
Posted 22 April 2013 - 09:11 PM
How are they?
Lyqyd #13
Posted 23 April 2013 - 07:12 AM
Recipes aren't usually stack-size sensitive, which is probably confusing the turtle.
They actually are

No, he's right. They usually aren't sensitive to how many of the item are in each stack in the table. If that was the usual case, the developers would have likely accounted for that when they originally made crafty turtles (based on what Cloudy thinks the source of the problem is).
Cranium #14
Posted 23 April 2013 - 08:09 AM
Well, I think the turtles were originally made with vanilla crafting in mind. In vanilla crafting, there are no recipes that require more than one item per crafting slot. So it would make sense that we run into this issue on modded crafting recipes, that require more than one item per slot to complete the crafting recipe.
superaxander #15
Posted 23 April 2013 - 08:14 AM
Well my mod is stack sensitive
Cranium #16
Posted 23 April 2013 - 08:21 AM
I did just say VANILLA, right?