WebSocket Commands
Commands are JSON objects sent over the WebSocket connection. Each command produces a response through the OnWsCommandResponse event.
{
"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 | Тип | Описание |
|---|---|---|
| 0 | string | Password |
Example:
{
"command": "Authenticate",
"requestId": "auth-001",
"parameters": ["your-password-here"]
}ChangeSessionId
Rename the current session. Can be called without authentication. The new ID must be 1-32 characters and not already taken.
Parameters:
| Index | Тип | Описание |
|---|---|---|
| 0 | string | New session ID |
Example:
{
"command": "ChangeSessionId",
"requestId": "rename-001",
"parameters": ["my-bot"]
}Logging Commands
LogToConsole
Log a message to the MCC console.
Parameters:
| Index | Тип | Описание |
|---|---|---|
| 0 | string | Message |
LogDebugToConsole
Log a debug message to the MCC console (only visible in debug mode).
Parameters:
| Index | Тип | Описание |
|---|---|---|
| 0 | string | Message |
LogToConsoleTranslated
Log a translated message using an MCC translation key.
Parameters:
| Index | Тип | Описание |
|---|---|---|
| 0 | string | Translation key |
LogDebugToConsoleTranslated
Log a translated debug message.
Parameters:
| Index | Тип | Описание |
|---|---|---|
| 0 | string | Translation key |
Session Commands
ReconnectToTheServer
Reconnect to the Minecraft server.
Parameters:
| Index | Тип | Описание |
|---|---|---|
| 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 | Тип | Описание |
|---|---|---|
| 0 | string | Player name |
| 1 | string | Message |
Script Commands
RunScript
Run an MCC script file.
Parameters:
| Index | Тип | Описание |
|---|---|---|
| 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 | Тип | Описание |
|---|---|---|
| 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 | Тип | Описание |
|---|---|---|
| 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 | Тип | Описание |
|---|---|---|
| 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 | Тип | Описание |
|---|---|---|
| 0 | string | Action type (e.g. StartSneaking, StopSneaking) |
Sneak
Toggle sneaking.
Parameters:
| Index | Тип | Описание |
|---|---|---|
| 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 | Тип | Описание |
|---|---|---|
| 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 | Тип | Описание |
|---|---|---|
| 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 | Тип | Описание |
|---|---|---|
| 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 | Тип | Описание |
|---|---|---|
| 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 | Тип | Описание |
|---|---|---|
| 0 | int | Slot number |
ClearInventories
Clear tracked inventory state. No parameters.
CloseInventory
Close an inventory window.
Parameters:
| Index | Тип | Описание |
|---|---|---|
| 0 | int | Inventory ID |
Creative Mode Commands
CreativeGive
Give an item in creative mode.
Parameters:
| Index | Тип | Описание |
|---|---|---|
| 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 | Тип | Описание |
|---|---|---|
| 0 | int | Slot ID |
Block Interaction Commands
SendPlaceBlock
Place a block.
Parameters:
| Index | Тип | Описание |
|---|---|---|
| 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 | Тип | Описание |
|---|---|---|
| 0 | string | Hand (optional, default "MainHand") |
UseItemInHand
Use the item currently held. No parameters.
UpdateSign
Update text on a sign.
Parameters:
| Index | Тип | Описание |
|---|---|---|
| 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 | Тип | Описание |
|---|---|---|
| 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 | Тип | Описание |
|---|---|---|
| 0 | int | Trade index |
Respawn
Respawn after death. No parameters.
Mapping Commands (New)
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.
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, ... }.
