2026-03-25 13:51:10 +00:00
# WebSocket Commands
Commands are JSON objects sent over the WebSocket connection.
Each command produces a response through the [`OnWsCommandResponse` ](Events.md#onwscommandresponse ) event.
```json
{
"command": "CommandName",
"requestId": "unique-id",
"parameters": []
}
```
## Protocol Commands
These commands manage the WebSocket session itself.
### `Authenticate`
Authenticate with the configured password.
Must be called before any other command (except `ChangeSessionId` ).
**Parameters:**
| Index | Type | Description |
|-------|--------|-------------|
| 0 | string | Password |
**Example:**
```json
{
"command": "Authenticate",
"requestId": "auth-001",
2026-03-25 13:54:04 +00:00
"parameters": ["your-password-here"]
2026-03-25 13:51:10 +00:00
}
```
### `ChangeSessionId`
Rename the current session. Can be called without authentication.
The new ID must be 1-32 characters and not already taken.
**Parameters:**
| Index | Type | Description |
|-------|--------|----------------|
| 0 | string | New session ID |
**Example:**
```json
{
"command": "ChangeSessionId",
"requestId": "rename-001",
"parameters": ["my-bot"]
}
```
## Logging Commands
### `LogToConsole`
Log a message to the MCC console.
**Parameters:**
| Index | Type | Description |
|-------|--------|-------------|
| 0 | string | Message |
### `LogDebugToConsole`
Log a debug message to the MCC console (only visible in debug mode).
**Parameters:**
| Index | Type | Description |
|-------|--------|-------------|
| 0 | string | Message |
### `LogToConsoleTranslated`
Log a translated message using an MCC translation key.
**Parameters:**
| Index | Type | Description |
|-------|--------|------------------|
| 0 | string | Translation key |
### `LogDebugToConsoleTranslated`
Log a translated debug message.
**Parameters:**
| Index | Type | Description |
|-------|--------|------------------|
| 0 | string | Translation key |
## Session Commands
### `ReconnectToTheServer`
Reconnect to the Minecraft server.
**Parameters:**
| Index | Type | Description |
|-------|------|-------------------------------------|
| 0 | int | Extra reconnect attempts (default 3)|
| 1 | int | Delay in seconds (default 0) |
### `DisconnectAndExit`
Disconnect from the server and shut down MCC.
No parameters.
## Chat Commands
### `SendPrivateMessage`
Send a private message to a player.
**Parameters:**
| Index | Type | Description |
|-------|--------|---------------|
| 0 | string | Player name |
| 1 | string | Message |
## Script Commands
### `RunScript`
Run an MCC script file.
**Parameters:**
| Index | Type | Description |
|-------|--------|-------------|
| 0 | string | File name |
## World and Terrain Commands
### `GetTerrainEnabled`
Check if terrain handling is enabled.
No parameters. Returns `{ "enabled": true/false }` .
### `SetTerrainEnabled`
Enable or disable terrain handling.
**Parameters:**
| Index | Type | Description |
|-------|------|-------------|
| 0 | bool | Enabled |
### `GetWorld`
Check if world data is available.
No parameters. Returns `{ "available": true }` if terrain is enabled.
### `DigBlock`
Break a block at the given coordinates.
Validates the block is within 6 blocks and is not air.
**Parameters:**
| Index | Type | Description |
|-------|---------|--------------------------------|
| 0 | double | X coordinate |
| 1 | double | Y coordinate |
| 2 | double | Z coordinate |
| 3 | string | Direction (optional, e.g. "Down") |
The `Direction` parameter accepts string names: `Down` , `Up` , `North` , `South` , `West` , `East` .
## Entity Commands
### `GetEntityHandlingEnabled`
Check if entity handling is enabled.
No parameters. Returns `{ "enabled": true/false }` .
### `GetEntities`
Get all tracked entities.
No parameters. Returns a dictionary of entity ID to entity object.
Entity types are serialized as string names (e.g., `"Zombie"` , `"Player"` ).
### `InteractEntity`
Interact with an entity.
**Parameters:**
| Index | Type | Description |
|-------|--------|--------------------------------------|
| 0 | int | Entity ID |
| 1 | string | Interaction type (`Interact` , `Attack` , `InteractAt` ) |
| 2 | string | Hand (optional, `MainHand` or `OffHand` ) |
### `SendEntityAction`
Send an entity action.
**Parameters:**
| Index | Type | Description |
|-------|--------|------------------------------|
| 0 | string | Action type (e.g. `StartSneaking` , `StopSneaking` ) |
### `Sneak`
Toggle sneaking.
**Parameters:**
| Index | Type | Description |
|-------|------|------------------|
| 0 | bool | true to sneak, false to stop |
## Movement Commands
### `GetCurrentLocation`
Get the player's current location.
No parameters. Returns a location object with `x` , `y` , `z` .
### `MoveToLocation`
Move the player to a location using pathfinding.
**Parameters:**
| Index | Type | Description |
|-------|--------|----------------------------------|
| 0 | double | X coordinate |
| 1 | double | Y coordinate |
| 2 | double | Z coordinate |
| 3 | bool | Allow unsafe (optional, false) |
| 4 | bool | Allow direct teleport (optional) |
| 5 | int | Max offset (optional, 0) |
| 6 | int | Min offset (optional, 0) |
### `ClientIsMoving`
Check if the client is currently moving.
No parameters. Returns `{ "moving": true/false }` .
### `LookAtLocation`
Make the player look at coordinates.
**Parameters:**
| Index | Type | Description |
|-------|--------|-------------|
| 0 | double | X |
| 1 | double | Y |
| 2 | double | Z |
## Player Info Commands
### `GetUsername`
Get the player's username.
No parameters. Returns `{ "username": "..." }` .
### `GetUserUUID`
Get the player's UUID.
No parameters. Returns `{ "uuid": "..." }` .
### `GetGamemode`
Get the current gamemode.
No parameters. Returns `{ "gamemode": 0 }` .
### `GetYaw`
Get the player's yaw rotation.
No parameters. Returns `{ "yaw": 0.0 }` .
### `GetPitch`
Get the player's pitch rotation.
No parameters. Returns `{ "pitch": 0.0 }` .
### `GetOnlinePlayers`
Get a list of online player names.
No parameters. Returns a string array.
### `GetOnlinePlayersWithUUID`
Get online players with their UUIDs.
No parameters. Returns a dictionary of UUID to player name.
### `GetPlayersLatency`
Get latency information for online players.
No parameters.
## Server Info Commands
### `GetServerHost`
Get the server hostname.
No parameters. Returns `{ "host": "..." }` .
### `GetServerPort`
Get the server port.
No parameters. Returns `{ "port": 25565 }` .
### `GetServerTPS`
Get the server TPS (ticks per second).
No parameters. Returns `{ "tps": 20.0 }` .
### `GetTimestamp`
Get the current timestamp.
No parameters. Returns `{ "timestamp": "..." }` .
### `GetProtocolVersion`
Get the Minecraft protocol version.
No parameters. Returns `{ "protocolVersion": 769 }` .
### `GetMaxChatMessageLength`
Get the maximum chat message length.
No parameters. Returns `{ "length": 256 }` .
## Inventory Commands
### `GetInventoryEnabled`
Check if inventory handling is enabled.
No parameters. Returns `{ "enabled": true/false }` .
### `GetPlayerInventory`
Get the player's inventory.
No parameters. Returns the full inventory container with items.
Item types are serialized as string names (e.g., `"DiamondSword"` , `"Stone"` ).
### `GetInventories`
Get all open inventories.
No parameters.
### `WindowAction`
Perform a window/inventory action.
**Parameters:**
| Index | Type | Description |
|-------|--------|---------------------------------------------------|
| 0 | int | Inventory ID |
| 1 | int | Slot ID |
| 2 | string | Action type (e.g. `LeftClick` , `RightClick` , `DropItemStack` ) |
### `ChangeSlot`
Change the active hotbar slot.
**Parameters:**
| Index | Type | Description |
|-------|-------|-------------------|
| 0 | short | Slot number (0-8) |
### `GetCurrentSlot`
Get the currently selected hotbar slot.
No parameters. Returns `{ "slot": 0 }` .
### `SetSlot`
Set the active slot (legacy command).
**Parameters:**
| Index | Type | Description |
|-------|------|-------------|
| 0 | int | Slot number |
### `ClearInventories`
Clear tracked inventory state.
No parameters.
### `CloseInventory`
Close an inventory window.
**Parameters:**
| Index | Type | Description |
|-------|------|--------------|
| 0 | int | Inventory ID |
## Creative Mode Commands
### `CreativeGive`
Give an item in creative mode.
**Parameters:**
| Index | Type | Description |
|-------|--------|--------------------------------------------|
| 0 | int | Slot ID |
| 1 | string | Item type (e.g. `"DiamondSword"` or `798` ) |
| 2 | int | Count |
### `CreativeDelete`
Delete an item from a slot in creative mode.
**Parameters:**
| Index | Type | Description |
|-------|------|-------------|
| 0 | int | Slot ID |
## Block Interaction Commands
### `SendPlaceBlock`
Place a block.
**Parameters:**
| Index | Type | Description |
|-------|--------|--------------------------|
| 0 | double | X coordinate |
| 1 | double | Y coordinate |
| 2 | double | Z coordinate |
| 3 | string | Direction (e.g. `"Up"` ) |
| 4 | string | Hand (optional, `"MainHand"` or `"OffHand"` ) |
### `SendAnimation`
Play arm swing animation.
**Parameters:**
| Index | Type | Description |
|-------|--------|------------------------------------|
| 0 | string | Hand (optional, default `"MainHand"` ) |
### `UseItemInHand`
Use the item currently held.
No parameters.
### `UpdateSign`
Update text on a sign.
**Parameters:**
| Index | Type | Description |
|-------|--------|--------------|
| 0 | double | X coordinate |
| 1 | double | Y coordinate |
| 2 | double | Z coordinate |
| 3 | string | Line 1 |
| 4 | string | Line 2 |
| 5 | string | Line 3 |
| 6 | string | Line 4 |
### `UpdateCommandBlock`
Update a command block.
**Parameters:**
| Index | Type | Description |
|-------|--------|-------------------------|
| 0 | double | X coordinate |
| 1 | double | Y coordinate |
| 2 | double | Z coordinate |
| 3 | string | Command |
| 4 | string | Mode (e.g. `"Sequence"` , `"Auto"` , `"Redstone"` ) |
| 5 | string | Flags |
## Trading Commands
### `SelectTrade`
Select a villager trade.
**Parameters:**
| Index | Type | Description |
|-------|------|-------------|
| 0 | int | Trade index |
### `Respawn`
Respawn after death.
No parameters.
## Mapping Commands (New)
2026-03-25 13:54:04 +00:00
These commands let clients query enum mappings dynamically at runtime, so they do not need to maintain hardcoded numeric ID tables that break across MCC versions. For background, see [issue #2805 ](https://github.com/MCCTeam/Minecraft-Console-Client/issues/2805 ).
2026-03-25 13:51:10 +00:00
### `GetItemTypeMappings`
Get a dictionary of all ItemType names to their numeric IDs.
No parameters. Returns `{ "DiamondSword": 798, "Stone": 1, ... }` .
### `GetEntityTypeMappings`
Get a dictionary of all EntityType names to their numeric IDs.
No parameters. Returns `{ "Player": 128, "Zombie": 119, ... }` .