-
Notifications
You must be signed in to change notification settings - Fork 0
Multi Project Setup
AzureDoom edited this page Jun 8, 2026
·
2 revisions
This plugin supports a clean separation between workspace orchestration and individual mod projects.
-
com.azuredoom.hytale-workspace→ applied to the root project -
com.azuredoom.hytale-tools→ applied to each mod project
root/
├── settings.gradle
├── build.gradle
├── common/
├── modA/
└── modB/
rootProject.name = "my-hytale-workspace"
include("common", "modA", "modB")// root build.gradle
plugins {
id 'com.azuredoom.hytale-workspace' version '1.+'
}
// If you are getting an issue with Task 'prepareKotlinBuildScriptModel' not found in project ':modX'.
// Add this
subprojects {
tasks.register('prepareKotlinBuildScriptModel') {
dependsOn(rootProject.tasks.named('prepareKotlinBuildScriptModel'))
}
}
hytaleWorkspace {
modProjects = [':modA', ':modB']
// Optional (recommended)
hostProject = ':modA'
// Optional shared defaults propagated to child `hytaleTools` projects
// when those projects apply the plugin, unless overridden locally
manifestGroup = 'com.example.mods'
hytaleVersion = '0.+'
patchline = 'release'
}// common/build.gradle
plugins {
id 'java-library'
}// modA/build.gradle
plugins {
id 'com.azuredoom.hytale-tools'
}
dependencies {
implementation project(':common')
}
hytaleTools {
// hytaleVersion, patchline, and manifestGroup are inherited from the workspace
// Override workspace default
manifestGroup = 'com.example.custom'
// Author format: Name, or Name|Email, or Name|Email|Url.
// Separate multiple authors with commas. Email and Url are optional.
// Example: 'Alice|alice@example.com|https://example.com,Bob'
modCredits = 'yourname'
modId = 'moda'
mainClass = 'com.example.mods.moda.ModA'
}Repeat for additional mod projects (e.g. modB).
**Note for Kotlin users, please ensure you are also adding:
repositories {
mavenCentral()
}to any build.gradle that is calling the kotlin plugin.