11plugins {
2- id " architectury-plugin" version " 3.4-SNAPSHOT"
3- id " dev.architectury.loom" version " 1.13-SNAPSHOT" apply false
2+ id ' java-library'
3+ id ' fabric-loom' version ' 1.15-SNAPSHOT' apply(false )
4+ id ' net.neoforged.moddev' version ' 2.0.141' apply(false )
45 id " me.modmuss50.mod-publish-plugin" version " 1.1.0"
56}
67
7- architectury {
8- minecraft = rootProject. minecraft_version
9- }
10-
11- subprojects {
12- apply plugin : " dev.architectury.loom"
13-
14- loom {
15- silentMojangMappingsLicense()
16- }
8+ def ENV = System . getenv()
179
18- dependencies {
19- minecraft " com.mojang:minecraft:${ rootProject.minecraft_version} "
20- mappings loom. officialMojangMappings()
21- }
22- }
10+ version = " ${ mod_version} -build.${ ENV.GITHUB_RUN_NUMBER ?: 9999} +mc${ minecraft_version} "
11+ group = maven_group
2312
2413allprojects {
25- apply plugin : " java"
26- apply plugin : " architectury-plugin"
27- apply plugin : " maven-publish"
28-
29- def ENV = System . getenv()
14+ apply plugin : ' idea'
15+ apply plugin : ' java-library'
16+ apply plugin : ' maven-publish'
3017
31- archivesBaseName = rootProject. archives_base_name + " -" + project. name
32- version = " ${ mod_version} -build.${ ENV.GITHUB_RUN_NUMBER ?: 9999} +mc${ minecraft_version} "
33- group = rootProject. maven_group
18+ version = rootProject. version
3419
3520 repositories {
3621 mavenLocal()
37- maven {
38- url = " https://maven.neoforged.net/releases"
39- }
4022 maven {
4123 url = " https://jitpack.io"
4224 content {
4325 includeGroup " com.github.rtyley"
44- }
45- }
46- maven {
47- url = " https://maven.architectury.dev/"
48- content {
49- includeGroup " dev.architectury"
26+ includeGroup " com.github.jagrosh"
5027 }
5128 }
5229 maven {
@@ -62,51 +39,20 @@ allprojects {
6239 includeGroup " dev.nanite.forks"
6340 }
6441 }
65- maven { url ' https://jitpack.io'
66- content {
67- includeGroup " com.github.jagrosh"
68- }
69- }
7042 maven {
71- url " https://maven.blamejared.com"
72- content {
73- includeGroup " com.faux.ingredientextension"
74- }
43+ url = " https://maven.shedaniel.me/"
7544 }
7645 }
7746
78- tasks. withType(JavaCompile ) {
79- options. encoding = " UTF-8"
80- options. release = 21
81- }
82-
83- java {
84- withSourcesJar()
47+ tasks. withType(JavaCompile ). configureEach {
48+ options. encoding = ' UTF-8'
49+ options. release = 25
8550 }
8651
87- processResources {
88- // Patch in vars for fabric.mod.json, neoforge.mods.toml, etc.
89- def map = [
90- version : project. version,
91- minecraft_version : project. minecraft_version,
92- minecraft_version_sem_range : project. minecraft_version_sem_range,
93- minecraft_version_mav_range : project. minecraft_version_mav_range,
94- architectury_version : project. architectury_version,
95- architectury_version_sem_range : project. architectury_version_sem_range,
96- architectury_version_mav_range : project. architectury_version_mav_range,
97- fabric_loader_version : project. fabric_loader_version,
98- fabric_api_version : project. fabric_api_version,
99- neoforge_version : project. neoforge_version,
100- neoforge_version_range : project. neoforge_version_range,
101- kubejs_version : project. kubejs_version,
102- cloth_config_version : project. cloth_config_version,
103- cloth_config_version_sem_range : project. cloth_config_version_sem_range,
104- cloth_config_version_mav_range : project. cloth_config_version_mav_range,
105- ]
106-
107- inputs. properties(map)
108- filesMatching([" fabric.mod.json" , " META-INF/neoforge.mods.toml" ]) {
109- expand(map)
52+ idea {
53+ module {
54+ downloadSources = true
55+ downloadJavadoc = true
11056 }
11157 }
11258
@@ -125,20 +71,57 @@ allprojects {
12571 }
12672}
12773
74+ subprojects {
75+ base {
76+ archivesName = " ${ archives_base_name} -$project . name "
77+ }
78+
79+ if (project. name != " common" ) {
80+ dependencies {
81+ api project(" :common" )
82+ }
83+
84+ jar {
85+ from project(" :common" ). sourceSets. main. output
86+ }
87+ }
88+
89+ def replaceProperties = [
90+ mod_id : mod_id,
91+ minecraft_version : minecraft_version,
92+ minecraft_version_range : minecraft_version_range,
93+ neoforge_version : neoforge_version,
94+ neoforge_version_range : neoforge_version_range,
95+ fabric_loader_version : fabric_loader_version,
96+ fabric_api_version : fabric_api_version,
97+ cloth_config_version : cloth_config_version,
98+ cloth_config_version_range : cloth_config_version_range,
99+ version : version,
100+ ]
101+
102+ processResources {
103+ inputs. properties replaceProperties
104+
105+ filesMatching([" META-INF/neoforge.mods.toml" , " fabric.mod.json" ]) {
106+ expand replaceProperties
107+ }
108+ }
109+ }
110+
128111publishMods {
129112 dryRun = providers. environmentVariable(" CURSE_TOKEN" ). getOrNull() == null
130113 changelog = file(" ./CHANGELOG.md" ). text
131114 version = " ${ mod_version} "
132115 type = STABLE
133116
134117 def fabricOptions = publishOptions {
135- file = project. provider { project(" :fabric" ). tasks. remapJar }. flatMap { it. archiveFile }
118+ file = project. provider { project(" :fabric" ). tasks. jar }. flatMap { it. archiveFile }
136119 displayName = " [FABRIC][${ minecraft_version} ] ${ project.name} ${ mod_version} "
137120 modLoaders. add(" fabric" )
138121 }
139122
140123 def neoforgeOptions = publishOptions {
141- file = project. provider { project(" :neoforge" ). tasks. remapJar }. flatMap { it. archiveFile }
124+ file = project. provider { project(" :neoforge" ). tasks. jar }. flatMap { it. archiveFile }
142125 displayName = " [NEOFORGE][${ minecraft_version} ] ${ project.name} ${ mod_version} "
143126 modLoaders. add(" neoforge" )
144127 }
@@ -157,78 +140,25 @@ publishMods {
157140
158141 curseforge(" curseforgeFabric" ) {
159142 from(curseForgeOptions, fabricOptions)
160- requires {
161- slug = " fabric-api"
162- }
163- requires {
164- slug = " cloth-config"
165- }
166- requires {
167- slug = " architectury-api"
168- }
143+ requires(" fabric-api" )
144+ requires(" cloth-config" )
169145 }
170146
171147 curseforge(" curseforgeNeoforge" ) {
172148 from(curseForgeOptions, neoforgeOptions)
173- requires {
174- slug = " cloth-config"
175- }
176- requires {
177- slug = " architectury-api"
178- }
149+ requires(" cloth-config" )
179150 }
180151
181152 if (providers. environmentVariable(" MODRINTH_TOKEN" ). getOrNull() != null ) {
182153 modrinth(" modrinthFabric" ) {
183154 from(modrinthOptions, fabricOptions)
184- requires {
185- slug = " fabric-api"
186- }
187- requires {
188-
189- slug = " cloth-config"
190- }
191- requires {
192- slug = " architectury-api"
193- }
155+ requires(" fabric-api" )
156+ requires(" cloth-config" )
194157 }
195158
196159 modrinth(" modrinthNeoforge" ) {
197160 from(modrinthOptions, neoforgeOptions)
198- requires {
199- slug = " cloth-config"
200- }
201- requires {
202- slug = " architectury-api"
203- }
161+ requires(" cloth-config" )
204162 }
205163 }
206164}
207-
208- tasks. register(" getMinecraftIncrementalId" ) {
209- group = " other"
210-
211- doLast {
212- // Load the versions data
213- def url = " https://launchermeta.mojang.com/mc/game/version_manifest_v2.json"
214- def json = new groovy.json.JsonSlurper (). parseText(url. toURL(). text)
215- def versions = json. versions
216-
217- // Reverse the list so the oldest version is first
218- versions = versions. reverse()
219-
220- def currentNumber = 0 ;
221- for (version in versions) {
222- if (version. type != " release" ) {
223- continue
224- }
225-
226- currentNumber++
227- if (version. id == rootProject. minecraft_version) {
228- break
229- }
230- }
231-
232- println (" Minecraft incremental ID: ${ currentNumber} " )
233- }
234- }
0 commit comments