Skip to content

Commit 1cafd08

Browse files
committed
Fix kinetic weapon condition reading
1 parent d545814 commit 1cafd08

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

api/src/main/java/com/viaversion/viaversion/api/minecraft/item/data/KineticWeapon.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.viaversion.viaversion.api.minecraft.Holder;
2626
import com.viaversion.viaversion.api.minecraft.SoundEvent;
2727
import com.viaversion.viaversion.api.minecraft.codec.Ops;
28+
import com.viaversion.viaversion.api.type.OptionalType;
2829
import com.viaversion.viaversion.api.type.Type;
2930
import com.viaversion.viaversion.api.type.Types;
3031
import io.netty.buffer.ByteBuf;
@@ -40,9 +41,9 @@ public record KineticWeapon(int contactCooldownTicks, int delayTicks, @Nullable
4041
public KineticWeapon read(final ByteBuf buffer) {
4142
final int contactCooldownTicks = Types.VAR_INT.readPrimitive(buffer);
4243
final int delayTicks = Types.VAR_INT.readPrimitive(buffer);
43-
final Condition dismountConditions = Condition.TYPE.read(buffer);
44-
final Condition knockbackConditions = Condition.TYPE.read(buffer);
45-
final Condition damageConditions = Condition.TYPE.read(buffer);
44+
final Condition dismountConditions = Condition.OPTIONAL_TYPE.read(buffer);
45+
final Condition knockbackConditions = Condition.OPTIONAL_TYPE.read(buffer);
46+
final Condition damageConditions = Condition.OPTIONAL_TYPE.read(buffer);
4647
final float forwardMovement = Types.FLOAT.readPrimitive(buffer);
4748
final float damageMultiplier = Types.FLOAT.readPrimitive(buffer);
4849
final Holder<SoundEvent> sound = Types.OPTIONAL_SOUND_EVENT.read(buffer);
@@ -54,9 +55,9 @@ public KineticWeapon read(final ByteBuf buffer) {
5455
public void write(final ByteBuf buffer, final KineticWeapon value) {
5556
Types.VAR_INT.writePrimitive(buffer, value.contactCooldownTicks);
5657
Types.VAR_INT.writePrimitive(buffer, value.delayTicks);
57-
Condition.TYPE.write(buffer, value.dismountConditions);
58-
Condition.TYPE.write(buffer, value.knockbackConditions);
59-
Condition.TYPE.write(buffer, value.damageConditions);
58+
Condition.OPTIONAL_TYPE.write(buffer, value.dismountConditions);
59+
Condition.OPTIONAL_TYPE.write(buffer, value.knockbackConditions);
60+
Condition.OPTIONAL_TYPE.write(buffer, value.damageConditions);
6061
Types.FLOAT.writePrimitive(buffer, value.forwardMovement);
6162
Types.FLOAT.writePrimitive(buffer, value.damageMultiplier);
6263
Types.OPTIONAL_SOUND_EVENT.write(buffer, value.sound);
@@ -106,5 +107,7 @@ public void write(final Ops ops, final Condition value) {
106107
);
107108
}
108109
};
110+
public static final Type<Condition> OPTIONAL_TYPE = new OptionalType<>(TYPE) {
111+
};
109112
}
110113
}

0 commit comments

Comments
 (0)