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';