Skip to content

Instantly share code, notes, and snippets.

@noncom
Created July 21, 2020 18:42
Show Gist options
  • Select an option

  • Save noncom/b01b3714f5db9b11b9a146fb1726e1e2 to your computer and use it in GitHub Desktop.

Select an option

Save noncom/b01b3714f5db9b11b9a146fb1726e1e2 to your computer and use it in GitHub Desktop.
buildscript {
repositories {
maven { url = 'https://files.minecraftforge.net/maven' }
jcenter()
mavenCentral()
}
dependencies {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
}
}
apply plugin: 'net.minecraftforge.gradle'
// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
apply plugin: 'eclipse'
apply plugin: 'maven-publish'
version = '1.0'
group = 'com.yourname.modid' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = 'modid'
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
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: '20200514-1.16'
// 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', 'debug'
mods {
examplemod {
source sourceSets.main
}
}
}
server {
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', 'debug'
mods {
examplemod {
source sourceSets.main
}
}
}
data {
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', 'debug'
args '--mod', 'examplemod', '--all', '--output', file('src/generated/resources/')
mods {
examplemod {
source sourceSets.main
}
}
}
}
}
repositories {
flatDir name: 'libs', dirs: 'libs'
}
dependencies {
// 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:1.16.1-32.0.71'
// You may put jars on which you depend on in ./libs or you may define them like so..
// compile "some.group:artifact:version:classifier"
// compile "some.group:artifact:version"
// Real examples
// compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env
// compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env
// The 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime.
// provided 'com.mod-buildcraft:buildcraft:6.0.8:dev'
// These dependencies get remapped to your current MCP mappings
// deobf 'com.mod-buildcraft:buildcraft:6.0.8:dev'
// For more info...
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
// http://www.gradle.org/docs/current/userguide/dependency_management.html
implementation fg.deobf(name: 'Abnormals-Core-1.16.1-2.0.0')
// implementation fg.deobf(name: 'AdditionalEnchantedMiner-1.16.1-16.0.5')
// implementation fg.deobf(name: 'AI-Improvements-1.16.1-0.3.0')
// implementation fg.deobf(name: 'angelring-1.16.1-1.3.0')
// implementation fg.deobf(name: 'backpacked-1.4.4-1.16.1')
// implementation fg.deobf(name: 'bagofyurting-1.16.1-1.0.0.1')
// implementation fg.deobf(name: 'bambooeverything-1.16-1.0.0')
// implementation fg.deobf(name: 'BasicNetherOres-1.16.1-5.0.0')
// //implementation fg.deobf(name: 'betterbedrockgenerator-1.16.1-0.0.9')
// implementation fg.deobf(name: 'BetterBurning-1.16.1-2.0.2')
// implementation fg.deobf(name: 'BetterMineshaftsForge-1.16.1-1.3')
// implementation fg.deobf(name: 'Buzzier-Bees-1.16.1-2.0.0')
// implementation fg.deobf(name: 'bwncr-1.16.1-3.6.15')
// implementation fg.deobf(name: 'byg-1.0.10')
// implementation fg.deobf(name: 'caelus-FORGE-1.16.1-2.0-beta5')
// implementation fg.deobf(name: 'cc-tweaked-1.16.1-1.90.1')
// implementation fg.deobf(name: 'ceilingtorch-1.16.1-v1.5')
// implementation fg.deobf(name: 'citadel-1.2.0')
// implementation fg.deobf(name: 'cloth-config-forge-4.0.1')
// implementation fg.deobf(name: 'collective-1.16.1-1.35')
// implementation fg.deobf(name: 'connectedglass-1.0.6-mc1.16')
// implementation fg.deobf(name: 'Controlling-7.0.0.2')
// implementation fg.deobf(name: 'CookingForBlockheads_1.16.1-9.0.0')
// implementation fg.deobf(name: 'CraftingCraft_1.16.1-9.0.0')
// implementation fg.deobf(name: 'CraftingTweaks_1.16.1-12.0.4')
// implementation fg.deobf(name: 'CraftTweaker-1.16.1-7.0.0.11')
// implementation fg.deobf(name: 'culinaryconstruct-FORGE-1.16.1-3.0')
// implementation fg.deobf(name: 'curios-FORGE-1.16.1-3.0-beta4')
// implementation fg.deobf(name: 'curiouselytra-FORGE-1.16.1-3.0')
// implementation fg.deobf(name: 'customnausea-FORGE-1.16.1-4.0')
// // implementation fg.deobf(name: 'dankstorage-3.5')
// implementation fg.deobf(name: 'DimStorage-1.16.1-4.0.1')
// implementation fg.deobf(name: 'doubledoors_1.16-2.1')
// implementation fg.deobf(name: 'DoubleSlabs-1.16-3.1.2')
// implementation fg.deobf(name: 'dwarfcoal-1.16.1-1.2')
// implementation fg.deobf(name: 'elevatorid-1.16.1-1.7.3')
// implementation fg.deobf(name: 'engineersdecor-1.16.1-1.1.1-b3')
// implementation fg.deobf(name: 'engineerstools-1.16.1-1.0.9-b1')
// implementation fg.deobf(name: 'essentials-1.16.1-2.8.0')
// implementation fg.deobf(name: 'expandedstorage-2.1.3+1.16.1')
// implementation fg.deobf(name: 'ExpOreMod-1.16.1-1.0')
// implementation fg.deobf(name: 'extradisks-1.16.1-1.3')
// implementation fg.deobf(name: 'FarmingForBlockheads_1.16.1-7.0.1')
// implementation fg.deobf(name: 'FastFurnace-1.16.1-4.0.0')
// implementation fg.deobf(name: 'FastLeafDecay-v23')
// implementation fg.deobf(name: 'FastWorkbench-1.16.1-4.1.1')
// implementation fg.deobf(name: 'Fertilization_1.16.1-5.0.0')
// implementation fg.deobf(name: 'forbidden_arcanus-1.16.1-1.0-beta-2')
// implementation fg.deobf(name: 'GentleFawn-1.0.2-MC1.16.1')
// implementation fg.deobf(name: 'globalxp-1.16.1-v1.4.12')
// implementation fg.deobf(name: 'goprone-1.16.x-1.0.0')
// implementation fg.deobf(name: 'GravelMiner_1.16.1-10.0.0')
// implementation fg.deobf(name: 'gravestone-1.16.1-1.0.3')
// implementation fg.deobf(name: 'ImmersiveEngineering-0.16-109')
// implementation fg.deobf(name: 'improved-stations-2.0')
// implementation fg.deobf(name: 'Industrial-Reborn-1.16.1-0.8.1')
// implementation fg.deobf(name: 'invtweaks-1.16.1-1.0.5')
// implementation fg.deobf(name: 'ironfurnaces-1.16.1-2.1.1')
// implementation fg.deobf(name: 'ironshulkerboxes-1.16.1-5.0.1')
// implementation fg.deobf(name: 'jei-1.16.1-7.0.0.6')
// implementation fg.deobf(name: 'JEITweaker-1.16.1-1.0.1.2')
// implementation fg.deobf(name: 'LargeFluidTank-16.0.2')
// implementation fg.deobf(name: 'Lollipop-1.16.1-2.1.1')
// implementation fg.deobf(name: 'Ma-Enchants-1.16.1-3.2.1')
// implementation fg.deobf(name: 'Ma-Essentials-1.16.1-3.2.3')
// implementation fg.deobf(name: 'mcw-bridges-1.0.4-mc1.16.1')
// implementation fg.deobf(name: 'mcw-doors-1.0.0-mc1.16.1')
// implementation fg.deobf(name: 'Mekanism-1.16.1-10.0.2.425')
// implementation fg.deobf(name: 'MekanismAdditions-1.16.1-10.0.2.425')
// implementation fg.deobf(name: 'MekanismGenerators-1.16.1-10.0.2.425')
// implementation fg.deobf(name: 'MekanismTools-1.16.1-10.0.2.425')
// implementation fg.deobf(name: 'metalbarrels-3.2')
// implementation fg.deobf(name: 'MixinBootstrap-1.0.3')
// implementation fg.deobf(name: 'modular-routers-1.16.1-7.0.0-24')
// implementation fg.deobf(name: 'morevanillalib-1.16.1-1.2.8')
// implementation fg.deobf(name: 'Morpheus-1.16.1-4.2.55')
// implementation fg.deobf(name: 'MouseTweaks-2.13-mc1.16.1')
// implementation fg.deobf(name: 'NaturesCompass-1.16.1-1.8.5')
// implementation fg.deobf(name: 'PackingTape-1.16.1-0.9.6')
// implementation fg.deobf(name: 'pamhc2foodcore-1.16.1-1.0.3')
// implementation fg.deobf(name: 'PassthroughSigns-1.16.1-2.3.4')
// implementation fg.deobf(name: 'Patchouli-1.16-39')
// implementation fg.deobf(name: 'Placebo-1.16.1-4.0.1')
// implementation fg.deobf(name: 'potionsmaster-0.1.8-1.16.1-32.0.57')
// implementation fg.deobf(name: 'Powah-1.16.1-2.1.1')
// implementation fg.deobf(name: 'QuantumStorage-1.16.1-5.2.0')
// implementation fg.deobf(name: 'rad-1.16-4.0.1')
// // implementation fg.deobf(name: 'randompatches-1.16.1-1.22.0.0')
// implementation fg.deobf(name: 'rangedpumps-0.8')
// implementation fg.deobf(name: 'rats-6.0.4-1.16.1')
// implementation fg.deobf(name: 'reap-1.16.1-1.0.2')
// implementation fg.deobf(name: 'refinedstorage-1.9.2')
// implementation fg.deobf(name: 'refinedstorageaddons-0.7')
// implementation fg.deobf(name: 'RingsOfAscension-1.16.1-1.5.3')
// implementation fg.deobf(name: 'ScalableCatsForce-2.13.2-build-2-with-library')
// implementation fg.deobf(name: 'StorageDrawers-1.16.1-8.0.0')
// implementation fg.deobf(name: 'tesseract-1.0.7-mc1.16')
// implementation fg.deobf(name: 'theoneprobe-1.16-3.0.1-beta')
// implementation fg.deobf(name: 'ToolBelt-1.16.1-1.14.2')
// implementation fg.deobf(name: 'trashcans-1.0.1-mc1.16')
// implementation fg.deobf(name: 'TrashSlot_1.16.1-12.0.1')
// implementation fg.deobf(name: 'travellersboots-1.16.1-1.4.0')
// implementation fg.deobf(name: 'tubesreloaded-1.16.1-1.4.0.0')
// implementation fg.deobf(name: 'Uppers-0.3.0')
// implementation fg.deobf(name: 'useful_backpacks-1.16.1-1.11.1.69-SNAPSHOT')
// implementation fg.deobf(name: 'u_team_core-1.16.1-3.1.1.163-SNAPSHOT')
// implementation fg.deobf(name: 'vanillaexcavators-1.16.1-2.1.1')
// implementation fg.deobf(name: 'vanillahammers-1.16.1-2.1.1')
// implementation fg.deobf(name: 'VanillaTweaks-1.16.1-1.5.29')
// implementation fg.deobf(name: 'Variant16x-1.16-v0.15.3_beta_pre1')
// implementation fg.deobf(name: 'Waddles-1.16.1-0.8.7')
// implementation fg.deobf(name: 'Waystones_1.16.1-7.0.2')
// implementation fg.deobf(name: 'XaerosWorldMap_1.7.4_Forge-1.16.1')
// implementation fg.deobf(name: 'Xaeros_Minimap_20.16.0.1_Forge-1.16.1')
// implementation fg.deobf(name: 'SecurityCraft-v1.8.19.1-beta1')
// implementation fg.deobf("blank:Abnormals-Core-1.16.1:2.0.0")
// implementation fg.deobf("blank:AdditionalEnchantedMiner-1.16.1:16.0.5")
// implementation fg.deobf("blank:AI-Improvements-1.16.1:0.3.0")
// implementation fg.deobf("blank:angelring-1.16.1:1.3.0")
// implementation fg.deobf("blank:backpacked-1.4.4:1.16.1")
// implementation fg.deobf("blank:bagofyurting-1.16.1:1.0.0.1")
// implementation fg.deobf("blank:bambooeverything-1.16:1.0.0")
// implementation fg.deobf("blank:BasicNetherOres-1.16.1:5.0.0")
// implementation fg.deobf("blank:betterbedrockgenerator-1.16.1:0.0.9")
// implementation fg.deobf("blank:BetterBurning-1.16.1:2.0.2")
// implementation fg.deobf("blank:BetterMineshaftsForge-1.16.1:1.3")
// implementation fg.deobf("blank:Buzzier-Bees-1.16.1:2.0.0")
// implementation fg.deobf("blank:bwncr-1.16.1:3.6.15")
// implementation fg.deobf("blank:byg:1.0.10")
// implementation fg.deobf("blank:caelus-FORGE-1.16.1-2.0:beta5")
// implementation fg.deobf("blank:cc-tweaked-1.16.1:1.90.1")
// implementation fg.deobf("blank:ceilingtorch-1.16.1:v1.5")
// implementation fg.deobf("blank:citadel:1.2.0")
// implementation fg.deobf("blank:cloth-config-forge:4.0.1")
// implementation fg.deobf("blank:collective-1.16.1:1.35")
// implementation fg.deobf("blank:connectedglass-1.0.6:mc1.16")
// implementation fg.deobf("blank:Controlling:7.0.0.2")
// implementation fg.deobf("blank:CookingForBlockheads_1.16.1:9.0.0")
// implementation fg.deobf("blank:CraftingCraft_1.16.1:9.0.0")
// implementation fg.deobf("blank:CraftingTweaks_1.16.1:12.0.4")
// implementation fg.deobf("blank:CraftTweaker-1.16.1:7.0.0.11")
// implementation fg.deobf("blank:culinaryconstruct-FORGE-1.16.1:3.0")
// implementation fg.deobf("blank:curios-FORGE-1.16.1-3.0:beta4")
// implementation fg.deobf("blank:curiouselytra-FORGE-1.16.1:3.0")
// implementation fg.deobf("blank:customnausea-FORGE-1.16.1:4.0")
// implementation fg.deobf("blank:dankstorage:3.5")
// implementation fg.deobf("blank:DimStorage-1.16.1:4.0.1")
// implementation fg.deobf("blank:doubledoors_1.16:2.1")
// implementation fg.deobf("blank:DoubleSlabs-1.16:3.1.2")
// implementation fg.deobf("blank:dwarfcoal-1.16.1:1.2")
// implementation fg.deobf("blank:elevatorid-1.16.1:1.7.3")
// implementation fg.deobf("blank:engineersdecor-1.16.1-1.1.1:b3")
// implementation fg.deobf("blank:engineerstools-1.16.1-1.0.9:b1")
// implementation fg.deobf("blank:essentials-1.16.1:2.8.0")
// implementation fg.deobf("blank:expandedstorage:2.1.3+1.16.1")
// implementation fg.deobf("blank:ExpOreMod-1.16.1:1.0")
// implementation fg.deobf("blank:extradisks-1.16.1:1.3")
// implementation fg.deobf("blank:FarmingForBlockheads_1.16.1:7.0.1")
// implementation fg.deobf("blank:FastFurnace-1.16.1:4.0.0")
// implementation fg.deobf("blank:FastLeafDecay:v23")
// implementation fg.deobf("blank:FastWorkbench-1.16.1:4.1.1")
// implementation fg.deobf("blank:Fertilization_1.16.1:5.0.0")
// implementation fg.deobf("blank:forbidden_arcanus-1.16.1-1.0-beta:2")
// implementation fg.deobf("blank:GentleFawn-1.0.2:MC1.16.1")
// implementation fg.deobf("blank:globalxp-1.16.1:v1.4.12")
// implementation fg.deobf("blank:goprone-1.16.x:1.0.0")
// implementation fg.deobf("blank:GravelMiner_1.16.1:10.0.0")
// implementation fg.deobf("blank:gravestone-1.16.1:1.0.3")
// implementation fg.deobf("blank:ImmersiveEngineering-0.16:109")
// implementation fg.deobf("blank:improved-stations:2.0")
// implementation fg.deobf("blank:Industrial-Reborn-1.16.1:0.8.1")
// implementation fg.deobf("blank:invtweaks-1.16.1:1.0.5")
// implementation fg.deobf("blank:ironfurnaces-1.16.1:2.1.1")
// implementation fg.deobf("blank:ironshulkerboxes-1.16.1:5.0.1")
// implementation fg.deobf("blank:jei-1.16.1:7.0.0.6")
// implementation fg.deobf("blank:JEITweaker-1.16.1:1.0.1.2")
// implementation fg.deobf("blank:LargeFluidTank:16.0.2")
// implementation fg.deobf("blank:Lollipop-1.16.1:2.1.1")
// implementation fg.deobf("blank:Ma-Enchants-1.16.1:3.2.1")
// implementation fg.deobf("blank:Ma-Essentials-1.16.1:3.2.3")
// implementation fg.deobf("blank:mcw-bridges-1.0.4:mc1.16.1")
// implementation fg.deobf("blank:mcw-doors-1.0.0:mc1.16.1")
// implementation fg.deobf("blank:Mekanism-1.16.1:10.0.2.425")
// implementation fg.deobf("blank:MekanismAdditions-1.16.1:10.0.2.425")
// implementation fg.deobf("blank:MekanismGenerators-1.16.1:10.0.2.425")
// implementation fg.deobf("blank:MekanismTools-1.16.1:10.0.2.425")
// implementation fg.deobf("blank:metalbarrels:3.2")
// implementation fg.deobf("blank:MixinBootstrap:1.0.3")
// implementation fg.deobf("blank:modular-routers-1.16.1-7.0.0:24")
// implementation fg.deobf("blank:morevanillalib-1.16.1:1.2.8")
// implementation fg.deobf("blank:Morpheus-1.16.1:4.2.55")
// implementation fg.deobf("blank:MouseTweaks-2.13:mc1.16.1")
// implementation fg.deobf("blank:NaturesCompass-1.16.1:1.8.5")
// implementation fg.deobf("blank:PackingTape-1.16.1:0.9.6")
// implementation fg.deobf("blank:pamhc2foodcore-1.16.1:1.0.3")
// implementation fg.deobf("blank:PassthroughSigns-1.16.1:2.3.4")
// implementation fg.deobf("blank:Patchouli-1.16:39")
// implementation fg.deobf("blank:Placebo-1.16.1:4.0.1")
// implementation fg.deobf("blank:potionsmaster-0.1.8-1.16.1:32.0.57")
// implementation fg.deobf("blank:Powah-1.16.1:2.1.1")
// implementation fg.deobf("blank:QuantumStorage-1.16.1:5.2.0")
// implementation fg.deobf("blank:rad-1.16:4.0.1")
// implementation fg.deobf("blank:randompatches-1.16.1:1.22.0.0")
// implementation fg.deobf("blank:rangedpumps:0.8")
// implementation fg.deobf("blank:rats-6.0.4:1.16.1")
// implementation fg.deobf("blank:reap-1.16.1:1.0.2")
// implementation fg.deobf("blank:refinedstorage:1.9.2")
// implementation fg.deobf("blank:refinedstorageaddons:0.7")
// implementation fg.deobf("blank:RingsOfAscension-1.16.1:1.5.3")
// implementation fg.deobf("blank:ScalableCatsForce-2.13.2-build-2-with:library")
// implementation fg.deobf("blank:StorageDrawers-1.16.1:8.0.0")
// implementation fg.deobf("blank:tesseract-1.0.7:mc1.16")
// implementation fg.deobf("blank:theoneprobe-1.16-3.0.1:beta")
// implementation fg.deobf("blank:ToolBelt-1.16.1:1.14.2")
// implementation fg.deobf("blank:trashcans-1.0.1:mc1.16")
// implementation fg.deobf("blank:TrashSlot_1.16.1:12.0.1")
// implementation fg.deobf("blank:travellersboots-1.16.1:1.4.0")
// implementation fg.deobf("blank:tubesreloaded-1.16.1:1.4.0.0")
// implementation fg.deobf("blank:Uppers:0.3.0")
// implementation fg.deobf("blank:useful_backpacks-1.16.1-1.11.1.69:SNAPSHOT")
// implementation fg.deobf("blank:u_team_core-1.16.1-3.1.1.163:SNAPSHOT")
// implementation fg.deobf("blank:vanillaexcavators-1.16.1:2.1.1")
// implementation fg.deobf("blank:vanillahammers-1.16.1:2.1.1")
// implementation fg.deobf("blank:VanillaTweaks-1.16.1:1.5.29")
// implementation fg.deobf("blank:Variant16x-1.16:v0.15.3_beta_pre1")
// implementation fg.deobf("blank:Waddles-1.16.1:0.8.7")
// implementation fg.deobf("blank:Waystones_1.16.1:7.0.2")
// implementation fg.deobf("blank:XaerosWorldMap_1.7.4_Forge:1.16.1")
// implementation fg.deobf("blank:Xaeros_Minimap_20.16.0.1_Forge:1.16.1")
// implementation fg.deobf("blank:SecurityCraft-v1.8.19.1:beta1")
}
// Example for how to get properties into the manifest for reading by the runtime..
jar {
manifest {
attributes([
"Specification-Title": "examplemod",
"Specification-Vendor": "examplemodsareus",
"Specification-Version": "1", // We are version 1 of ourselves
"Implementation-Title": project.name,
"Implementation-Version": "${version}",
"Implementation-Vendor" :"examplemodsareus",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
}
// Example configuration to allow publishing using the maven-publish task
// This is the preferred method to reobfuscate your jar file
jar.finalizedBy('reobfJar')
// However if you are in a multi-project build, dev time needs unobfed jar files, so you can delay the obfuscation until publishing by doing
//publish.dependsOn('reobfJar')
publishing {
publications {
mavenJava(MavenPublication) {
artifact jar
}
}
repositories {
maven {
url "file:///${project.projectDir}/mcmodsrepo"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment