plugins {
    id "fabric-loom" version "1.7-SNAPSHOT"
}

base {
    archivesBaseName = project.archives_base_name
    version = project.mod_version
    group = project.maven_group
}

repositories {
    maven {
        name = "Meteor Dev Releases"
        url = "https://maven.meteordev.org/releases"
    }
    maven {
        name = "Meteor Dev Snapshots"
        url = "https://maven.meteordev.org/snapshots"
    }
}

dependencies {
    // Fabric
    minecraft "com.mojang:minecraft:${project.minecraft_version}"
    mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
    modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"

    // Meteor
    modImplementation "meteordevelopment:meteor-client:${project.meteor_version}"
}

tasks {
    processResources {
        def propertyMap = [
            "version"   : project.version,
            "mc_version": project.minecraft_version,
        ]

        filesMatching("fabric.mod.json") {
            expand(propertyMap)
        }
    }

    jar {
        from("LICENSE") {
            rename { "${it}_${project.base.archivesBaseName}" }
        }
    }

    java {
        sourceCompatibility = JavaVersion.VERSION_21
        targetCompatibility = JavaVersion.VERSION_21
    }

    tasks.withType(JavaCompile).configureEach {
        it.options.encoding = "UTF-8"
        it.options.release = 21
    }
}
