Continuation of Space Factorissimo by Shadox for factorio 1.1. Important! Do not update to >1.0.0 verstions for old saves. notnotmelon's fork is not compatible with MagmaMcFry's Factorissimo2 mod. This is safe for new saves.
Which is a shame and sortof defeats the purpose :(
As of right now, the factory floor behaves like a grounded spaceship ...
Can you elaborate on what you expect the space factory building to allow inside?
From my understanding:
The one with gravity would allow all "grounded" space buildings and normal land buildings (and prod modules).
The one without gravity would allow all normal space recipes (the non grounded ones).
Then you have a logical separation of buildings. One in space, for space stuff, the other one in space, for land stuff. That were my expectations.
I'd like to fix this but could you provide a specific example of a recipe that is not allowed at the moment? It appears to me that both are working exactly as you described it.
(how do you ground a building actually?)
Nevermind, I found the issue. I'll try to figure out a workaround. (I broke something sometime in the past year basically) Thanks for posting a bug report though! A lot of talk about this mods happens understandably on the Space Exploration discord but I can't keep track of conversations there so I appreciate the report.
I can not use a lot of space items in the space factory, because they don't support receipes anymore: for example Super Computers can not format data cards, or Thermodynamic labors can not use receipes data for science packages....
The Factorissimo by shadox could that.
So in his original code (0.2.0 - 0.3.0 has a 404 for download) there is a "grounded_filter" and an event which ' replace all "-grounded" to work in space ' . Was this the solution?
I had this same issue. After spending a bunch of time digging through the code, the culprit seems to be Space Exploration's control.lua, line 1108. The old mod created a surface that starts with "Space-Factory" that space exploration specifically looked for and flagged as "in space". As a quick but poor workaround that I'm certain will have unintended side-effects, I changed this to ' elseif surface and surface.name and string.starts(surface.name, "factory-floor") then'. This makes ALL factorissimo warehouses count as space, unfortunately. A more proper fix would likely involve having this mod override how Factorissimo handles creating surfaces. It would have to make sure that space factories always get their own surface, even if the "shared surfaces" option is checked. Then just have that surface name start with "Space-Factory" and then the existing control.lua will work again properly
For anyone wondering, yes you can modify space exploration's control.lua as Jarvyx suggested. It will not actually have unintended side effects to my knowledge, as space buildings cannot be built on a standard tile.
I've talked to notnotmelon and they're working on adding a way to change the surface name in factorissimo2 fork's next update. In the meantime, I've tried renaming the surface as a temporary workaround but have been unsuccessful as it creates unintended issues in other parts of the fork. I will continue looking into a temporary solution, but until then, Jarvyx's solution will work.
Jarvyx, can you maybe paste the code you put into the control.lua file and where you put plus any code you removed? Maybe a diff between the before and after files?
Hi, still need this added in the fork?
yes please
Hi, still need this added in the fork?
any chance this might happen soon?
Added!
layout.surface_override = 'surface-name'
Yariazen will still have to implement the fix though.
Thank you so much
Any updates on getting this into the Space Factory code?
the grounded issue still persists is there any update on the state of this?
This issue seems to still be present; I cannot select any recipes for a supercomputer in a factory (it's marked as "Grounded"). Any chance there is a fix on the horizon for this?
I was able to implement Jawvyx's workaround to fix this temporarily on my save. I'll put the steps I went through exactly in case someone else finds this thread before it's officially fixed.
1) I opened the factorio mod folder by hitting Windows+R and typing "%appdata%\Factorio\mods"
2) I made a copy of "space-exploration_0.6.104.zip" to another location as a backup
3) I right clicked on space-exploration_0.6.104.zip and clicked "Extract All..." going through the extract process with default settings
4) I went into the extracted folder and opened control.lua
5) On line 1188 there is a statement that says:
elseif surface and surface.name and string.starts(surface.name, "Space Factory") then -- Space Factorissimo compatibility
6) I changed this to:
elseif surface and surface.name and string.starts(surface.name, "factory-floor") then -- Space Factorissimo compatibility
7) I replaced the "control.lua" in the zip file (AppData\Roaming\Factorio\mods\space-exploration_0.6.104.zip\space-exploration_0.6.104) with the edited lua file by deleting the old file and copying in the new one
8) I launched factorio and deleted the "gounded" supercomputer in my space factory. When I placed it back down it was no longer grounded.
wow, thanks. Will try tomorrow and let yall know if it works for me.
does this fix completely fix the mod as it stands? I wanted to add this mod to my current plahtrough when I started but looked at the couple complaints and didn't, and now I regret the hell out of that cause my space base is hideous lmao
I kinda want to redo it all or just abandon my playthrough now so I'm very curious
Since applying the change I have not run into any issues with using space factories and have placed a bunch of them.
I tried this change but if a factory is inside another, it still has the same issue
Edit: Nevermind, I forgot to remove the building. It's working, thanks!!
Maybe someone can reupload the mod with the fix.
Please, can someone upload this tweak? I'm really clueless on how to upload another version of space exploration with this small modification (or a small mod with this single modification somehow), wish I could do it easily
working on it right now. It's mostly finished, just fixing the last few bugs right now. Hoping to get it finished before the end of the month
Added!
layout.surface_override = 'surface-name'Yariazen will still have to implement the fix though.
Hello! I'm trying to use this API in my mod:https://mods.factorio.com/mod/space-factorissimo-lizard
But seems there is a problem with this API:
local surface_name = 'factory-floor-' .. global.next_factory_surface
local surface = game.surfaces[layout.surface_override or surface_name]
if surface == nil then
surface = game.create_surface(surface_name, {width = 2, height = 2})
surface.daytime = 0.5
surface.freeze_daytime = true
end
the "layout.surface_override" will change the value "surface" rather than "surface_name",this will cause many issues.
For example,other two commands can't work properly in this function:
global.surface_factories[surface_name] = global.surface_factories[surface_name] or {}
global.surface_factories[surface_name][n+1] = factory
I'm tring to input "space-factory-1" but the function is still using "factory-floor-1" instead.