/*
 * Add your dependencies here. Supported configurations:
 *  - api("group:name:version:classifier"): if you use the types from this dependency in the public API of this mod
 *       Available at runtime and compiletime for mods depending on this mod
 *  - implementation("g:n:v:c"): if you need this for internal implementation details of the mod, but none of it is visible via the public API
 *       Available at runtime but not compiletime for mods depending on this mod
 *  - compileOnly("g:n:v:c"): if the mod you're building doesn't need this dependency during runtime at all, e.g. for optional mods
 *       Not available at all for mods depending on this mod, only visible at compiletime for this mod
 *  - compileOnlyApi("g:n:v:c"): like compileOnly, but also visible at compiletime for mods depending on this mod
 *       Available at compiletime but not runtime for mods depending on this mod
 *  - runtimeOnlyNonPublishable("g:n:v:c"): if you want to include a mod in this mod's runClient/runServer runs, but not publish it as a dependency
 *       Not available at all for mods depending on this mod, only visible at runtime for this mod
 *  - devOnlyNonPublishable("g:n:v:c"): a combination of runtimeOnlyNonPublishable and compileOnly for dependencies present at both compiletime and runtime,
 *       but not published as Maven dependencies - useful for RFG-deobfuscated dependencies or local testing
 *  - runtimeOnly("g:n:v:c"): if you don't need this at compile time, but want it to be present at runtime
 *       Available at runtime for mods depending on this mod
 *  - annotationProcessor("g:n:v:c"): mostly for java compiler plugins, if you know you need this, use it, otherwise don't worry
 *  - testCONFIG("g:n:v:c") - replace CONFIG by one of the above (except api), same as above but for the test sources instead of main
 *
 *  - shadowImplementation("g:n:v:c"): effectively the same as API, but the dependency is included in your jar under a renamed package name
 *       Requires you to enable usesShadowedDependencies in gradle.properties
 *
 *  - compile("g:n:v:c"): deprecated, replace with "api" (works like the old "compile") or "implementation" (can be more efficient)
 *
 * You can exclude transitive dependencies (dependencies of the chosen dependency) by appending { transitive = false } if needed,
 * but use this sparingly as it can break using your mod as another mod's dependency if you're not careful.
 *
 * To depend on obfuscated jars you can use `devOnlyNonPublishable(rfg.deobf("dep:spec:1.2.3"))` to fetch an obfuscated jar from maven,
 * or `devOnlyNonPublishable(rfg.deobf(project.files("libs/my-mod-jar.jar")))` to use a file.
 *
 * Gradle names for some of the configuration can be misleading, compileOnlyApi and runtimeOnly both get published as dependencies in Maven, but compileOnly does not.
 * The buildscript adds runtimeOnlyNonPublishable to also have a runtime dependency that's not published.
 *
 * For more details, see https://docs.gradle.org/8.0.1/userguide/java_library_plugin.html#sec:java_library_configurations_graph
 */
