Personal equipment is gear worn directly by the player character β€” suit, helmet, boots, gloves, backpack, weapons, and accessories. All personal equipment must set "dungeon": "ground" in its JSON.

Files live in: <pack_root>/data/items/equipment/personal/<slot>/<item_name>.json

JSON Shape

{
  "displayName": "items.materials.mypack.suit.reinforced_suit",
  "description":  "items.materials.mypack.suit.reinforced_suit.desc",
  "texture": "mypack/assets/textures/equipment/personal/armor/suit/reinforced_suit.png",
  "equipmentSlot": "personal/suit",
  "rarity": "uncommon",
  "dungeon": "ground",
  "storeCategory": "personal_equipment",
  "storePrice": 1500,
  "storeSellValue": 600,
  "storeShowWeight": 5,
  "stats": {
    "health": 40,
    "defence.base": 12,
    "defence.chance": 0.3,
    "defence.rate": 0.5,
    "resistance.base": 0.2,
    "resistance.physical": 0.3,
    "resistance.heat": 0.15
  }
}

Root Fields

FieldTypeRequiredDescription
displayNamestring (lang key)βœ…Registry key for the item display name.
descriptionstring (lang key)βœ…Registry key for the item description.
texturestring (path)βœ…Path to the PNG texture, relative to the pack root.
equipmentSlotstringβœ…Slot this item occupies. See slot table below.
raritystringβœ…common, uncommon, rare, epic, or legendary.
dungeonstringβœ…Must be "ground" for all personal equipment.
storeCategorystringβœ…Store section. Use "personal_equipment".
storePriceintegerβœ…Buy price.
storeSellValueintegerβœ…Sell price.
storeShowWeightintegerβœ…Store listing weight. 0 = never shown.
statsobjectβœ…Stat map. Only include stats relevant to your item.

Equipment Slots

Slot ValueHolds
personal/suitBody armour / spacesuit
personal/helmetHelmet
personal/glovesGloves
personal/bootsBoots
personal/backpackBackpack
personal/weaponPersonal weapon
personal/accessoryAccessory (rings, implants, etc.)

Stats Reference

All stat fields are optional β€” only include those relevant to your item. Each stat group has three variants: .base (flat value), .chance (probability 0–1), and .rate (multiplier).

Stat GroupKeys
Healthhealth (flat HP bonus)
Attackattack.base, attack.chance, attack.rate
Defencedefence.base, defence.chance, defence.rate
Penetrationpenetration.base, penetration.chance, penetration.rate
Reflectreflect.base, reflect.chance, reflect.rate
Resistanceresistance.base, resistance.physical, resistance.cold, resistance.heat, resistance.ion, resistance.gamma, resistance.plasma
Resistance values are decimals between 0 and 1 where 0.5 = 50% resistance. Only include resistance types that make thematic sense for your item.

Example β€” Combat Gloves

{
  "displayName": "items.materials.mypack.gloves.combat_gloves",
  "description":  "items.materials.mypack.gloves.combat_gloves.desc",
  "texture": "mypack/assets/textures/equipment/personal/gloves/combat_gloves.png",
  "equipmentSlot": "personal/gloves",
  "rarity": "rare",
  "dungeon": "ground",
  "storeCategory": "personal_equipment",
  "storePrice": 2200,
  "storeSellValue": 900,
  "storeShowWeight": 3,
  "stats": {
    "health": 5,
    "attack.base": 8,
    "attack.chance": 0.35,
    "attack.rate": 0.6,
    "penetration.base": 4,
    "penetration.chance": 0.2,
    "penetration.rate": 0.4
  }
}