🌐 Enable All Planet Mods

by Kryzeth

Simply has every currently available standalone planet mod on the mod portal as a forced requirement. Glorified shortcut to quickly enable all planets, moons, space locations, and exoplanetary systems (mainly used for compatibility testing). 🌐

Mod packs
a month ago
2.0
7.27K
Planets

g [Implemented] Star map picture?

8 months ago

Can we get a picture of the starmap with everything on it? Just so I can peak at the chaos.

This pack will be useful in making sure my planet remains compatible with the rest.

8 months ago
(updated 8 months ago)

Added v1.0.4 star map image to main page (Warning: high-resolution image, may not appear properly on most devices):

8 months ago

Greetings. I would replace the routes to the planets. There are too many lines, or I've moved the planets.

8 months ago
(updated 8 months ago)

Hmm, you're not entirely wrong there. While the upper section from Corrundum, Aquilo, Gleba, and Vulcanus looks good, there is a bit of a mess between Vulcanus, Nauvis, Fulgora, Tenebris, and Maraxsis (with Janus, Tibur and Aiur caught in between)

I don't think I want to move the planets, but I might be able to change which routes appear. Luckily, from my testing, the game auto-generates simple asteroid probabilities between planets when they aren't explicitly defined, so I don't really have to worry about fixing those.

I drew up a potential plan for what routes would need to happen, but this is assuming none of the planets change their current positions, and no new planets are added in between the existing ones.

8 months ago

I'm also redoing the planets and their locations now. According to the standard, there are a lot of routes that are shorter and therefore do not work.

8 months ago

Has Corrundum changed its position on the map?

8 months ago

We'll have to change the data again.

8 months ago

Thanks for map.

Corrundum hasn't changed it position since I fixed it overlapping with Fulgora. Might have made the sprite bigger between releases. I'm new to modding don't know how to add a conditional patch so we have a path to char. Happy to do so if yall can provide an example of checking for mods. I'll check back at the documentation in the meantime because I swore I read something about intermod play depending on where we are in the data life cycle.

A table of every planet with its name, distance, and orientation would be helpful so we can better organize our planets. I might write some code in python to make this table if I have time. Going to be really busy in the next couple of days starting tomorrow.

I do want to get at least one more patch out tonight. Forgot to add surface conditions to the ice box to prevent it from being on space platforms.

Anyone have an luck querying for all available sciences in data-updates? My attempts have failed but I was able to add my science to all labs.

8 months ago

I had added a fix on my end to ensure my science was added to all labs. This fixed errors relating to mod load failure relating to adjusting science recipes so they depended on a science that wasn't able to be put in all labs. (Tested with nuclear science.)

Is there anything I can do to make your life easier?

8 months ago
(updated 8 months ago)

@AnotherZach You don't necessarily have to add those routes, I just added in the question marks because I wasn't sure if those routes would even connect in the proper direction (I haven't looked at much of the space route stuff, apart from asteroid_spawn_definitions for my other mods).

Table should be simple enough to make, using Factorio code to extract it dynamically from an existing modlist (I'm not sure how well a standalone table would be, as it would have to constantly be updated depending on the changes that other planet mods make, as uncommon as that might be, or additions to the planetary table when a new planet mod releases)

As for the science/lab/tech issues and fixes; that seems to be an ongoing problem among modmakers. The biggest issue appears to be recursion and exceptions. Some mods like Lignumis have loops that add science packs to all techs, depending on which science pack they already use, which may conflict with other mods (like Cerys) that add their own labs and expect to use science in a different way.

So not all labs need all science packs, and not all technologies need to have certain science added to it. The more planet mods are added, the more exceptions need to be made. And this is before taking into account any overhaul or overhaul-adjacent mods like AAI Industry or mods that just change things about the base game like Nuclear Science or any of SafTheLamb's wood-related mods.

From a third-party standpoint, I wouldn't want modmakers to have to worry about compatibility that much; it isn't that difficult to write up a compatibility patch between any two mods, depending on what the error is. Compatibility patches would always load after the base mods too, so no need to worry about load order or whether something needs to run during data-updates or data-final-fixes.

And lastly, about the querying for all available science, I'm not sure exactly what you mean? You can always make a loop like:

local message = ""
for name, tech in pairs(data.raw.technology) do
  message = message.."\n"..name
end
error(message)

That should write output the name of every technology in the game. If you only want to know specific properties of a table, you can change the looping message line to something like:

message = message.."\n"..name..":\n"..serpent.block(tech.unit)

That should output the name of tech, followed by its science pack requirements. Oh, might need an if statement to check if tech.unit exists before adding it to the message, since trigger techs don't have those. If you just want the entire technology table, then you can scrap the entire message and for looping stuff, and just write:

error(serpent.block(data.raw.technology))

That will output everything in the technology table at that exact point in time (best to run during data-final-fixes, to get what will likely be the finalized result)

EDIT: Oh, and one final thing, to check if a mod exists during either the settings or data loading step, you can use

if mods["internal-name-of-mod"] then
  ...
end

where the internal name is the one you would use under info.json, and the one that appears in the URL for the mod page. Like this mod's internal name would be "kry-all-planet-mods"

8 months ago

About the Fork mod. I have released my mod. I listed you there as the author of the original. I removed the icon. Thanks again for the permission to use the materials.

7 months ago

Would the map be improved without harming gameplay if moons only linked to their host planet?

7 months ago
(updated 7 months ago)

Unfortunately, all moon mods are already only linked to their host planets.

The mess is generally caused by all of the planet mods taking advantage of the empty space below Nauvis and Fulgora in the base game map, and then making routes to Nauvis and Fulgora, of course, without taking into account the other planets nearby, or possibly in the way. Route intercompatibility is more of a visual issue than an actual gameplay one, and would be a much lower priority for planet authors to fix, especially when other planet mods can change their position on a whim, or implement the compatibility from their end instead.

I think once all currently existing planet mods come out of beta/alpha, I'll take a whack at combing through the routes to make them more aesthetically pleasing (don't forget, this mod was never intended to be playable, but it seems like it might be heading in that direction lol)

New response