Skip to content

Commit 975db40

Browse files
committed
feat: port to 26.1 YOLO
1 parent 4ebd74f commit 975db40

28 files changed

Lines changed: 214 additions & 455 deletions

.github/workflows/build-release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ jobs:
1111
!contains(github.event.head_commit.message, '[ciskip]')
1212
uses: nanite/workflows/.github/workflows/standard-modmuss.yml@v1.1
1313
with:
14-
java-version: 21
14+
java-version: 25
1515
changelog-file: "./CHANGELOG.md"
1616
release-to-github: false
1717
secrets:
1818
nanite-token: ${{ secrets.NANITE_DEPLOY }}
1919
curse-token: ${{ secrets.CURSE_DEPLOY }}
20-
modrinth-token: ${{ secrets.MODRINTH_TOKEN }}
20+
modrinth-token: ${{ secrets.MODRINTH_TOKEN }}

CHANGELOG.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
## 98.0.1
1+
# Changelog
22

3-
### Fixed
4-
5-
- The discord RPC should now shutdown properly when exiting the game.
3+
Ported to 26.1

build.gradle

Lines changed: 64 additions & 134 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,29 @@
11
plugins {
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

2413
allprojects {
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+
128111
publishMods {
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-
}

common/build.gradle

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,22 @@
1-
architectury {
2-
common(rootProject.enabled_platforms.split(","))
1+
plugins {
2+
id 'net.fabricmc.fabric-loom'
33
}
44

55
loom {
6-
accessWidenerPath = file("src/main/resources/sdrp.accesswidener")
7-
}
8-
9-
configurations {
10-
shadowCommon
6+
// accessWidenerPath = file("src/main/resources/sdrp.accesswidener")
117
}
128

139
repositories {
1410
}
1511

1612
dependencies {
17-
modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}"
13+
minecraft "com.mojang:minecraft:${project.minecraft_version}"
1814

1915
implementation 'com.google.code.findbugs:jsr305:3.0.2'
2016

2117
compileOnly("dev.nanite.forks:discord-ipc:${ipc_version}")
2218

23-
modApi("me.shedaniel.cloth:cloth-config:${rootProject.cloth_config_version}")
24-
modApi "dev.architectury:architectury:${rootProject.architectury_version}"
19+
compileOnly("me.shedaniel.cloth:cloth-config:${project.cloth_config_version}")
2520

2621
// Unit testing
2722
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
@@ -31,15 +26,3 @@ dependencies {
3126
test {
3227
useJUnitPlatform()
3328
}
34-
35-
def ENV = System.getenv()
36-
37-
publishing {
38-
publications {
39-
mavenCommon(MavenPublication) {
40-
artifactId = rootProject.archives_base_name + "-" + project.name
41-
from components.java
42-
}
43-
}
44-
}
45-

common/gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
fabric.loom.dontRemap=true

common/src/main/java/com/sunekaer/sdrp/SDRP.java

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@
22

33
import com.sunekaer.sdrp.config.SDRPConfig;
44
import com.sunekaer.sdrp.discord.RPClient;
5-
import dev.architectury.event.EventResult;
6-
import dev.architectury.event.events.client.ClientGuiEvent;
7-
import dev.architectury.event.events.common.EntityEvent;
8-
import dev.architectury.hooks.client.screen.ScreenAccess;
95
import me.shedaniel.autoconfig.AutoConfig;
106
import me.shedaniel.autoconfig.ConfigHolder;
117
import me.shedaniel.autoconfig.serializer.JanksonConfigSerializer;
@@ -30,15 +26,12 @@ public static void init() {
3026
config = register.getConfig();
3127

3228
RP_CLIENT = new RPClient();
33-
34-
EntityEvent.ADD.register(SDRP::clientJoinEvent);
35-
ClientGuiEvent.INIT_POST.register(SDRP::screenEvent);
3629
}
3730

3831
/**
39-
* When the screen is part of the main menu screens, attempt to update discord about it
32+
* Called by platform event handlers when a screen is initialized.
4033
*/
41-
private static void screenEvent(Screen screen, ScreenAccess screenAccess) {
34+
public static void onScreenInit(Screen screen) {
4235
if (!config.enabled || !config.enableUpdateScreenPresence) {
4336
return;
4437
}
@@ -64,20 +57,18 @@ private static void updateScreen(Screen screen) {
6457
}
6558

6659
/**
67-
* When the client joins, send out a setDim event to discord
60+
* Called by platform event handlers when an entity is added to a level.
6861
*/
69-
private static EventResult clientJoinEvent(Entity entity, Level level) {
62+
public static void onClientJoin(Entity entity, Level level) {
7063
if (!config.enabled || !config.enableUpdateDimensionPresence) {
71-
return EventResult.pass();
64+
return;
7265
}
7366

7467
if (entity instanceof AbstractClientPlayer) {
7568
if (entity.getUUID().equals(Minecraft.getInstance().player.getUUID())){
7669
setDimension(level, (Player) entity);
7770
}
7871
}
79-
80-
return EventResult.pass();
8172
}
8273

8374
/**

0 commit comments

Comments
 (0)