9
0
mirror of https://github.com/WiIIiam278/HuskSync.git synced 2025-12-19 14:59:21 +00:00

feat: support Minecraft 1.21.7

This commit is contained in:
William278
2025-07-03 20:17:53 +01:00
parent 1314683eea
commit dce84f285d
16 changed files with 47 additions and 43 deletions

View File

@@ -55,12 +55,12 @@ jobs:
paper-1.21.1 paper-1.21.1
paper-1.21.4 paper-1.21.4
paper-1.21.5 paper-1.21.5
paper-1.21.6 paper-1.21.7
fabric-1.20.1 fabric-1.20.1
fabric-1.21.1 fabric-1.21.1
fabric-1.21.4 fabric-1.21.4
fabric-1.21.5 fabric-1.21.5
fabric-1.21.6 fabric-1.21.7
distro-groups: | distro-groups: |
paper paper
paper paper
@@ -77,20 +77,20 @@ jobs:
Paper 1.21.1 Paper 1.21.1
Paper 1.21.4 Paper 1.21.4
Paper 1.21.5 Paper 1.21.5
Paper 1.21.6 Paper 1.21.7
Fabric 1.20.1 Fabric 1.20.1
Fabric 1.21.1 Fabric 1.21.1
Fabric 1.21.4 Fabric 1.21.4
Fabric 1.21.5 Fabric 1.21.5
Fabric 1.21.6 Fabric 1.21.7
files: | files: |
target/HuskSync-Bukkit-${{ env.version_name }}+mc.1.20.1.jar target/HuskSync-Bukkit-${{ env.version_name }}+mc.1.20.1.jar
target/HuskSync-Bukkit-${{ env.version_name }}+mc.1.21.1.jar target/HuskSync-Bukkit-${{ env.version_name }}+mc.1.21.1.jar
target/HuskSync-Bukkit-${{ env.version_name }}+mc.1.21.4.jar target/HuskSync-Bukkit-${{ env.version_name }}+mc.1.21.4.jar
target/HuskSync-Bukkit-${{ env.version_name }}+mc.1.21.5.jar target/HuskSync-Bukkit-${{ env.version_name }}+mc.1.21.5.jar
target/HuskSync-Bukkit-${{ env.version_name }}+mc.1.21.6.jar target/HuskSync-Bukkit-${{ env.version_name }}+mc.1.21.7.jar
target/HuskSync-Fabric-${{ env.version_name }}+mc.1.20.1.jar target/HuskSync-Fabric-${{ env.version_name }}+mc.1.20.1.jar
target/HuskSync-Fabric-${{ env.version_name }}+mc.1.21.1.jar target/HuskSync-Fabric-${{ env.version_name }}+mc.1.21.1.jar
target/HuskSync-Fabric-${{ env.version_name }}+mc.1.21.4.jar target/HuskSync-Fabric-${{ env.version_name }}+mc.1.21.4.jar
target/HuskSync-Fabric-${{ env.version_name }}+mc.1.21.5.jar target/HuskSync-Fabric-${{ env.version_name }}+mc.1.21.5.jar
target/HuskSync-Fabric-${{ env.version_name }}+mc.1.21.6.jar target/HuskSync-Fabric-${{ env.version_name }}+mc.1.21.7.jar

View File

