Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Requested Features #19

Open
4 of 6 tasks
Serifina opened this issue Sep 14, 2017 · 32 comments
Open
4 of 6 tasks

Requested Features #19

Serifina opened this issue Sep 14, 2017 · 32 comments
Assignees
Milestone

Comments

@Serifina
Copy link

Serifina commented Sep 14, 2017

As per request, here's an issue for some features:

  • When downloading a mod, automatically download any required dependencies.
  • Have a clear indicator of when mods have an update available, and be able to easily update the mod directly. Have a symbol (possibly by the remove mod button) showing when an update is available. When clicked, downloads the latest version of the mod.
  • For each instance, have an update button, that checks for both pack and mod updates.
  • Be able to create a fully functioning Curse export for upload. When creating export, have a dialog so that you can select which folders to include (and default auto-check configs).
  • Be able to filter mods available for adding by category as well as MC version. (Lesser importance.) A dropdown menu, possibly with checkboxes, so that you can select which category or categories to search.
  • Related - note when all mods requiring a dependency have been removed and offer to remove it as well, and when removing a dependency check for mods requiring it and warn/offer to remove them as well. (Might be a while)
@notjuliee notjuliee added this to the 1.2 milestone Sep 15, 2017
@notjuliee notjuliee self-assigned this Sep 15, 2017
@notjuliee
Copy link
Member

First off, I edited your issue to make the list into checkboxes. Hope that's OK.

I have a few questions about details.

  • For automatic removal, it might get absurdly convaluted to track dependency trees in larger packs, so auto removing dependencies will probably have to wait until I have more devs.
  • How do you want that in the UI? Would you mind giving me a quick sketch of how that might look? I'm not a UI designer by any stretch of the imagination.
  • How would I test that? And how do I tell which files have been modified and need to be bundled as overrides?
  • Again, how do you think the UI should look for that? The code for handling it should already be there, it's just another UX issue.

@Serifina
Copy link
Author

Changing it to checkboxes if fine.

  • I can understand the need to wait for tracking dependencies for auto-removal. That's fine. That one's more of a convenience than a necessity.

  • In Twitch, a mod that has an update available has a download symbol on it, and you simply click that to download the latest version. It's located by the remove button. A similar solution would be fine here, I think.

  • For the Curse export (and in general) you should probably be tagging internally the file names with the project ID. I don't know the exact details of how it all works, sorry. Any jar files that are in the mods folder that do not have a tracked project ID with them would be included. (Also need to include config and other folders - such as scripts).

  • I am not a UI designer either, unfortunately. Curse/Twitch uses a simple dropdown menu, although I'd favor a dropdown with check boxes so you can search multiple categories if needed.

@notjuliee
Copy link
Member

notjuliee commented Sep 15, 2017

Good :)

  • <Space left intentionally blank>
  • Ok, that I can do. When should it check for mod updates? I can see it being taxing, especially with larger modpacks. Right now OpenMineMods update checker runs on (OpenMineMods) startup, but I don't think that's a very good time to check for updates.
  • No, all the jars are already tracked. I know which jars didn't come through OpenMineMods. The issue is the rest of the stuff, like config files. Ideally I wouldn't include config files that weren't modified, but I might be overthinking this.
  • I don't know how to do dropdowns ;P That sounds like a good way though. I've never actually used the Twitch/Curse launcher.

@Serifina
Copy link
Author

  • (left blank as well)
  • On start, and maybe a button to do a check, instead of it being automatic?
  • Oh, no, you always want to include the entire config folder in the export. Currently, when you go to create the export in Twitch, it pops up a dialog asking which folders to include, and config is checked by default - it should probably be the same way here. (Other frequently included folders are scripts, local, and resource).
  • Time to learn dropdowns? :D

@notjuliee
Copy link
Member

  • Ok, let's drop the first point
  • For OpenMineMods updates? I was thinking for each instance, have an update button, that checks for both pack and mod updates.
  • Oh, OK. I just like optimizing every poissible thing. I can do the same thing that Curse does though.
  • I guess it is ;-; Not looking forward to that at all ;P

@Serifina
Copy link
Author

  • That'd be fine.
  • Optimization is great, but when creating exports, it always has to be set with the assumption that the end user doesn't have the pack in the first place and it's their first download, so every export has to include all relevant files. Since Curse doesn't have a dynamic config delivery system like it does for mods, it pretty much has to be this way.
  • Good luck! :)

