Minecraft Map Update Tool
Converts ephemeral observation data into persistent spatial memory. Updates the cell-based SpatialMap with observation data from mc-observe-blocks.
Purpose
Store observation data from mc-observe into persistent spatial memory. Cell data supports spatial queries for planning. Automatically checks if current location is already mapped before observing.
Input
observation: Observation data from mc-observe (optional - if not provided, automatically invokes mc-observe)
radius or blocks_radius: Optional radius for mc-observe (default: 7, only used when observation is not provided)
x, y, z: Optional coordinates (extracted from observation if not provided)
Output
Returns uniform_return format with:
value: Summary text of update
data: Structured result with:
location: {x, y, z} block coordinates
spatial_map: {cells_updated, total_cells, bounds}
Behavior & Performance
- If no observation is provided, automatically invokes
mc-observe internally
- Populates cell schema from observation: support, surface, hazards, resources, observability, waypoints
- Updates observer cell (direct), forward cell (inferred), and neighbor cells (obstructions)
- Auto-saves SpatialMap after each update
- Coordinates rounded to block integers
Data Storage Philosophy:
- Stores only absolute properties:
support_y (absolute Y coordinate), walkable, drop (has pit below)
- Does NOT store agent-relative data:
blocked, step_up, step_down, delta_y_from_agent are computed at query time
- Stores raw obstruction data (
obstructions.blocks_at_y) for query-time blocking computation
- Resources/hazards only recorded when on surface (Y =
support_y or support_y + 1)
Cone-Based Visibility Impact:
mc-observe uses a forward view cone (yaw ±60°, pitch -60..+90) with line-of-sight, so surface blocks behind taller obstacles may be occluded
- Observer cell and forward cell always have
support_y (from downward probes, not affected by occlusion)
- Distant cells may be created from
nearby_blocks but lack support_y if their surface blocks are occluded
- Cells without
support_y cannot have resources/hazards recorded (requires surface Y coordinate for validation)
- This is expected behavior: incomplete data for occluded cells until observed from another angle
Guidelines
- Can be called directly without observation - will automatically invoke mc-observe-blocks if needed
- Or call after mc-observe-blocks to persist spatial knowledge from a specific observation
- Cell data enables spatial queries via mc-map-query
- Visualization via mc-map-visualize shows mapped cells
- Clear map via FastAPI Controls panel removes SpatialMap
Usage Examples
Update automatically (invokes mc-observe internally):
{"type":"mc-map-update"}
Update with custom radius:
{"type":"mc-map-update","radius":5}
Update from existing observation:
{"type":"mc-map-update","observation":"$obs"}
With explicit coordinates:
{"type":"mc-map-update","observation":"$obs","x":-112,"y":71,"z":-123}
1---2name: mc-map-update3description: Updates persistent spatial map with observation data. Populates cell-based SpatialMap.4---56# Minecraft Map Update Tool78Converts ephemeral observation data into persistent spatial memory. Updates the cell-based SpatialMap with observation data from mc-observe-blocks.910## Purpose1112Store observation data from mc-observe into persistent spatial memory. Cell data supports spatial queries for planning. Automatically checks if current location is already mapped before observing.1314## Input1516- `observation`: Observation data from mc-observe (optional - if not provided, automatically invokes mc-observe)17- `radius` or `blocks_radius`: Optional radius for mc-observe (default: 7, only used when observation is not provided)18- `x`, `y`, `z`: Optional coordinates (extracted from observation if not provided)1920## Output2122Returns uniform_return format with:23- `value`: Summary text of update24- `data`: Structured result with:25 - `location`: `{x, y, z}` block coordinates26 - `spatial_map`: `{cells_updated, total_cells, bounds}`2728## Behavior & Performance2930- If no observation is provided, automatically invokes `mc-observe` internally31- Populates cell schema from observation: support, surface, hazards, resources, observability, waypoints32- Updates observer cell (direct), forward cell (inferred), and neighbor cells (obstructions)33- Auto-saves SpatialMap after each update34- Coordinates rounded to block integers3536**Data Storage Philosophy**:37- Stores only **absolute** properties: `support_y` (absolute Y coordinate), `walkable`, `drop` (has pit below)38- Does **NOT** store agent-relative data: `blocked`, `step_up`, `step_down`, `delta_y_from_agent` are computed at query time39- Stores raw obstruction data (`obstructions.blocks_at_y`) for query-time blocking computation40- Resources/hazards only recorded when on surface (Y = `support_y` or `support_y + 1`)4142**Cone-Based Visibility Impact**:43- `mc-observe` uses a forward view cone (yaw ±60°, pitch -60..+90) with line-of-sight, so surface blocks behind taller obstacles may be occluded44- Observer cell and forward cell always have `support_y` (from downward probes, not affected by occlusion)45- Distant cells may be created from `nearby_blocks` but lack `support_y` if their surface blocks are occluded46- Cells without `support_y` cannot have resources/hazards recorded (requires surface Y coordinate for validation)47- This is expected behavior: incomplete data for occluded cells until observed from another angle4849## Guidelines5051- Can be called directly without observation - will automatically invoke mc-observe-blocks if needed52- Or call after mc-observe-blocks to persist spatial knowledge from a specific observation53- Cell data enables spatial queries via mc-map-query54- Visualization via mc-map-visualize shows mapped cells55- Clear map via FastAPI Controls panel removes SpatialMap5657## Usage Examples5859Update automatically (invokes mc-observe internally):60```json61{"type":"mc-map-update"}62```6364Update with custom radius:65```json66{"type":"mc-map-update","radius":5}67```6869Update from existing observation:70```json71{"type":"mc-map-update","observation":"$obs"}72```7374With explicit coordinates:75```json76{"type":"mc-map-update","observation":"$obs","x":-112,"y":71,"z":-123}77```