itzg / docker-minecraft-server

Docker image that provides a Minecraft Server that will automatically download selected version at startup
https://docker-minecraft-server.readthedocs.io/
Apache License 2.0
9.46k stars 1.55k forks source link

Add support for modrinth secondary files #2928

Open Akorian opened 4 months ago

Akorian commented 4 months ago

Enhancement Type

Not sure

Describe the enhancement

Heya, I know I can auto download plugins from modrinth, and I already do that. BUT the problem I have right now is, that I would like to get more than the primary file. EssentialsX publishes thier Addons as additional files and I would like auto download a few of them too. Is that possible somehow or could that be made possible? https://modrinth.com/plugin/essentialsx/version/2.20.1

itzg commented 4 months ago

Research notes

Looking at the API response of the version file mentioned, https://api.modrinth.com/v2/version/puUfqBpY, those files come back with entries like

    {
      "hashes": {
        "sha1": "68dfe0e04217ecf27bb255d4a6b993ddd6c7830d",
        "sha512": "ad12d4b00189a077da9b6b95d0e3f565cf9fba4e5404a2011beccb187816d749093d868b14134f8682082847273d732ae869852f28100b90a8cc21175afef674"
      },
      "url": "https://cdn.modrinth.com/data/hXiIvTyT/versions/puUfqBpY/EssentialsXSpawn-2.20.1.jar",
      "filename": "EssentialsXSpawn-2.20.1.jar",
      "primary": false,
      "size": 18122,
      "file_type": null
    },
    {
      "hashes": {
        "sha512": "ba57b130419293a4a8ec84b5ca09d68072b07bc8e5a918d8fb14669cb400a676b3769069f694b8e856c2decdf7a6c2b73986a972b0a885de07e946ffa673c044",
        "sha1": "9a8ab7c3b169edd22176eac62220d5eebcdd80aa"
      },
      "url": "https://cdn.modrinth.com/data/hXiIvTyT/versions/puUfqBpY/EssentialsXXMPP-2.20.1.jar",
      "filename": "EssentialsXXMPP-2.20.1.jar",
      "primary": false,
      "size": 328615,
      "file_type": null
    }

Since they have a null file_type it is going to be unclear how to automate the destination of those files. More research/ideas are needed.

itzg commented 4 months ago

@Akorian in the case of those secondary files from EssentialsX, where are they supposed to go? In the plugins directory?

Akorian commented 4 months ago

@itzg Yes, in the case of EssX its just more plugins. So called Addons to the main plugin.