Oraxen
  • Getting started
  • Frequently Asked Questions
  • Usage
    • Commands
    • Default items
    • Recipes
  • Configuration
    • Understanding the basics
    • Plugin settings
    • Items (beginners)
    • Items (advanced)
      • Dyeable Items
    • Custom Armors
      • Component Based (1.21.2+)
      • Trims Based (1.20-1.21.1)
      • Shader Based (1.18-1.19.4)
    • Custom HUD
    • Item Appearance
    • Glyphs
      • Custom Gui
  • Mechanics
    • Introduction
    • All mechanics
      • Custom mechanic
      • clickAction Mechanic
    • Furniture Mechanic
      • Furniture Position
      • Display-Entity Furniture
      • Farming Mechanic
    • NoteBlock mechanic
      • Stripped log Mechanic
      • Directional mechanic
      • Farmblock Mechanic
    • StringBlock Mechanic
      • Sapling Mechanic
  • Compatibility
    • BossShopPro - shop
    • CrateReloaded - crates
    • ModelEngine - custom mobs
    • MythicMobs - custom mobs
    • TrMenu - custom inventories
    • MMoItems
    • MythicCrucible
    • HappyHUD
    • World Generators
      • Iris World Generator
      • EpicWorldGenerator
      • Custom Ore Generator
      • RealisticWorldGenerator
  • Vendors
    • Vendor Guidelines
  • Developers
    • Create your own Mechanic
    • Add Compatibility with a plugin
    • Custom hosting service
    • API
Powered by GitBook
On this page
  • The pack folder
  • Create a simple 2d item
  • Use a json model
  • Use a blocking json model (for shield)
  • Use a pulling json model (for bows)
  • Use charged_model json model (for Crossbows)
  • Use cast_model json model (for fishing rods)
  • Use damaged_model json model (for different durability levels)

Was this helpful?

  1. Configuration

Item Appearance

How to customize your item appearance?

Unlike most other plugins that allow you to create custom items, oraxen supports the creation of a texture pack: that is, you can define directly in the configuration what you want your items to look like and it will take care of generating the pack. For minecraft, the appearance of each item is managed by a json file called the model. Most of the items have a very simple model that simply displays a two-dimensional texture. To avoid having to write this json file (which is repetitive and boring), you can ask Oraxen to generate it itself.

The pack folder

This folder (./plugins/Oraxen/pack) contains your pack. It works like a normal minecraft texture pack but simpler. You can drag your textures into the textures folder and your models into your models folder. You can also create sub-folders inside these folders to make it cleaner but it's not necessary. When the plugin generates the resource pack it appears in this folder under the name pack.zip.

Create a simple 2d item

Put the textures that you need in the textures directory of the pack folder. You can then ask Oraxen to generate the model by superposing the textures :

  Pack:
    generate_model: true
    parent_model: "item/handheld"
    textures:
      - example_image1.png #png extension is not needed
      - example_image2.png

The parent_model field is required by minecraft. In fact this will allow your item to inherit the rendering properties of an item template from minecraft. You can look at the minecraft default models in order to find new ones but I personnaly use item/handheld for weapons like swords and item/generated for simple items or gems like amethysts.

You can also use an alternative way of declaring textures, especially nice when using block parent-models.\

Pack:
  generate_model: true
  parent_model: "block/cube"
  textures:
    top: example_image.png
    side: example_image2.png

Use a json model

Creating a json model can be time-consuming but it allows you to create really cool things (like 3d items). It is really easy to integrate a json model with Oraxen : put your textures in your textures directory and your model in your models directory (inside Oraxen/pack folder). Then you can ask Oraxen to put this model on one of your items:

ALWAYS USE LOWER CASE FOR MODEL AND TEXTURE NAMES. Upper case is n longer supported by minecraft vanilla since 1.11 (even though it still works for users using optifine).

  Pack:
    generate_model: false
    model: example_model.json #json extension is not mandatory

⚠️ Pro tips when you use a json model!

Usually the templates you get place the textures in a folder, to make sure, open the json file and look at the first few lines, you should find something similar:

{
	"__comment": "Designed by HighBridRed for Oraxen",
	"textures": {
		"particle": "custom/bonesword_palette",
		"texture": "custom/bonesword_palette",
		"bonesword_palette": "custom/bonesword_palette"
	},
	...

As you can see, the path to the texture is custom/bonesword_palette, that means minecraft will be looking for a texture called bonesword_palette.png in the folder "custom", so you need to create this folder inside "Oraxen/pack/textures". You can also remove "custom/" and keep the texture name only, so you just have to drag and drop it inside the textures folder without creating a subfolder.

Use a blocking json model (for shield)

If you want to use a custom model for a shield, you need to specific the blocking model which will be used when a user right click using your shield, hopefully this is easy with Oraxen. Here is what it can look like:

  Pack:
    generate_model: false
    model: example_shield.json #json extension is not mandatory
    blocking_model: example_shield_blocking.json #json extension is not mandatory

Use a pulling json model (for bows)

If you want to use a custom model for a shield, you need to specific the pulling model which will be used when a user right click using your bow, hopefully this is easy with Oraxen. Here is what it can look like:

  Pack:
    generate_model: false
    model: default/combat_bow
    pulling_models:
      - default/combat_bow_pulling_0
      - default/combat_bow_pulling_1
      - default/combat_bow_pulling_2

This also works with pulling_textures if you only have texture files

Use charged_model json model (for Crossbows)

  Pack:
    generate_model: false
    model: default/custom_bow
    pulling_models:
      - default/custom_bow_pulling_0
      - default/custom_bow_pulling_1
      - default/custom_bow_pulling_2
    charged_model: default/custom_bow_pulling_2
    firework_model: default/custom_bow_charged #not so necessary

This also works with charged_texture & firework_texture if you only have texture files

Use cast_model json model (for fishing rods)

  Pack:
    generate_model: false
    model: default/fishing_rod
    cast_model: default/fishing_rod_cast

This also works with cast_texture if you only have texture files

Use damaged_model json model (for different durability levels)

Pack:
  generate_model: false
  model: default/diamond_sword
  damaged_models:
    - default/diamond_sword_damaged1
    - default/diamond_sword_damaged2
    - default/diamond_sword_damaged3

This also works with damaged_textures if you only have texture files

PreviousCustom HUDNextGlyphs

Last updated 5 months ago

Was this helpful?

Page cover image