Creating a furniture
Tutorial on how to create your first furniture
A furniture is a decorative object which can be solid, emit light, used as chair and can have other features.
The first step is to create a configuration file in your namespace folder.
In this example I called it
furniture_example.yml
.furniture_example.yml
info:
namespace: myitems
items:
lamp:
display_name: "Lamp"
permission: myitems.decorative.lamp
lore:
- lore-decorative-item
resource:
material: PAPER
generate: false
model_path: lamp
behaviours:
furniture:
small: true
light_level: 13
As you can see I created the item with some special properties.
behaviours
attribute has a special sub-attribute called furniture
, this attribute tells ItemsAdder that this item is a placeable furniture model.Let's add some more settings to it:
furniture_example.yml
lamp:
display_name: "Lamp"
permission: myitems.decorative.lamp
lore:
- lore-decorative-item
resource:
material: PAPER
generate: false
model_path: lamp
behaviours:
furniture:
light_level: 13
solid: true
small: true
placeable_on:
floor: true
ceiling: false
walls: false
hitbox:
height: 1
sound:
place:
name: block.metal.fall
break:
name: block.metal.break
I added some properties, in this case I specified where the furniture can be placed (only on the
floor
), the hitbox
size and place
/break
sounds.By default the hitbox is 1x1x1, so it's not really needed to specify these options.
Specify them only if the model is bigger than 1x1x1.
For example if you have a furniture which is 1x2x1 you can set it like that:
hitbox:
height: 2
length: 1
width: 1
Final result:
furniture_example.yml
info:
namespace: myitems
items:
lamp:
display_name: "Lamp"
permission: myitems.decorative.lamp
lore:
- lore-decorative-item
resource:
material: PAPER
generate: false
model_path: lamp
behaviours:
furniture:
light_level: 13
solid: true
small: true
placeable_on:
floor: true
ceiling: false
walls: false
hitbox:
height: 1
sound:
place:
name: block.metal.fall
break:
name: block.metal.break

Now create you model, in this example I'm modelling an ugly minimal modern lamp.

Important: make sure the north is opposite of where you want the model to face.
Or add the property to the YML configuration
opposite_direction: true
Edit how the model is shown on player hand:


You have to select the head icon and then small armorstand:

Then you have to shift your model down until it matches the armorstand base:

You have to select the Image icon and then set the Z-offset to
-16
.
This will display the model slighly of the block the Item Frame is attached to, but will be seamless when an invisible Item Frame is used. This is because of how items in invisible Item Frames are slightly lower than usual.Now let's save the model file into the correct folder, in this case I set this property in the yml configuration file:
model_path: lamp
, so you have to save the .json file inside this path: contents/myitems/models/lamp.json
.To achieve this, click on "File" followed by "Export Model" and finally "Export Block/Item Model". In the new window, head over to the path you want to save your model under, give it the right name and confirm the changes.
To obtain the item use this command:
/iaget myitems:lamp
.

Last modified 6mo ago