From ff01b758bea7e293daa08539c2154c94c49c642f Mon Sep 17 00:00:00 2001 From: trinsdar <30245301+Trinsdar@users.noreply.github.com> Date: Fri, 31 Jan 2025 18:53:22 -0500 Subject: [PATCH] fixed recipe tags not getting synced from server to client --- .../serializer/AntimatterRecipeSerializer.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/common/src/main/java/muramasa/antimatter/recipe/serializer/AntimatterRecipeSerializer.java b/common/src/main/java/muramasa/antimatter/recipe/serializer/AntimatterRecipeSerializer.java index 1a9839ee9..f608b24f8 100644 --- a/common/src/main/java/muramasa/antimatter/recipe/serializer/AntimatterRecipeSerializer.java +++ b/common/src/main/java/muramasa/antimatter/recipe/serializer/AntimatterRecipeSerializer.java @@ -29,6 +29,7 @@ import tesseract.TesseractGraphWrappers; import java.util.Arrays; +import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -194,6 +195,13 @@ public T fromNetwork(ResourceLocation recipeId, FriendlyByteBuf buffer) { inputChances[i] = buffer.readInt(); } } + size = buffer.readInt(); + Set tags = new HashSet<>(size); + if (size > 0) { + for (int i = 0; i < size; i++) { + tags.add(buffer.readUtf()); + } + } long power = buffer.readLong(); int dur = buffer.readInt(); int special = buffer.readInt(); @@ -216,6 +224,9 @@ public T fromNetwork(ResourceLocation recipeId, FriendlyByteBuf buffer) { if (inputChances.length > 0){ r.addInputChances(inputChances); } + if (!tags.isEmpty()){ + r.addTags(tags); + } r.setIds(recipeId, mapId); r.setHidden(hidden); r.setFake(fake); @@ -249,6 +260,10 @@ public void toNetwork(FriendlyByteBuf buffer, T recipe) { if (recipe.hasInputChances()) { Arrays.stream(recipe.getInputChances()).forEach(buffer::writeInt); } + buffer.writeInt(recipe.getTags().size()); + if (!recipe.getTags().isEmpty()){ + recipe.getTags().forEach(buffer::writeUtf); + } buffer.writeLong(recipe.getPower()); buffer.writeInt(recipe.getDuration()); buffer.writeInt(recipe.getSpecialValue());