Minecraft Console ClientMinecraft Console Client
About & Features
Installation
Usage
Configuration
ChatBots
Help us translate
  • Afrikaans
  • اللغة العربية
  • Català
  • Čeština
  • Dansk
  • Deutsch
  • Ελληνικά
  • English
  • Español
  • Suomi
  • Français
  • עברית
  • Magyar
  • Italiano
  • 日本語
  • 한국어
  • Latviešu
  • Nederlands
  • Norsk
  • Polski
  • Português (Brasil)
  • Português (Portugal)
  • Română
  • Русский
  • Српски (Cyrillic)
  • Svenska
  • Türkçe
  • Українська
  • Tiếng Việt
  • 简体中文
  • 繁體中文
GitHub
About & Features
Installation
Usage
Configuration
ChatBots
Help us translate
  • Afrikaans
  • اللغة العربية
  • Català
  • Čeština
  • Dansk
  • Deutsch
  • Ελληνικά
  • English
  • Español
  • Suomi
  • Français
  • עברית
  • Magyar
  • Italiano
  • 日本語
  • 한국어
  • Latviešu
  • Nederlands
  • Norsk
  • Polski
  • Português (Brasil)
  • Português (Portugal)
  • Română
  • Русский
  • Српски (Cyrillic)
  • Svenska
  • Türkçe
  • Українська
  • Tiếng Việt
  • 简体中文
  • 繁體中文
GitHub
  • About & Features
  • Installation
  • Usage
  • Configuration
  • Creating Simple Script
  • Chat Bots
  • Creating Chat Bots
  • WebSocket Bot

    • WebSocket Bot
    • WebSocket Commands
    • WebSocket Events
  • AI-Assisted Development
  • Contributing

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:

IndexTypeDescription
0stringPassword

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:

IndexTypeDescription
0stringNew session ID

Example:

{
  "command": "ChangeSessionId",
  "requestId": "rename-001",
  "parameters": ["my-bot"]
}

Logging Commands

LogToConsole

Log a message to the MCC console.

Parameters:

IndexTypeDescription
0stringMessage

LogDebugToConsole

Log a debug message to the MCC console (only visible in debug mode).

Parameters:

IndexTypeDescription
0stringMessage

LogToConsoleTranslated

Log a translated message using an MCC translation key.

Parameters:

IndexTypeDescription
0stringTranslation key

LogDebugToConsoleTranslated

Log a translated debug message.

Parameters:

IndexTypeDescription
0stringTranslation key

Session Commands

ReconnectToTheServer

Reconnect to the Minecraft server.

Parameters:

IndexTypeDescription
0intExtra reconnect attempts (default 3)
1intDelay 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:

IndexTypeDescription
0stringPlayer name
1stringMessage

Script Commands

RunScript

Run an MCC script file.

Parameters:

IndexTypeDescription
0stringFile 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:

IndexTypeDescription
0boolEnabled

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:

IndexTypeDescription
0doubleX coordinate
1doubleY coordinate
2doubleZ coordinate
3stringDirection (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:

IndexTypeDescription
0intEntity ID
1stringInteraction type (Interact, Attack, InteractAt)
2stringHand (optional, MainHand or OffHand)

SendEntityAction

Send an entity action.

Parameters:

IndexTypeDescription
0stringAction type (e.g. StartSneaking, StopSneaking)

Sneak

Toggle sneaking.

Parameters:

IndexTypeDescription
0booltrue 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:

IndexTypeDescription
0doubleX coordinate
1doubleY coordinate
2doubleZ coordinate
3boolAllow unsafe (optional, false)
4boolAllow direct teleport (optional)
5intMax offset (optional, 0)
6intMin 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:

IndexTypeDescription
0doubleX
1doubleY
2doubleZ

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:

IndexTypeDescription
0intInventory ID
1intSlot ID
2stringAction type (e.g. LeftClick, RightClick, DropItemStack)

ChangeSlot

Change the active hotbar slot.

Parameters:

IndexTypeDescription
0shortSlot number (0-8)

GetCurrentSlot

Get the currently selected hotbar slot. No parameters. Returns { "slot": 0 }.

SetSlot

Set the active slot (legacy command).

Parameters:

IndexTypeDescription
0intSlot number

ClearInventories

Clear tracked inventory state. No parameters.

CloseInventory

Close an inventory window.

Parameters:

IndexTypeDescription
0intInventory ID

Creative Mode Commands

CreativeGive

Give an item in creative mode.

Parameters:

IndexTypeDescription
0intSlot ID
1stringItem type (e.g. "DiamondSword" or 798)
2intCount

CreativeDelete

Delete an item from a slot in creative mode.

Parameters:

IndexTypeDescription
0intSlot ID

Block Interaction Commands

SendPlaceBlock

Place a block.

Parameters:

IndexTypeDescription
0doubleX coordinate
1doubleY coordinate
2doubleZ coordinate
3stringDirection (e.g. "Up")
4stringHand (optional, "MainHand" or "OffHand")

SendAnimation

Play arm swing animation.

Parameters:

IndexTypeDescription
0stringHand (optional, default "MainHand")

UseItemInHand

Use the item currently held. No parameters.

UpdateSign

Update text on a sign.

Parameters:

IndexTypeDescription
0doubleX coordinate
1doubleY coordinate
2doubleZ coordinate
3stringLine 1
4stringLine 2
5stringLine 3
6stringLine 4

UpdateCommandBlock

Update a command block.

Parameters:

IndexTypeDescription
0doubleX coordinate
1doubleY coordinate
2doubleZ coordinate
3stringCommand
4stringMode (e.g. "Sequence", "Auto", "Redstone")
5stringFlags

Trading Commands

SelectTrade

Select a villager trade.

Parameters:

IndexTypeDescription
0intTrade 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, ... }.

Edit this page
Last Updated: 3/25/26, 4:58 PM
Contributors: Anon, Copilot, milutinke
Prev
WebSocket Bot
Next
WebSocket Events