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.4
paper-1.21.5
paper-1.21.6
paper-1.21.7
fabric-1.20.1
fabric-1.21.1
fabric-1.21.4
fabric-1.21.5
fabric-1.21.6
fabric-1.21.7
distro-groups: |
paper
paper
@@ -77,20 +77,20 @@ jobs:
Paper 1.21.1
Paper 1.21.4
Paper 1.21.5
Paper 1.21.6
Paper 1.21.7
Fabric 1.20.1
Fabric 1.21.1
Fabric 1.21.4
Fabric 1.21.5
Fabric 1.21.6
Fabric 1.21.7
files: |
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.4.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.21.1.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.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.4
paper-1.21.5
paper-1.21.6
paper-1.21.7
fabric-1.20.1
fabric-1.21.1
fabric-1.21.4
fabric-1.21.5
fabric-1.21.6
fabric-1.21.7
distro-groups: |
paper
paper
@@ -66,20 +66,20 @@ jobs:
Paper 1.21.1
Paper 1.21.4
Paper 1.21.5
Paper 1.21.6
Paper 1.21.7
Fabric 1.20.1
Fabric 1.21.1
Fabric 1.21.4
Fabric 1.21.5
Fabric 1.21.6
Fabric 1.21.7
files: |
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.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.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.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.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 |
|:---------------:|:---------------:|:------------:|:--------------|:------------------------------|
| 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.4 | _latest_ | 21 | Paper, Fabric | ✅ **November 2025** (Non-LTS) |
| 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 {
implementation project(path: ':common')
implementation 'net.william278.uniform:uniform-bukkit:1.3.5'
implementation 'net.william278.uniform:uniform-paper:1.3.5'
implementation 'net.william278.toilet:toilet-bukkit:1.0.14'
implementation 'net.william278.uniform:uniform-bukkit:1.3.6'
implementation 'net.william278.uniform:uniform-paper:1.3.6'
implementation 'net.william278.toilet:toilet-bukkit:1.0.15'
implementation 'net.william278:mpdbdataconverter:1.0.1'
implementation 'net.william278:hsldataconverter:1.0'
implementation 'net.william278:mapdataapi:2.0'
@@ -18,7 +18,7 @@ dependencies {
implementation 'net.kyori:adventure-platform-bukkit:4.4.0'
implementation 'dev.triumphteam:triumph-gui:3.1.12'
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 'com.github.retrooper:packetevents-spigot:2.8.0'

View File

@@ -17,9 +17,9 @@ dependencies {
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 'org.projectlombok:lombok:1.18.38'
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 |
|:---------------:|:---------------:|:------------:|:--------------|:------------------------------|
| 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.4 | _latest_ | 21 | Paper, Fabric | ✅ **November 2025** (Non-LTS) |
| 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("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.3.5+${project.name}")
modImplementation include("net.william278.toilet:toilet-fabric:1.0.14+${project.name}")
modImplementation include("net.william278.uniform:uniform-fabric:1.3.6+${project.name}")
modImplementation include("net.william278.toilet:toilet-fabric:1.0.15+${project.name}")
modImplementation "net.fabricmc.fabric-api:fabric-api:${fabric_api_version}"
// 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 {
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 fabric12104 = createNode("1.21.4", 12104, "yarn")
def fabric12101 = createNode("1.21.1", 12101, "yarn")
def fabric12001 = createNode("1.20.1", 12001, "yarn")
strictExtraMappings.set(true)
fabric12105.link(fabric12106, null)
fabric12104.link(fabric12106, null)
fabric12101.link(fabric12106, null)
fabric12001.link(fabric12106, null)
fabric12105.link(fabric12107, null)
fabric12104.link(fabric12107, null)
fabric12101.link(fabric12107, 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_5 = 4323;
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 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.5" -> VERSION1_21_5;
case "1.21.6" -> VERSION1_21_6;
//#if MC==12106
default -> VERSION1_21_6;
case "1.21.7" -> VERSION1_21_7;
//#if MC==12107
default -> VERSION1_21_7;
//#elseif MC==12105
//$$ default -> VERSION1_21_5;
//#elseif MC==12104

View File

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

View File

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