@@ -44,12 +44,12 @@ jobs:
paper-1.21.1 paper-1.21.1
paper-1.21.4 paper-1.21.4
paper-1.21.5 paper-1.21.5
paper-1.21.6 paper-1.21.7
fabric-1.20.1 fabric-1.20.1
fabric-1.21.1 fabric-1.21.1
fabric-1.21.4 fabric-1.21.4
fabric-1.21.5 fabric-1.21.5
fabric-1.21.6 fabric-1.21.7
distro-groups: | distro-groups: |
paper paper
paper paper
@@ -66,20 +66,20 @@ jobs:
Paper 1.21.1 Paper 1.21.1
Paper 1.21.4 Paper 1.21.4
Paper 1.21.5 Paper 1.21.5
Paper 1.21.6 Paper 1.21.7
Fabric 1.20.1 Fabric 1.20.1
Fabric 1.21.1 Fabric 1.21.1
Fabric 1.21.4 Fabric 1.21.4
Fabric 1.21.5 Fabric 1.21.5
Fabric 1.21.6 Fabric 1.21.7
files: | files: |
target/HuskSync-Bukkit-${{ github.event.release.tag_name }}+mc.1.20.1.jar target/HuskSync-Bukkit-${{ github.event.release.tag_name }}+mc.1.20.1.jar
target/HuskSync-Bukkit-${{ github.event.release.tag_name }}+mc.1.21.1.jar target/HuskSync-Bukkit-${{ github.event.release.tag_name }}+mc.1.21.1.jar
target/HuskSync-Bukkit-${{ github.event.release.tag_name }}+mc.1.21.4.jar target/HuskSync-Bukkit-${{ github.event.release.tag_name }}+mc.1.21.4.jar
target/HuskSync-Bukkit-${{ github.event.release.tag_name }}+mc.1.21.5.jar target/HuskSync-Bukkit-${{ github.event.release.tag_name }}+mc.1.21.5.jar
target/HuskSync-Bukkit-${{ github.event.release.tag_name }}+mc.1.21.6.jar target/HuskSync-Bukkit-${{ github.event.release.tag_name }}+mc.1.21.7.jar
target/HuskSync-Fabric-${{ github.event.release.tag_name }}+mc.1.20.1.jar target/HuskSync-Fabric-${{ github.event.release.tag_name }}+mc.1.20.1.jar
target/HuskSync-Fabric-${{ github.event.release.tag_name }}+mc.1.21.1.jar target/HuskSync-Fabric-${{ github.event.release.tag_name }}+mc.1.21.1.jar
target/HuskSync-Fabric-${{ github.event.release.tag_name }}+mc.1.21.4.jar target/HuskSync-Fabric-${{ github.event.release.tag_name }}+mc.1.21.4.jar
target/HuskSync-Fabric-${{ github.event.release.tag_name }}+mc.1.21.5.jar target/HuskSync-Fabric-${{ github.event.release.tag_name }}+mc.1.21.5.jar
target/HuskSync-Fabric-${{ github.event.release.tag_name }}+mc.1.21.6.jar target/HuskSync-Fabric-${{ github.event.release.tag_name }}+mc.1.21.7.jar

View File

