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, ... }.
