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 | Type | 상세정보 |
|---|---|---|
| 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 | Type | 상세정보 |
|---|---|---|
| 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 | Type | 상세정보 |
|---|---|---|
| 0 | string | Message |
LogDebugToConsole
Log a debug message to the MCC console (only visible in debug mode).
Parameters:
| Index | Type | 상세정보 |
|---|---|---|
| 0 | string | Message |
LogToConsoleTranslated
Log a translated message using an MCC translation key.
Parameters:
| Index | Type | 상세정보 |
|---|---|---|
| 0 | string | Translation key |
LogDebugToConsoleTranslated
Log a translated debug message.
Parameters:
| Index | Type | 상세정보 |
|---|---|---|
| 0 | string | Translation key |
Session Commands
ReconnectToTheServer
Reconnect to the Minecraft server.
Parameters:
| Index | Type | 상세정보 |
|---|---|---|
| 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 | 상세정보 |
|---|---|---|
| 0 | string | Player name |
| 1 | string | Message |
Script Commands
RunScript
Run an MCC script file.
Parameters:
| Index | Type | 상세정보 |
|---|---|---|
| 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 | 상세정보 |
|---|---|---|
| 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 | 상세정보 |
|---|---|---|
| 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 | 상세정보 |
|---|---|---|
| 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 | 상세정보 |
|---|---|---|
| 0 | string | Action type (e.g. StartSneaking, StopSneaking) |
Sneak
Toggle sneaking.
Parameters:
| Index | Type | 상세정보 |
|---|---|---|
| 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 | 상세정보 |
|---|---|---|
| 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 | 상세정보 |
|---|---|---|
| 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 | 상세정보 |
|---|---|---|
| 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 | 상세정보 |
|---|---|---|
| 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 | 상세정보 |
|---|---|---|
| 0 | int | Slot number |
ClearInventories
Clear tracked inventory state. No parameters.
CloseInventory
Close an inventory window.
Parameters:
| Index | Type | 상세정보 |
|---|---|---|
| 0 | int | Inventory ID |
Creative Mode Commands
CreativeGive
Give an item in creative mode.
Parameters:
| Index | Type | 상세정보 |
|---|---|---|
| 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 | 상세정보 |
|---|---|---|
| 0 | int | Slot ID |
Block Interaction Commands
SendPlaceBlock
Place a block.
Parameters:
| Index | Type | 상세정보 |
|---|---|---|
| 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 | 상세정보 |
|---|---|---|
| 0 | string | Hand (optional, default "MainHand") |
UseItemInHand
Use the item currently held. No parameters.
UpdateSign
Update text on a sign.
Parameters:
| Index | Type | 상세정보 |
|---|---|---|
| 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 | 상세정보 |
|---|---|---|
| 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 | 상세정보 |
|---|---|---|
| 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, ... }.
