Example
Creating a simple furniture
Configuration file
The first step is to create a configuration file in your namespace folder.
In this example I called it 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
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:
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
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.
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
placeable_on:
floor: true
ceiling: false
walls: false
hitbox:
height: 1
sound:
place:
name: block.metal.fall
break:
name: block.metal.break
Model file
Now open BlockBench and create a "Java Block/Item".

Now create your 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:


Configure the in-game view
Using armor_stand
armor_stand
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:

Using item_display
item_display
Select Frame and Invisible Top. Adjust the model Z Translation (the blue arrow) until it matches the bottom of the white block perfectly.

Using item_frame
item_frame
Same thing of item_display
.
Export the model
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.
Saving changes
Now run /iazip
(and follow the hosting tutorial if needed).
To obtain the item use this command: /iaget myitems:lamp
.


Last updated
Was this helpful?