Skip to content

Commit 3c23d72

Browse files
committed
Merge with upstream and general updating to suit 26.1
2 parents 610e082 + 1d9a75a commit 3c23d72

Some content is hidden

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

54 files changed

+667
-483
lines changed

.github/workflows/build.yml

Lines changed: 57 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66
pull_request:
77
branches:
88
- master
9+
create: # for Git tag creations
910

1011
jobs:
1112
compile-cubiomes:
@@ -16,7 +17,7 @@ jobs:
1617
runs-on: ${{ matrix.os }}
1718
steps:
1819
- name: Checkout repository
19-
uses: actions/checkout@v4
20+
uses: actions/checkout@v6
2021
with:
2122
submodules: 'true'
2223

@@ -65,19 +66,19 @@ jobs:
6566

6667
- name: Capture shared library (ubuntu-latest)
6768
if: matrix.os == 'ubuntu-latest'
68-
uses: actions/upload-artifact@v4
69+
uses: actions/upload-artifact@v7
6970
with:
7071
name: libcubiomes.so
7172
path: src/main/resources/libcubiomes.so
7273
- name: Capture shared library (macos-latest)
7374
if: matrix.os == 'macos-latest'
74-
uses: actions/upload-artifact@v4
75+
uses: actions/upload-artifact@v7
7576
with:
7677
name: libcubiomes.dylib
7778
path: src/main/resources/libcubiomes.dylib
7879
- name: Capture shared library (windows-latest)
7980
if: matrix.os == 'windows-latest'
80-
uses: actions/upload-artifact@v4
81+
uses: actions/upload-artifact@v7
8182
with:
8283
name: cubiomes.dll
8384
path: src/main/resources/cubiomes.dll
@@ -90,20 +91,20 @@ jobs:
9091
LLVM_HOME: /usr/lib/llvm-13
9192
steps:
9293
- name: Checkout repository
93-
uses: actions/checkout@v4
94+
uses: actions/checkout@v6
9495
with:
9596
submodules: 'true'
9697
- name: Capture shared library
97-
uses: actions/download-artifact@v4
98+
uses: actions/download-artifact@v8
9899
with:
99100
merge-multiple: true
100101
path: src/main/resources/
101102
- name: Validate gradle wrapper
102-
uses: gradle/actions/wrapper-validation@v4
103-
- name: Setup JDK 23
104-
uses: actions/setup-java@v4
103+
uses: gradle/actions/wrapper-validation@v5
104+
- name: Setup JDK 25
105+
uses: actions/setup-java@v5
105106
with:
106-
java-version: 23
107+
java-version: 25
107108
distribution: 'temurin'
108109
- name: Make Gradle wrapper executable
109110
run: |
@@ -120,7 +121,52 @@ jobs:
120121
- name: Build
121122
run: ./gradlew build
122123
- name: Capture build artifacts
123-
uses: actions/upload-artifact@v4
124+
uses: actions/upload-artifact@v7
124125
with:
125126
name: SeedMapper
126127
path: build/libs/
128+
129+
# if a Git tag was created, verify it is for a stable version to make a release
130+
validate-tag:
131+
name: Validate tag
132+
needs: build
133+
if: github.ref_type == 'tag'
134+
runs-on: ubuntu-latest
135+
outputs:
136+
valid: ${{ steps.check_tag.outputs.valid }}
137+
steps:
138+
- name: Check tag format
139+
id: check_tag
140+
run: |
141+
TAG="${GITHUB_REF_NAME}"
142+
if [[ "$TAG" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
143+
echo "valid=true" >> $GITHUB_OUTPUT
144+
else
145+
echo "valid=false" >> $GITHUB_OUTPUT
146+
fi
147+
148+
release:
149+
name: Release SeedMapper
150+
needs: validate-tag
151+
if: needs.validate-tag.outputs.valid == 'true'
152+
runs-on: ubuntu-latest
153+
steps:
154+
- name: Checkout repository
155+
uses: actions/checkout@v6
156+
- name: Capture JAR
157+
uses: actions/download-artifact@v8
158+
with:
159+
name: SeedMapper
160+
path: build/libs/
161+
- name: Setup JDK 25
162+
uses: actions/setup-java@v5
163+
with:
164+
java-version: 25
165+
distribution: 'temurin'
166+
- name: Make Gradle wrapper executable
167+
run: chmod +x ./gradlew
168+
- name: Release artifact
169+
env:
170+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
171+
MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
172+
run: ./gradlew publishMods --stacktrace

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Seedmapper 2.21.x (MC1.21.11) - Modified by CevAPI
1+
# Seedmapper 2.22.x (MC26.1) - Modified by CevAPI
22

33
Original Repo: https://github.com/xpple/SeedMapper/
44

build.gradle

Lines changed: 104 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -3,69 +3,60 @@ import dev.xpple.seedmapper.buildscript.GenerateBuildInfoTask
33
import net.fabricmc.loom.task.prod.ClientProductionRunTask
44

55
plugins {
6-
id 'fabric-loom' version "${fabric_loom_version}"
7-
id 'maven-publish'
6+
id 'net.fabricmc.fabric-loom' version "${fabric_loom_version}"
7+
id 'me.modmuss50.mod-publish-plugin' version "${mod_publish_plugin_version}"
88
}
99

10+
version = project.mod_version
11+
group = project.maven_group
12+
1013
base {
11-
archivesName = project.archives_base_name
12-
version = project.mod_version
13-
group = project.maven_group
14+
archivesName = project.archives_base_name
1415
}
1516

1617
loom {
17-
accessWidenerPath = file('src/main/resources/seedmapper.aw')
18+
accessWidenerPath = file('src/main/resources/seedmapper.aw')
1819
}
1920

2021
repositories {
21-
mavenCentral()
22-
maven {
23-
name = 'xpple'
24-
url = 'https://maven.xpple.dev/maven2'
25-
}
26-
maven {
27-
name = 'ParchmentMC'
28-
url = 'https://maven.parchmentmc.org'
29-
}
30-
maven {
31-
name = 'DJtheRedstoner'
32-
url = 'https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1'
33-
}
34-
maven {
35-
name = 'MeteorDevelopment'
36-
url = 'https://maven.meteordev.org/snapshots'
37-
}
22+
mavenCentral()
23+
maven {
24+
name = 'xpple'
25+
url = 'https://maven.xpple.dev/maven2'
26+
}
27+
maven {
28+
name = 'DJtheRedstoner'
29+
url = 'https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1'
30+
}
31+
maven {
32+
name = 'MeteorDevelopment'
33+
url = 'https://maven.meteordev.org/snapshots'
34+
}
3835
}
3936

4037
dependencies {
41-
minecraft "com.mojang:minecraft:${project.minecraft_version}"
42-
mappings loom.layered {
43-
officialMojangMappings {
44-
nameSyntheticMembers = true
45-
}
46-
parchment "org.parchmentmc.data:${project.parchment_mappings}"
47-
}
48-
modImplementation "net.fabricmc:fabric-loader:${project.fabric_loader_version}"
49-
50-
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}"
51-
productionRuntimeMods "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}"
52-
53-
include modImplementation("dev.xpple:clientarguments:${project.clientarguments_version}")
54-
include modImplementation("dev.xpple:betterconfig-fabric:${project.betterconfig_version}")
55-
include modImplementation("dev.xpple:simplewaypoints:${project.simplewaypoints_version}")
56-
57-
modRuntimeOnly("me.djtheredstoner:DevAuth-fabric:${project.devauth_version}") {
58-
exclude group: 'net.fabricmc', module: 'fabric-loader'
59-
}
60-
productionRuntimeMods("me.djtheredstoner:DevAuth-fabric:${project.devauth_version}") {
61-
exclude group: 'net.fabricmc', module: 'fabric-loader'
62-
}
63-
64-
modCompileOnly "meteordevelopment:baritone:${project.baritone_version}"
65-
66-
testImplementation platform("org.junit:junit-bom:${project.junit_version}")
67-
testImplementation 'org.junit.jupiter:junit-jupiter'
68-
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
38+
minecraft "com.mojang:minecraft:${project.minecraft_version}"
39+
implementation "net.fabricmc:fabric-loader:${project.fabric_loader_version}"
40+
41+
implementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}"
42+
productionRuntimeMods "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}"
43+
44+
include implementation("dev.xpple:clientarguments:${project.clientarguments_version}")
45+
include implementation("dev.xpple:betterconfig-fabric:${project.betterconfig_version}")
46+
include implementation("dev.xpple:simplewaypoints:${project.simplewaypoints_version}")
47+
48+
runtimeOnly("me.djtheredstoner:DevAuth-fabric:${project.devauth_version}") {
49+
exclude group: 'net.fabricmc', module: 'fabric-loader'
50+
}
51+
productionRuntimeMods("me.djtheredstoner:DevAuth-fabric:${project.devauth_version}") {
52+
exclude group: 'net.fabricmc', module: 'fabric-loader'
53+
}
54+
55+
compileOnly "meteordevelopment:baritone:${project.baritone_version}"
56+
57+
testImplementation platform("org.junit:junit-bom:${project.junit_version}")
58+
testImplementation 'org.junit.jupiter:junit-jupiter'
59+
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
6960
}
7061

