From 085dd16c0e1d0f5eca052eb4f9cc561022d807df Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 29 Apr 2026 05:47:05 +0100 Subject: [PATCH 1/5] Revert "Stop shading and relocating Java Websockets (#163)" This reverts commit c33b73968a7361eb0b97ac2a8a2276ac500caa38. --- mapsync-mod/build.gradle.kts | 3 +- mapsync-mod/dep-websockets/build.gradle.kts | 35 +++++++++++++++++++ mapsync-mod/gradle/libs.versions.toml | 5 ++- mapsync-mod/settings.gradle.kts | 2 ++ .../minecraft/mapsync/mod/net/SyncClient.java | 10 +++--- .../src/main/resources/fabric.mod.json | 4 +-- 6 files changed, 46 insertions(+), 13 deletions(-) create mode 100644 mapsync-mod/dep-websockets/build.gradle.kts diff --git a/mapsync-mod/build.gradle.kts b/mapsync-mod/build.gradle.kts index 59e3bd00..ddedf7dd 100644 --- a/mapsync-mod/build.gradle.kts +++ b/mapsync-mod/build.gradle.kts @@ -42,7 +42,7 @@ dependencies { modImplementation(libs.fabricLoader) modImplementation(libs.fabricApi) - libs.java.ws.also { + project(":dep-websockets", configuration = "shadedElements").also { implementation(it) include(it) } @@ -107,7 +107,6 @@ tasks { this@expansions["mod_issues_url"] = project_issues_url this@expansions["minecraft_version"] = libs.versions.minecraft.get() this@expansions["fabric_loader_version"] = libs.versions.fabricLoader.get() - this@expansions["java_websockets_version"] = libs.versions.java.ws.get() } inputs.properties(expansions) filesMatching("fabric.mod.json") { diff --git a/mapsync-mod/dep-websockets/build.gradle.kts b/mapsync-mod/dep-websockets/build.gradle.kts new file mode 100644 index 00000000..104fbeaa --- /dev/null +++ b/mapsync-mod/dep-websockets/build.gradle.kts @@ -0,0 +1,35 @@ +plugins { + id("java-library") + alias(libs.plugins.shadow) +} + +version = libs.java.ws.get().version!! + +dependencies { + implementation(libs.java.ws) +} + +repositories { + mavenCentral() +} + +tasks { + shadowJar { + include("org/java_websocket/**") + include("META-INF/LICENSE.txt") + rename("LICENSE.txt", "LICENSE_JavaWebSockets") + relocate( + "org.java_websocket", + "gjum.minecraft.mapsync.mod.deps.websockets" + ) + } +} + +val shadedElements by configurations.creating { + isCanBeConsumed = true + isCanBeResolved = false +} + +artifacts { + add(shadedElements.name, tasks.shadowJar) +} diff --git a/mapsync-mod/gradle/libs.versions.toml b/mapsync-mod/gradle/libs.versions.toml index 2cfa4190..9cc383df 100644 --- a/mapsync-mod/gradle/libs.versions.toml +++ b/mapsync-mod/gradle/libs.versions.toml @@ -4,8 +4,6 @@ minecraft = "1.21.11" fabricLoom = "1.15-SNAPSHOT" fabricLoader = "0.18.6" fabricApi = "0.141.3+1.21.11" -# https://mvnrepository.com/artifact/org.java-websocket/Java-WebSocket -java-ws = "1.6.0" [libraries] minecraft = { group = "com.mojang", name = "minecraft", version.ref = "minecraft" } @@ -24,7 +22,8 @@ voxelmap = { group = "maven.modrinth", name = "voxelmap-updated", version = "oL1 journeymap = { group = "maven.modrinth", name = "journeymap", version = "ajOMv0sc" } # https://modrinth.com/mod/xaeros-world-map/versions?l=fabric xaerosmap = { group = "maven.modrinth", name = "xaeros-world-map", version = "CkZVhVE0" } -java-ws = { group = "org.java-websocket", name = "Java-WebSocket", version.ref = "java-ws" } +# https://mvnrepository.com/artifact/org.java-websocket/Java-WebSocket +java-ws = { group = "org.java-websocket", name = "Java-WebSocket", version = "1.6.0" } [plugins] fabricLoom = { id = "fabric-loom", version.ref = "fabricLoom" } diff --git a/mapsync-mod/settings.gradle.kts b/mapsync-mod/settings.gradle.kts index 9c1eedef..a66b34a7 100644 --- a/mapsync-mod/settings.gradle.kts +++ b/mapsync-mod/settings.gradle.kts @@ -10,3 +10,5 @@ pluginManagement { } rootProject.name = "MapSync" + +include(":dep-websockets"); diff --git a/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/SyncClient.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/SyncClient.java index ce05cce2..81b4e0b6 100644 --- a/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/SyncClient.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/SyncClient.java @@ -2,6 +2,11 @@ import gjum.minecraft.mapsync.mod.MapSyncMod; import gjum.minecraft.mapsync.mod.data.ChunkTile; +import gjum.minecraft.mapsync.mod.deps.websockets.client.WebSocketClient; +import gjum.minecraft.mapsync.mod.deps.websockets.drafts.Draft; +import gjum.minecraft.mapsync.mod.deps.websockets.drafts.Draft_6455; +import gjum.minecraft.mapsync.mod.deps.websockets.exceptions.WebsocketNotConnectedException; +import gjum.minecraft.mapsync.mod.deps.websockets.handshake.ServerHandshake; import gjum.minecraft.mapsync.mod.net.auth.AuthStateHolder; import gjum.minecraft.mapsync.mod.net.auth.Welcomed; import gjum.minecraft.mapsync.mod.net.buffers.BufferReader; @@ -17,11 +22,6 @@ import java.util.Objects; import java.util.concurrent.atomic.AtomicLong; import net.minecraft.world.level.ChunkPos; -import org.java_websocket.client.WebSocketClient; -import org.java_websocket.drafts.Draft; -import org.java_websocket.drafts.Draft_6455; -import org.java_websocket.exceptions.WebsocketNotConnectedException; -import org.java_websocket.handshake.ServerHandshake; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; diff --git a/mapsync-mod/src/main/resources/fabric.mod.json b/mapsync-mod/src/main/resources/fabric.mod.json index dbac7dab..a2d8e03b 100644 --- a/mapsync-mod/src/main/resources/fabric.mod.json +++ b/mapsync-mod/src/main/resources/fabric.mod.json @@ -24,9 +24,7 @@ "depends": { "minecraft": "${minecraft_version}", "fabricloader": ">=${fabric_loader_version}", - "fabric": "*", - - "org_java-websocket_java-websocket": ">=${java_websockets_version}" + "fabric": "*" }, "suggests": { "modmenu": "*", From ca5d4dbb17f6ea815c38d6a060f9774dc9f97619 Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 29 Apr 2026 05:54:09 +0100 Subject: [PATCH 2/5] Inherit group as well as version --- mapsync-mod/dep-websockets/build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/mapsync-mod/dep-websockets/build.gradle.kts b/mapsync-mod/dep-websockets/build.gradle.kts index 104fbeaa..e3b02976 100644 --- a/mapsync-mod/dep-websockets/build.gradle.kts +++ b/mapsync-mod/dep-websockets/build.gradle.kts @@ -3,6 +3,7 @@ plugins { alias(libs.plugins.shadow) } +group = libs.java.ws.get().group version = libs.java.ws.get().version!! dependencies { From 4a2e207955ab958abf4326cab0222d63056d8d43 Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 29 Apr 2026 05:54:22 +0100 Subject: [PATCH 3/5] Remove dangling semicolon --- mapsync-mod/settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mapsync-mod/settings.gradle.kts b/mapsync-mod/settings.gradle.kts index a66b34a7..bc6ae9ec 100644 --- a/mapsync-mod/settings.gradle.kts +++ b/mapsync-mod/settings.gradle.kts @@ -11,4 +11,4 @@ pluginManagement { rootProject.name = "MapSync" -include(":dep-websockets"); +include(":dep-websockets") From 41cfa2dfd4a08d26afee16a11259dcf96e90723d Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 29 Apr 2026 05:54:39 +0100 Subject: [PATCH 4/5] Remove licence rename --- mapsync-mod/dep-websockets/build.gradle.kts | 1 - 1 file changed, 1 deletion(-) diff --git a/mapsync-mod/dep-websockets/build.gradle.kts b/mapsync-mod/dep-websockets/build.gradle.kts index e3b02976..d4670b4f 100644 --- a/mapsync-mod/dep-websockets/build.gradle.kts +++ b/mapsync-mod/dep-websockets/build.gradle.kts @@ -18,7 +18,6 @@ tasks { shadowJar { include("org/java_websocket/**") include("META-INF/LICENSE.txt") - rename("LICENSE.txt", "LICENSE_JavaWebSockets") relocate( "org.java_websocket", "gjum.minecraft.mapsync.mod.deps.websockets" From dce1f8eefc132a08a6fec39d3fa42beb671ba1e7 Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 29 Apr 2026 06:01:27 +0100 Subject: [PATCH 5/5] Switch from include to exclude This makes it clearer as to why this it's even happening: there's something that shouldn't be included in the resulting jar. --- mapsync-mod/dep-websockets/build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mapsync-mod/dep-websockets/build.gradle.kts b/mapsync-mod/dep-websockets/build.gradle.kts index d4670b4f..48b567e8 100644 --- a/mapsync-mod/dep-websockets/build.gradle.kts +++ b/mapsync-mod/dep-websockets/build.gradle.kts @@ -16,8 +16,8 @@ repositories { tasks { shadowJar { - include("org/java_websocket/**") - include("META-INF/LICENSE.txt") + // Remove slf4j code + exclude("org/slf4j/**", "META-INF/maven/org.slf4j/**") relocate( "org.java_websocket", "gjum.minecraft.mapsync.mod.deps.websockets"