Skip to content

Commit 24cbe1b

Browse files
committed
HOPEFULLY fixes netowrk packet issues.
1 parent 399147c commit 24cbe1b

File tree

3 files changed

+21
-66
lines changed

3 files changed

+21
-66
lines changed

common/src/main/java/generations/gg/generations/core/generationscore/common/world/recipe/ShapedRksRecipe.java

Lines changed: 11 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -229,50 +229,29 @@ public record Serializer() implements RecipeSerializer<ShapedRksRecipe> {
229229

230230
@Override
231231
public @NotNull ShapedRksRecipe fromNetwork(@NotNull ResourceLocation recipeId, FriendlyByteBuf buffer) {
232-
int i = buffer.readVarInt();
233-
int j = buffer.readVarInt();
234-
String string = buffer.readUtf();
235-
NonNullList<GenerationsIngredient> nonNullList = NonNullList.withSize(i * j, GenerationsIngredient.EmptyIngredient.INSTANCE);
236-
nonNullList.replaceAll(ignored -> GenerationsIngredidents.fromNetwork(buffer));
237-
238-
232+
var width = buffer.readVarInt();
233+
var height = buffer.readVarInt();
234+
var group = buffer.readUtf();
235+
var recipeItems = buffer.readCollection(size -> NonNullList.withSize(size, GenerationsIngredient.EmptyIngredient.INSTANCE), GenerationsIngredidents::fromNetwork);
239236
var result = RksResultType.RKS_RESULT.get(buffer.readResourceLocation()).fromBuffer().apply(buffer);
240-
241237
var consumesTimeCapsules = buffer.readBoolean();
238+
var key = buffer.readNullable(TimeCapsuleIngredientKt::readSpeciesKey);
239+
var experience = buffer.readFloat();
240+
var processingTime = buffer.readInt();
241+
var showNotification = buffer.readBoolean();
242242

243-
var speciesKey = buffer.readNullable(buf -> {
244-
var location = buf.readResourceLocation();
245-
var aspects = buf.readNullable((FriendlyByteBuf.Reader<Set<String>>) buf1 -> buf1.readCollection(HashSet::new, FriendlyByteBuf::readUtf));
246-
247-
return new SpeciesKey(location, aspects);
248-
});
249-
250-
float experience = buffer.readFloat();
251-
int weavingTime = buffer.readInt();
252-
boolean bl = buffer.readBoolean();
253-
254-
return new ShapedRksRecipe(recipeId, string, i, j, nonNullList, result, consumesTimeCapsules, speciesKey, experience, weavingTime, bl);
243+
return new ShapedRksRecipe(recipeId, group, width, height, recipeItems, result, consumesTimeCapsules, key, experience, processingTime, showNotification);
255244
}
256245

257246
@Override
258247
public void toNetwork(FriendlyByteBuf buffer, ShapedRksRecipe recipe) {
259248
buffer.writeVarInt(recipe.width);
260249
buffer.writeVarInt(recipe.height);
261250
buffer.writeUtf(recipe.group);
262-
263-
for (GenerationsIngredient generationsIngredient : recipe.recipeItems) {
264-
GenerationsIngredidents.toNetwork(buffer, generationsIngredient);
265-
}
266-
251+
buffer.writeCollection(recipe.recipeItems, GenerationsIngredidents::toNetwork);
267252
recipe.result.toBuffer(buffer);
268-
269253
buffer.writeBoolean(recipe.consumesTimeCapsules);
270-
271-
buffer.writeNullable(recipe.key, (buf, speciesKey) -> {
272-
buffer.writeResourceLocation(speciesKey.species());
273-
buffer.writeNullable(speciesKey.aspects(), (buf1, strings) -> buf1.writeCollection(strings, FriendlyByteBuf::writeUtf));
274-
});
275-
254+
buffer.writeNullable(recipe.key, TimeCapsuleIngredientKt::writeSpeciesKey);
276255
buffer.writeFloat(recipe.experience());
277256
buffer.writeInt(recipe.processingTime());
278257
buffer.writeBoolean(recipe.showNotification);

common/src/main/java/generations/gg/generations/core/generationscore/common/world/recipe/ShapelessRksRecipe.java

Lines changed: 8 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -123,49 +123,25 @@ private static NonNullList<GenerationsIngredient> itemsFromJson(JsonArray ingred
123123

124124
@Override
125125
public @NotNull ShapelessRksRecipe fromNetwork(@NotNull ResourceLocation recipeId, FriendlyByteBuf buffer) {
126-
String string = buffer.readUtf();
127-
128-
int i = buffer.readInt();
129-
NonNullList<GenerationsIngredient> nonNullList = NonNullList.withSize(i, GenerationsIngredient.EmptyIngredient.INSTANCE);
130-
nonNullList.replaceAll(ignored -> GenerationsIngredidents.fromNetwork(buffer));
131-
132-
126+
var group = buffer.readUtf();
127+
var ingredients = buffer.readCollection(size -> NonNullList.withSize(size, GenerationsIngredient.EmptyIngredient.INSTANCE), GenerationsIngredidents::fromNetwork);
133128
var result = RksResultType.RKS_RESULT.get(buffer.readResourceLocation()).fromBuffer().apply(buffer);
134-
135129
var consumesTimeCapsules = buffer.readBoolean();
136-
137-
var speciesKey = buffer.readNullable(buf -> {
138-
var location = buf.readResourceLocation();
139-
var aspects = buf.readNullable((FriendlyByteBuf.Reader<Set<String>>) buf1 -> buf1.readCollection(HashSet::new, FriendlyByteBuf::readUtf));
140-
141-
return new SpeciesKey(location, aspects);
142-
});
143-
130+
var key = buffer.readNullable(TimeCapsuleIngredientKt::readSpeciesKey);
144131
float experience = buffer.readFloat();
145-
int weavingTime = buffer.readInt();
146-
boolean bl = buffer.readBoolean();
132+
int processingTime = buffer.readInt();
133+
boolean showNotification = buffer.readBoolean();
147134

148-
return new ShapelessRksRecipe(recipeId, string, result, nonNullList, consumesTimeCapsules, speciesKey, experience, weavingTime, bl);
135+
return new ShapelessRksRecipe(recipeId, group, result, ingredients, consumesTimeCapsules, key, experience, processingTime, showNotification);
149136
}
150137

151138
@Override
152139
public void toNetwork(FriendlyByteBuf buffer, ShapelessRksRecipe recipe) {
153140
buffer.writeUtf(recipe.group);
154-
155-
buffer.writeVarInt(recipe.ingredients.size());
156-
for (GenerationsIngredient generationsIngredient : recipe.ingredients) {
157-
GenerationsIngredidents.toNetwork(buffer, generationsIngredient);
158-
}
159-
141+
buffer.writeCollection(recipe.ingredients, GenerationsIngredidents::toNetwork);
160142
recipe.result.toBuffer(buffer);
161-
162143
buffer.writeBoolean(recipe.consumesTimeCapsules);
163-
164-
buffer.writeNullable(recipe.key, (buf, speciesKey) -> {
165-
buffer.writeResourceLocation(speciesKey.species());
166-
buffer.writeNullable(speciesKey.aspects(), (buf1, strings) -> buf1.writeCollection(strings, FriendlyByteBuf::writeUtf));
167-
});
168-
144+
buffer.writeNullable(recipe.key, TimeCapsuleIngredientKt::writeSpeciesKey);
169145
buffer.writeFloat(recipe.experience());
170146
buffer.writeInt(recipe.processingTime());
171147
buffer.writeBoolean(recipe.showNotification);

common/src/main/java/generations/gg/generations/core/generationscore/common/world/recipe/TimeCapsuleIngredient.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ object TimeCapsuleIngredientSerializer : GenerationsIngredientSerializer<TimeCap
5252
}
5353
}
5454

55-
private fun FriendlyByteBuf.readSpeciesKey(): SpeciesKey =
55+
fun FriendlyByteBuf.readSpeciesKey(): SpeciesKey =
5656
SpeciesKey(
5757
this.readResourceLocation(),
5858
this.readCollection<String, HashSet<String>>(::HashSet, FriendlyByteBuf::readUtf)
5959
)
60-
private fun FriendlyByteBuf.writeSpeciesKey(key: SpeciesKey): FriendlyByteBuf = this.writeResourceLocation(key.species).writeCollection(key.aspects, FriendlyByteBuf::writeUtf).let { this }
60+
fun FriendlyByteBuf.writeSpeciesKey(key: SpeciesKey): FriendlyByteBuf = this.writeResourceLocation(key.species).writeCollection(key.aspects, FriendlyByteBuf::writeUtf).let { this }

0 commit comments

Comments
 (0)