placing-furniture

Original🇺🇸 English
Translated

Places furniture and decorates Minecraft interiors using JSON schematics. Use when furnishing rooms, placing tables, chairs, beds, lamps, decorations, or designing interior spaces. Reference furniture_catalog.md for 80+ ready-to-use designs.

11installs
Added on

NPX Install

npx skill4agent add amenti-labs/vibecraft placing-furniture

Placing Furniture

Critical: SCAN BEFORE PLACING

Avoid furniture embedded in floor!
python
# 1. Scan area
scan = spatial_awareness_scan(center_x=100, center_y=65, center_z=200, radius=5, detail_level="medium")

# 2. Get placement Y from recommendations
placement_y = scan['recommendations']['floor_placement_y']  # e.g., 65

# 3. Place furniture AT that Y using build_schematic
build_schematic(
    schematic={
        "a": [100, placement_y, 200],
        "p": {"C": "oak_stairs[facing=south]", "L": "oak_wall_sign[facing=east]", "R": "oak_wall_sign[facing=west]"},
        "l": [[0, "L C R"]]
    },
    description="Armchair"
)
Common mistake: Floor at Y=64, furniture at Y=64 = EMBEDDED! Use Y=65 (ON floor).

Furniture Catalog

See furniture_catalog.md in this skill folder for 80+ ready-to-use schematics:
CategoryItems
Seatingchair, armchair, bench, stool, sofa, throne
Tablesdining, coffee, desk, kitchen counter
Bedroombed, nightstand, wardrobe, dresser, bunk bed
Storagebookshelf, cabinet, cupboard, barrel rack
Lightingfloor lamp, chandelier, wall sconce, hidden light
Kitchensink, stove, fridge, counter
Bathroomtoilet, bathtub, shower, mirror
Living RoomTV, fireplace, piano, rug
Officecomputer, filing cabinet, office chair
Outdoorgrill, patio table, fountain, mailbox

Quick Placement Examples

Armchair

json
{"a": [X, Y, Z], "p": {"C": "oak_stairs[facing=south]", "L": "oak_wall_sign[facing=east]", "R": "oak_wall_sign[facing=west]"}, "l": [[0, "L C R"]]}

Dining Table (2x3)

json
{"a": [X, Y, Z], "p": {"F": "oak_fence", "S": "oak_slab[type=bottom]"}, "l": [[0, "F . F|. . .|F . F"], [1, "S S S|S S S|S S S"]]}

Floor Lamp

json
{"a": [X, Y, Z], "p": {"F": "oak_fence", "L": "lantern"}, "l": [[0, "F"], [1, "F"], [2, "L"]]}

Hanging Chandelier

json
{"a": [X, Y, Z], "p": {"C": "chain", "L": "lantern[hanging=true]"}, "l": [[0, "C"], [-1, "L"]]}

Kitchen Sink

json
{"a": [X, Y, Z], "p": {"H": "hopper[facing=down]", "L": "lever"}, "l": [[0, "H"], [1, "L"]]}

Toilet

json
{"a": [X, Y, Z], "p": {"H": "hopper[facing=down]", "T": "oak_trapdoor[facing=south,half=top,open=false]", "L": "lever"}, "l": [[0, "H"], [1, "T L"]]}

Simple Fireplace

json
{"a": [X, Y, Z], "p": {"S": "stone_bricks", "C": "campfire[lit=true]"}, "l": [[0, "S C S"], [1, "S . S"], [2, "S S S"]]}

Workflow

python
# 1. Scan room to get correct Y levels
scan = spatial_awareness_scan(center_x=X, center_y=Y, center_z=Z, radius=8, detail_level="medium")
floor_y = scan['recommendations']['floor_placement_y']
ceiling_y = scan['recommendations']['ceiling_placement_y']

# 2. Place floor furniture (tables, chairs, beds)
build_schematic(
    schematic={"a": [100, floor_y, 200], ...},
    description="Dining table"
)

