Modlist UI


Display and share your active mods during gameplay in a convenient interface.

Utilities
8 days ago
2.0 - 2.1
375

i [✅ Done] Output mod list as a valid info.json file

6 months ago
(updated 6 months ago)

Having a way to use the "Copy Modlist" function to print a valid info.json file would be very helpful for creating dependency mods, perhaps when you click it with Ctrl+Shift.

In this mode, it would definitely exclude "modlist-ui" from the list.

It could also have a button which uses helpers.write_file() to write it to "script-output".

2 months ago

Good suggestion, will be pushed with categories in a soon-ish feature & maintenance update. 👍

a month ago
(updated a month ago)

Well, it isn't a helpers.write_file(), but using [Ctrl-Shift-Click] when clicking the Copy button will show a dependency array text-field a user can copy-paste from.

Give me a shout if this is missing some crucial functionality you intended, but personally it feels more inline, accessible, and swifter to work with one's clipboard than having to dig through the script output.

a month ago
(updated a month ago)

I imagined printing the entire info.json file in a textfield as the primary feature (using blank strings for the mandatory fields, and player.name for the author). A button to call write_file would be a secondary convenience.

This is just a personal thing though, I can see why some users would prefer to just have the dependencies information.

Additionally, it would be nice to have line breaks between the mod entries (so the textfield would be the same height as the one you use for standard "Copy Modlist") - I still want these files to be human-readable for editing.

Some example output might look like this (you could have a prompt that asks for a title, but it doesn't really matter what goes in there):

{
    "name": "my-modpack",
    "title": "My Modpack",
    "author": "Shemp",
    "description": "Shemp's custom mods",
    "version": "0.1.0",
    "factorio_version": "2.1",
    "dependencies": [
        "base >= 2.1.12",
        "quality >= 2.1.12",
        "Krastorio2 >= 2.1.2"
    ]
}

Also, a related feature which some other mods use and would be helpful for this one: calling select_all when you click on any of the text elements, i.e. the URLs and the mod lists, because you're only ever copying them and never editing.

EDIT: Having a toggle to make everything Recommended ("+ quality", new feature in 2.1) could be useful too. Depends how complex you want to get with this feature. :P

a month ago
(updated a month ago)

I'll see about just having a single taller text field and the line breaks. Would probably be easier than branching two seperate build_frame calls just for different heights. It can also use up to 90% of the UI's available height instead of a measly 5-10% which should hopefully be enough.

Extra UI and dialogs and prompts I'll stay away fom, and generate a simple info.json with relevant placeholders to fill in. I think most mod creators can come to a compromise on that at least.

8 days ago

We now have a larger text field, and a whole [info.json] skeleton with easily replaced placeholders. Going to consider it a finished feature, and any more legwork is on the users/modders end to continue onwards from.

This thread has been locked.