Skip to content

Commit eac273f

Browse files
committed
Add version to server config packet
for forward compatibility
1 parent 43b481e commit eac273f

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ plugins {
33
id 'maven-publish'
44
}
55

6-
sourceCompatibility = JavaVersion.VERSION_17
7-
targetCompatibility = JavaVersion.VERSION_17
6+
sourceCompatibility = JavaVersion.VERSION_21
7+
targetCompatibility = JavaVersion.VERSION_21
88

99
version = "${project.mod_version}+${project.minecraft_version}"
1010
group = project.maven_group
@@ -81,7 +81,7 @@ processResources {
8181

8282
tasks.withType(JavaCompile).configureEach {
8383
// Minecraft 1.18 (1.18-pre2) upwards uses Java 17.
84-
it.options.release = 17
84+
it.options.release = 21
8585
}
8686

8787
java {

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G
88
loader_version=0.16.9
99

1010
# Mod Properties
11-
mod_version = 4.0.0-beta.1
11+
mod_version = 4.0.0-beta.2
1212
maven_group = de.mschae23.minecraft.mod
1313
archives_base_name = grind-enchantments
1414

src/main/java/de/mschae23/grindenchantments/config/sync/ServerConfigS2CPayload.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import net.minecraft.network.PacketByteBuf;
2323
import net.minecraft.network.codec.PacketCodec;
24+
import net.minecraft.network.codec.PacketCodecs;
2425
import net.minecraft.network.packet.CustomPayload;
2526
import net.minecraft.util.Identifier;
2627
import de.mschae23.grindenchantments.GrindEnchantmentsMod;
@@ -37,6 +38,11 @@ public Id<? extends CustomPayload> getId() {
3738
}
3839

3940
public static PacketCodec<PacketByteBuf, ServerConfigS2CPayload> createPacketCodec(PacketCodec<PacketByteBuf, CostFunction> costFunctionCodec) {
40-
return ServerConfig.createPacketCodec(costFunctionCodec).xmap(ServerConfigS2CPayload::new, ServerConfigS2CPayload::config);
41+
return PacketCodec.tuple(
42+
// Version field for forward compatibility
43+
PacketCodecs.BYTE, payload -> (byte) 1,
44+
ServerConfig.createPacketCodec(costFunctionCodec), ServerConfigS2CPayload::config,
45+
(version, config) -> new ServerConfigS2CPayload(config)
46+
);
4147
}
4248
}

0 commit comments

Comments
 (0)