11buildscript {
22 repositories {
3- maven { url = ' https://files.minecraftforge.net/maven' }
3+ maven { url(" https://files.minecraftforge.net/maven" ) }
4+ maven { url(" https://libraries.minecraft.net" ) }
5+ maven { url(" https://plugins.gradle.org/m2/" ) }
46 jcenter()
57 mavenCentral()
68 }
79 dependencies {
8- classpath group : ' net.minecraftforge.gradle' , name : ' ForgeGradle' , version : ' 3.+' , changing : true
10+ classpath(
11+ group : " net.minecraftforge.gradle" ,
12+ name : " ForgeGradle" ,
13+ version : forgeGradleVersion,
14+ changing : true
15+ )
16+ classpath(
17+ " org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion "
18+ )
19+ classpath(
20+ " org.jetbrains.kotlin:kotlin-serialization:$kotlinVersion "
21+ )
922 }
1023}
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'
1524
16- version = ' 1.0'
17- group = ' com.yourname.modid' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
18- archivesBaseName = ' modid'
25+ apply(plugin : " net.minecraftforge.gradle" )
26+ apply(plugin : " kotlin" )
27+ apply(plugin : " java" )
28+ apply(plugin : " kotlinx-serialization" )
1929
20- sourceCompatibility = targetCompatibility = compileJava. sourceCompatibility = compileJava. targetCompatibility = ' 1.8' // Need this here so eclipse task generates correctly.
30+ version = projectEssentialsVersion
31+ group = " com.mairwunnx.$projectEssentialsId "
32+ archivesBaseName = projectEssentialsName
2133
2234minecraft {
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')
35+ mappings(
36+ channel : mappingsChannelType,
37+ version : mappingsChannelVersion
38+ )
3239
33- // Default run configurations.
34- // These can be tweaked, removed, or duplicated as needed.
3540 runs {
3641 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-
42+ workingDirectory(project. file(devRunClientPath))
43+ property(" forge.logging.markers" , " SCAN,REGISTRIES,REGISTRYDUMP" )
44+ property(" forge.logging.console.level" , " debug" )
4545 mods {
46- examplemod {
47- source sourceSets. main
46+ ProjectEssentialsHome {
47+ source( sourceSets. main)
4848 }
4949 }
5050 }
5151
5252 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-
53+ workingDirectory(project. file(devRunServerPath))
54+ property(" forge.logging.markers" , " SCAN,REGISTRIES,REGISTRYDUMP" )
55+ property(" forge.logging.console.level" , " debug" )
7956 mods {
80- examplemod {
81- source sourceSets. main
57+ ProjectEssentialsHome {
58+ source( sourceSets. main)
8259 }
8360 }
8461 }
8562 }
8663}
8764
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
65+ repositories {
66+ jcenter()
67+ mavenCentral()
68+ maven { url(" https://minecraft.curseforge.com/api/maven/" ) }
69+ maven { url(" https://libraries.minecraft.net" ) }
70+ maven { url(" https://jitpack.io" ) }
71+ }
11172
73+ dependencies {
74+ minecraft(group : " net.minecraftforge" , name : " forge" , version : forgeBaseVersion)
75+ compile(group : " com.mojang" , name : " brigadier" , version : brigadierBaseVersion)
76+ compile(
77+ group : " org.jetbrains.kotlinx" ,
78+ name : " kotlinx-serialization-runtime" ,
79+ version : kotlinxSerializationVersion
80+ )
81+ compile(
82+ group : " org.jetbrains.kotlin" ,
83+ name : " kotlin-stdlib-$kotlinJdkVersionTarget " ,
84+ version : kotlinVersion
85+ )
86+ compile(
87+ group : " com.github.projectessentials" ,
88+ name : " ProjectEssentials-Permissions" ,
89+ version : " v1.14.4-0.2.0.0"
90+ )
91+ compile(
92+ group : " com.github.projectessentials" ,
93+ name : " ProjectEssentials-Core" ,
94+ version : " v1.14.4-1.+"
95+ )
96+ compile(
97+ group : " com.github.projectessentials" ,
98+ name : " ProjectEssentials-Cooldown" ,
99+ version : " v1.14.4-1.+"
100+ )
112101}
113102
114- // Example for how to get properties into the manifest for reading by the runtime..
115103jar {
116104 manifest {
117105 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 " ,
106+ " Specification-Title" : projectEssentialsName ,
107+ " Specification-Vendor" : projectEssentialsVendor ,
108+ " Specification-Version" : projectEssentialsVersion,
109+ " Implementation-Title" : projectEssentialsName ,
110+ " Implementation-Version" : projectEssentialsVersion ,
111+ " Implementation-Vendor" : projectEssentialsVendor ,
124112 " Implementation-Timestamp" : new Date (). format(" yyyy-MM-dd'T'HH:mm:ssZ" )
125113 ])
126114 }
127115}
128116
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- }
117+ sourceCompatibility = targetCompatibility =
118+ compileJava. sourceCompatibility =
119+ compileJava. targetCompatibility = jvmVersionTarget
120+
121+ compileKotlin. kotlinOptions. jvmTarget =
122+ compileTestKotlin. kotlinOptions. jvmTarget = jvmVersionTarget
123+
124+ tasks. withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile ). all {
125+ kotlinOptions {
126+ freeCompilerArgs + = " -Xuse-experimental=kotlin.Experimental"
148127 }
149- }
128+ }
0 commit comments