Minecraft-Console-Client/docs/guide/websocket/Commands.md
copilot-swe-agent[bot] 6d6d1105eb Restore websocket docs and add sidebar navigation
Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/c762752f-46be-44f6-a05d-8c5effc8ef43
2026-03-25 13:51:10 +00:00

12 KiB

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 Description
0 string Password

Example:

{
  "command": "Authenticate",
  "requestId": "auth-001",
  "parameters": ["wspass12345"]
}

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:

{
  "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)

These commands address issue #2805, allowing clients to query enum mappings dynamically instead of maintaining hardcoded ID tables.

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