protocolManager = ProtocolLibrary.getProtocolManager();
protocolManager.addPacketListener(
new PacketAdapter(Main.instance, ListenerPriority.NORMAL, PacketType.Play.Client.STEER_VEHICLE) {
@Override
public void onPacketReceiving(PacketEvent event) {
final Player player = event.getPlayer();
if (event.getPacketType() == PacketType.Play.Client.STEER_VEHICLE
&& player.getVehicle() != null) {
final PacketContainer packet = event.getPacket();
final float right = event.getPacket().getFloat().readSafely(0); // positive means right, negative is left
final float forward = event.getPacket().getFloat().readSafely(1); // positive means forward, negative is backwards
try {
if (event.getPacket().getBooleans().readSafely(1)) {
//the player used shift and is trying to get out of the vehicle
}
if (event.getPacket().getBooleans().readSafely(0)) {
//player has pressed space
}
} catch (Error | Exception e45) {
}
}
}
});
}