import groovy.json.JsonOutput buildscript { repositories { gradlePluginPortal() maven { name 'MinecraftForge' url 'https://maven.minecraftforge.net/' } maven { name 'Garden of Fancy' url 'https://maven.gofancy.wtf/releases' } //fallback for fancygradle maven //mavenLocal() maven { name 'Sponge' url 'https://repo.spongepowered.org/repository/maven-public/' } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:5.+' classpath 'org.ajoberstar.grgit:grgit-gradle:3.1.1' classpath group: 'wtf.gofancy.fancygradle', name: 'wtf.gofancy.fancygradle.gradle.plugin', version: '1.1.+' } repositories.each { if (it instanceof MavenArtifactRepository && it.url.toString() == "https://files.minecraftforge.net/maven") { it.url = "https://maven.minecraftforge.net" } } } apply plugin: 'net.minecraftforge.gradle' apply plugin: 'idea' apply plugin: 'maven-publish' apply plugin: org.ajoberstar.grgit.gradle.GrgitPlugin apply plugin: 'wtf.gofancy.fancygradle' version = "4.3.11" group= "electroblob.wizardry"// http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "ElectroblobsWizardry" sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly. minecraft { // The mappings can be changed at any time, and must be in the following format. // snapshot_YYYYMMDD Snapshot are built nightly. // stable_# Stables are built at the discretion of the MCP team. // Use non-default mappings at your own risk. they may not always work. // Simply re-run your setup task after changing the mappings to update your workspace. //mappings channel: 'snapshot', version: '20171003-1.12' mappings channel: "stable", version: "39-1.12" // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. // accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') // Default run configurations. // These can be tweaked, removed, or duplicated as needed. runs { client { workingDirectory project.file('run') // Recommended logging data for a userdev environment property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' // Recommended logging level for the console property 'forge.logging.console.level', 'info' } server { // Recommended logging data for a userdev environment property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' // Recommended logging level for the console property 'forge.logging.console.level', 'info' } } } repositories { google() mavenCentral() maven { url = uri('https://www.cursemaven.com') content { includeGroup 'curse.maven' } } maven { name = 'Modrinth' url = uri('https://api.modrinth.com/maven') content { includeGroup 'maven.modrinth' } } maven { name = 'Sponge' url = uri('https://repo.spongepowered.org/maven') } maven { url = uri('https://maven.blamejared.com') } maven { url = uri('https://m2.dv8tion.net/releases') } maven { url = uri('https://jitpack.io') } } dependencies { //// MC version //// // Specify the version of Minecraft to use, If this is any group other then 'net.minecraft' it is assumed // that the dep is a ForgeGradle 'patcher' dependency. And it's patches will be applied. // The userdev artifact is a special name and will get all sorts of transformations applied to it. minecraft "net.minecraftforge:forge:${project.mc_version}-${project.forge_version}" //// MC version //// implementation fg.deobf("curse.maven:baubles-${baubles_projectid}:${baubles_fileid}") implementation fg.deobf("mezz.jei:jei_${mc_version}:${jei_version}") implementation fg.deobf("curse.maven:antique-atlas-${antiqueatlas_projectid}:${antiqueatlas_fileid}") } task deobfJar(type: Jar) { from sourceSets.main.output classifier = 'deobf' } processResources { // replace tokens in mcmod.info, and pack.mcmeta from(sourceSets.main.resources.srcDirs) { include 'pack.mcmeta' include 'mcmod.info' } duplicatesStrategy = 'include' } fancyGradle { patches { resources coremods asm } }