---
title: Default Spawn Position
description: "Play 0x61, server → client."
---

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

Sets the world spawn point, including dimension, position and rotation. The server sends it after `Login` and when the spawn point changes. The client uses it for the compass target and as the respawn location when the player has no bed or anchor. It does not move the player; use `SynchronizePlayerPosition` for that.

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

## Fields

| Field | Type | Notes |
|---|---|---|
| `dimension` | Identifier |  |
| `position` | Position | Shape: `{ x: number; y: number; z: number }`. |
| `yaw` | Float | Optional. |
| `pitch` | Float | Optional. |

## Send it

```ts
await client.sendPacket("DefaultSpawnPosition", {
  dimension: "minecraft:overworld",
  position: { x: 0, y: 64, z: 0 },
  yaw: 0,
  pitch: 0,
});
```

Sets the compass target and where the client respawns when no bed or anchor is set. It does not position the player or end the loading screen: that needs `SynchronizePlayerPosition`, `GameEvent` 13, and the chunk under the player. Send once after `Login` and again when the spawn point changes.

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

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