Discord
Oraxen
Wiki - Plugins

Oraxen: custom items and blocks

Oraxen lets you create entirely new items, blocks, furniture, hats and tools on Minecraft servers without requiring mods on the player's side. It uses resource packs and CustomModelData to display custom 3D models.

Reading time: ~6 min Platform: Paper / Spigot / Purpur

What Oraxen is

Oraxen is a plugin for creating custom items, blocks, furniture and gear on Minecraft servers. It needs no client-side mods: instead it generates a resource pack and sends it to players automatically when they connect.

The plugin relies on CustomModelData (since Minecraft 1.14) and item components (1.20.5+) to make existing vanilla items look like completely new ones. On the server side, every custom item is still a Minecraft item (for example a wooden sword with CustomModelData 1001), but the client displays it with a custom texture and 3D model.

Oraxen is on GitHub. You can get it from SpigotMC or Modrinth.

How it works under the hood

Oraxen combines three Minecraft mechanisms:

  • CustomModelData / item components - lets you assign a custom 3D model to an existing item. The client shows the model from the resource pack instead of the default one
  • Resource pack - Oraxen automatically generates a resource pack with the textures and models. The server hosts it and forces the download when a player connects
  • Note block / mushroom block states - custom blocks use unused note block or mushroom block states to display unique textures

Because of this approach, players don't have to install any mods. They only need to accept the server's resource pack. The plugin is fully compatible with the vanilla Minecraft client.

Creating items

Custom items are defined in YAML files in plugins/Oraxen/items/:

# ruby_sword.yml
ruby_sword:
  displayname: "&cRuby Sword"
  material: DIAMOND_SWORD
  Pack:
    generate_model: true
    parent_model: item/handheld
    textures:
      - ruby_sword.png
  Mechanics:
    durability:
      value: 2000
  AttributeModifiers:
    attack_damage:
      amount: 12
      slot: MAINHAND
    attack_speed:
      amount: 1.6
      slot: MAINHAND

You put the ruby_sword.png texture in plugins/Oraxen/pack/textures/, and Oraxen automatically:

  1. Creates a JSON model from the texture you gave it
  2. Assigns a unique CustomModelData
  3. Generates a resource pack with the model
  4. Registers the item in the system

To give items to players, use /oraxen give [player] ruby_sword. You can also add them to kits, shops and loot tables through the Oraxen API or placeholders.

Custom blocks and furniture

Oraxen supports four types of custom blocks and furniture:

  • NoteBlock - full-size blocks with their own textures (it uses note block states). They can have hardness, a drop and a required tool to break them
  • StringBlock - transparent blocks (for example flowers, grass, decorations) that use tripwire
  • Furniture - 3D furniture based on display entities (1.19.4+) or armor stands. Chairs, tables, lamps, TVs - any models
  • MushroomBlock - an older block system, compatible with earlier versions

An example furniture definition:

lamp:
  displayname: "&eLamp"
  material: PAPER
  Pack:
    generate_model: true
    textures:
      - lamp.png
  Mechanics:
    furniture:
      type: DISPLAY_ENTITY
      hitbox:
        width: 1
        height: 2
      light: 14
      placeable_on:
        - FLOOR

Players place furniture with a right click while holding the item. Furniture can emit light, have hitboxes for interaction, and have animations.

Resource pack

Oraxen generates and distributes the resource pack automatically. The configuration lives in settings.yml:

Pack:
  generation:
    auto-generated: true          # generate automatically
    compression: BEST_COMPRESSION # pack compression
  upload:
    type: polymath               # pack hosting
  dispatch:
    send_pack: true              # send to players
    mandatory: true              # force the download

Resource pack hosting options:

  • Polymath - free hosting from Oraxen (the default)
  • Self-host - your own HTTP server
  • Amazon S3 / DigitalOcean Spaces - cloud hosting

After every change to textures or items, run /oraxen reload all. The plugin rebuilds the pack and sends the updated version to players.

Tips and integrations

  • 3D models - Oraxen supports custom JSON models from Blockbench. Export the model as Java Block/Item and put it in pack/models/
  • Crafting recipes - define custom recipes directly in the item config
  • MythicMobs integration - use custom Oraxen items as boss drops
  • Shop integration - ShopGUI+ and other shop plugins support Oraxen items
  • Compatibility - Oraxen works with ProtocolLib on older versions and natively with Paper 1.20.5+

Alternatives: Nova (a framework for custom content), ItemsAdder (paid, similar functionality), CraftEngine (a free Community edition under the GPL-3.0 license, supports 26.x and Folia). Oraxen stands out for its active development.