dizzyd / mcdex

Minecraft Modpack Management
Apache License 2.0
75 stars 8 forks source link

mod.list should display the download count for each mod / mod file #26

Closed LiaungYip closed 6 years ago

LiaungYip commented 6 years ago

The database should include information on the download count for each mod and/or file. This should be displayed when running mod.list.

The download count for a mod is a useful proxy for its quality. A mod with a download count of 10 is probably un-tested rubbish; 1,000 is probably a mod in alpha; 100,000 is probably a well-polished mod that is safe for general use.

The mod's overall download count is biased by the age of the mod - mods that have been around for a long time (i.e. JourneyMap) have download counts in the range 10,000,000 - 100,000,000. The download count of individual files is a more accurate representation of the current popularity of a mod. Therefore it's useful to have both.

I imagine that the database crawler can be easily modified to capture this information from CurseForge. I'm happy to do the feature implementation, once the data is available in the mcdex DB.

I imagine that the output in mod.list would be fuzzed to an abstract score out of 5.

i.e.:

mcdex mod.list map
JourneyMap | Popularity: 5 | Real-time mapping in-game or your browser as you explore. | https://minecraft.curseforge.com/projects/journeymap
Mapwriter 2 | Popularity: 2 | An open source mini-map! | https://minecraft.curseforge.com/projects/mapwriter-2
Xaero's Minimap | Popularity: 3 |Displays world terrain, players, mobs, entities in the corner of your screen. | https://minecraft.curseforge.com/projects/xaeros-minimap

Where the score out of 5 is logarithmic.

  1. Up to 1,000
  2. Up to 10,000
  3. Up to 100,000
  4. Up to 1,000,000
  5. 1,000,000+
LiaungYip commented 6 years ago

On further inspection - this DownloadCount is also available in the Curse Project Feed.

{
  "Id": 231951,
  "Name": "Immersive Engineering",
  "Authors": [
    {
      "Name": "BluSunrize",
      "Url": "https://www.curseforge.com/members/BluSunrize.aspx"
    },
    {
      "Name": "malte0811",
      "Url": "https://www.curseforge.com/members/malte0811.aspx"
    }
  ],
  "Attachments": [
    {
      "Description": "",
      "IsDefault": true,
      "ThumbnailUrl": "https://media.forgecdn.net/avatars/thumbnails/20/135/256/256/635707329671959611.png",
      "Title": "635707329671959611.png",
      "Url": "https://media.forgecdn.net/avatars/20/135/635707329671959611.png"
    }
  ],
  "WebSiteURL": "https://www.curseforge.com/minecraft/mc-mods/immersive-engineering",
  "GameId": 432,
  "Summary": "A retro-futuristic tech mod!",
  "DefaultFileId": 2559547,
  "CommentCount": 0,
  "DownloadCount": 20513849.0,
  "Rating": 0,
  "InstallCount": 0,
  "IconId": 1,
dizzyd commented 6 years ago

Fixed as part of mod database overhaul!