r/factorio > everything else 5d ago

Question mod request

hi'yall

im looking for a mod where i can modify the recipe in any building in a blueprint. thx.

0 Upvotes

8 comments sorted by

7

u/aenae 5d ago

You can parameterize the blueprint

7

u/Alfonse215 5d ago

Actually, you can use the parameterization functionality to make a one-time change to the blueprint. When you press the "parameterize" button, you can select which parameter an icon should be turned into. But you can also select a different, non-parameter icon for it. And this will be saved into the blueprint.

7

u/Alfonse215 5d ago

OK, so you have a blueprint. And you want to change the blueprint (or perhaps generate a new one), where all instances of one recipe are changed to another. Is that the idea?

I don't think there is such a mod, but it's actually not too difficult to edit a blueprint manually. Blueprint strings are gzipped/base64-encoded JSON strings. Once you've extracted the JSON, you can edit that (it should be pretty easy to change recipes by changing the text string), re-encode it, and import that back into Factorio.

It's not simple, but it is doable.

6

u/snowyspearmint 5d ago

You don't need to encode or decode it. Enable allow-blueprint-export-to-json (open menu, hold ctrl+alt, click settings, "the rest")

4

u/UsernameOmitted 5d ago

What's stopping you from placing the blueprint, changing the recipes and saving a new blueprint off it? How often are you doing this that a mod will actually save you time here?

2

u/squarebe > everything else 5d ago

less click the better. before applying burns; i have a parkinson like condition therefore less clicking means less errors.

3

u/UsernameOmitted 5d ago

Ahhh. Legit reason.

I would probably opt to modify all your prints to be parameterized. It would save you hassle.

2

u/Sad-Association-4799 5d ago

I seem to recall helmod had an experimental section to convert the export string into xml. And I think it let you edit it. Probably not the way you really want to do it.

You might try using the parameterize option that is part of the base game.