StarItems — Custom Items Made Simple
Add custom items, food, tools and armor with your own textures — one YAML file, zero hassle.
StarItems is a lightweight alternative to other item adding plugins for Paper 1.21.x. No bloated configs, no premium addons. Define an item in a few lines, drop in a PNG, type /si reload — done. The plugin builds the resource pack for you, uploads it to a pack host and sends it to every player automatically when they join.
Features
Custom items based on any vanilla item (swords, food, tools, armor...)
Items behave exactly like the vanilla item they replicate — no broken balance
Custom textures and full Blockbench 3D model support
Custom armor with worn-body textures
Shaped & shapeless crafting recipes (custom items can be ingredients too)
One resource pack compatible with all clients 1.21.1 → 1.21.11
Auto pack upload + auto-send to players on join (includes a free self-host pack server)
/si reload applies everything live — even re-sends the pack to online players
Packs limited to 20MB to keep downloads fast
Commands & Permissions
- /si give <id> [player] [amount] — give a custom item
- /si list — list all item ids
- /si reload — reload items, recipes and textures
- Permission: staritems.admin (default OP)
Tutorial
Where to put what
plugins/StarItems/├── items.yml ← your items go here
├── textures/ ← item PNGs (e.g. ruby_sword.png)
├── models/ ← Blockbench model JSONs (optional)
└── armor/ ← worn armor PNGs (e.g. ruby_layer1.png, ruby_layer2.png)
Adding an item (3 steps)
Step 1 — Put your texture in plugins/StarItems/textures/, e.g. ruby_sword.png (a normal 16x16 item texture).
Step 2 — Add the item to plugins/StarItems/items.yml:
ruby_sword: # the item id
name: "&cRuby Sword" # display name, supports & colors
material: DIAMOND_SWORD # vanilla item it copies (damage, speed etc.)
texture: ruby_sword # = textures/ruby_sword.png
recipe: # optional
type: shaped
shape:
- " R "
- " R "
- " S "
ingredients:
R: REDSTONE
S: STICK
Step 3 — Run /si reload. Players get the updated textures instantly. Get the item with /si give ruby_sword.
That's everything. Food works the same way (material: APPLE eats like an apple), and type: shapeless recipes just use an ingredient list instead of a shape. Recipe ingredients can also be other StarItems ids.
Adding armor
Armor needs two kinds of textures: the inventory icon and the texture shown on the player's body.
Step 1 — Icon: put ruby_helmet.png in textures/ (like any item).
Step 2 — Worn texture: put two files in armor/:
- ruby_layer1.png — helmet, chestplate, boots layer (standard 64x32 armor layout)
- ruby_layer2.png — leggings layer
Step 3 — Add to items.yml:
ruby_helmet:
name: "&cRuby Helmet"
material: LEATHER_HELMET # protection values of this armor
texture: ruby_helmet # inventory icon
armor_texture: ruby # = armor/ruby_layer1.png + ruby_layer2.png
Step 4 — /si reload. The armor protects like its material and shows your texture when worn (worn textures need 1.21.2+; the icon works everywhere).
Adding a 3D model
Export your model from Blockbench as JSON into models/, then:
ruby_staff:
name: "&dRuby Staff"
material: STICK
model: ruby_staff # = models/ruby_staff.json
texture: ruby_staff # texture used by the model
In the model JSON, reference textures as staritems:item/<texture_name>.
