pluginManagement { repositories { maven { name "Fabric" url "https://maven.fabricmc.net/" } maven { name "Forge" url "https://maven.minecraftforge.net/" } maven { name "Quilt" url "https://maven.quiltmc.org/repository/release" } maven { // Used for Vanilla Minecraft's libraries name "Sponge" url "https://repo.spongepowered.org/repository/maven-public/" } mavenCentral() gradlePluginPortal() } } // Loads the version.properties def loadProperties() { def defaultMcVersion = "1.18.2" // 1.18.2 is our current most stable version so we use that if no version was defined def mcVersion = "" def mcVers = fileTree("versionProperties").files.name // Get all the files in "versionProperties" for (int i = 0; i < mcVers.size(); i++) { mcVers[i] = mcVers[i].replaceAll("\\.properties", "") // As we are getting the file names, we should remove the ".properties" at the end to get the versions } mcVers.sort() // Sort so it always goes from oldest to newest int mcIndex = -1 println "Avalible MC versions: ${mcVers}" if (hasProperty("mcVer")) { mcVersion = mcVer mcIndex = mcVers.indexOf(mcVer) } if (mcIndex == -1) { println "No mcVer set or the set mcVer is invalid! Defaulting to ${defaultMcVersion}." println "Tip: Use -PmcVer=\"${defaultMcVersion}\" in cmd arg to set mcVer." mcVersion = defaultMcVersion mcIndex = mcVers.indexOf(defaultMcVersion) assert mcIndex != -1 } println "Loading properties file at " + mcVersion + ".properties" def props = new Properties() props.load(new FileInputStream("$rootDir/versionProperties/"+"$mcVersion"+".properties")) props.each { prop -> gradle.ext.set(prop.key, prop.value) // println "Added prop [key:" + prop.key + ", value:" + prop.value + "]" } gradle.ext.mcVers = mcVers gradle.ext.mcIndex = mcIndex } loadProperties() // Minecraft independent sub-projects include("core") project(":core").projectDir = file('coreSubProjects/core') include("api") project(":api").projectDir = file('coreSubProjects/api') // Minecraft dependent sub-projects include("common") // Enables or disables the subprojects depending on whats in the version.properties //if (gradle.builds_for.contains("fabric") || gradle.builds_for.contains("quilt")) // include("fabricLike") if (gradle.builds_for.contains("fabric")) include("fabric") if (gradle.builds_for.contains("quilt")) include("quilt") // Just put this here for once we need it ;) //if (gradle.builds_for.contains("forge")) // include("forge") // FIXME: Find some time to fix forge rootProject.name = "DistantHorizons"