diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 238699ee..10eafaf8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,10 +18,10 @@ jobs: steps: - name: 'Checkout for CI 🛎️' uses: actions/checkout@v4 - - name: 'Set up JDK 17 📦' + - name: 'Set up JDK 21 📦' uses: actions/setup-java@v4 with: - java-version: '17' + java-version: '21' distribution: 'temurin' - name: 'Build with Gradle 🏗️' uses: gradle/gradle-build-action@v3 @@ -51,14 +51,14 @@ jobs: version: ${{ env.version_name }} changelog: ${{ github.event.head_commit.message }} distro-names: | - paper - fabric-1.20.1 + paper-1.21.1 + fabric-1.21.1 distro-groups: | paper fabric distro-descriptions: | - Paper - Fabric 1.20.1 + Paper 1.21.1 + Fabric 1.21.1 files: | - target/HuskSync-Paper-${{ env.version_name }}.jar - target/HuskSync-Fabric-${{ env.version_name }}+mc.1.20.1.jar \ No newline at end of file + target/HuskSync-Paper-${{ env.version_name }}+mc.1.21.1.jar + target/HuskSync-Fabric-${{ env.version_name }}+mc.1.21.1.jar \ No newline at end of file diff --git a/.github/workflows/pr_tests.yml b/.github/workflows/pr_tests.yml index 949bc95f..d5e1dcfe 100644 --- a/.github/workflows/pr_tests.yml +++ b/.github/workflows/pr_tests.yml @@ -14,10 +14,10 @@ jobs: steps: - name: 'Checkout for CI 🛎' uses: actions/checkout@v4 - - name: 'Set up JDK 17 📦' + - name: 'Set up JDK 21 📦' uses: actions/setup-java@v4 with: - java-version: '17' + java-version: '21' distribution: 'temurin' - name: 'Build with Gradle 🏗️' uses: gradle/gradle-build-action@v3 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 36012814..0f80aa7c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,10 +14,10 @@ jobs: steps: - name: 'Checkout for CI 🛎️' uses: actions/checkout@v4 - - name: 'Set up JDK 17 📦' + - name: 'Set up JDK 21 📦' uses: actions/setup-java@v4 with: - java-version: '17' + java-version: '21' distribution: 'temurin' - name: 'Build with Gradle 🏗️' uses: gradle/gradle-build-action@v3 diff --git a/README.md b/README.md index 1bdfa84f..2943d248 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ HuskSync supports the following [compatible versions](https://william278.net/doc | 1.17.1 - 1.19.4 | 3.6.8 | 17 | Paper | ❌ _Support ended_ | | 1.16.5 | 3.2.1 | 16 | Paper | ❌ _Support ended_ | -HuskSync is primarily developed against the latest release. Old Minecraft versions are allocated support channels based on popularity, mod support, etc: +HuskSync is primarily developed against the latest release. Old Minecraft versions are allocated a support channel based on popularity, mod support, etc: * Long Term Support (LTS) – Supported for up to 12-18 months * Standard Release Support (SRS) – Supported for 3-6 months @@ -63,7 +63,7 @@ HuskSync is primarily developed against the latest release. Old Minecraft versio Verify your purchase on Discord and [Download HuskSync](https://william278.net/project/husksync#download) for your server. ## Setup -Requires a MySQL/Mongo/PostgreSQL database, a Redis (v5.0+) server and a network of Spigot or Fabric Minecraft servers, running Java 17+. +Requires a MySQL/Mongo/PostgreSQL database, a Redis (v5.0+) server and a network of Spigot or Fabric Minecraft servers (see [Compatibility](#compatibility)). 1. Place the plugin jar file in the `/plugins` or `/mods` directory of each Spigot/Fabric server. You do not need to install HuskSync as a proxy plugin. 2. Start, then stop every server to let HuskSync generate the config file. @@ -71,7 +71,7 @@ Requires a MySQL/Mongo/PostgreSQL database, a Redis (v5.0+) server and a network 4. Start every server again and synchronization will begin. ## Development -To build HuskSync, simply run the following in the root of the repository (building requires Java 17). Builds will be output in `/target`: +To build HuskSync, simply run the following in the root of the repository (building requires Java 21). Builds will be output in `/target`: ```bash ./gradlew clean build diff --git a/build.gradle b/build.gradle index 9c2e2a4a..f6b672e5 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ import org.apache.tools.ant.filters.ReplaceTokens plugins { - id 'com.github.johnrengelman.shadow' version '8.1.1' + id 'com.gradleup.shadow' version '8.3.0' id 'org.cadixdev.licenser' version '0.6.1' apply false id 'fabric-loom' version '1.7-SNAPSHOT' apply false id 'org.ajoberstar.grgit' version '5.2.2' @@ -59,7 +59,7 @@ publishing { } allprojects { - apply plugin: 'com.github.johnrengelman.shadow' + apply plugin: 'com.gradleup.shadow' apply plugin: 'org.cadixdev.licenser' apply plugin: 'java' diff --git a/common/src/main/java/net/william278/husksync/util/DataDumper.java b/common/src/main/java/net/william278/husksync/util/DataDumper.java index 8b4a1fe1..e2917d5f 100644 --- a/common/src/main/java/net/william278/husksync/util/DataDumper.java +++ b/common/src/main/java/net/william278/husksync/util/DataDumper.java @@ -28,6 +28,7 @@ import org.jetbrains.annotations.NotNull; import java.io.*; import java.net.HttpURLConnection; +import java.net.URI; import java.net.URL; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; @@ -82,7 +83,7 @@ public class DataDumper { @NotNull public String toWeb() { try { - final URL url = new URL(LOGS_SITE_ENDPOINT); + final URL url = URI.create(LOGS_SITE_ENDPOINT).toURL(); final HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setDoOutput(true); diff --git a/fabric/build.gradle b/fabric/build.gradle index f6510e96..6acec9cb 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -15,7 +15,7 @@ dependencies { mappings "net.fabricmc:yarn:${fabric_yarn_mappings}:v2" modImplementation "net.fabricmc:fabric-loader:${fabric_loader_version}" - modImplementation include("net.kyori:adventure-platform-fabric:${fabric_adventure_platform_version}") + modImplementation include("net.kyori:adventure-platform-mod-shared:${fabric_adventure_platform_version}") modImplementation include("me.lucko:fabric-permissions-api:${fabric_permissions_api_version}") modImplementation include("eu.pb4:sgui:${fabric_sgui_version}") modImplementation include('net.william278.uniform:uniform-fabric:1.2.1+1.20.1') diff --git a/gradle.properties b/gradle.properties index 24731412..03df96e2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,11 +1,11 @@ # Gradle settings org.gradle.jvmargs='-Dfile.encoding=UTF-8' org.gradle.daemon=true -javaVersion=17 +javaVersion=21 # Plugin settings plugin_version=3.7 -minecraft_version=1.20.1 +minecraft_version=1.21.1 plugin_archive=husksync plugin_description=A modern, cross-server player data synchronization system @@ -18,13 +18,13 @@ mongodb_driver_version=5.1.2 snappy_version=1.1.10.6 # Spigot/Paper build settings -bukkit_spigot_api=1.20.1-R0.1-SNAPSHOT -bukkit_paper_api=1.20.1-R0.1-SNAPSHOT +bukkit_spigot_api=1.21.1-R0.1-SNAPSHOT +bukkit_paper_api=1.21.1-R0.1-SNAPSHOT # Fabric build settings -fabric_loader_version=0.15.11 -fabric_yarn_mappings=1.20.1+build.10 -fabric_api_version=0.92.2+1.20.1 -fabric_adventure_platform_version=5.9.0 -fabric_permissions_api_version=0.2-SNAPSHOT -fabric_sgui_version=1.2.2+1.20 \ No newline at end of file +fabric_loader_version=0.16.2 +fabric_yarn_mappings=1.21.1+build.3 +fabric_api_version=0.102.1+1.21.1 +fabric_adventure_platform_version=6.0.0 +fabric_permissions_api_version=0.3.1 +fabric_sgui_version=1.6.0+1.21 \ No newline at end of file