7162
clean {
@@ -80,63 +71,92 @@ compileJava.dependsOn('createJavaBindings')
8071
createJavaBindings.dependsOn(clean)
8172

8273
tasks.register('generateBuildInfo', GenerateBuildInfoTask) {
83-
outputFile = new File(temporaryDir, "build_info.json")
74+
outputFile = new File(temporaryDir, "build_info.json")
8475
}
8576

8677
tasks.register("prodClient", ClientProductionRunTask) {
87-
runDir = file("run")
78+
runDir = file("run")
8879

89-
jvmArgs.add("-Ddevauth.enabled=true")
80+
jvmArgs.add("-Ddevauth.enabled=true")
9081

91-
javaLauncher = javaToolchains.launcherFor {
92-
languageVersion = JavaLanguageVersion.of(23)
93-
}
82+
javaLauncher = javaToolchains.launcherFor {
83+
languageVersion = JavaLanguageVersion.of(25)
84+
}
9485
}
9586

9687
processResources {
97-
def props = [version: project.mod_version, minecraft_version_dependency: project.minecraft_version_dependency, loader_version: project.fabric_loader_version]
98-
inputs.properties props
99-
filteringCharset "UTF-8"
88+
def props = [version: project.mod_version, minecraft_version_dependency: project.minecraft_version_dependency, loader_version: project.fabric_loader_version]
89+
inputs.properties props
90+
filteringCharset "UTF-8"
10091

101-
filesMatching("fabric.mod.json") {
102-
expand props
103-
}
92+
filesMatching("fabric.mod.json") {
93+
expand props
94+
}
10495

105-
from("LICENSE") {
106-
rename {"${it}_${project.base.archivesName.get()}"}
107-
}
96+
from("LICENSE") {
97+
rename {"${it}_${project.base.archivesName.get()}"}
98+
}
10899

109-
from("src/main/c/cubiomes/LICENSE") {
110-
rename {"${it}_cubiomes"}
111-
}
100+
from("src/main/c/cubiomes/LICENSE") {
101+
rename {"${it}_cubiomes"}
102+
}
112103

113-
from("src/main/c/cubiomes/loot/LICENSE_loot_library.h.txt")
104+
from("src/main/c/cubiomes/loot/LICENSE_loot_library.h.txt")
114105

115-
from generateBuildInfo
106+
from generateBuildInfo
116107
}
117108

118109
tasks.withType(JavaCompile).configureEach {
119-
it.options.release = 23
110+
it.options.release = 25
120111
}
121112

122113
java {
123-
sourceCompatibility = JavaVersion.VERSION_23
124-
targetCompatibility = JavaVersion.VERSION_23
114+
sourceCompatibility = JavaVersion.VERSION_25
115+
targetCompatibility = JavaVersion.VERSION_25
125116
}
126117

127118
test {
128-
useJUnitPlatform()
119+
useJUnitPlatform()
129120
}
130121

131-
publishing {
132-
publications {
133-
mavenJava(MavenPublication) {
134-
artifactId = project.base.archivesName.get()
135-
from components.java
136-
}
137-
}
122+
publishMods {
123+
def artifactFile = base.getLibsDirectory().file(jar.archiveFileName)
124+
if (!artifactFile.isPresent()) {
125+
logger.lifecycle("Artifact not present!")
126+
return
127+
}
128+
def changeLogText = providers.fileContents(layout.projectDirectory.file("changelog.md")).asText
129+
if (!changeLogText.isPresent()) {
130+
logger.lifecycle("Changelog file not found!")
131+
return
132+
}
133+
134+
displayName = "Release ${project.mod_version}"
135+
type = STABLE
136+
modLoaders.add('fabric')
137+
github {
138+
changelog = changeLogText.map {"Download available [on Modrinth](https://modrinth.com/mod/seedmapper/version/${project.mod_version}).\n\n${it}"}
138139

139-
repositories {
140+
repository = 'xpple/SeedMapper'
141+
accessToken = providers.environmentVariable("GITHUB_TOKEN")
142+
commitish = 'master'
143+
tagName = "v${project.mod_version}"
140144

141-
}
145+
allowEmptyFiles = true
146+
}
147+
modrinth {
148+
file = artifactFile
149+
changelog = changeLogText
150+
151+
projectId = "C4GbEnuY"
152+
accessToken = providers.environmentVariable("MODRINTH_TOKEN")
153+
project.minecraft_version_list.split('\\s*,\\s*').toList().forEach {minecraftVersions.add(it)}
154+
155+
embeds {
156+
slug = 'betterconfig'
157+
}
158+
embeds {
159+
slug = 'simplewaypoints'
160+
}
161+
}
142162
}

0 commit comments

Comments
 (0)