We have seen the thing about inputs getting huge past stack sizes in them, which when uncapped is bad but it is good when recipes are fairly big and consumes a lot of resources.
However on the output side it should allow any amount that is outputted, it does it for fluids. But for items I found that if it surpasses the stack size, it won't finish the recipe ever.
[Dominik] [0.15.32] Big recipes not completing
-
- Long Handed Inserter
- Posts: 56
- Joined: Sat Mar 05, 2016 5:44 am
- Contact:
Re: [0.15.32] Big recipes not completing
Could you provide some further clarification?
A screenshot/video of the issue, a mod with this problem, and a save game with a setup already built demonstrating it would be really helpful
A screenshot/video of the issue, a mod with this problem, and a save game with a setup already built demonstrating it would be really helpful
-
- Long Handed Inserter
- Posts: 56
- Joined: Sat Mar 05, 2016 5:44 am
- Contact:
Re: [0.15.32] Big recipes not completing
https://mods.factorio.com/mods/EmperorZ ... ompression
https://mods.factorio.com/mods/EmperorZelos/omnimatter
These two mods give it the easiest
For ease of access
https://mods.factorio.com/mods/Mooncat/creative-mode
uses the final compressed recipe of omnite to saphirite, gives 65 compressed with stacksize of 50
save:
https://drive.google.com/file/d/0B3Zy6X ... sp=sharing
Screenshots:
https://www.dropbox.com/s/2u2hgt1pxq3lq ... 1532_1.jpg
https://www.dropbox.com/s/6pcrb54i1h4ir ... 1613_1.jpg
https://www.dropbox.com/s/knbucmol65kmb ... 1732_1.jpg
https://mods.factorio.com/mods/EmperorZelos/omnimatter
These two mods give it the easiest
For ease of access
https://mods.factorio.com/mods/Mooncat/creative-mode
uses the final compressed recipe of omnite to saphirite, gives 65 compressed with stacksize of 50
save:
https://drive.google.com/file/d/0B3Zy6X ... sp=sharing
Screenshots:
https://www.dropbox.com/s/2u2hgt1pxq3lq ... 1532_1.jpg
https://www.dropbox.com/s/6pcrb54i1h4ir ... 1613_1.jpg
https://www.dropbox.com/s/knbucmol65kmb ... 1732_1.jpg
- Arch666Angel
- Smart Inserter
- Posts: 1636
- Joined: Sun Oct 18, 2015 11:52 am
- Contact:
Re: [0.15.32] Big recipes not completing
You have to split the result to stack sizes by hand there, for results with more than one stack, just add another line in results with the same item, it will be put into an additional output slot then.
Angels Mods
I. Angel's Mods Subforum
II. Development and Discussion
III. Bugs & FAQ
"should be fixed"
I. Angel's Mods Subforum
II. Development and Discussion
III. Bugs & FAQ
"should be fixed"
-
- Long Handed Inserter
- Posts: 56
- Joined: Sat Mar 05, 2016 5:44 am
- Contact:
Re: [0.15.32] Big recipes not completing
That's a nice solution, should be fixed though
Re: [Dominik] [0.15.32] Big recipes not completing
Hi,
this is not a problem we would normally encounter in the game, but yes, the possibility of creating more than a stack size should be there and will be from 0.16.
Keep modding, just don't get too crazy
this is not a problem we would normally encounter in the game, but yes, the possibility of creating more than a stack size should be there and will be from 0.16.
Keep modding, just don't get too crazy
Re: [Dominik] [0.15.32] Big recipes not completing
Here's the fix I wrote for ReStack. It works on all recipes producing 1 stack per item.
As I'm not playing with any mod producing multiple stacks of the same item I have not (yet) handled that possibility. Easiest way to handle that would be to aggregate those stacks into a single stack before splitting it into new stacks.
As I'm not playing with any mod producing multiple stacks of the same item I have not (yet) handled that possibility. Easiest way to handle that would be to aggregate those stacks into a single stack before splitting it into new stacks.
Code: Select all
-- fix recipes with result_count or results.amounts > item.stack_size
for _, recipe in pairs(data.raw.recipe) do
if recipe.result and recipe.result_count then -- if result_count == nil factorio will output 1 item
local item = data.raw.item[recipe.result]
if item and recipe.result_count > item.stack_size then
log("[RS] Fixing recipe "..tostring(recipe.name)..", result "..tostring(item.name).." result_count: "..tostring(recipe.result_count).."/"..tostring(item.stack_size))
-- split into multiple results
recipe.icon = item.icon
recipe.localised_name = {"item-name."..item.name}
recipe.subgroup = item.subgroup
recipe.results = {}
local remaining_size = recipe.result_count
for i=1, math.ceil(recipe.result_count/item.stack_size) do
table.insert(recipe.results, { type = "item", name = item.name, amount = math.min(item.stack_size, remaining_size) })
remaining_size = remaining_size - item.stack_size
end
recipe.result = nil
recipe.result_count = nil
end
elseif recipe.results then
for index=#recipe.results, 1, -1 do
local result = recipe.results[index]
if result.type == "item" then
local item = data.raw.item[result.name]
if item and result.amount and result.amount > item.stack_size then -- skip over recipes with result.amount_min and result.amount_max
log("[RS] Fixing recipe "..tostring(recipe.name)..", result["..index.."] "..tostring(item.name).." amount: "..tostring(result.amount).."/"..tostring(item.stack_size))
-- replace single result with multiple
local probability = result.probability
local total_amount = result.amount
local remaining_size = total_amount
table.remove(recipe.results, index)
for i=1, math.ceil(total_amount/item.stack_size) do
table.insert(recipe.results, { type = "item", name = item.name, amount = math.min(item.stack_size, remaining_size), probability = probability })
remaining_size = remaining_size - item.stack_size
end
end
end
end
end
end
My Mods: mods.factorio.com
Re: [Dominik] [0.15.32] Big recipes not completing
Would it be possible to get this workaround into the 0.15 base mod till it gets fixed for real in 0.16?
Re: [Dominik] [0.15.32] Big recipes not completing
Just hang tight. As far as I know we do not plan any other 0.15 releases before 0.16.mrvn wrote:Would it be possible to get this workaround into the 0.15 base mod till it gets fixed for real in 0.16?