diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/v1_21to1_21_2/Protocol1_21To1_21_2.java b/common/src/main/java/com/viaversion/viaversion/protocols/v1_21to1_21_2/Protocol1_21To1_21_2.java index 038fc2abd..e074cb27c 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/v1_21to1_21_2/Protocol1_21To1_21_2.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/v1_21to1_21_2/Protocol1_21To1_21_2.java @@ -135,7 +135,6 @@ public final class Protocol1_21To1_21_2 extends AbstractProtocol { @@ -157,31 +157,36 @@ public final class EntityPacketRewriter1_21_2 extends EntityRewriter { final ClientVehicleStorage vehicleStorage = wrapper.user().get(ClientVehicleStorage.class); + if (vehicleStorage == null) { + return; + } + final int[] entityIds = wrapper.get(Types.VAR_INT_ARRAY_PRIMITIVE, 0); for (final int entityId : entityIds) { if (entityId == vehicleStorage.vehicleId()) { - vehicleStorage.clear(); + wrapper.user().remove(ClientVehicleStorage.class); + break; } } }); protocol.registerServerbound(ServerboundPackets1_21_2.PLAYER_INPUT, wrapper -> { // Previously only used while in a vehicle, now always sent // Filter them appropriately - if (wrapper.user().get(ClientVehicleStorage.class).vehicleId() == -1) { + if (!wrapper.user().has(ClientVehicleStorage.class)) { wrapper.cancel(); return; } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/v1_21to1_21_2/storage/ClientVehicleStorage.java b/common/src/main/java/com/viaversion/viaversion/protocols/v1_21to1_21_2/storage/ClientVehicleStorage.java index 82448dc31..303e1438b 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/v1_21to1_21_2/storage/ClientVehicleStorage.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/v1_21to1_21_2/storage/ClientVehicleStorage.java @@ -19,19 +19,5 @@ package com.viaversion.viaversion.protocols.v1_21to1_21_2.storage; import com.viaversion.viaversion.api.connection.StorableObject; -public class ClientVehicleStorage implements StorableObject { - - private int vehicleId = -1; - - public int vehicleId() { - return this.vehicleId; - } - - public void setVehicleId(final int vehicleId) { - this.vehicleId = vehicleId; - } - - public void clear() { - this.vehicleId = -1; - } +public record ClientVehicleStorage(int vehicleId) implements StorableObject { }