From 7089654e44dea9edca0f1f81ae492e68cb6da1be Mon Sep 17 00:00:00 2001 From: JimSpecter Date: Sun, 5 Jul 2026 14:30:50 +0300 Subject: [PATCH] feat: add Minecraft 26.2 support Bump PacketEvents to 2.13.0 (26.2, protocol 776), set LATEST_VERSION to 26.2, guard the hexColor heuristic for the 26.x scheme, and use the json-package LegacyHoverEventSerializer for Adventure 4.x/5.x compatibility. --- framework/platforms/bukkit-platform/build.gradle.kts | 2 +- framework/platforms/mc-platform/build.gradle.kts | 2 +- .../src/main/java/io/fairyproject/mc/MCAdventure.java | 2 +- .../fairyproject/mc/version/MCVersionMappingRegistry.java | 6 ++++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/framework/platforms/bukkit-platform/build.gradle.kts b/framework/platforms/bukkit-platform/build.gradle.kts index 6bcf5c4d..f759c8f4 100644 --- a/framework/platforms/bukkit-platform/build.gradle.kts +++ b/framework/platforms/bukkit-platform/build.gradle.kts @@ -6,7 +6,7 @@ dependencies { api(project(":mc-platform")) api("net.kyori:adventure-platform-bukkit:4.4.1") api("net.kyori:adventure-text-serializer-bungeecord:4.4.1") - api("com.github.retrooper:packetevents-spigot:2.12.2") { + api("com.github.retrooper:packetevents-spigot:2.13.0") { exclude(group = "net.kyori") } compileOnly("io.papermc.paper:paper-api:1.21.3-R0.1-SNAPSHOT") { diff --git a/framework/platforms/mc-platform/build.gradle.kts b/framework/platforms/mc-platform/build.gradle.kts index f8c8f5fb..e166d0c7 100644 --- a/framework/platforms/mc-platform/build.gradle.kts +++ b/framework/platforms/mc-platform/build.gradle.kts @@ -15,7 +15,7 @@ dependencies { api("net.kyori:adventure-text-serializer-gson-legacy-impl:4.25.0") api("net.kyori:adventure-text-serializer-plain:4.25.0") - api("com.github.retrooper:packetevents-api:2.12.2") { + api("com.github.retrooper:packetevents-api:2.13.0") { exclude(group = "net.kyori") } diff --git a/framework/platforms/mc-platform/src/main/java/io/fairyproject/mc/MCAdventure.java b/framework/platforms/mc-platform/src/main/java/io/fairyproject/mc/MCAdventure.java index 03ae0820..828a0fb2 100644 --- a/framework/platforms/mc-platform/src/main/java/io/fairyproject/mc/MCAdventure.java +++ b/framework/platforms/mc-platform/src/main/java/io/fairyproject/mc/MCAdventure.java @@ -8,7 +8,7 @@ import lombok.experimental.UtilityClass; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; -import net.kyori.adventure.text.serializer.gson.LegacyHoverEventSerializer; +import net.kyori.adventure.text.serializer.json.LegacyHoverEventSerializer; import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import net.kyori.adventure.translation.GlobalTranslator; diff --git a/framework/platforms/mc-platform/src/main/java/io/fairyproject/mc/version/MCVersionMappingRegistry.java b/framework/platforms/mc-platform/src/main/java/io/fairyproject/mc/version/MCVersionMappingRegistry.java index a7472a32..e7a02be6 100644 --- a/framework/platforms/mc-platform/src/main/java/io/fairyproject/mc/version/MCVersionMappingRegistry.java +++ b/framework/platforms/mc-platform/src/main/java/io/fairyproject/mc/version/MCVersionMappingRegistry.java @@ -47,7 +47,7 @@ public class MCVersionMappingRegistry { // Hardcoded latest version to validate cache - private static final MCVersion LATEST_VERSION = MCVersion.of(26, 1, 0); + private static final MCVersion LATEST_VERSION = MCVersion.of(26, 2, 0); private final Gson gson = new Gson(); @Getter @@ -143,8 +143,10 @@ protected void loadVersionFromMinecraftData(JsonObject object) { boolean hexColor = major >= 1 && minor >= 16; boolean nmsPrefix = major < 1 || minor < 17; - if (major > 1) + if (major > 1) { + hexColor = true; nmsPrefix = false; + } this.register(new MCVersionMapping(major, minor, patch, nmsPrefix, hexColor, protocolVersion)); }