amenti-labs/vibecraft

placing-furniture

Places furniture and decorates Minecraft interiors using JSON schematics.

ソースを見る

使い方

  1. インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
  2. 必要なツール、認証情報、対応環境を原文で確認します。
  3. 入力と成果物を指定し、出力を資料と照合します。
npx skills add https://github.com/amenti-labs/vibecraft --skill placing-furniture

開始前の確認

  • 導入にはモデル契約、API枠、ファイルへのアクセス許可は含まれません。
  • スター数や導入数は活動の指標であり、独立した品質・安全性試験ではありません。
リポジトリの原文

見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。

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 floorplacementy
  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"]]}

タスクに関連する項目