move-in-direction
Control Minecraft bot movement by specifying a direction (forward, back, left, right) and duration in milliseconds to perform precise in-game navigation.
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:230-252 (registration)Full registration of the 'move-in-direction' tool, including name, description, input schema, and inline handler function that activates bot movement controls for a specified direction and duration.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:237-251 (handler)The core handler logic: enables the specified movement control state (forward/back/left/right), waits for the duration, then disables it and reports success.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 input parameters: required 'direction' enum and optional 'duration' number.{ direction: z.enum(['forward', 'back', 'left', 'right']).describe("Direction to move"), duration: z.number().optional().describe("Duration in milliseconds (default: 1000)") },
- src/bot.ts:41-41 (schema)TypeScript type alias used in the handler signature for the direction parameter.type Direction = 'forward' | 'back' | 'left' | 'right';