Skip to content

Extension Reference

AzureDoom edited this page Jun 8, 2026 · 1 revision

Extension Reference

Property Type Default Required Purpose
javaVersion Integer 25 No Java version used for decompilation/tooling
hytaleVersion String '0.+' Yes Hytale server version to resolve. Accepts dynamic selectors (e.g. 0.+)
manifestServerVersion String resolved >=hytaleVersion when unset No Optional manifest ServerVersion override. Supports Hytale semver ranges such as >=0.5.0-pre.9 <0.6.0
patchline String release No Asset/server patchline
serverJavadocsUrl String computed from active patchline No Hosted Hytale Server API Javadocs URL used for Gradle Javadocs, IDEA metadata, and source injection
injectServerJavadocsIntoSources Boolean true No Injects hosted Hytale API docs into generated Vineflower server sources for IDE browsing
oauthBaseUrl String Hytale OAuth URL No Override auth endpoint
accountBaseUrl String Hytale account-data URL No Override account endpoint
hytaleHomeOverride String empty No Optional path to a local Hytale installation, a directory containing Assets.zip, or an Assets.zip file. When set, local dev tasks use this assets zip directly instead of requiring the Gradle cached assets zip.
generateAssetsBinary Boolean true No Controls whether prepareDecompiledSourcesForIde / idea generate the large hytale-assets.jar IDE binary from Assets.zip. Disable to avoid creating the extra assets jar.
manifestGroup String project.group Yes Manifest group / namespace
modId String project.name Yes Manifest mod id
modDescription String empty No Manifest description
modUrl String empty No Manifest project URL
mainClass String empty Yes Plugin entrypoint
modCredits String 'replace_me' No Manifest authors/credits. Use Name, `Name
manifestDependencies String Hytale:AssetModule=* No Required manifest deps
manifestOptionalDependencies String empty No Optional manifest deps
curseforgeId String empty No CurseForge project id
disabledByDefault Boolean false No Manifest flag
includesPack Boolean false No Manifest flag
manifestFile RegularFile src/main/resources/manifest.json No Manifest location
runDirectory Directory run/ No Local server run dir
assetPackSourceDirectory Directory src/main/resources No Source asset directory used by runServer and stageAllModAssets
assetPackRunDirectory Directory computed under run/mods/... No Assets target dir
bundleAssetEditorRuntime Boolean true No Controls whether AssetBridge is bundled into the final jar
serverArgs List<String> ['--allow-op', '--disable-sentry'] No Additional Hytale server arguments appended after the required --assets=... argument
serverJvmArgs List<String> [] No Extra JVM arguments for runServer
preRunTask String empty No Task name to run before runServer
debugEnabled Boolean false No Enables JDWP debugging for runServer
debugPort Integer 5005 No Debug port used when debugEnabled is true
debugSuspend Boolean false No Whether the JVM waits for a debugger before starting
hotSwapEnabled Boolean false No Enables hot swap capability detection and runtime setup
requireDcevm Boolean false No Fails launch if enhanced class redefinition support is unavailable
useHotswapAgent Boolean true No Enables bundled HotswapAgent integration when available
hotswapAgentPath String empty No Optional path to an external HotswapAgent jar used when hotSwapEnabled and useHotswapAgent are true
jbrHome String empty No Optional path to a JetBrains Runtime installation
subPlugins List<Map> [] No Sub-plugins bundled with this mod (see [[SubPlugins

Author / Credits Formatting

modCredits is written to the manifest Authors array. Each author supports a required Name and optional Email and Url fields.

Use one of these formats for each author:

  • Name
  • Name|Email
  • Name|Email|Url

Separate multiple authors with commas.

hytaleTools {
    modCredits = 'Alice|alice@example.com|https://example.com,Bob,Charlie|charlie@example.com'
}

This writes:

{
  "Authors": [
    {
      "Name": "Alice",
      "Email": "alice@example.com",
      "Url": "https://example.com"
    },
    {
      "Name": "Bob"
    },
    {
      "Name": "Charlie",
      "Email": "charlie@example.com"
    }
  ]
}

Email and Url are optional. Authors is also optional during validation for compatibility with handwritten or older manifests, but when it is present it must be an array of author objects. Each author object must have a non-blank Name.

Do not use commas or pipe characters inside an individual author value, because commas separate authors and pipes separate author fields.


Home | Task Reference | Troubleshooting

Clone this wiki locally