Fixed disconnect when joining a multiplayer server

This commit is contained in:
Sollace 2022-01-12 14:26:00 +02:00
parent 472034bf15
commit 09f76a4286
2 changed files with 9 additions and 11 deletions

View file

@ -22,20 +22,12 @@ public record TraitIngredient (
}
public void write(PacketByteBuf buf) {
min.ifPresentOrElse(m -> {
buf.writeBoolean(true);
m.write(buf);
}, () -> buf.writeBoolean(false));
max.ifPresentOrElse(m -> {
buf.writeBoolean(true);
m.write(buf);
}, () -> buf.writeBoolean(false));
buf.writeOptional(min, (b, m) -> m.write(b));
buf.writeOptional(max, (b, m) -> m.write(b));
}
public static TraitIngredient fromPacket(PacketByteBuf buf) {
Optional<SpellTraits> min = Optional.empty();
Optional<SpellTraits> max = Optional.empty();
return new TraitIngredient(min, max);
return new TraitIngredient(SpellTraits.fromPacket(buf), SpellTraits.fromPacket(buf));
}
public static TraitIngredient fromJson(JsonObject json) {

View file

@ -216,6 +216,12 @@ public final class SpellTraits implements Iterable<Map.Entry<Trait, Float>> {
}
public static Optional<SpellTraits> fromPacket(PacketByteBuf buf) {
boolean present = buf.readBoolean();
if (!present) {
return Optional.empty();
}
Map<Trait, Float> entries = new HashMap<>();
int count = buf.readInt();
if (count <= 0) {