How to add a furniture models to Oraxen

Example furniture from Replanus Camping Pack

So, you want to add furniture to your server using Oraxen? Let’s get started!

Step 1: Upload your files

When making furniture, you will likely have more than one file. You’ll notice that one of them is a JSON file, and the other is a PNG file.

The JSON file is the actual model. This is the code that defines the shape of your furniture item.

The PNG file is your model’s texture.
You’ll need to upload your JSON file to a directory within “pack/models”. For this tutorial, I’ve placed mine in “pack/models/furniture”.

Next, upload the PNG to “pack/textures”. It is not required that you upload it to the same subfolder, but it is recommend to keep things organized.

Step 2: Modify your JSON file

This is a crucial step to make sure that your texture shows up in-game!

After you’ve uploaded your files, you will need to head back to the JSON file you uploaded in step one. Open it, and you should see some lines at the top like this:

Go ahead and modify these lines to reflect the actual path to your texture. For us, that path would be “furniture/chair”.

Step 3: Create your furniture configuration file

Now, we’ll get started on creating the furniture configuration. Head over to the “items” folder and create a file named “furniture.yml”.

chair:
  displayname: "<white>Chair"
  material: PAPER
  lore:
    - "<#2D82B7>My first chair!"
  Mechanics:
    furniture:
      barrier: true
      seat: { height: 0, yaw: 0 } # Requires barrier: true
      drop: # Requires barrier: true
        silktouch: false
        loots:
          - { oraxen_item: chair, probability: 1.0 }
  Pack:
    generate_model: false # Since we're providing our own model, set generate to false.
    model: furniture/chair # Path to our model

If you have a different type of item, like a stack of books, you might want a more simple configuration:

book_stack:
  displayname: "<white>Bookstack"
  material: PAPER
  lore:
    - "<#2D82B7>My first furniture!"
  Mechanics:
    furniture:
      barrier: false # Enables/disables a barrier-shaped hitbox around the item.
  Pack:
    generate_model: false # Since we're providing our own model, set generate to false.
    model: furniture/book_stack # Path to our model

Or, maybe you have a table that requires multiple barriers for a full hitbox:

table:
  displayname: "<white>Table"
  material: PAPER
  lore:
    - "<#2D82B7>My first furniture with multiple barriers!"
  Mechanics:
    furniture:
      facing: UP
      barriers:
          - { x: 0, y: 0, z: 0 } # Adds a barrier at the position you placed the model
          - { x: 0, y: 0, z: 1 } # Adds a second barrier at a +1 Z position.
  Pack:
    generate_model: false # Since we're providing our own model, set generate to false.
    model: furniture/table # Path to our model

Step 4: Done!

Good job! You’ve successfully added a furniture item to your server using the Oraxen plugin. You can type the command “o rl all” to reload your resource pack & configuration files. Then, you should be able to find your item within the Oraxen inventory (/o inv).