1
1
buildscript {
2
2
repositories {
3
3
maven { url = ' https://maven.minecraftforge.net' }
4
+ maven { url = ' https://repo.spongepowered.org/repository/maven-public/' }
4
5
mavenCentral()
5
- maven { url= ' https://repo.spongepowered.org/repository/maven-public/' }
6
- maven { url = ' https://maven.parchmentmc.org' }
7
6
}
8
7
dependencies {
9
- classpath group : ' net.minecraftforge.gradle' , name : ' ForgeGradle' , version : ' 5.+' , changing : true
10
- classpath ' org.spongepowered:mixingradle:0.7.+'
11
- classpath ' org.parchmentmc:librarian:1.+'
8
+ classpath group : ' net.minecraftforge.gradle' , name : ' ForgeGradle' , version : " ${ forgegradle_version} " , changing : true
9
+ classpath " org.spongepowered:mixingradle:${ mixingradle_version} "
12
10
}
13
11
}
14
12
13
+ apply plugin : ' java'
15
14
apply plugin : ' net.minecraftforge.gradle'
16
- //
17
15
apply plugin : ' eclipse'
18
- apply plugin : ' maven-publish'
19
16
apply plugin : ' org.spongepowered.mixin'
20
- apply plugin : ' org.parchmentmc.librarian.forgegradle'
17
+ apply plugin : ' maven-publish'
18
+
19
+ archivesBaseName = " ${ mod_name} ${ minecraft_version} -"
20
+
21
+ mixin {
22
+ add sourceSets. main, " ${ mod_id} .refmap.json"
21
23
22
- version = project. oreganized_version
23
- group = ' galena.oreganized.modid'
24
- archivesBaseName = ' Oreganized-' + project. mc_version
24
+ config " ${ mod_id} .mixins.json"
25
+ }
25
26
26
27
java. toolchain. languageVersion = JavaLanguageVersion . of(17 )
27
28
28
29
minecraft {
29
- // The mappings can be changed at any time and must be in the following format.
30
- // Channel: Version:
31
- // official MCVersion Official field/method names from Mojang mapping files
32
- // parchment YYYY.MM.DD-MCVersion Open community-sourced parameter names and javadocs layered on top of official
33
- //
34
- // You must be aware of the Mojang license when using the 'official' or 'parchment' mappings.
35
- // See more information here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md
36
- //
37
- // Parchment is an unofficial project maintained by ParchmentMC, separate from MinecraftForge
38
- // Additional setup is needed to use their mappings: https://github.com/ParchmentMC/Parchment/wiki/Getting-Started
39
- //
40
- // Use non-default mappings at your own risk. They may not always work.
41
- // Simply re-run your setup task after changing the mappings to update your workspace.
42
- mappings channel : ' official' , version : ' 1.19'
30
+ mappings channel : ' official' , version : minecraft_version
31
+
32
+ accessTransformer = file(' src/main/resources/META-INF/accesstransformer.cfg' )
43
33
44
34
runs {
45
35
client {
46
36
workingDirectory project. file(' run' )
47
-
48
- // arg "-mixin.config=oreganized.mixins.json" // For if organized ever needs mixins
49
-
50
- // property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
51
- // property 'forge.logging.console.level', 'debug'
52
-
37
+ ideaModule " ${ rootProject.name} .${ project.name} .main"
38
+ taskName ' Client'
39
+ args " -mixin.config=${ mod_id} .mixins.json"
53
40
mods {
54
- oreganized {
41
+ modClientRun {
55
42
source sourceSets. main
56
43
}
57
44
}
58
45
}
59
46
60
47
server {
61
48
workingDirectory project. file(' run' )
62
-
63
- // arg "-mixin.config=oreganized.mixins.json" // For if organized ever needs mixins
64
-
65
- // property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
66
- // property 'forge.logging.console.level', 'debug'
67
-
49
+ ideaModule " ${ rootProject.name} .${ project.name} .main"
50
+ taskName ' Server'
51
+ args " -mixin.config=${ mod_id} .mixins.json"
68
52
mods {
69
- oreganized {
53
+ modServerRun {
70
54
source sourceSets. main
71
55
}
72
56
}
73
57
}
74
58
75
59
data {
76
60
workingDirectory project. file(' run' )
77
-
78
- // property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
79
- // property 'forge.logging.console.level', 'debug'
80
-
81
- args ' --mod' , ' oreganized' , ' --all' , ' --output' , file(' src/generated/resources/' ), ' --existing' , file(' src/main/resources/' ), ' --existing' , file(' src/generated/resources/' )
82
-
83
- environment ' target' , ' fmluserdevdata'
84
-
61
+ ideaModule " ${ rootProject.name} .${ project.name} .main"
62
+ args ' --mod' , mod_id, ' --all' , ' --output' , file(' src/generated/resources/' ), ' --existing' , file(' src/main/resources/' )
63
+ taskName ' Data'
64
+ args " -mixin.config=${ mod_id} .mixins.json"
85
65
mods {
86
- oreganized {
66
+ modDataRun {
87
67
source sourceSets. main
88
68
}
89
69
}
90
70
}
91
71
}
92
- accessTransformer = file(' src/main/resources/META-INF/accesstransformer.cfg' )
93
72
}
94
73
95
- // Include resources generated by data generators.
96
- sourceSets. main. resources {
97
- srcDir ' src/generated/resources'
98
- }
74
+ sourceSets. main. resources. srcDir ' src/generated/resources'
99
75
100
76
repositories {
101
77
maven {
102
- url= ' https://repo.spongepowered.org/repository/maven-public/'
78
+ // Location of the maven that hosts JEI files (and TiC)
79
+ name ' Progwml6 maven'
80
+ url ' https://dvs1.progwml6.com/files/maven'
103
81
}
104
82
maven {
105
- // location of the maven that hosts JEI files
106
- name = " Progwml6 maven "
107
- url = " https://dvs1.progwml6.com/files/maven/ "
83
+ // Location of a maven mirror for JEI files, as a fallback
84
+ name ' ModMaven '
85
+ url ' https://modmaven.k-4u.nl '
108
86
}
109
87
maven {
110
- // location of a maven mirror for JEI files, as a fallback
111
- name = " ModMaven "
112
- url = " https://modmaven.dev "
88
+ // Location of the maven for vazkii's mods
89
+ name ' blamejared '
90
+ url ' https://maven.blamejared.com '
113
91
}
114
-
115
92
maven {
116
- url " https://cursemaven.com"
93
+ url ' https://www. cursemaven.com'
117
94
content {
118
95
includeGroup " curse.maven"
119
96
}
120
97
}
121
98
}
122
99
123
100
dependencies {
124
- minecraft " net.minecraftforge:forge:${ project.mc_version} -${ project.forge_version} "
101
+ minecraft " net.minecraftforge:forge:${ minecraft_version} -${ forge_version} "
102
+ annotationProcessor " org.spongepowered:mixin:${ mixin_version} :processor"
125
103
126
104
// compile against the JEI API but do not include it at runtime
127
- // compileOnly fg.deobf("mezz.jei:jei-${mc_version }-common-api:${jei_version}")
128
- // compileOnly fg.deobf("mezz.jei:jei-${mc_version }-forge-api:${jei_version}")
105
+ // compileOnly fg.deobf("mezz.jei:jei-${minecraft_version }-common-api:${jei_version}")
106
+ // compileOnly fg.deobf("mezz.jei:jei-${minecraft_version }-forge-api:${jei_version}")
129
107
// at runtime, use the full JEI jar for Forge
130
- // runtimeOnly fg.deobf("mezz.jei:jei-${mc_version}-forge:${jei_version}")
108
+ // runtimeOnly fg.deobf("mezz.jei:jei-${minecraft_version}-forge:${jei_version}")
109
+
110
+ // implementation fg.deobf("curse.maven:detailab-520755:3865073")
131
111
132
- implementation fg. deobf(" curse.maven:detailab-520755:3865073" )
112
+ runtimeOnly fg. deobf(" curse.maven:catalogue-459701:3873264" )
113
+ runtimeOnly fg. deobf(" curse.maven:configured-457570:3872190" )
133
114
134
115
// For testing and showcasing with pretty shaders:
135
116
// runtimeOnly fg.deobf("curse.maven:oculus-581495:3821406")
136
117
// runtimeOnly fg.deobf("curse.maven:rubidium-574856:3749094")
137
-
138
-
139
- // annotationProcessor 'org.spongepowered:mixin:0.8.5:processor'
140
- }
141
- /*
142
- mixin {
143
- add sourceSets.main, "oreganized.refmap.json"
144
- config 'oreganized.mixins.json'
145
118
}
146
- */
147
-
148
119
149
120
jar {
150
121
manifest {
151
122
attributes([
152
- " Specification-Title" : " oreganized" ,
153
- " Specification-Vendor" : " galena" ,
154
- " Specification-Version" : " 1" , // We are version 1 of ourselves
155
- " Implementation-Title" : project. name,
156
- " Implementation-Version" : " ${ project.oreganized_version} " ,
157
- " Implementation-Vendor" : " galena" ,
158
- " Implementation-Timestamp" : new Date (). format(" yyyy-MM-dd'T'HH:mm:ssZ" )
159
- // "MixinConfigs": "oreganized.mixins.json"
123
+ ' Specification-Title' : mod_name,
124
+ ' Specification-Vendor' : mod_author,
125
+ ' Specification-Version' : project. jar. archiveVersion,
126
+ ' Implementation-Title' : project. name,
127
+ ' Implementation-Version' : project. jar. archiveVersion,
128
+ ' Implementation-Vendor' : mod_author,
129
+ ' Implementation-Timestamp' : new Date (). format(" yyyy-MM-dd'T'HH:mm:ssZ" ),
130
+ ' Timestampe' : System . currentTimeMillis(),
131
+ ' Built-On-Java' : " ${ System.getProperty('java.vm.version')} (${ System.getProperty('java.vm.vendor')} )" ,
132
+ ' Build-On-Minecraft' : minecraft_version
160
133
])
161
134
}
162
135
}
@@ -166,12 +139,22 @@ jar.finalizedBy('reobfJar')
166
139
publishing {
167
140
publications {
168
141
mavenJava(MavenPublication ) {
142
+ groupId project. group
143
+ artifactId project. archivesBaseName
144
+ version project. version
169
145
artifact jar
170
146
}
171
147
}
172
148
repositories {
173
149
maven {
174
- url " file://${ project.projectDir } /mcmodsrepo "
150
+ url " file://" + System . getenv( " local_maven " )
175
151
}
176
152
}
177
153
}
154
+
155
+ // Disables Gradle's custom module metadata from being published to maven. The
156
+ // metadata includes mapped dependencies which are not reasonably consumable by
157
+ // other mod developers.
158
+ tasks. withType(GenerateModuleMetadata ) {
159
+ enabled = false
160
+ }
0 commit comments