# 3. Place ceiling fixtures (use negative Y offsets from ceiling)
build_schematic(
    schematic={"a": [100, ceiling_y, 200], "p": {"C": "chain", "L": "lantern[hanging=true]"}, "l": [[0, "C"], [-1, "L"]]},
    description="Hanging lantern"
)

# 4. Add wall decorations
build_schematic(
    schematic={"a": [100, floor_y + 1, 200], "p": {"T": "wall_torch[facing=south]"}, "l": [[0, "T"]]},
    description="Wall torch"
)

Room Layouts

Bedroom (5x6)

  • Bed against wall (head at wall)
  • Nightstand beside bed head
  • Wardrobe on opposite wall
  • Lamp on nightstand
  • Rug beside bed

Living Room (7x9)

  • Sofa against wall
  • Coffee table in front of sofa
  • Armchairs angled toward sofa
  • Bookshelf on side wall
  • Fireplace on focal wall
  • Chandelier centered

Dining Room (7x9)

  • Table centered
  • Chairs around table (facing inward)
  • Chandelier above table
  • Cabinet/sideboard against wall

Kitchen (5x7)

  • Counters along walls (L or U shape)
  • Stove recessed into counter
  • Sink with lever tap
  • Fridge in corner
  • Small table or island

Block State Reference

Stairs (seats, backs)

oak_stairs[facing=north,half=bottom]  # Player sits facing north
oak_stairs[facing=south,half=top]     # Upside-down (table legs)

Trapdoors (backs, doors, shelves)

oak_trapdoor[facing=south,half=bottom,open=true]   # Backrest
oak_trapdoor[facing=south,half=top,open=false]     # Lid/cover

Signs (armrests)

oak_wall_sign[facing=east]   # Sign on west side of block
oak_wall_sign[facing=west]   # Sign on east side of block

Slabs (tabletops, seats)

oak_slab[type=bottom]  # On floor
oak_slab[type=top]     # Near ceiling

Lanterns

lantern              # Standing
lantern[hanging=true] # Hanging from above

Wall Torches

wall_torch[facing=north]  # On south wall, points north
wall_torch[facing=south]  # On north wall, points south

Furniture Orientations

When placing furniture, consider which way it faces:
FacingMeaning
northPlayer faces north when using
southPlayer faces south when using
eastPlayer faces east when using
westPlayer faces west when using
Stairs as chairs:
facing
= direction player faces when sitting Doors/chests:
facing
= direction they open toward

Style Coordination

StyleWoodAccentsTextiles
RusticOak, SpruceBarrels, lanternsBrown carpet
ModernBirch, QuartzSea lanternsWhite carpet
MedievalDark OakChains, anvilsRed carpet
AsianBamboo, CherryPaper lanternsCyan carpet
NetherCrimson, WarpedSoul lanternsBlack carpet

Spacing Guidelines

  • Tables: 1 block clearance around for movement
  • Chairs: Push against table edge
  • Beds: 1 block on access side
  • Walkways: 2 blocks minimum width
  • Ceiling lights: Every 4-5 blocks for even lighting
  • Wall decor: Eye level (Y+1 or Y+2 from floor)

Common Mistakes

  1. Furniture in floor: Always scan first, place ON floor_placement_y
  2. Wrong facing: Stairs face where player looks when sitting
  3. Missing states: Always specify
    [type=bottom]
    for slabs
  4. Floating furniture: Ensure solid block beneath
  5. Cramped layout: Leave walking space between items

Decorative Details

Rugs

json
{"a": [X, Y, Z], "p": {"C": "red_carpet"}, "l": [[0, "C*5|C*5|C*5"]]}

Potted Plants

json
{"a": [X, Y, Z], "p": {"P": "potted_fern"}, "l": [[0, "P"]]}
Options:
potted_oak_sapling
,
potted_fern
,
potted_bamboo
,
potted_cactus
,
potted_red_tulip
,
potted_azure_bluet

Picture Frame

json
{"a": [X, Y, Z], "p": {"F": "item_frame[facing=south]"}, "l": [[0, "F"]]}

Flower Vase

json
{"a": [X, Y, Z], "p": {"P": "flower_pot", "F": "potted_poppy"}, "l": [[0, "F"]]}