Skip to content

Creating Items

Items are objects players can hold, use, and collect. Learn how to create weapons, tools, consumables, and more.

TypeDescriptionExamples
ToolsUsed to interact with worldPickaxes, axes, shovels
WeaponsUsed in combatSwords, bows, staffs
ConsumablesSingle-use itemsFood, potions
MaterialsCrafting ingredientsOres, gems, cloth
PlaceableItems that place blocksBlock items

If you haven’t created content yet, start with the Quick Start tutorial.

  1. Open the Asset Editor
  2. Navigate to Items > Create New
  3. Set the item name and properties
  4. Assign an icon
  5. Save your pack

Create a file in Server/Item/:

{
"identifier": "mypack:crystal",
"displayName": "Magic Crystal",
"category": "materials",
"maxStackSize": 64,
"icon": "mypack:crystal",
"rarity": "uncommon"
}
PropertyDescription
identifierUnique ID in format namespace:itemname
displayNameName shown to players
categoryInventory category
maxStackSizeHow many can stack (usually 1, 16, or 64)
icon2D inventory icon
model3D model when held
ValueUse Case
1Tools, weapons, armor
16Eggs, signs, buckets
64Most materials

Affects name color and sorting:

RarityColorExamples
commonWhiteBasic materials
uncommonGreenCrafted items
rareBlueSpecial items
epicPurplePowerful items
legendaryOrangeUnique items
CategoryPurpose
weaponsCombat items
toolsWorld interaction
armorProtective equipment
consumablesFood and potions
materialsCrafting ingredients
miscEverything else
  • Size: 16x16 pixels (standard) or 32x32 (detailed)
  • Format: PNG with transparency
  • Location: Common/Icons/
  1. Clear silhouette - Item should be recognizable at small size
  2. Consistent style - Match the game’s aesthetic
  3. Use transparency - Don’t fill the whole square
  4. Center the item - Leave padding around edges

For items visible when dropped or held:

{
"identifier": "mypack:crystal",
"displayName": "Magic Crystal",
"icon": "mypack:crystal",
"model": "mypack:crystal_item"
}

Create the model in Blockbench and export to Common/Models/.

Add flavor text or information:

{
"description": "A crystal infused with magical energy. Used in advanced crafting."
}

File structure:

MyCrystalPack/
├── manifest.json
├── Common/
│ └── Icons/
│ ├── fire_crystal.png
│ ├── water_crystal.png
│ └── earth_crystal.png
└── Server/
└── Item/
├── fire_crystal.json
├── water_crystal.json
└── earth_crystal.json

fire_crystal.json:

{
"identifier": "mypack:fire_crystal",
"displayName": "Fire Crystal",
"description": "A crystal burning with inner flame.",
"category": "materials",
"maxStackSize": 64,
"icon": "mypack:fire_crystal",
"rarity": "uncommon"
}

Items can drop from blocks. In your block definition:

{
"identifier": "mypack:crystal_ore",
"drops": [
{
"item": "mypack:fire_crystal",
"count": { "min": 1, "max": 3 }
}
]
}