plugins { id 'idea' id 'java' id 'maven-publish' id 'dev.architectury.loom' id 'flywheel.java' id 'flywheel.package-infos' id 'flywheel.subproject' id 'flywheel.platform' id 'flywheel.transitive-source-sets' } evaluationDependsOn(':common') transitiveSourceSets { compileClasspath = sourceSets.main.compileClasspath create('api') { rootCompile() } create('lib') { rootCompile() compile sourceSets.api } create('backend') { rootCompile() compile sourceSets.api, sourceSets.lib } sourceSet(sourceSets.main) { compile sourceSets.api, sourceSets.lib, sourceSets.backend } createCompileConfigurations() } defaultPackageInfos { forSourceSets sourceSets.api, sourceSets.lib, sourceSets.backend, sourceSets.main } loom { forge { mixinConfig 'flywheel.backend.mixins.json' mixinConfig 'flywheel.impl.mixins.json' mixinConfig 'flywheel.impl.sodium.mixins.json' } runs { configureEach { property 'forge.logging.markers', '' property 'forge.logging.console.level', 'debug' } client { ideConfigGenerated true // Turn on our own debug flags property 'flw.dumpShaderSource', 'true' property 'flw.debugMemorySafety', 'true' // Turn on mixin debug flags property 'mixin.debug.export', 'true' property 'mixin.debug.verbose', 'true' // 720p baby! programArgs '--width', '1280', '--height', '720' } // We're a client mod, but we need to make sure we correctly render when playing on a server. server { ideConfigGenerated true programArgs '--nogui' } } } dependencies { forge "net.minecraftforge:forge:${minecraft_version}-${forge_version}" modCompileOnly "maven.modrinth:embeddium:${embeddium_version}" modCompileOnly "maven.modrinth:oculus:${oculus_version}" forApi project(path: ':common', configuration: 'commonApiOnly') forLib project(path: ':common', configuration: 'commonLib') forBackend project(path: ':common', configuration: 'commonBackend') forMain project(path: ':common', configuration: 'commonImpl') }