plugins { id 'fabric-loom' version '1.7.bta' id 'java' } import org.gradle.internal.os.OperatingSystem project.ext.lwjglVersion = "3.3.1" switch (OperatingSystem.current()) { case OperatingSystem.LINUX: project.ext.lwjglNatives = "natives-linux" break case OperatingSystem.WINDOWS: project.ext.lwjglNatives = "natives-windows" break case OperatingSystem.MAC_OS: project.ext.lwjglNatives = "natives-macos" } group = project.mod_group archivesBaseName = project.mod_name version = project.mod_version loom { noIntermediateMappings() customMinecraftMetadata.set("https://nightly.betterthanadventure.net/bta-${project.bta_version}-manifest.json") } repositories { mavenCentral() maven { url = "https://jitpack.io" } maven { name = 'Babric' url = 'https://maven.glass-launcher.net/babric' } maven { name = 'Fabric' url = 'https://maven.fabricmc.net/' } maven { name = 'signalumMaven' url = 'https://maven.thesignalumproject.net/infrastructure' } ivy { url = "https://github.com/Better-than-Adventure" patternLayout { artifact "[organisation]/releases/download/v[revision]/[module].jar" m2compatible = true } metadataSources { artifact() } } ivy { url = "https://nightly.betterthanadventure.net" patternLayout { artifact "/bta-[revision]-client.jar" m2compatible = true } metadataSources { artifact() } } ivy { url = "https://piston-data.mojang.com" patternLayout { artifact "v1/[organisation]/[revision]/[module].jar" m2compatible = true } metadataSources { artifact() } } } dependencies { minecraft "::${project.bta_version}" mappings loom.layered() {} modRuntimeOnly "objects:client:43db9b498cb67058d2e12d394e6507722e71bb45" // https://piston-data.mojang.com/v1/objects/43db9b498cb67058d2e12d394e6507722e71bb45/client.jar modImplementation "babric:fabric-loader:${project.loader_version}" // Nightly builds are highly unstable, it is very likely that even these base mods might not work! // Uncomment at your own risk. // Helper library // If you do not need Halplibe you can comment this line out or delete this line //modImplementation "com.github.Turnip-Labs:bta-halplibe:${project.halplibe_version}" //modImplementation "ModMenu:ModMenu:2.0.6" implementation "org.slf4j:slf4j-api:1.8.0-beta4" implementation "org.apache.logging.log4j:log4j-slf4j18-impl:2.16.0" implementation 'com.google.guava:guava:33.0.0-jre' implementation group: 'com.google.code.gson', name: 'gson', version: '2.10.1' var log4jVersion = "2.20.0" implementation("org.apache.logging.log4j:log4j-core:${log4jVersion}") implementation("org.apache.logging.log4j:log4j-api:${log4jVersion}") implementation("org.apache.logging.log4j:log4j-1.2-api:${log4jVersion}") include(implementation("org.apache.commons:commons-lang3:3.12.0")) modImplementation("com.github.zarzelcow:legacy-lwjgl3:1.0.1") implementation platform("org.lwjgl:lwjgl-bom:$lwjglVersion") runtimeOnly "org.lwjgl:lwjgl::$lwjglNatives" runtimeOnly "org.lwjgl:lwjgl-assimp::$lwjglNatives" runtimeOnly "org.lwjgl:lwjgl-glfw::$lwjglNatives" runtimeOnly "org.lwjgl:lwjgl-openal::$lwjglNatives" runtimeOnly "org.lwjgl:lwjgl-opengl::$lwjglNatives" runtimeOnly "org.lwjgl:lwjgl-stb::$lwjglNatives" implementation "org.lwjgl:lwjgl::$lwjglNatives" implementation "org.lwjgl:lwjgl-assimp::$lwjglNatives" implementation "org.lwjgl:lwjgl-glfw::$lwjglNatives" implementation "org.lwjgl:lwjgl-openal::$lwjglNatives" implementation "org.lwjgl:lwjgl-opengl::$lwjglNatives" implementation "org.lwjgl:lwjgl-stb::$lwjglNatives" } java { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 withSourcesJar() } tasks.withType(JavaCompile).configureEach { options.release.set 8 } jar { from("LICENSE") { rename { "${it}_${archivesBaseName}" } } } configurations.configureEach { // Removes LWJGL2 dependencies exclude group: "org.lwjgl.lwjgl" } processResources { inputs.property "version", version filesMatching("fabric.mod.json") { expand "version": version } }