Artentus / ModMyFactory

A Factorio mod manager
MIT License
77 stars 21 forks source link

Allow to filter for supported factorio versions #72

Closed arnemertz closed 5 years ago

arnemertz commented 6 years ago

When downloading mods, we can filter for names. However, the lists still contain lots of mods that have not been updated for the current factorio version. It would be useful to be able to restrict the list of mods to those that are compatible with factorio 0.16 (0.17, 0.18...)

ghost commented 6 years ago

I created a very hacky version to do this, the Factorio version is hardcoded because I couldn't find where the program stores that. I give no support for it, but I thought it might possibly be useful to someone. https://github.com/HiddenKn/ModMyFactory/commit/1497cb17c4269c5f5fbd989d13b347aecd672063

Just realized that this only works for the latest version of the mod, so it might not be perfect if you want to filter for older versions of Factorio.

Artentus commented 5 years ago

I have implemented this now finally for the upcoming version 1.7.1.

However there is a catch: the API is actually limiting what I can realistically do here sadly. The complete mod list only returns information about the very latest release of a mod. That means I can only use the Factorio version of the latest release for filtering. For example if a mod has been released for both 0.15 and 0.16, if you filter by Factorio version the mod will only be listed under 0.16.

This is not optimal, however the only way to consider all available Factorio versions is to query the full release list of each mod from the sever. Considering how long it takes to query this information from the server for a single mod (in MMF this happens when clicking on a mod in the list) loading the entire list of currently over 3000 mods would take at least an hour, and that is also a generous estimate.

ghost commented 5 years ago

Sorry about that comment. I'm stupid and blind.

ghost commented 5 years ago

Thank you for your hard work on ModMyFactory, by the way.

arnemertz commented 5 years ago

Thanks so much for the feature! I guess due to the rapid development of Factorio, the vast majority of use cases for this will be to filter for the latest Factorio version. So, the limitation you mention should be fine.