move-in-direction
Control Minecraft bot movement by specifying direction and duration to navigate the game world.
Instructions
Move the bot in a specific direction for a duration
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| direction | Yes | Direction to move | |
| duration | No | Duration in milliseconds (default: 1000) |
Implementation Reference
- src/bot.ts:237-251 (handler)The handler function that implements the tool logic: sets the Minecraft bot's control state for the given direction, waits for the specified duration using setTimeout, then stops the movement and returns success message. Handles errors by stopping movement.
async ({ direction, duration = 1000 }: { direction: Direction, duration?: number }): Promise<McpResponse> => { return new Promise((resolve) => { try { bot.setControlState(direction, true); setTimeout(() => { bot.setControlState(direction, false); resolve(createResponse(`Moved ${direction} for ${duration}ms`)); }, duration); } catch (error) { bot.setControlState(direction, false); resolve(createErrorResponse(error as Error)); } }); } - src/bot.ts:233-236 (schema)Zod schema defining the input parameters for the 'move-in-direction' tool: required 'direction' as enum and optional 'duration' in ms.
{ direction: z.enum(['forward', 'back', 'left', 'right']).describe("Direction to move"), duration: z.number().optional().describe("Duration in milliseconds (default: 1000)") }, - src/bot.ts:230-252 (registration)The MCP server.tool() call that registers the 'move-in-direction' tool, providing name, description, input schema, and inline handler function.
server.tool( "move-in-direction", "Move the bot in a specific direction for a duration", { direction: z.enum(['forward', 'back', 'left', 'right']).describe("Direction to move"), duration: z.number().optional().describe("Duration in milliseconds (default: 1000)") }, async ({ direction, duration = 1000 }: { direction: Direction, duration?: number }): Promise<McpResponse> => { return new Promise((resolve) => { try { bot.setControlState(direction, true); setTimeout(() => { bot.setControlState(direction, false); resolve(createResponse(`Moved ${direction} for ${duration}ms`)); }, duration); } catch (error) { bot.setControlState(direction, false); resolve(createErrorResponse(error as Error)); } }); } ); - src/bot.ts:41-41 (schema)TypeScript type definition for the 'Direction' enum used in the tool's handler signature and schema.
type Direction = 'forward' | 'back' | 'left' | 'right';