2023-08-02 15:08:11 -04:00
plugins {
id 'fabric-loom' version '1.3-SNAPSHOT'
id 'maven-publish'
2023-08-02 22:53:30 -04:00
id 'notcompute.kotlin-conventions-common'
id 'org.jetbrains.kotlin.jvm'
2023-08-02 15:08:11 -04:00
}
version = project . mod_version
group = project . maven_group
base {
2023-08-02 22:53:30 -04:00
archivesName = "$project.archives_base_name-fabric"
2023-08-02 15:08:11 -04:00
}
repositories {
// Add repositories to retrieve artifacts from in here.
// You should only use this when depending on other mods because
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
// for more information about repositories.
}
loom {
splitEnvironmentSourceSets ( )
mods {
"notcompute" {
sourceSet sourceSets . main
sourceSet sourceSets . client
}
}
runs {
// This adds a new gradle task that runs the datagen API: "gradlew runDatagen"
datagen {
inherit server
name "Data Generation"
vmArg "-Dfabric-api.datagen"
vmArg "-Dfabric-api.datagen.output-dir=${file(" src /main/ generated ")}"
vmArg "-Dfabric-api.datagen.modid=notcompute"
runDir "build/datagen"
}
}
}
// Add the generated resources to the main source set
sourceSets {
main {
resources {
srcDirs + = [
'src/main/generated'
]
}
}
}
dependencies {
// To change the versions see the gradle.properties file
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
// Fabric API. This is technically optional, but you probably want it anyway.
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
modImplementation "net.fabricmc:fabric-language-kotlin:${project.fabric_kotlin_version}"
// Uncomment the following line to enable the deprecated Fabric API modules.
// These are included in the Fabric API production distribution and allow you to update your mod to the latest modules at a later more convenient time.
// modImplementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}"
2023-08-02 22:53:30 -04:00
implementation ( project ( ":emulator" ) )
2023-08-02 15:08:11 -04:00
}
processResources {
inputs . property "version" , project . version
filesMatching ( "fabric.mod.json" ) {
expand "version" : project . version
}
}
tasks . withType ( JavaCompile ) . configureEach {
it . options . release = 17
}
tasks . withType ( org . jetbrains . kotlin . gradle . tasks . KotlinCompile ) . all {
kotlinOptions {
jvmTarget = 17
}
}
java {
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
// if it is present.
// If you remove this line, sources will not be generated.
withSourcesJar ( )
sourceCompatibility = JavaVersion . VERSION_17
targetCompatibility = JavaVersion . VERSION_17
}
jar {
from ( "LICENSE" ) {
rename { "${it}_${project.base.archivesName.get()}" }
}
}
// configure the maven publication
publishing {
publications {
mavenJava ( MavenPublication ) {
from components . java
}
}
// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
repositories {
// Add repositories to publish to here.
// Notice: This block does NOT have the same function as the block in the top level.
// The repositories here will be used for publishing your artifact, not for
// retrieving dependencies.
}
}