Skip to content

Commit 29306e8

Browse files
committed
Backport to mc1.20.1
1 parent 1b33fdc commit 29306e8

File tree

65 files changed

+565
-377
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+565
-377
lines changed

.github/workflows/check-build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
strategy:
2020
matrix:
2121
java: [
22-
21
22+
17
2323
]
2424
os: [
2525
ubuntu-latest,
@@ -44,7 +44,7 @@ jobs:
4444
- name: Build
4545
run: ./gradlew build --stacktrace
4646
- name: Capture build artifacts
47-
if: ${{ runner.os == 'Linux' && matrix.java == '21' }}
47+
if: ${{ runner.os == 'Linux' && matrix.java == '17' }}
4848
uses: actions/upload-artifact@v4
4949
with:
5050
name: artifacts

.github/workflows/release-platform-curseforge.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
matrix:
1414
java: [
15-
21
15+
17
1616
]
1717
os: [
1818
ubuntu-latest
@@ -34,11 +34,11 @@ jobs:
3434
if: ${{ runner.os != 'Windows' }}
3535
run: chmod +x ./gradlew
3636
- name: Build
37-
run: ./gradlew build neoforge:publishCurseforge fabric:publishCurseforge --stacktrace
37+
run: ./gradlew build forge:publishCurseforge fabric:publishCurseforge --stacktrace
3838
env:
3939
CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }}
4040
- name: Capture build artifacts
41-
if: ${{ runner.os == 'Linux' && matrix.java == '21' }}
41+
if: ${{ runner.os == 'Linux' && matrix.java == '17' }}
4242
uses: actions/upload-artifact@v4
4343
with:
4444
name: artifacts

.github/workflows/release-platform-github.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
matrix:
1414
java: [
15-
21
15+
17
1616
]
1717
os: [
1818
ubuntu-latest
@@ -34,11 +34,11 @@ jobs:
3434
if: ${{ runner.os != 'Windows' }}
3535
run: chmod +x ./gradlew
3636
- name: Build
37-
run: ./gradlew build neoforge:publishGithub fabric:publishGithub --stacktrace
37+
run: ./gradlew build forge:publishGithub fabric:publishGithub --stacktrace
3838
env:
3939
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4040
- name: Capture build artifacts
41-
if: ${{ runner.os == 'Linux' && matrix.java == '21' }}
41+
if: ${{ runner.os == 'Linux' && matrix.java == '17' }}
4242
uses: actions/upload-artifact@v4
4343
with:
4444
name: artifacts

.github/workflows/release-platform-modrinth.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
matrix:
1414
java: [
15-
21
15+
17
1616
]
1717
os: [
1818
ubuntu-latest
@@ -34,11 +34,11 @@ jobs:
3434
if: ${{ runner.os != 'Windows' }}
3535
run: chmod +x ./gradlew
3636
- name: Build
37-
run: ./gradlew build neoforge:publishModrinth fabric:publishModrinth --stacktrace
37+
run: ./gradlew build forge:publishModrinth fabric:publishModrinth --stacktrace
3838
env:
3939
MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
4040
- name: Capture build artifacts
41-
if: ${{ runner.os == 'Linux' && matrix.java == '21' }}
41+
if: ${{ runner.os == 'Linux' && matrix.java == '17' }}
4242
uses: actions/upload-artifact@v4
4343
with:
4444
name: artifacts

.github/workflows/release-subproject-fabric.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
matrix:
1414
java: [
15-
21
15+
17
1616
]
1717
os: [
1818
ubuntu-latest
@@ -40,7 +40,7 @@ jobs:
4040
MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
4141
CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }}
4242
- name: Capture build artifacts
43-
if: ${{ runner.os == 'Linux' && matrix.java == '21' }}
43+
if: ${{ runner.os == 'Linux' && matrix.java == '17' }}
4444
uses: actions/upload-artifact@v4
4545
with:
4646
name: artifacts
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# A Forge-only version of the normal release workflow.
2+
name: Release-Subproject-Forge
3+
4+
on:
5+
workflow_dispatch:
6+
7+
permissions:
8+
contents: write
9+
10+
jobs:
11+
release:
12+
strategy:
13+
matrix:
14+
java: [
15+
17
16+
]
17+
os: [
18+
ubuntu-latest
19+
]
20+
runs-on: ${{ matrix.os }}
21+
steps:
22+
- name: Checkout repository
23+
uses: actions/checkout@v4
24+
with:
25+
fetch-depth: 0
26+
- name: Validate Gradle wrapper
27+
uses: gradle/wrapper-validation-action@v3
28+
- name: Setup JDK ${{ matrix.java }}
29+
uses: actions/setup-java@v4
30+
with:
31+
distribution: zulu
32+
java-version: ${{ matrix.java }}
33+
- name: Make Gradle wrapper executable
34+
if: ${{ runner.os != 'Windows' }}
35+
run: chmod +x ./gradlew
36+
- name: Build
37+
run: ./gradlew build forge:publishModrinth forge:publishCurseforge forge:publishGithub --stacktrace
38+
env:
39+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
40+
MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
41+
CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }}
42+
- name: Capture build artifacts
43+
if: ${{ runner.os == 'Linux' && matrix.java == '17' }}
44+
uses: actions/upload-artifact@v4
45+
with:
46+
name: artifacts
47+
path: |
48+
**/build/libs/

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
matrix:
1919
java: [
20-
21
20+
17
2121
]
2222
os: [
2323
ubuntu-latest
@@ -39,13 +39,13 @@ jobs:
3939
if: ${{ runner.os != 'Windows' }}
4040
run: chmod +x ./gradlew
4141
- name: Build
42-
run: ./gradlew build neoforge:publishModrinth neoforge:publishCurseforge neoforge:publishGithub fabric:publishModrinth fabric:publishCurseforge fabric:publishGithub --stacktrace
42+
run: ./gradlew build forge:publishModrinth forge:publishCurseforge forge:publishGithub fabric:publishModrinth fabric:publishCurseforge fabric:publishGithub --stacktrace
4343
env:
4444
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4545
MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
4646
CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }}
4747
- name: Capture build artifacts
48-
if: ${{ runner.os == 'Linux' && matrix.java == '21' }}
48+
if: ${{ runner.os == 'Linux' && matrix.java == '17' }}
4949
uses: actions/upload-artifact@v4
5050
with:
5151
name: artifacts

