Furniture¶
Furniture is a placeable item rendered by a display entity rather than a block, so it can be any shape and any size without consuming a block state.
Defining furniture¶
info:
namespace: mypack
items:
oak_chair:
display_name: "<#c9a227>Oak Chair"
resource:
material: PAPER
model_path: "mypack:furniture/oak_chair"
behaviours:
furniture:
solid: true
furniture_sit:
sit_height: 0.5
The ItemsAdder Mechanics.furniture.* spelling is read too:
| Key | Effect |
|---|---|
solid / barrier |
Gives the furniture a collision box players cannot walk through |
seat.height / sit_height |
Makes it sittable; the number is where the player sits, in blocks |
How it is placed¶
Right-click a block face with the item. Ember Forge spawns:
- an ItemDisplay carrying the model, centred on the block
- an Interaction entity providing the clickable and punchable hitbox
Both are tagged so they survive restarts and are removed together.
Sitting¶
If a seat height is set, right-clicking seats the player on an invisible armour stand at that height. Standing up, disconnecting or the furniture being broken all release the seat — a seat entity that outlives its furniture is the usual cause of "invisible thing blocking my base".
Breaking¶
Punch it. The furniture drops its own item back, not the base material.
Current limits¶
Being honest about what is not implemented yet:
- No rotation on placement — furniture faces a fixed direction
- No multi-block footprints
- No light emission
- No placement preview
These are on the roadmap.