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.
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:
- Creates a JSON model from the texture you gave it
- Assigns a unique CustomModelData
- Generates a resource pack with the model
- 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.