dependencies {
    api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-684-GTNH:dev')
    api('com.github.GTNewHorizons:NotEnoughItems:2.7.81-GTNH:dev')
    api('curse.maven:cofh-core-69162:2388751')
    api('com.github.GTNewHorizons:waila:1.8.2:dev')
    api('com.github.GTNewHorizons:AE2FluidCraft-Rework:1.4.113-gtnh:dev') {
        exclude group: 'com.github.GTNewHorizons', module: 'Applied-Energistics-2-Unofficial'
    }
    api('com.github.GTNewHorizons:ae2stuff:0.9.7-GTNH:dev')

    //wct
    compileOnly("com.github.GTNewHorizons:WirelessCraftingTerminal:1.12.7:dev")

    // nei findit
    compileOnly('com.github.GTNewHorizons:FindIt:1.4.0:dev')
    //nee
    compile('com.github.GTNewHorizons:NotEnoughEnergistics:1.7.12:dev')
    //backpack
    compile('com.github.GTNewHorizons:AdventureBackpack2:1.3.9-GTNH:dev')
    compile('com.github.GTNewHorizons:Minecraft-Backpack-Mod:2.5.4-GTNH:dev')
    compileOnly('com.github.GTNewHorizons:ForestryMC:4.10.16:dev')
    // tic
    compileOnly('com.github.GTNewHorizons:TinkersConstruct:1.13.46-GTNH:dev')
    // tc
    compileOnly('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev')
    compileOnly('com.github.GTNewHorizons:ThaumicEnergistics:1.7.13-GTNH:dev') { transitive = false }
    compileOnly('com.github.GTNewHorizons:thaumicinsurgence:0.4.0:dev'){ transitive = false }
    compileOnly 'curse.maven:thaumcraft-nei-plugin-225095:2241913'
    compileOnly('com.github.GTNewHorizons:TCNEIAdditions:1.5.1:dev')
    // gt
    compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.51.449:dev'){
        exclude group: 'com.github.GTNewHorizons', module: 'AE2FluidCraft-Rework'
    }
    //gt BlockRenderer6343
    compileOnly("com.github.GTNewHorizons:BlockRenderer6343:1.3.16:dev")

    compileOnly('com.github.GTNewHorizons:NewHorizonsCoreMod:2.6.59:dev')
    compileOnly('com.github.GTNewHorizons:nei-custom-diagram:1.7.1:dev') { transitive = false }
//    runtimeOnlyNonPublishable("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev")
    runtimeOnlyNonPublishable("com.github.GTNewHorizons:GTNHLib:0.5.22:dev")
    // lib
    compile('com.github.GTNewHorizons:Baubles-Expanded:2.1.13-GTNH:dev')
    compileOnly("com.github.GTNewHorizons:GTNHLib:0.5.22:dev") { transitive = false }
    compileOnly("com.github.GTNewHorizons:Hodgepodge:2.4.5:dev") { transitive = false }
    compileOnly('com.github.GTNewHorizons:BetterP2P:1.2.1:dev')
    compileOnly('com.github.GTNewHorizons:NotEnoughEnergistics:1.6.4:dev')
    compileOnly('com.github.GTNewHorizons:Angelica:1.0.0-beta7:dev')
    // other
    compileOnly("com.github.GTNewHorizons:Botania:1.11.5-GTNH:dev") { transitive = false }
    //    compileOnly('com.github.GTNewHorizons:Draconic-Evolution:1.3.5-GTNH:dev')

    // glodblock
    compileOnly("curse.maven:hbms-nuclear-tech-mod-235439:5534354")
    compileOnly(files("libs/hbmaeaddon-1.4-dev.jar"))

    //programmablehatches
    compileOnlyApi(files("libs/programmablehatches-0.1.1p5-dev.jar"))
