Manifests

The bot manifest provides RuneMate with the information required to display and launch your bot. Gradle can be configured to generate these for you automatically using the manifest configuration block:

runemate {
    //... other configuration

    manifests {
        create("My Bot Name") {
            //... manifest elements
        }
    }
}

These manifest declarations will be used to generate JSON manifests in $projectDir/build/runemate/sources/.runemate and are automatically included in your project artifacts and your bot store submissions.

Sample Manifest

The following is a sample bot manifest:

manifests {
    create("Development Toolkit") {
        //Required: mainClass, tagline, description, version, internalId
        mainClass = "com.runemate.bots.dev.DevelopmentToolkit"
        tagline = "RuneMate's Swiss Army Knife"
        description = "Presents runtime data, such as the loaded NPCs, to assist in bot development."
        version = "2.5.1"
        internalId = "devkit"

        //Optional: Everything else
        access = Access.PUBLIC
        hidden = false
        categories(Category.DEVELOPER_TOOLS)
        tags("devkit", "debug")
        resources {
            include("css/DevelopmentToolkitPage.css")
            include("fxml/DevelopmentToolkitPage.fxml")
            include("fxml/QueryBuilderPage.fxml")
        }

        //Tailors the variant pricing of the bot, can omit entirely for free bots
        variants {
            variant("Premium", 0.20)
        }

        //Tailors the trial for premium bots
        trial {
            window = Duration.ofDays(7) //or window("ISO-8601 duration format")
            allowance = Duration.ofHours(3) //or allowance("ISO-8601 duration format")
        }

        //Advanced (Optional): Used to declare the use and optionality of advanced features
        //This is required if using direct input, optional otherwise
        features {
            required(FeatureType.DIRECT_INPUT)
        }

        //Advanced (Optional): Used to tailor obfuscation
        obfuscation {
            exclude("class.i.dont.want.to.Obfuscate")
        }

        //Optional: Enabling this will cause the plugin to skip this manifest during the generation phase
        skip = false
        
        //Optional: Enabling this will effectively delete the bot from the store
        hidden = false
    }
}

Last updated