@@ -48,7 +48,8 @@ HuskSync supports the following [compatible versions](https://william278.net/doc
| Minecraft | Latest HuskSync | Java Version | Platforms | Support Status | | Minecraft | Latest HuskSync | Java Version | Platforms | Support Status |
|:---------------:|:---------------:|:------------:|:--------------|:------------------------------| |:---------------:|:---------------:|:------------:|:--------------|:------------------------------|
| 1.21.6 | _latest_ | 21 | Paper | ✅ **Active Release** | | 1.21.7 | _latest_ | 21 | Paper | ✅ **Active Release** |
| 1.21.6 | 3.8.5 | 21 | Paper | 🗃️ Archived (July 2025) |
| 1.21.5 | _latest_ | 21 | Paper | ✅ **January 2026** (Non-LTS) | | 1.21.5 | _latest_ | 21 | Paper | ✅ **January 2026** (Non-LTS) |
| 1.21.4 | _latest_ | 21 | Paper, Fabric | ✅ **November 2025** (Non-LTS) | | 1.21.4 | _latest_ | 21 | Paper, Fabric | ✅ **November 2025** (Non-LTS) |
| 1.21.3 | 3.7.1 | 21 | Paper, Fabric | 🗃️ Archived (December 2024) | | 1.21.3 | 3.7.1 | 21 | Paper, Fabric | 🗃️ Archived (December 2024) |

View File

@@ -1,3 +0,0 @@
minecraft_version_numeric=12106
minecraft_api_version=1.21
paper_api_version=1.21.6-R0.1-SNAPSHOT

View File

@@ -0,0 +1,3 @@
minecraft_version_numeric=12107
minecraft_api_version=1.21
paper_api_version=1.21.7-R0.1-SNAPSHOT

View File

@@ -8,9 +8,9 @@ plugins {
dependencies { dependencies {
implementation project(path: ':common') implementation project(path: ':common')
implementation 'net.william278.uniform:uniform-bukkit:1.3.5' implementation 'net.william278.uniform:uniform-bukkit:1.3.6'
implementation 'net.william278.uniform:uniform-paper:1.3.5' implementation 'net.william278.uniform:uniform-paper:1.3.6'
implementation 'net.william278.toilet:toilet-bukkit:1.0.14' implementation 'net.william278.toilet:toilet-bukkit:1.0.15'
implementation 'net.william278:mpdbdataconverter:1.0.1' implementation 'net.william278:mpdbdataconverter:1.0.1'
implementation 'net.william278:hsldataconverter:1.0' implementation 'net.william278:hsldataconverter:1.0'
implementation 'net.william278:mapdataapi:2.0' implementation 'net.william278:mapdataapi:2.0'
@@ -18,7 +18,7 @@ dependencies {
implementation 'net.kyori:adventure-platform-bukkit:4.4.0' implementation 'net.kyori:adventure-platform-bukkit:4.4.0'
implementation 'dev.triumphteam:triumph-gui:3.1.12' implementation 'dev.triumphteam:triumph-gui:3.1.12'
implementation 'space.arim.morepaperlib:morepaperlib:0.4.4' implementation 'space.arim.morepaperlib:morepaperlib:0.4.4'
implementation 'de.tr7zw:item-nbt-api:2.15.1-SNAPSHOT' implementation 'de.tr7zw:item-nbt-api:2.15.1'
compileOnly "io.papermc.paper:paper-api:${paper_api_version}" compileOnly "io.papermc.paper:paper-api:${paper_api_version}"
compileOnly 'com.github.retrooper:packetevents-spigot:2.8.0' compileOnly 'com.github.retrooper:packetevents-spigot:2.8.0'

View File

@@ -17,9 +17,9 @@ dependencies {
exclude module: 'slf4j-api' exclude module: 'slf4j-api'
} }
compileOnlyApi 'net.william278.toilet:toilet-common:1.0.14' compileOnlyApi 'net.william278.toilet:toilet-common:1.0.15'
compileOnly 'net.william278.uniform:uniform-common:1.3.5' compileOnly 'net.william278.uniform:uniform-common:1.3.6'
compileOnly 'com.mojang:brigadier:1.1.8' compileOnly 'com.mojang:brigadier:1.1.8'
compileOnly 'org.projectlombok:lombok:1.18.38' compileOnly 'org.projectlombok:lombok:1.18.38'
compileOnly 'org.jetbrains:annotations:26.0.2' compileOnly 'org.jetbrains:annotations:26.0.2'

View File

@@ -2,7 +2,8 @@ HuskSync supports the following versions of Minecraft. Since v3.7, you must down
| Minecraft | Latest HuskSync | Java Version | Platforms | Support Status | | Minecraft | Latest HuskSync | Java Version | Platforms | Support Status |
|:---------------:|:---------------:|:------------:|:--------------|:------------------------------| |:---------------:|:---------------:|:------------:|:--------------|:------------------------------|
| 1.21.6 | _latest_ | 21 | Paper | ✅ **Active Release** | | 1.21.7 | _latest_ | 21 | Paper | ✅ **Active Release** |
| 1.21.6 | 3.8.5 | 21 | Paper | 🗃️ Archived (July 2025) |
| 1.21.5 | _latest_ | 21 | Paper | ✅ **January 2026** (Non-LTS) | | 1.21.5 | _latest_ | 21 | Paper | ✅ **January 2026** (Non-LTS) |
| 1.21.4 | _latest_ | 21 | Paper, Fabric | ✅ **November 2025** (Non-LTS) | | 1.21.4 | _latest_ | 21 | Paper, Fabric | ✅ **November 2025** (Non-LTS) |
| 1.21.3 | 3.7.1 | 21 | Paper, Fabric | 🗃️ Archived (December 2024) | | 1.21.3 | 3.7.1 | 21 | Paper, Fabric | 🗃️ Archived (December 2024) |

View File

@@ -1,7 +0,0 @@
essential.defaults.loom.mappings=net.fabricmc:yarn:1.21.6+build.1:v2
fabric_loader_version=0.16.14
fabric_api_version=0.127.1+1.21.6
fabric_permissions_api_version=0.4.0
fabric_adventure_platform_version=6.5.0-SNAPSHOT
fabric_sgui_version=1.10.0+1.21.6

View File

@@ -0,0 +1,7 @@
essential.defaults.loom.mappings=net.fabricmc:yarn:1.21.7+build.2:v2
fabric_loader_version=0.16.14
fabric_api_version=0.128.1+1.21.7
fabric_permissions_api_version=0.4.1
fabric_adventure_platform_version=6.5.0-SNAPSHOT
fabric_sgui_version=1.10.0+1.21.6

View File

@@ -14,8 +14,8 @@ dependencies {
modImplementation include("net.kyori:adventure-platform-fabric:${fabric_adventure_platform_version}") modImplementation include("net.kyori:adventure-platform-fabric:${fabric_adventure_platform_version}")
modImplementation include("me.lucko:fabric-permissions-api:${fabric_permissions_api_version}") modImplementation include("me.lucko:fabric-permissions-api:${fabric_permissions_api_version}")
modImplementation include("eu.pb4:sgui:${fabric_sgui_version}") modImplementation include("eu.pb4:sgui:${fabric_sgui_version}")
modImplementation include("net.william278.uniform:uniform-fabric:1.3.5+${project.name}") modImplementation include("net.william278.uniform:uniform-fabric:1.3.6+${project.name}")
modImplementation include("net.william278.toilet:toilet-fabric:1.0.14+${project.name}") modImplementation include("net.william278.toilet:toilet-fabric:1.0.15+${project.name}")
modImplementation "net.fabricmc.fabric-api:fabric-api:${fabric_api_version}" modImplementation "net.fabricmc.fabric-api:fabric-api:${fabric_api_version}"
// Manually include config deps due to the way including api deps works // Manually include config deps due to the way including api deps works

View File

@@ -1 +1 @@
1.21.6 1.21.7

View File

@@ -3,15 +3,15 @@ plugins {
} }
preprocess { preprocess {
def fabric12106 = createNode("1.21.6", 12106, "yarn") def fabric12107 = createNode("1.21.7", 12107, "yarn")
def fabric12105 = createNode("1.21.5", 12105, "yarn") def fabric12105 = createNode("1.21.5", 12105, "yarn")
def fabric12104 = createNode("1.21.4", 12104, "yarn") def fabric12104 = createNode("1.21.4", 12104, "yarn")
def fabric12101 = createNode("1.21.1", 12101, "yarn") def fabric12101 = createNode("1.21.1", 12101, "yarn")
def fabric12001 = createNode("1.20.1", 12001, "yarn") def fabric12001 = createNode("1.20.1", 12001, "yarn")
strictExtraMappings.set(true) strictExtraMappings.set(true)
fabric12105.link(fabric12106, null) fabric12105.link(fabric12107, null)
fabric12104.link(fabric12106, null) fabric12104.link(fabric12107, null)
fabric12101.link(fabric12106, null) fabric12101.link(fabric12107, null)
fabric12001.link(fabric12106, null) fabric12001.link(fabric12107, null)
} }

View File

@@ -102,6 +102,7 @@ public class FabricHuskSync implements DedicatedServerModInitializer, HuskSync,
private static final int VERSION1_21_4 = 4189; private static final int VERSION1_21_4 = 4189;
private static final int VERSION1_21_5 = 4323; private static final int VERSION1_21_5 = 4323;
private static final int VERSION1_21_6 = 4435; private static final int VERSION1_21_6 = 4435;
private static final int VERSION1_21_7 = 4438;
private final HashMap<Identifier, Serializer<? extends Data>> serializers = Maps.newHashMap(); private final HashMap<Identifier, Serializer<? extends Data>> serializers = Maps.newHashMap();
private final Map<UUID, Map<Identifier, Data>> playerCustomDataStore = Maps.newConcurrentMap(); private final Map<UUID, Map<Identifier, Data>> playerCustomDataStore = Maps.newConcurrentMap();
@@ -389,8 +390,9 @@ public class FabricHuskSync implements DedicatedServerModInitializer, HuskSync,
case "1.21.4" -> VERSION1_21_4; case "1.21.4" -> VERSION1_21_4;
case "1.21.5" -> VERSION1_21_5; case "1.21.5" -> VERSION1_21_5;
case "1.21.6" -> VERSION1_21_6; case "1.21.6" -> VERSION1_21_6;
//#if MC==12106 case "1.21.7" -> VERSION1_21_7;
default -> VERSION1_21_6; //#if MC==12107
default -> VERSION1_21_7;
//#elseif MC==12105 //#elseif MC==12105
//$$ default -> VERSION1_21_5; //$$ default -> VERSION1_21_5;
//#elseif MC==12104 //#elseif MC==12104

View File

@@ -274,7 +274,7 @@ public abstract class FabricSerializer {
@Nullable @Nullable
private NbtCompound encodeNbt(@NotNull ItemStack item, @NotNull DynamicRegistryManager reg) { private NbtCompound encodeNbt(@NotNull ItemStack item, @NotNull DynamicRegistryManager reg) {
try { try {
//#if MC>=12106 //#if MC>=12107
return (NbtCompound) ItemStack.CODEC.encodeStart(reg.getOps(NbtOps.INSTANCE), item).getOrThrow(); return (NbtCompound) ItemStack.CODEC.encodeStart(reg.getOps(NbtOps.INSTANCE), item).getOrThrow();
//#elseif MC>=12104 //#elseif MC>=12104
//$$ return (NbtCompound) item.toNbt(reg); //$$ return (NbtCompound) item.toNbt(reg);
@@ -292,7 +292,7 @@ public abstract class FabricSerializer {
@NotNull @NotNull
private ItemStack decodeNbt(@NotNull NbtElement item, @NotNull DynamicRegistryManager reg) { private ItemStack decodeNbt(@NotNull NbtElement item, @NotNull DynamicRegistryManager reg) {
//#if MC>=12106 //#if MC>=12107
final @Nullable ItemStack stack = ItemStack.CODEC.decode(reg.getOps(NbtOps.INSTANCE), item).getOrThrow().getFirst(); final @Nullable ItemStack stack = ItemStack.CODEC.decode(reg.getOps(NbtOps.INSTANCE), item).getOrThrow().getFirst();
//#elseif MC>12001 //#elseif MC>12001
//$$ final @Nullable ItemStack stack = ItemStack.fromNbt(reg, item).orElse(null); //$$ final @Nullable ItemStack stack = ItemStack.fromNbt(reg, item).orElse(null);

View File

@@ -4,7 +4,7 @@ org.gradle.daemon=true
javaVersion=21 javaVersion=21
# Plugin metadata # Plugin metadata
plugin_version=3.8.5 plugin_version=3.8.6
plugin_archive=husksync plugin_archive=husksync
plugin_description=A modern, cross-server player data synchronization system plugin_description=A modern, cross-server player data synchronization system