Nullius


In this Factorio prequel, you're an android terraforming planets and seeding them with life. Replaces all recipes and technology. No life means no coal, oil, wood, biters, or free oxygen, requiring varied renewable energy sources. For reliability, you'll focus on abundant elements from the air, sea, or common minerals such as iron ore, bauxite, sandstone, and limestone. Advanced technology enables asteroid mining of rarer elements.

Overhaul
3 months ago
1.1
29.6K
Environment Mining Fluids Manufacturing Power

g Updating an unsupported mod for Nullius compatibility.

7 months ago
(updated 7 months ago)

Loving this mod, I easily have 1000+ hours in it and I have so far to go still! Anyways, I have a decent familiarity with lua from tinkering with WoW addons, as well as a decent familiarity with json through javascript and python, among other things. Say I wanted to update another mod to work with Nullius (for personal use only, although it was released with the MIT open license), without spending dozens of hours to learn to build mods from scratch - Could you (anachrony) or anyone in general point me towards a couple of the files that would have solid examples of the type of changes that detect when Nullius is being used and adjusts the compatibility so that the mod can work?

The FAQ specifically says "You can see many examples of other mods that have been ported for Nullius using both approaches in Nullius's code. In prototypes/mods.lua you can see separate versions of techs and recipes being declared in the data stage. In prototypes/override_mod.lua you can see existing techs and recipes having their fields overridden in the data-updates stage. Generally, either approach will work, but one or the other may be easier for a given mod." which points you where to look if you want to mod Nullius, but it doesn't mention where to look if you wanted to fix the mod itself. Just something like 'take a look at the prototypes/file.ext or data.lua file in the DisplayPlates/Jetpack/etc addon". I guess, in other words, I'm just asking for a pointer towards a mod that added compatibility on it's own vs having to mod Nullius itself.

I would rather update the mod (which hasn't been updated in 7+ months and may be abandoned) than interfere with Nullius and risk causing problems with updating Nullius in the future. If you're too busy no worries and thanks for the great mod regardless!

7 months ago

Prior to that, the FAQ says this, which is relevant to your question:

"Support for Nullius doesn't have to be added in Nullius itself. It can be added by the other mod that you want to be compatible, or by a separate third party compatibility mod. Regardless of which mod adds it, the process is almost identical. The main difference is what mods you check for to conditionalize the changes. Within Nullius you check whether the other mod is installed before making changes for it, whereas in that other mod you'd check for whether Nullius is installed instead. In a third party mod you could check for both, unless they're prerequisites."

You don't have to make the changes in Nullius, you can make the changes in that other mod. And the changes are virtually identical. So you can use the examples referenced in Nullius as a template for how to make a similar change in the mod you care about. The only difference is what conditions you wrap it with, and if it's for your personal use you may not even need to check conditions like that.

6 months ago

Is it possible to get a template for a 3rd party compatibility mod for this? I am pretty good at coding and used to tracing large amounts of data through software, but I admit I am struggling to push through on this. I would love to use the rest of the AAI mods with this mod pack, but the shear volume of things that would need changes to add compatibility feels oppressive. I do recognize that this is why you haven't done it yourselves, and I want to do the work, I am just feeling a little bewildered knowing where each piece goes and making sure that I get them all. I feel like it would be easier to do if I had a template of the changes that could be loaded alongside the two mods to fix the compatibility.

6 months ago

I'm not sure what you mean precisely, but Nullius includes compatibility for around 40 or so mods, so that's 40 or so different examples of how to add compatibility. You can pick the mod that seems most similar to what you're trying to support and see how that was supported in Nullius. The FAQ points you to the 2 files where most of this compatibility support is added.

6 months ago
(updated 6 months ago)

Yeah, I read the FAQ and dug through the files today. The issue isn't a lack of understanding, it is a feeling of being overwhelmed trying to sort out all of the pieces, figure out what is actually needed for the mods I want to make compatibility patches for, and figuring out the right places to put it all. I was trying to do what you suggest and ended up with so many errors when I tried to test because I missed something. As you said, those files include the compatibility information for more around 40 mods, which means hundreds of items and techs are included in the files, and they are not the most organized, so a template of what to add in the comments or in a separate file would make it a lot easier to sort out.

I am looking to add the AAI vehicles as I was actually looking forward to playing this mod pack with automated mining bots and the haulers for moving items around medium distances. I was planning on miners on the patches, trains for very long distances, haulers between train drop-off yards and manufacturing blocks, and the drone trucks within each manufacturing block.

New response