---
title: Open Sign Editor
description: "Play 0x3C, server → client."
---

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

Opens the sign editing screen for the sign at `location`, editing the front or back text depending on `isFrontText`. The server sends it after a player places a sign or interacts with an editable sign. The client shows the editor and sends the text back in a serverbound SignUpdate.

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

## Fields

| Field | Type | Notes |
|---|---|---|
| `location` | Position | also `position` |
| `isFrontText` | Boolean |  |

## Send it

```ts
await client.sendPacket("OpenSignEditor", {
  location: /* Position */,
  isFrontText: /* Boolean */,
});
```

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

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