---
title: Move Minecart Along Track
description: "Play 0x37, server → client."
---

`play` · `0x37` · **clientbound** (server → client)

Sends the path a minecart follows along the rails as a list of `steps`, each with position, velocity, rotation, and a `weight` for timing. The server sends it for minecarts when the new minecart movement is enabled. The client interpolates the minecart along the steps instead of using normal movement packets.

Sent by the server, read by the client. Listen for it with `client.on("MoveMinecartAlongTrack", (data) => …)` on the receiving side.

## Fields

| Field | Type | Notes |
|---|---|---|
| `entityId` | VarInt |  |
| `steps` | Array |  |

## Send it

```ts
await client.sendPacket("MoveMinecartAlongTrack", {
  entityId: /* VarInt */,
  steps: /* Array */,
});
```

Field aliases listed under Notes are accepted as alternative keys when writing.

Source: [`src/Core/Versions/776/Packets/play/clientbound/MoveMinecartAlongTrack.ts`](https://github.com/GDLev/mc-protocol/blob/master/src/Core/Versions/776/Packets/play/clientbound/MoveMinecartAlongTrack.ts)
