Skip to content

Commit 743e888

Browse files
committed
Gradle build script configured.
1 parent cce8ad5 commit 743e888

File tree

3 files changed

+106
-194
lines changed

3 files changed

+106
-194
lines changed

build.gradle

Lines changed: 88 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -1,149 +1,128 @@
11
buildscript {
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

2234
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')
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..
115103
jar {
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+
}

gradle.properties

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,21 @@
11
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
22
# This is required to provide enough memory for the Minecraft decompilation process.
33
org.gradle.jvmargs=-Xmx3G
4-
org.gradle.daemon=false
4+
org.gradle.daemon=false
5+
org.gradle.caching=true
6+
kotlin.code.style=official
7+
devRunClientPath=run-client
8+
devRunServerPath=run-server
9+
forgeGradleVersion=3.+
10+
forgeBaseVersion=1.14.4-28.0.73
11+
brigadierBaseVersion=1.0.17
12+
mappingsChannelType=snapshot
13+
mappingsChannelVersion=20190719-1.14.3
14+
kotlinJdkVersionTarget=jdk8
15+
kotlinxSerializationVersion=0.12.0
16+
kotlinVersion=1.3.50
17+
projectEssentialsVersion=1.14.4-1.0.0.0
18+
projectEssentialsName=Project Essentials Home
19+
projectEssentialsId=project_essentials_home
20+
projectEssentialsVendor=MairwunNx (Pavel Erokhin)
21+
jvmVersionTarget=1.8

src/main/java/com/example/examplemod/ExampleMod.java

Lines changed: 0 additions & 84 deletions
This file was deleted.

0 commit comments

Comments
 (0)