//    api("com.github.GTNewHorizons:NotEnoughEnergistics:1.6.4:dev")
//    api("com.github.GTNewHorizons:OpenComputers:1.11.0-GTNH:dev")
//
//    api("com.github.GTNewHorizons:ForgeMultipart:1.5.0:dev") { transitive = false }
//    api("com.github.GTNewHorizons:CraftTweaker:3.4.0:dev") { transitive = false }
//    api("com.github.GTNewHorizons:ProjectRed:4.10.5-GTNH:dev")
//    api("com.github.GTNewHorizons:MrTJPCore:1.2.1:dev")
//
//    api('com.github.GTNewHorizons:Navigator:1.0.15:dev')
//    runtimeOnlyNonPublishable(rfg.deobf('maven.modrinth:journeymap:5.2.6'))
//
//    api("com.github.GTNewHorizons:ironchest:6.0.87:dev")
//    runtimeOnlyNonPublishable("com.github.GTNewHorizons:DuraDisplay:1.3.4:dev")
//    api("com.github.GTNewHorizons:AppleCore:3.3.4:dev") { transitive = false }
//    api("com.github.GTNewHorizons:BuildCraft:7.1.39:dev") { transitive = false }
//    api("com.github.GTNewHorizons:EnderIO:2.8.22:dev") { transitive = false }
//    api("com.github.GTNewHorizons:ForestryMC:4.9.19:dev") { transitive = false }
//    api("com.github.GTNewHorizons:ProjectRed:4.10.5-GTNH:dev") { transitive = false }
//    api("com.github.GTNewHorizons:Railcraft:9.15.15:dev") { transitive = false }
//    //compileOnly("TGregworks:TGregworks:1.7.10-GTNH-1.0.26:deobf") {transitive = false}
//    compileOnly("com.github.GTNewHorizons:ThaumicBases:1.7.7:dev") { transitive = false }
//    api("com.github.GTNewHorizons:EnderCore:0.4.6:dev") { transitive = false }
//    compileOnly('com.github.GTNewHorizons:VisualProspecting:1.3.28:dev') { transitive = false }
//    api("com.github.GTNewHorizons:Galaxy-Space-GTNH:1.1.100-GTNH:dev") { transitive = false }
//
//    api("com.github.GTNewHorizons:Galacticraft:3.2.8-GTNH:dev") { transitive = false }
//    api("com.github.GTNewHorizons:TinkersConstruct:1.12.16-GTNH:dev")
//
//    api("com.github.GTNewHorizons:Chisel:2.15.3-GTNH:dev") { transitive = false }
//    api("com.github.GTNewHorizons:Translocators:1.2.1:dev") { transitive = false }
//    api rfg.deobf("curse.maven:cofh-core-69162:2388751")
//    api("com.github.GTNewHorizons:Nuclear-Control:2.6.7:dev") { transitive = false }
//    api("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") { transitive = false }
//    implementation("com.github.GTNewHorizons:Hodgepodge:2.6.0:dev")
//    api('com.github.GTNewHorizons:Botania:1.12.1-GTNH:dev') { transitive = false }
//    api('com.github.GTNewHorizons:HoloInventory:2.4.13-GTNH:dev') { transitive = false }
//    api rfg.deobf("curse.maven:extra-utilities-225561:2264384")
//    compileOnly rfg.deobf('curse.maven:minefactory-reloaded-66672:2366150')
//    api("com.github.GTNewHorizons:OpenComputers:1.10.27-GTNH:dev") {transitive = false}
//    // https://www.curseforge.com/minecraft/mc-mods/advancedsolarpanels
//    api rfg.deobf('curse.maven:advsolar-362768:2885953')
//    api('com.github.GTNewHorizons:ThaumicEnergistics:1.6.27-GTNH:dev') {transitive =  false}
//    api("com.github.GTNewHorizons:BloodMagic:1.6.9:dev") { transitive = false }
//    api("com.github.GTNewHorizons:CraftTweaker:3.4.0:dev") { transitive = false }
//    compileOnly("com.github.GTNewHorizons:BetterLoadingScreen:1.7.0-GTNH:dev") { transitive = false }
//    compileOnly rfg.deobf("curse.maven:biomes-o-plenty-220318:2499612")
//
//    compileOnly('com.github.GTNewHorizons:SC2:2.2.0:dev') {transitive=false}
//    compileOnly('com.github.GTNewHorizons:Binnie:2.4.4:dev') {transitive = false}
//    api('curse.maven:PlayerAPI-228969:2248928') {transitive=false}
//    api('com.github.GTNewHorizons:BlockRenderer6343:1.2.16:dev'){transitive=false}
//
//    compileOnly("com.google.auto.value:auto-value-annotations:1.10.1") { transitive = false }
//    annotationProcessor("com.google.auto.value:auto-value:1.10.1")
//    devOnlyNonPublishable("com.github.GTNewHorizons:Infernal-Mobs:1.10.0-GTNH:dev")
//
//    api("com.github.GTNewHorizons:Avaritia:1.56:dev")
}
