How to configure your content pack mod package - Catman-232/Homebrewery GitHub Wiki

This page was up to date as of version 4.0.0
This guide will cover things that are also on Thunderstore's wiki.

Thunderstore mods are uploaded as zip files containing four metadata files, plus whatever the mod's content is. It is mandatory that it is a zip file, it cannot be one of those fancy alternatives like 7z or rar because those require specific programs to be handled, r2Modman uses your operating system's innate ability to handle zip files in order to install mods.

The four metadata files are manifest.json, icon.png, README.md and CHANGELOG.md. The Changelog file is optional but reccomended so people can know what has even been changed/added in an update.


manifest.json

This is what the content of this file typically looks like. All of these properties are mandatory to be here except "author" which isn't actually used at all, but might be worth adding anyway since it stays in the file when the mod is installed. Your Thunderstore "team" name may not end up being the same, this property has nothing to do with that at all.

{
  "name": "ExamplePack",
  "author": "Catman",
  "version_number": "1.0.0",
  "website_url": "https://github.com/Catman-232/Homebrewery/wiki/Homebrewery-User-Manual",
  "description": "This is an example of a Homebrewery content pack!",
  "dependencies": [
    "Catman232-Homebrewery-4.0.0"
  ]
}

If you want to make sure your file is correct, use Thunderstore's manifest validator page. You will need to have made a "team" in order to select it in the drop-down list.

name

Must remain the same between updates, as this is part of the identifier for the mod. If you change the name and upload the package, it will become a separate mod! You cannot have spaces in the name, use underscores instead, Thunderstore will replace them with spaces on the mod's page. You shouldn't put your username or "team" name into the mod name, as it will be redundant - Thunderstore will name the mod package as TeamName-ModName-Version, and the mod manager will install it as TeamName-ModName. That resulting folder name is what HB consider's the mod's name internally.

version_number

Must be in that three numbers separated by periods format which represents a count of Major . Minor . Patch updates. It is conventional to set one to 0 if you have increased the one to its left. (E.g. 1.2.13 becomes 1.3.0). When you want to update the mod, you need this version number to be at least 1 Patch higher than the current version. You obviously cannot submit a lower version or the same version. It doesn't matter what version number you start with, 0.0.1 is fine, and is good for representing something that is work in progress.

website_url

Use this to link to a social media account, or whatever else you want. You must leave this set to "" if you have no website you want to link to, but I reccomend linking to this Github wiki, or the Atlyss Modding Central Discord server.

description

This is the tagline description that appears in the mods list under the mod's name and icon. Keep it brief, you can use the readme file for in-depth description of the mod's contents.

dependencies

This is an array of the dependency strings of mods that your mod requires in order to function, which in your case will just be Catman232-Homebrewery-4.0.0. You don't really need to add or remove anything from here unless you feel the need to raise the version number of Homebrewery to the current one, but the mod manager will automatically get the latest version of any dependencies anyway, so you do not need to update this string just because Homebrewery has updated. Reasonably, you could add someone else's content pack's dependency string here if you were using a custom model from their pack, you can easily find the dependency string on the mod's page on Thunderstore.


icon.png

Must be a PNG that is 256 x 256px resolution. Not really much else to say, do your best to show off the mod in the icon or make some eye catching logo for it. You can put images into the readme, so don't worry if you cannot fit much into the icon.


README.md and CHANGELOG.md

This is practically a text file with fancy formatting tags. Sites like Github, Wikipedia and many others often use the same formatting tags or are at least based upon them. Thunderstore uses most of what Github uses. Discord's post formatting is also very familiar. If you want to see what your file would look like on Thunderstore, you can use their Markdown Preview page.

If you want to use a formatted URL, it's just like it is in Discord: [The text you see](https://website.com)

If you want to embed an image, it's practically the same thing: [Alt text for the image](https://website.com/image.png) The text is used when the image doesn't load, I think screen readers also read that out too.

The Changelog file is the same type of file as the Readme, but it is conventional to use it to list additions, changes etc. I recommend using a format like this one: https://keepachangelog.com/en/1.1.0/


Now, on to the next part: How to upload to Thunderstore

⚠️ **GitHub.com Fallback** ⚠️