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
}
}