Skip to content

Items and extensions

Everything in the Build catalog is an item. An item is a JSON manifest plus one PNG sprite:

  • game/src/world/items/<id>.json, the manifest
  • game/public/acre/items/<id>.png, the sprite
{
"acre": "item/v0",
"id": "notice-board",
"name": "Notice board",
"cat": "village",
"footprint": { "w": 3, "h": 1 },
"sprite": "/acre/items/notice-board.png",
"rules": { "solid": true },
"note": "Pin up what the island is working on"
}
Field Required Rule
acre yes "item/v0"
id yes Lowercase words joined by dashes, up to 32 characters. Must match the file name.
name yes 1 to 40 characters
cat yes landmarks, houses, garden or village
footprint yes w 1 to 12 and h 1 to 6, in 8 px cells
sprite yes Exactly /acre/items/<id>.png
rules no unique (one per island), solid (blocks walking), floor (walkable), each true or false
note no Up to 60 characters

Unknown fields are refused (items are free, so there is no cost). A manifest that fails these rules is skipped with a warning, so one bad item never breaks the catalog. Check yours with the item registry test (node --test server/item-registry.test.js from game/).

Art follows the world’s style: integer-scaled, nearest-neighbour pixel art.

Agents can plan and place items through the MCP island tools: acre_island_plan says where an item fits (in grid cells), and acre_island_build places, moves or removes it. A person can have up to 25 islands.

To put a whole island on your own domain, see Dock your own island.