Terra Palus

by Lukah

A hybrid planet combining features of Nauvis and Gleba. Brave the dangerous swamp moon of Terra Palus; mine Palusium ore and use UV light to freeze those that would see you destroyed.

Content
9 months ago
2.0
25.4K
Factorio: Space Age Icon Space Age Mod
Planets Combat Environment Mining Fluids Power

g Generous surface conditions for allowed vanilla entities

3 months ago

With the removal of surface conditions for biolabs, agriculture towers, Gleba crops, captive spawners, and fish: we can place them anywhere. Even on space platforms. I think this is overly generous if the restriction changes were just for Terra Palus compatibility.

Can you change the data-final-fixes logic from instead of setting the conditions to nil, using the PlanetsLib.relax_surface_conditions() function instead? This should let these entities still be placed on Terra Palus, but not the vacuum of space (or other hostile planets), at the cost of making PlanetsLib a mandatory mod dependency.

Any planet with pressure that falls between 1000hPa and 2000hPa (by default) would also get these entities permitted, but its still more constrained than what there is at the moment.

14 days ago

@Starchie , can you clarify the code change you suggested? I'm updating Terra Palus to 2.1 for a modpack I'm working on. I've found that I really enjoy Terra Palus, although it has a few rough edges to work on.

I've noticed the removal of the surface conditions, but when I tried to use PlanetLib's restrict/relax it didn't seem to take effect.

13 days ago

My thought was to remove all the nil settings, and instead use the the syntax as documented here:
https://planetslib.foundrygg.com/usage-documentation/planet-properties

In terms of a code example, the Cerys planet mod has some good implementations, under prototypes\override\entity.lua and prototypes\override-final\entity.lua

Specifically the Cerys specific lab is handled this way, making sure that a maximum radiation level (300 as referenced in common.lua) is set:

for name, entity in pairs(data.raw["lab"]) do
if string.sub(name, 1, 6) ~= "cerys-" then
PlanetsLib.restrict_surface_conditions(entity, common.AMBIENT_RADIATION_MAX)
end
end

13 days ago
(updated 13 days ago)

My thought was to remove all the nil settings, and instead use the the syntax as documented here:
https://planetslib.foundrygg.com/usage-documentation/planet-properties

In terms of a code example, the Cerys planet mod has some good implementations, under prototypes\override\entity.lua and prototypes\override-final\entity.lua

Specifically the Cerys specific lab is handled this way, making sure that a maximum radiation level (300 as referenced in common.lua) is set:

for name, entity in pairs(data.raw["lab"]) do
    if string.sub(name, 1, 6) ~= "cerys-" then
        PlanetsLib.restrict_surface_conditions(entity, common.AMBIENT_RADIATION_MAX)
    end
end

Best of luck with the 2.1 update! I'll be looking forward to getting that loaded once I have all the other planets in my save 2.1 ready as well.

New response