@notjuliee
Copy link
Member

  • Awesome, will do that then.
  • No, I mean. If I install, for example, ModularMechanisms, it creates a default config file. If the pack maker doesn't modify that, why does it need to be distributed to the user? Why can't the mod just make it again? I agree that it's not useful (at least not yet), but it's not a bad idea.
  • Ty <3

Can you edit the original issue to include all this new information? Makes it easier for me to keep track of things.

@Serifina
Copy link
Author

Oh, I see what you're saying. It's still best not to leave even creating the default config to the end user, and probably just makes it more work for you anyway.

Sure, will edit.

@notjuliee
Copy link
Member

But it could save KILOBYTES of bandwith!!! ;P

Yeah, its probably not worth the complication.

Thanks!

@Serifina
Copy link
Author

Edited!

Ah, yes, kilobytes. :p My beefy fiber connection could use the savings. :D

@notjuliee
Copy link
Member

I have ~100kb/s internet :(

Maybe kinda stupid. Fun fact, in the past 24h my server has sent 1.1mb of data just for OpenMineMods update checks ;P

@Serifina
Copy link
Author

Ouch. I'm sorry to hear your 'net is that bad.

That number will only go up as you make improvements and more people use it. And I appreciate you taking feedback and suggestions.

@notjuliee
Copy link
Member

I have 200mb/s at home, but I'm on vacation for a while ;P

Requests to openminemods.digitalfishfun.com are already at .2 requests per second ;-;

How else would I improve? I'm trying not to make the mistakes Curse made ;P

@Serifina
Copy link
Author

Ah-hah, I see.

Honestly, as far as modpack functionality goes, once you've got my suggestions in there, your probably pretty well golden. I'd say some sort of front end for managing projects on Curse, but I suspect that's probably not really a doable thing, at least at present, and could interfere with Curse revenue (which a lot goes to mod authors through the points system, and I don't want to reduce that for them).

@notjuliee
Copy link
Member

There's many reasons I don't want to add anything like that.

  • Do you want curse seeing your account using a 3rd party tool?
  • To avoid legal issue, I am only scraping information availible without any form of authentication.
  • They don't have an API, it would need to be reverse engineered.
  • Are you really gonna audit the entire projects source code every release? If not, you should NOT trust it with your credentials.

@Serifina
Copy link
Author

Agreed on every single point.

@notjuliee
Copy link
Member

Than you for all the feedback!.

If you wanna help out more, please contact me on some other platform! (Github issues isn't great for discussion ;P)

@Serifina
Copy link
Author

Will do.

@notjuliee
Copy link
Member

Awesome! I could really use some help designing the new features ;P

@notjuliee
Copy link
Member

Hey @Serifina, can I get your opinion on the new UI style?

p1
p2
p3

@Serifina
Copy link
Author

Looks fine to me.

@notjuliee
Copy link
Member

Hey, do you have an example of a mod with dependencies that get auto installed by twitch?

I know RfTools is one, but that doesn't work with twitch either. I'm gonna have to contact McJty about that.

@Serifina
Copy link
Author

Thermal Expansion. Should auto download CoFHCore, CoFH World, and Thermal Foundation.

@notjuliee
Copy link
Member

Awesome, testing that now.

Unfortunately, with the new system, getting metadata takes around 1.5x longer :(

@notjuliee
Copy link
Member

[{'AddOnId': 69162, 'Type': 'required'}, {'AddOnId': 222880, 'Type': 'required'}, {'AddOnId': 242818, 'Type': 'required'}]

Awesome! It does get the dependencies for mods that have them listed!

@Serifina
Copy link
Author

Excellent. :D

@notjuliee
Copy link
Member

Awesome, that's 2 off the checklist!

@notjuliee
Copy link
Member

For the filtering, do you mean an and filter or an or filter?

So if mod is in Category1 AND Category2 or Category1 OR Category2?

@Serifina
Copy link
Author

I had to think for a second, because I could see both being useful, but I definitely meant an Or filter.

@notjuliee
Copy link
Member

Here's Age Of Engineering exported using OpenMineMods, could you check that it works?

Age of Engineering.zip

@Serifina
Copy link
Author

It does. Seems to be intact and all, no errors that I saw.

@notjuliee
Copy link
Member

Awesome! Checked that off the list too 🗡️

If you wanna try the latest build, stop by the discord and I'll help you get it running :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants