move-in-direction
Control a Minecraft character's movement by specifying direction and duration. Use this tool to navigate the game world for exploration or building tasks.
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/tools/position-tools.ts:78-87 (handler)The handler function that implements the tool logic: sets the bot's control state to move in the specified direction for the given duration using a Promise and setTimeout.async ({ direction, duration = 1000 }: { direction: Direction, duration?: number }) => { const bot = getBot(); return new Promise((resolve) => { bot.setControlState(direction, true); setTimeout(() => { bot.setControlState(direction, false); resolve(factory.createResponse(`Moved ${direction} for ${duration}ms`)); }, duration); }); }
- src/tools/position-tools.ts:74-77 (schema)Zod schema for input validation: direction as enum of movement directions, 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/tools/position-tools.ts:71-88 (registration)The factory.registerTool call that registers the 'move-in-direction' tool with its name, description, schema, and handler function.factory.registerTool( "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 }) => { const bot = getBot(); return new Promise((resolve) => { bot.setControlState(direction, true); setTimeout(() => { bot.setControlState(direction, false); resolve(factory.createResponse(`Moved ${direction} for ${duration}ms`)); }, duration); }); } );
- src/tools/position-tools.ts:8-8 (helper)Type alias for valid movement directions used in the handler's type annotation.type Direction = 'forward' | 'back' | 'left' | 'right';