2.0.9.0 QF4
#
Was playing around with this in SP and figured that you can actually edit the NBT data of AE patterns to allow for an even greater amount of items to be used in AE recipes. The main thing that I had in mind here was for singularity autocrafting as some recipes require 7000+ blocks which obviously cannot fit in a 4x4 terminal.
The main line of thought here is to add a new quest that will reward the player with these patterns so they can use them in their AE systems. Potentially in the future we could add a mechanic to allow the user to implement this themselves via some machine but for now this should fill the gap as there are very few recipes that require such a huge quantity of items in one batch.


Tested and tried to break these and they seem to work perfectly. AE handles all of this quite well as far as I can tell, there are 73 inputs in that recipe and it dumps it into the chest with no problems. Additionally putting it back inside the pattern terminal just causes it to get cut off with no other issues. @repo-alt seems to be our resident expert on AE so would like to hear what he has to say on this matter if possible to make sure I've not overlooked something important ;).
Command used, warning quite long:
give Colen 4349 1 0 {in: [{id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 100, registryName: "minecraft:iron_block", Damage: 0}, {id: 42, Count: 96, registryName: "minecraft:iron_block", Damage: 0}], crafting: 0, substitute: 1, out: [{id:4614, Count: 1, registryName: "Avaritia:Singularity", Damage: 0}]}
I know this looks pretty insane but 99% of this is just copy pasting the same bit over and over. If you want to understand this a bit better ping me on discord.
As far as I can tell the following singularities would require patterns:
there are 73 outputs in that recipe
This should be inputs, yeah?
This should be inputs, yeah?
Yea I was more thinking of it as "outputting" into the chest when writing it but what you said makes more sense, cheers.
When doing 4x4 terminal I removed the builtin limit for processing patterns in the crafting CPU, so, yes if such patterns may be somehow created they are usable.
Perhaps I may add OC API to edit patterns in e.g. ME controller driver?
Perhaps I may add OC API to edit patterns in e.g. ME controller driver?
If this is possible it would be quite good to do yea, there aren't a huge amount of recipes that require > 16 slots currently but this leaves room for future expansion as well.
Most helpful comment
Perhaps I may add OC API to edit patterns in e.g. ME controller driver?