Furniture

  • Views Views: 1,878
  • Last updated Last updated:

Resource Pack Guide

Furniture

  • Step 1. Setting the Model Display​

    The first thing you want to do is to setup your furniture's display via item frame. Do this this, you can open your model in Blockbech and go to the display tab (top right) and select the item frame display.

    In this display, you can adjust the values to your liking or based on your model's proportions.

    You can attempt to copy the settings of my wood chair, but there are no promises they will work for you.

    furniture_1.png

    Step 2. Adding Your Model​

    Once your model and the display values are all good to go, you can add it to your pack. First, you'll need to export your model; to do so, go to File > Export > Export Block/Item Model, and save your model's json and PNG somewhere convienent.

    furniture_2.png

    Now you need to implement the model's json and png into your pack. In this example below I'm using very simple namespaces, however, feel free to implement however you'd like. Simply add the json into the models directory and the png into the textures directory. A full guide on implementing custom items can be found here.

    Makefile:

    📁assets
    └── 📁minecraft
    └── 📁models
    └── 📁custom
    └── 📑wooden_chair.json

    Makefile:

    📁assets
    └── 📁minecraft
    └── 📁textures
    └── 📁custom
    └── 📑wooden_chair.png

    Now, as usual, create a new predicate under any base item of your choice.

    JSON:

    {
    "parent":"item/generated",
    "textures":{
    "layer0":"item/paper"
    },
    "overrides":[{
    "predicate":{
    "custom_model_data": 1 }, "model":"custom/wooden_chair"
    }]
    }

    Step 3. Using the Model In-Game​

    If you require a hitbox, light source, or seats, you will need to use MythicCrucible; skip to step 4.

    To place your model, you will need invisible item frames. Use the commands below to get an item frame as well as your custom model. Place down the item frame and pop your model into it!

    /give @p item_frame{EntityTag:{Invisible:1b}}

    /give @p paper{CustomModelData:1}

    Step 4. MythicCrucible (Optional)​

    MythicCrucible offers many furniture related features such as seats, hitboxes, and light sources. To get started, make sure you have MythicCrucible and MythicMobs.

    You will need to create a new .yml file in 'MythicMobs/Packs/Custom/Items/' and you can use the following template on the right for each new furniture model you have. Make sure your material ID and model values match what you have when you setup your model predicate (step 2).

    TypeMust always be furniture for furniture models.
    DropsThe item that will be dropped when a player breaks the furniture.
    BarriersWhere barriers will be placed to form a hitbox.
    SeatsWhere "seats" will be added, allowing players to sit.
    LightsWhere light sources will be added; useful for torches, lamps, etc
    Furniture SkillsWhere you can add mechanics for certain events, such as when the furniture is placed, broken, damaged, etc. More mechanics can be found here.

    The values for barriers, seats, and lights are x, y, z. The fourth value for 'lights' is the light intensity and only 'seats' can be adjusted by decimal values.

    YAML:

    wood_chair:
    Id: PAPER
    Model: 1
    Display: 'Wood Chair'
    Type: FURNITURE
    Furniture:
    Material: PAPER
    Model: 1
    Drops:
    - wood_chair
    Barriers:
    - 0,0,0
    Seats:
    - 0,0,0
    Lights:
    - 0,0,0 15
    FurnitureSkills:
    - sound{s=entity.chicken.egg} @self ~onBlockPlace
    - sound{s=entity.zombie.attack_wooden_door} @self ~onBlockBreak
    - sound{s=entity.zombie.attack_wooden_door} @self ~onDamaged

    Your furniture model has been implemented via MythicCrucible! Use the following command to receive your furniture.

    /mm i get <furniture_name>

    Need More Brain Fuel?

    Check out these other neat guides!