ItemsAdder, Creating Custom Resource Packs
Learn how to create an itemsadder custom resource pack with custom items, textures, models, and fonts for your Minecraft server.
What ItemsAdder Does
ItemsAdder lets you add custom items, blocks, mobs, GUIs, and HUD elements to your Minecraft server by generating a resource pack that clients download automatically. The plugin handles model assignment, texture mapping, and pack hosting so you can focus on content creation. Building an itemsadder custom resource pack is the foundation of every custom content setup.
Folder Structure
All custom content lives under plugins/ItemsAdder/contents/. Each content pack has its own folder:
plugins/ItemsAdder/contents/
my_items/
configs/
my_sword.yml
my_food.yml
resourcepack/
my_items/
textures/
items/
ruby_sword.png
golden_apple_custom.png
models/
items/
ruby_sword.json
The configs/ folder holds item definitions. The resourcepack/ folder holds textures and models. ItemsAdder merges all content packs into a single resource pack at build time.
Creating a Custom Item
Let us create a Ruby Sword. First, place your 16x16 texture at resourcepack/my_items/textures/items/ruby_sword.png. Then create the item config at configs/ruby_sword.yml:
info:
namespace: my_items
items:
ruby_sword:
display_name: "&cRuby Sword"
lore:
- "&7A blade forged from pure rubies"
- "&7Damage: +10"
resource:
material: DIAMOND_SWORD
generate: true
textures:
- items/ruby_sword.png
attribute_modifiers:
mainhand:
attackDamage: 10
attackSpeed: 1.6
durability:
max_custom_durability: 800
The generate: true option tells ItemsAdder to auto-generate the JSON model from your texture. For simple flat items, this works perfectly. The material: DIAMOND_SWORD base determines the item type in vanilla, and ItemsAdder overrides its appearance with your itemsadder custom resource pack texture.
Building and Hosting the Pack
After adding items, build the resource pack:
/iazip
This compiles all content into a single ZIP file and hosts it. ItemsAdder supports three hosting methods configured in config.yml:
# config.yml hosting section
resource-pack:
hosting:
# Option 1: Self-host (built-in web server)
self-host:
enabled: true
server-ip: your.server.ip
pack-port: 8163
# Option 2: External host (upload to your own web server)
external-host:
enabled: false
url: "https://yoursite.com/pack.zip"
# Option 3: IA hosting service
ia-host:
enabled: false
Self-hosting is the simplest option. ItemsAdder runs a small HTTP server on the configured port that serves the pack to connecting players. Make sure the port is open in your firewall.
Custom Blocks
ItemsAdder also supports custom blocks using mushroom block states or note blocks:
items:
ruby_ore:
display_name: "&cRuby Ore"
resource:
material: PAPER
generate: true
textures:
- blocks/ruby_ore.png
specific_properties:
block:
type: REAL_NOTE
hardness: 4
blast_resistance: 3
drop:
type: my_items:ruby_gem
amount:
min: 1
max: 3
tools:
- PICKAXE
The REAL_NOTE type uses note block states, which gives you up to 750+ custom blocks. REAL type uses mushroom blocks, allowing unlimited custom blocks with some trade-offs.
Custom Fonts and HUD
An itemsadder custom resource pack can include custom fonts for HUD elements like mana bars, custom health indicators, or decorative text:
font_images:
mana_bar:
suggest_in_command: false
path: "font/mana_bar.png"
y_position: -70
scale_ratio: 32
Font images are rendered as action bar text or boss bar overlays, giving you pixel-perfect HUD control without client mods.
Best Practices
- Keep texture files at 16x16 or 32x32 for performance. Higher resolutions increase pack size and download time.
- Use descriptive namespaces like
my_itemsorastroworldto avoid conflicts with other content packs. - Test new items with
/iaget my_items:ruby_swordbefore deploying to production. - Back up the
contents/folder before running/iazip, the build process overwrites previous output. - Combine with LuckPerms to gate custom items behind permissions. See How to Add Custom Items to Minecraft for integration details.
Troubleshooting
- Players see purple/black textures: the resource pack failed to download. Check your hosting config and firewall.
- Items appear as vanilla items: run
/iazipand have players re-download the pack by reconnecting. - Model conflicts: two items share the same CustomModelData value. ItemsAdder assigns these automatically, but manual overrides can cause collisions.
For custom item recipes and drops, see How to Add Custom Items to Minecraft. For permission-based item access, check .
See these configs in action: Astroworld MC, IP play.astroworldmc.com, Java + Bedrock.