Introduction
A furniture is a decorative object which can be solid, emit light, used as chair and can have other features.
Limitations of all furnitures
non solid furnitures can't receive interact events, they can only be removed using mouse left click but cannot be interacted with (only solid furnitures can get interact events). This might not be true anymore on recent game versions.
max size of the hitbox is 3x3x3 for performance reasons
Furniture entity types
item_display
item_displayThis type of furniture entity is useful for any type of furniture you want to create.
behaviours:
furniture:
entity: item_display # <---
display_transformation:
transform: HEAD
right_rotation:
axis_angle:
angle: 180
axis:
x: 0
y: 1
z: 0
translation:
x: 0
y: 0.92
z: 0
scale:
x: 0.45
y: 0.45
z: 0.45Special properties
item_display allows you to do some special adjustments to your furniture model using the display_transformation property.
You can resize it, rotate it and move it freely.
This feature uses the native item_display feature of Minecraft, you can read more here and online.
You can also use this tool to preview your changes.
armor_stand
armor_standThis type of furniture entity is useful when you want to create chairs, plants, columns, lamps and similar environment decorations which don't need to rotate based on the surface on which you place them.
behaviours:
furniture:
entity: armor_stand # <--- (by default, not mandatory)
small: true
solid: truesmall allows to set the armor stand small. It will have a smaller hitbox by default and the model will look smaller.
item_frame
item_frameThis type of furniture entity is useful when you want to make the furniture rotate based on the surface on which you place it.
For example if you have a decorative lamp you can make it placeable on walls, ceiling and ground and and make it oriented automatically based on the surface inclination.

behaviours:
furniture:
entity: item_frame # <--- (by default, not mandatory)
light_level: 15
solid: falseLimit placement location
You can limit the placement of the furniture using the placeable_on property.
placeable_on:
walls: true
ceiling: true
floor: trueHitbox
You can make a furniture solid adding the "solid" attribute and specifying a hitbox (if you want > 1x1x1)
table:
display_name: display-name-table
permission: table
lore:
- 'lore-decorative-item'
resource:
material: OAK_WOOD
generate: false
model_path: item/table
behaviours:
furniture:
small: true
solid: true
entity: armor_stand
hitbox:
length: 1
width: 1
height: 1
length_offset: 0
width_offset: 0
height_offset: 0
Hitbox has wrong location
Sometimes you need to also specify an "offset" to fix the hitbox location. This can happen if your furniture is 2x1x1 for example.


Correct location
I had to set a width offset of 0.5.
You can also use negative values if needed.
hitbox:
length: 1
width: 2
height: 1
width_offset: 0.5Preview the hitbox


Hitboxes limitations
item_frame limitations (doesn't affect armor_stand)
Furnitures that use entity item_frame only support hitboxes with width and length of the same value.
Example: width: 2, length: 2, height: 1.
If you want to have different width and length use entity item_display or armor_stand.
Optimization of item_display furniture
item_display furnitureThis requires ItemsAdder 4.0.12 or greater.
By default the plugin uses width and height of the hitbox to tell the game the size of the furniture render area. This is used to allow the game to hide the entity when the player is not directly looking at it and avoid overhead.
If you want you can customize this value separately using the render_size property.
display_transformation:
render_size:
width: 3
height: 3Last updated
Was this helpful?