Skip to content

Mod Submission

Delta edited this page Dec 21, 2023 · 2 revisions

How to make a submission to the manifest

Prerequisites

You will need git or a GUI Client for it, check the git website for a list

Fork the Repo

  • Go to the GitHub repository.
  • Click on the Fork button in the top right corner.

Clone Your Fork

  • Open your forked repository on GitHub.
  • Click on the Green "Code" / "<>" button and copy the repository URL.

Image of the Clone code window in github

  • Use this URL to clone the repo locally with either git or a GUI Client of your choice
    • With git, in a terminal navigate to the location you'd where you want the cloned directory.
git clone https://github.com/YOUR-USERNAME/resonite-mod-manifest.git
  • If you are using a GUI client, this step may vary:
  • In Github Desktop and Fork as examples, this is under File > Clone...
    github desktop git-fork

Addition information can be found in the Github docs on Cloning

Creating your Author Folder

  • Duplicate the 'com.example' Folder
  • Rename the new copy to match your 'author id', this is typically a reverse domain name such as com.example
    • If you don't own a domain, you can use your github username here as well
    • This should prefix harmony ids inside of your mod, example: new Harmony("com.example.ExampleMod")
  • Inside this folder will be an author.json file. Edit this with your own information.
  • This will only need to be done once, even if you have multiple mods

Note: comments provided below aren't valid in json and will need to be excluded.

{
	"author": {
		"ExampleAuthor": { //Replace 'ExampleAuthor' with your display name
			"url": "https://github.com/resonite-modding-group" //Replace with a link to your github or author page
		}
	}
}

Creating Mod Entries

  • Inside your author folder there is an ExampleMod folder, if you don't have one, you can make a new folder or copy it from com.example
  • Rename the ExampleMod folder to the name of your mod
  • Inside this folder will be an info.json file. Edit this with your own information.
  • Each additional mod will need its own folder and info.json file

Note: comments provided below aren't valid in json and will need to be excluded.

{
	"name": "ExampleMod", // The name of your mod
	"id": "com.example.ExampleMod", // The id of your mod, typically a reverse domain name is used here followed by the name of your mod. This should match the harmony id used by your mod if any
	"description": "Description of your mod", // A brief description of what your mod does 
	"category": "Template", // The category your mod falls into, if unsure or it doesn't fit into an existing category, use 'Misc'
	"sourceLocation": "https://github.com/resonite-modding-group/ExampleMod", // (Optional) Where can your mod source code be found
	"versions": { // All of your version will be under here
		"1.0.0": { // Semvar version of your mod, this must match the Version in your mod
			"releaseUrl": "https://github.com/resonite-modding-group/ExampleMod/releases/tag/1.0.0", // Url for where this specific version can be found
			"artifacts": [ // All files for your mod
				{
					"url": "https://github.com/resonite-modding-group/ExampleMod/releases/download/1.0.0/ExampleMod.dll", // The download link for the Mod.dll
					"sha256": "0000000000000000000000000000000000000000000000000000000000000000" // sha256 hash of your Mod.dll
				}
			]
		}
	}
}

For more information on the categories available, see Categories

Create a Pull Request

  • Commit your changes and Push to your forked repo
  • On GitHub, go to your forked repository and click on "Contribute" and then "Open Pull Request"
  • Select the branch with your changes if it isn't already selected and create the pull request.

Addition information can be found in the Github docs on Pull Requests