Applied Energistics 2

Applied Energistics 2

137M Downloads

Crafting process only supports up to 9 items.

ExpensiveKoala opened this issue ยท 2 comments

commented

I am currently trying to add AE2 autocrafting support to Avaritia and other 9x9 crafting tables, but ran into a problem. The CraftingCPUCluster creates a 3x3 InventoryCrafting to put the layout of the recipe in.

Description

https://github.com/AppliedEnergistics/Applied-Energistics-2/blob/rv5-1.12/src/main/java/appeng/me/cluster/implementations/CraftingCPUCluster.java#L676
This will cause a crash if a recipe has more than 9 ingredients.

Additionally, the Molecular Assembler doesn't check if the recipe will fit which will cause a crash as well. As it will attempt to fill the 3x3 inventory with the recipe as long as the recipe is craftable. Might not be a problem as I can just make my pattern non-crafting.

Environment

Dev environment while adding AE2 autocrafting support to my mod: Refined Avaritia

  • Minecraft Version: 1.12.2
  • AE2 Version: rv5-stable-7
  • Forge Version: 1.12.2-14.23.1.2555
commented

That is by design and will not change until vanilla itself uses recipes larger than 3x3 or something makes it absolutely necessary like no more InventoryCrafting.

We pretty much assume recipes with more than 9 items are intentionally designed to prevent autocrafting and respect it. Otherwise the mod/pack author could just use (micro)crafting and split it into multiple 3x3 recipes with intermediate products.

commented

We pretty much assume recipes with more than 9 items are intentionally designed to prevent autocrafting

I don't think so. I think Maybe the author just want make recipe "looks like" more Spectacular. Avaritia this mod add some OP items, I think he want us fell "wtf is that?" when we check the recipe first time.
If Avaritia split their recipe to nine 3x3 recipe instead of one 9x9 recipe, the material not change, but the shock when we check the recipe at first time no longer exist.

I think you don't need add more 9 slot in vanilla AE2, but why not give the mod maker and mod packer an option?
In internal code, instead of hardcode to 9 slot, why not give an API or parameter to change this size? Or use ArrayList instead Array when calculate material.