build.gradle

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ import java.time.LocalDate
99

1010
plugins {
1111
id("fabric-loom") version("${loom_version}") apply(false)
12-
id("net.neoforged.moddev") version("${moddev_version}") apply(false)
12+
id("net.minecraftforge.gradle") version("${forgegradle_version}") apply(false)
13+
id("org.spongepowered.gradle.vanilla") version("${vanillagradle_version}") apply(false)
14+
id("org.spongepowered.mixin") version("${mixingradle_version}") apply(false)
1315
id("org.cadixdev.licenser") version("${licenser_version}") apply(false)
1416
id("me.modmuss50.mod-publish-plugin") version("${mpp_version}")
1517
id("org.ajoberstar.grgit.service") version("${grgitservice_version}")
@@ -64,7 +66,8 @@ subprojects {
6466
afterEvaluate { sp ->
6567
publishMods {
6668
// Common configuration
67-
file = sp.name == "fabric" ? remapJar.archiveFile : jar.archiveFile
69+
file = project.name == "fabric" ? remapJar.archiveFile : name == "forge"
70+
? project.file("build/libs/${mod_id}-${name}-${mod_version}.jar") : jar.archiveFile
6871
version = mod_version
6972
type = ReleaseType.of(mod_version_type)
7073
displayName = "v${mod_version}-${StaticUtil.capsLoader(sp.name)}"

buildSrc/src/main/groovy/multiloader-common.gradle

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -121,47 +121,47 @@ if (build_sources_jar == "true") {
121121
processResources {
122122
final expandProps = [
123123
// Mod
124-
"mod_version" : mod_version,
125-
"mod_group" : mod_group,
126-
"mod_id" : mod_id,
127-
"mod_name" : mod_name,
128-
"mod_description_fabric" : mod_description.replace("\n", "\\n"),
129-
"mod_description_neoforge": mod_description,
130-
"mod_icon" : "assets/${mod_id}/icon.png",
131-
"mod_owner" : mod_owner,
132-
"mod_authors_list" : asJsonList(mod_authors),
133-
"mod_authors_string" : mod_authors.split(",").join(", "),
134-
"mod_contributors_list" : asJsonList("${mod_contributors},${mod_translators},${mod_credits}"),
135-
"mod_contributors_string": asTomlList("${mod_contributors},${mod_translators},${mod_credits}"),
136-
"mod_license" : mod_license,
124+
"mod_version" : mod_version,
125+
"mod_group" : mod_group,
126+
"mod_id" : mod_id,
127+
"mod_name" : mod_name,
128+
"mod_description_fabric" : mod_description.replace("\n", "\\n"),
129+
"mod_description_forge" : mod_description,
130+
"mod_icon" : "assets/${mod_id}/icon.png",
131+
"mod_owner" : mod_owner,
132+
"mod_authors_list" : asJsonList(mod_authors),
133+
"mod_authors_string" : mod_authors.split(",").join(", "),
134+
"mod_contributors_list" : asJsonList("${mod_contributors},${mod_translators},${mod_credits}"),
135+
"mod_contributors_string" : asTomlList("${mod_contributors},${mod_translators},${mod_credits}"),
136+
"mod_license" : mod_license,
137137
// Links
138-
"homepage_url" : homepage_url,
139-
"sources_url" : sources_url,
140-
"issues_url" : issues_url,
141-
"contact_url" : contact_url,
138+
"homepage_url" : homepage_url,
139+
"sources_url" : sources_url,
140+
"issues_url" : issues_url,
141+
"contact_url" : contact_url,
142142
// Java
143-
"java_version" : java_version,
143+
"java_version" : java_version,
144144
"java_versions_fabric_list": asJsonList(java_versions_fabric),
145-
"java_versions_neoforge" : java_versions_neoforge,
145+
"java_versions_forge" : java_versions_forge,
146146
// Minecraft
147147
"minecraft_versions_fabric_list": asJsonList(minecraft_versions_fabric),
148-
"minecraft_versions_neoforge": minecraft_versions_neoforge,
148+
"minecraft_versions_forge": minecraft_versions_forge,
149149
// Fabric
150150
"fabric_loader_versions_list": asJsonList(fabric_loader_versions),
151151
"fabric_api_versions_list": asJsonList(fabric_api_versions),
152152
"fabric_entrypoints_main" : asJsonList(fabric_entrypoints_main),
153153
"fabric_entrypoints_client" : asJsonList(fabric_entrypoints_client),
154154
"fabric_entrypoints_server" : asJsonList(fabric_entrypoints_server),
155155
"fabric_entrypoints_modmenu": asJsonList(fabric_entrypoints_modmenu),
156-
// NeoForge
157-
"neoforge_versions" : neoforge_versions,
156+
// Forge
157+
"forge_versions" : forge_versions,
158158
// Dependencies:
159-
"fabric_depends" : "",
160-
"fabric_recommends" : "",
161-
"fabric_suggests" : "",
162-
"fabric_conflicts" : "",
163-
"fabric_breaks" : "",
164-
"neoforge_all_deps" : ""
159+
"fabric_depends" : "",
160+
"fabric_recommends" : "",
161+
"fabric_suggests" : "",
162+
"fabric_conflicts" : "",
163+
"fabric_breaks" : "",
164+
"forge_all_deps" : ""
165165
]
166166

167167
// Apply property-defined dependencies
@@ -186,25 +186,25 @@ processResources {
186186
if (!expandProps["fabric_depends"].isBlank()) {
187187
expandProps["fabric_depends"] = "${expandProps["fabric_depends"]},".toString()
188188
}
189-
safePropList("neoforge_deps").each { dep ->
189+
safePropList("forge_deps").each { dep ->
190190
try {
191-
final depData = propList("d_neoforge_${dep}")
191+
final depData = propList("d_forge_${dep}")
192192
if (depData.length > 1 && depData[1] != "-") {
193193
final loaderData = depData[1].split(":")
194-
expandProps["neoforge_all_deps"] = expandProps["neoforge_all_deps"] +
194+
expandProps["forge_all_deps"] = expandProps["forge_all_deps"] +
195195
"[[dependencies.${mod_id}]]\n" +
196196
"modId=\"${loaderData[1]}\"\n" +
197-
"type=\"${loaderData[0]}\"\n" +
198-
"versionRange=\"${project.property("vr_neoforge_${dep}")}\"\n" +
197+
"mandatory=${loaderData[0] == "required"}\n" +
198+
"versionRange=\"${project.property("vr_forge_${dep}")}\"\n" +
199199
"side=\"CLIENT\"\n\n"
200200
}
201201
} catch (Exception ex) {
202-
logger.error("Error processing NeoForge dependency metadata for '${dep}'. "
202+
logger.error("Error processing Forge dependency metadata for '${dep}'. "
203203
+ "Check dependency property format.")
204204
throw ex
205205
}
206206
}
207-
// logger.info("NeoForge metadata 'neoforge_all_deps': ${expandProps["neoforge_all_deps"]}")
207+
// logger.info("Forge metadata 'forge_all_deps': ${expandProps["forge_all_deps"]}")
208208

209209
filesMatching(["pack.mcmeta", "*.mod.json", "*.mixins.json", "META-INF/*.toml"]) {
210210
expand(expandProps)

common/build.gradle

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import util.PropUtil
22

33
plugins {
44
id("multiloader-common")
5-
id("net.neoforged.moddev")
5+
id("org.spongepowered.gradle.vanilla")
66
}
77

88
// Configure common dependencies
@@ -38,17 +38,12 @@ dependencies {
3838
new PropUtil(project).applyDependencies(project.name, selector)
3939
}
4040

41-
// Configure ModDevGradle
42-
neoForge {
43-
neoFormVersion = neoform_version
44-
// Apply common AccessTransformer if it exists
45-
def at = file("src/main/resources/META-INF/accesstransformer.cfg")
46-
if (at.exists()) accessTransformers.from(at.absolutePath)
47-
// Apply Parchment mappings
48-
parchment {
49-
minecraftVersion = parchment_minecraft_version
50-
mappingsVersion = parchment_version
51-
}
41+
// Configure VanillaGradle
42+
minecraft {
43+
version(minecraft_version)
44+
// Apply common AccessWidener if it exists
45+
def aw = file("src/main/resources/${mod_id}.accesswidener")
46+
if (aw.exists()) accessWideners(aw)
5247
}
5348

5449
// Set up access to common files

0 commit comments

Comments
 (0)