# TODO: Remove deprecated inputs in v4.0 name: mc-publish description: Your one-stop GitHub Action for seamless Minecraft project publication across various platforms. author: Kir-Antipov branding: color: purple icon: box types: input: name: McPublishInput description: The input parameters for the action. output: name: McPublishOutput description: The output parameters provided by the action. groups: input: modrinth: type: ModrinthUploadRequest description: Options used to publish Minecraft projects to Modrinth. curseforge: type: CurseForgeUploadRequest description: Options used to publish Minecraft projects to CurseForge. github: type: GitHubUploadRequest description: Options used to publish Minecraft projects to GitHub. output: modrinth: type: ModrinthUploadReport description: Report detailing the status of the project published on Modrinth. curseforge: type: CurseForgeUploadReport description: Report detailing the status of the project published on CurseForge. github: type: GitHubUploadReport description: Report detailing the status of the project published on GitHub. inputs: modrinth-id: type: string description: The unique identifier of your Modrinth project. modrinth-featured: type: boolean description: Set to true to feature the version on Modrinth; false otherwise. modrinth-unfeature-mode: type: platforms.modrinth.ModrinthUnfeatureMode description: Sets the behavior for unfeaturing older Modrinth versions. default: subset modrinth-token: type: utils.security.SecureString description: Your Modrinth API token. curseforge-id: type: string description: The unique identifier of your CurseForge project. curseforge-token: type: utils.security.SecureString description: Your CurseForge API token. github-tag: type: string description: The tag name for the release where assets will be uploaded. github-generate-changelog: type: boolean description: Set to true to generate a changelog automatically for this release; false otherwise. Ignored if the GitHub Release already exists. github-draft: type: boolean description: Set to true to create a draft release; false otherwise. Ignored if the GitHub Release already exists. github-prerelease: type: boolean description: Set to true to mark the release as a prerelease; false otherwise. Ignored if the GitHub Release already exists. github-commitish: type: string description: Defines the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Ignored if the Git tag already exists. github-discussion: type: string description: If specified, creates and links a discussion of the specified **existing** category to the release. Ignored if the GitHub Release already exists. github-token: type: utils.security.SecureString description: Your GitHub API token. files: type: utils.io.FileInfo[]:{findFiles}?processSeparately=false description: An array of globs determining which files to upload. default: | build/libs/!(*-@(dev|sources|javadoc)).jar build/libs/*-@(dev|sources|javadoc).jar files-primary: type: utils.io.FileInfo[]:{findFiles}?processSeparately=false redirect: files description: A glob determining the primary files to upload. deprecationMessage: Please, use 'files' instead. files-secondary: type: utils.io.FileInfo[]:{findFiles}?processSeparately=false redirect: void description: A glob determining the secondary files to upload. deprecationMessage: Please, use 'files' instead. name: type: string description: The name of the version. version: type: string description: The version number. version-type: type: utils.versioning.VersionType description: The version type - alpha, beta, or release. changelog: type: string description: The changelog for this version. changelog-file: type: string;utils/io/file-info->{readAllText} redirect: changelog description: A glob pointing to the changelog file. loaders: type: string[]?separator=/\s%2B/ description: An array of supported mod loaders. game-versions: type: string[] description: An array of supported Minecraft versions. dependencies: type: dependencies.Dependency[] description: An array of dependencies required by your project. version-resolver: type: games.GameVersionFilter:fromVersionResolver redirect: game-version-filter description: Controls the method used to automatically resolve game versions. deprecationMessage: Please, use 'game-version-filter' instead. game-version-filter: type: games.GameVersionFilter description: Controls the method used to filter game versions. default: releases | min-major | min-minor # ">=1.18" -> ["1.18", "1.18.1", "1.18.2"] java: type: utils.java.JavaVersion[] description: An array of Java versions compatible with your project. retry-attempts: description: Defines the maximum number of asset publishing attempts. type: number default: 2 retry-delay: description: Specifies the delay (in milliseconds) between asset publishing attempts. type: number default: 10000 fail-mode: type: utils.errors.FailMode description: Controls how the action responds to errors during the mod publishing process. default: fail outputs: modrinth-id: type: string description: The unique identifier of your Modrinth project. modrinth-version: type: string description: The unique identifier of the version published on Modrinth by this action. modrinth-url: type: string description: The URL directing to the newly published version on Modrinth. modrinth-files: type: platforms.UploadedFile[] description: Array of objects, each containing details about the files published for the new version on Modrinth, such as file `name`, `id`, and download `url`. curseforge-id: type: number description: The unique identifier of your CurseForge project. curseforge-version: type: number description: The unique identifier of the version published on CurseForge by this action. curseforge-url: type: string description: The URL directing to the newly published version on CurseForge. curseforge-files: type: platforms.UploadedFile[] description: Array of objects, each containing details about the files published for the new version on CurseForge, such as file `name`, `id`, and download `url`. github-repo: type: string description: The full repository name on GitHub, formatted as 'username/repository'. github-tag: type: string description: The Git tag associated with the new or updated release published on GitHub. github-url: type: string description: The URL directing to the newly published version on GitHub. github-files: type: platforms.UploadedFile[] description: Array of objects, each containing details about the files published for the new version on GitHub, such as file `name`, `id`, and download `url`. runs: using: node16 main: dist/index.js