plugins {
    id 'java-library'
    id 'fabric-loom' version '0.12-SNAPSHOT'
    id 'org.ajoberstar.reckon' version '0.13.0'
}

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(17)
    }
    withSourcesJar()
}

group = project.group
description = project.displayname
archivesBaseName = project.name

loom {
    mixin.defaultRefmapName = 'unicopia.mixin.refmap.json'
    accessWidenerPath = file('src/main/resources/unicopia.aw')
}

reckon {
    scopeFromProp()
    stageFromProp('beta', 'rc', 'final')
}

repositories {
    mavenLocal()
    maven {
        name = 'modmenu'
        url = 'https://maven.terraformersmc.com/releases'
    }
    maven {
        name = 'minelp'
        url = 'https://repo.minelittlepony-mod.com/maven/snapshot'
    }
    maven {
        name = 'minelp-release'
        url = 'https://repo.minelittlepony-mod.com/maven/release'
    }
    maven {
        name = "TerraformersMC"
        url = "https://maven.terraformersmc.com/"
    }
    maven {
        name = "Ladysnake Libs"
        url = "https://ladysnake.jfrog.io/artifactory/mods"
    }
}

dependencies {
    minecraft "com.mojang:minecraft:${project.minecraft_version}"
    mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
    modApi "net.fabricmc:fabric-loader:${project.loader_version}"
    modApi "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"

    modApi "com.minelittlepony:minelittlepony:${project.minelp_version}"

    modApi "com.minelittlepony:kirin:${project.kirin_version}"
    include "com.minelittlepony:kirin:${project.kirin_version}"

    modCompileOnly("com.terraformersmc:modmenu:${project.modmenu_version}")
    // implementation 'org.jetbrains:intellij-fernflower:1.2.1.16'
    modCompileOnly("net.caffienemc.sodium:sodium-fabric-mc1.19.2:0.4.4+build.18")

    modCompileOnly "dev.emi:trinkets:3.4.0"
}

processResources {
    inputs.property "version", project.version.toString()

    filesMatching("fabric.mod.json") {
        expand "version": project.version.toString()
    }
}

tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}