1+ buildscript {
2+ repositories {
3+ maven { url = ' https://files.minecraftforge.net/maven' }
4+ jcenter()
5+ mavenCentral()
6+ }
7+ dependencies {
8+ classpath group : ' net.minecraftforge.gradle' , name : ' ForgeGradle' , version : ' 3.+' , changing : true
9+ }
10+ }
11+ apply plugin : ' net.minecraftforge.gradle'
12+ // Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
13+ apply plugin : ' eclipse'
14+ apply plugin : ' maven-publish'
15+
16+ version = ' 1.0'
17+ group = ' com.yourname.modid' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
18+ archivesBaseName = ' modid'
19+
20+ sourceCompatibility = targetCompatibility = compileJava. sourceCompatibility = compileJava. targetCompatibility = ' 1.8' // Need this here so eclipse task generates correctly.
21+
22+ minecraft {
23+ // The mappings can be changed at any time, and must be in the following format.
24+ // snapshot_YYYYMMDD Snapshot are built nightly.
25+ // stable_# Stables are built at the discretion of the MCP team.
26+ // Use non-default mappings at your own risk. they may not always work.
27+ // Simply re-run your setup task after changing the mappings to update your workspace.
28+ mappings channel : ' snapshot' , version : ' 20190719-1.14.3'
29+ // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
30+
31+ // accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
32+
33+ // Default run configurations.
34+ // These can be tweaked, removed, or duplicated as needed.
35+ runs {
36+ client {
37+ workingDirectory project. file(' run' )
38+
39+ // Recommended logging data for a userdev environment
40+ property ' forge.logging.markers' , ' SCAN,REGISTRIES,REGISTRYDUMP'
41+
42+ // Recommended logging level for the console
43+ property ' forge.logging.console.level' , ' debug'
44+
45+ mods {
46+ examplemod {
47+ source sourceSets. main
48+ }
49+ }
50+ }
51+
52+ server {
53+ workingDirectory project. file(' run' )
54+
55+ // Recommended logging data for a userdev environment
56+ property ' forge.logging.markers' , ' SCAN,REGISTRIES,REGISTRYDUMP'
57+
58+ // Recommended logging level for the console
59+ property ' forge.logging.console.level' , ' debug'
60+
61+ mods {
62+ examplemod {
63+ source sourceSets. main
64+ }
65+ }
66+ }
67+
68+ data {
69+ workingDirectory project. file(' run' )
70+
71+ // Recommended logging data for a userdev environment
72+ property ' forge.logging.markers' , ' SCAN,REGISTRIES,REGISTRYDUMP'
73+
74+ // Recommended logging level for the console
75+ property ' forge.logging.console.level' , ' debug'
76+
77+ args ' --mod' , ' examplemod' , ' --all' , ' --output' , file(' src/generated/resources/' )
78+
79+ mods {
80+ examplemod {
81+ source sourceSets. main
82+ }
83+ }
84+ }
85+ }
86+ }
87+
88+ dependencies {
89+ // Specify the version of Minecraft to use, If this is any group other then 'net.minecraft' it is assumed
90+ // that the dep is a ForgeGradle 'patcher' dependency. And it's patches will be applied.
91+ // The userdev artifact is a special name and will get all sorts of transformations applied to it.
92+ minecraft ' net.minecraftforge:forge:1.14.4-28.0.73'
93+
94+ // You may put jars on which you depend on in ./libs or you may define them like so..
95+ // compile "some.group:artifact:version:classifier"
96+ // compile "some.group:artifact:version"
97+
98+ // Real examples
99+ // compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env
100+ // compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env
101+
102+ // The 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime.
103+ // provided 'com.mod-buildcraft:buildcraft:6.0.8:dev'
104+
105+ // These dependencies get remapped to your current MCP mappings
106+ // deobf 'com.mod-buildcraft:buildcraft:6.0.8:dev'
107+
108+ // For more info...
109+ // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
110+ // http://www.gradle.org/docs/current/userguide/dependency_management.html
111+
112+ }
113+
114+ // Example for how to get properties into the manifest for reading by the runtime..
115+ jar {
116+ manifest {
117+ attributes([
118+ " Specification-Title" : " examplemod" ,
119+ " Specification-Vendor" : " examplemodsareus" ,
120+ " Specification-Version" : " 1" , // We are version 1 of ourselves
121+ " Implementation-Title" : project. name,
122+ " Implementation-Version" : " ${ version} " ,
123+ " Implementation-Vendor" :" examplemodsareus" ,
124+ " Implementation-Timestamp" : new Date (). format(" yyyy-MM-dd'T'HH:mm:ssZ" )
125+ ])
126+ }
127+ }
128+
129+ // Example configuration to allow publishing using the maven-publish task
130+ // we define a custom artifact that is sourced from the reobfJar output task
131+ // and then declare that to be published
132+ // Note you'll need to add a repository here
133+ def reobfFile = file(" $buildDir /reobfJar/output.jar" )
134+ def reobfArtifact = artifacts. add(' default' , reobfFile) {
135+ type ' jar'
136+ builtBy ' reobfJar'
137+ }
138+ publishing {
139+ publications {
140+ mavenJava(MavenPublication ) {
141+ artifact reobfArtifact
142+ }
143+ }
144+ repositories {
145+ maven {
146+ url " file:///${ project.projectDir} /mcmodsrepo"
147+ }
148+ }
149+ }
0 commit comments