plugins { id 'java' id 'idea' id 'eclipse' id 'xyz.wagyourtail.unimined' version '1.4.1' } group = 'dev.slinky' version = '0.5.0-settings' java { toolchain.languageVersion = JavaLanguageVersion.of(17) sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 withSourcesJar() } repositories { mavenCentral() } unimined.minecraft { version '1.8.9' mappings { searge() mcp('stable', '22-1.8.9') } minecraftForge { loader '11.15.1.2318-1.8.9' } defaultRemapJar = false runs.off = true } configurations.compileOnly { extendsFrom configurations.minecraft, configurations.minecraftLibraries transitive = false } tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' options.release = 8 } idea.module { downloadSources = true } eclipse { jdt.javaRuntimeName = 'JavaSE-17' classpath.downloadSources = true } sourceSets.test { compileClasspath += sourceSets.main.compileClasspath runtimeClasspath += sourceSets.main.runtimeClasspath } tasks.register('smokeCheck', JavaExec) { group = 'verification' description = 'Checks module registration, configuration JSON, and injected class references.' dependsOn testClasses classpath = sourceSets.test.runtimeClasspath mainClass = 'dev.slinky.ProjectSmokeTest' javaLauncher = javaToolchains.launcherFor(java.toolchain) enableAssertions = true } check.dependsOn smokeCheck