Skip to content

Item Profiles

Rudra edited this page Jan 2, 2026 · 1 revision

Item Profiles (item_profiles.yml)

Item profiles define which items can level up and link them to trigger, reward, and display profiles.

File Location

plugins/LevelTools/item_profiles.yml

Structure

profiles:
  profile_id:
    materials:
      - DIAMOND_PICKAXE
      - IRON_PICKAXE
    trigger_profile: block_mining
    reward_profile: tools
    display_profile: default
    max_level: 100

Options

Option Description Required
materials List of item materials Yes
trigger_profile ID from trigger_profiles.yml Yes
reward_profile ID from reward_profiles.yml Yes
display_profile ID from display_profiles.yml Yes
max_level Maximum level for these items Yes
level_xp_formula Override global XP formula No
extends Inherit from another profile No

Material Restriction

Each material can only belong to ONE item profile. If the same material appears in multiple profiles, LevelTools will fail to load and log an error.

# This will cause an error:
pickaxes:
  materials:
    - DIAMOND_PICKAXE  # Duplicate!

special_pickaxes:
  materials:
    - DIAMOND_PICKAXE  # Error: already in pickaxes profile

Default Profiles

pickaxes

pickaxes:
  materials:
    - WOODEN_PICKAXE
    - STONE_PICKAXE
    - IRON_PICKAXE
    - GOLDEN_PICKAXE
    - DIAMOND_PICKAXE
    - NETHERITE_PICKAXE
  trigger_profile: block_mining
  reward_profile: tools
  display_profile: default
  max_level: 100

axes

axes:
  materials:
    - WOODEN_AXE
    - STONE_AXE
    - IRON_AXE
    - GOLDEN_AXE
    - DIAMOND_AXE
    - NETHERITE_AXE
  trigger_profile: block_mining
  reward_profile: tools
  display_profile: default
  max_level: 100

shovels

shovels:
  materials:
    - WOODEN_SHOVEL
    - STONE_SHOVEL
    - IRON_SHOVEL
    - GOLDEN_SHOVEL
    - DIAMOND_SHOVEL
    - NETHERITE_SHOVEL
  trigger_profile: block_mining
  reward_profile: tools
  display_profile: default
  max_level: 100

swords

swords:
  materials:
    - WOODEN_SWORD
    - STONE_SWORD
    - IRON_SWORD
    - GOLDEN_SWORD
    - DIAMOND_SWORD
    - NETHERITE_SWORD
  trigger_profile: combat
  reward_profile: swords
  display_profile: default
  max_level: 100

bows

bows:
  materials:
    - BOW
    - CROSSBOW
  trigger_profile: combat
  reward_profile: bows
  display_profile: default
  max_level: 100

fishing_rods

fishing_rods:
  materials:
    - FISHING_ROD
  trigger_profile: fishing
  reward_profile: fishing_rods
  display_profile: default
  max_level: 50

Profile Inheritance

Use extends to inherit settings from another profile, then override specific options.

profiles:
  pickaxes:
    materials:
      - WOODEN_PICKAXE
      - STONE_PICKAXE
      - IRON_PICKAXE
      - GOLDEN_PICKAXE
      - DIAMOND_PICKAXE
    trigger_profile: block_mining
    reward_profile: tools
    display_profile: default
    max_level: 100

  netherite_pickaxes:
    extends: pickaxes
    materials:
      - NETHERITE_PICKAXE
    max_level: 150  # Override max level

The netherite_pickaxes profile inherits trigger_profile, reward_profile, and display_profile from pickaxes, but has its own materials and max level.

Custom XP Formula

Override the global level_xp_formula for specific item types:

legendary_swords:
  materials:
    - NETHERITE_SWORD
  trigger_profile: combat
  reward_profile: swords
  display_profile: default
  max_level: 200
  level_xp_formula: "500 + {current_level} * 250"  # Harder to level

Creating Custom Profiles

Example: Hoes

First, create a trigger profile in trigger_profiles.yml:

profiles:
  farming:
    type: BLOCK_BREAK
    xp_modifier:
      default:
        min: 1.0
        max: 2.0
    filter:
      type: WHITELIST
      list:
        - "WHEAT"
        - "POTATOES"
        - "CARROTS"

Then create a reward profile in reward_profiles.yml:

profiles:
  hoes:
    levels:
      5:
        - "enchant2 efficiency 1"
      10:
        - "enchant2 fortune 1"
      20:
        - "enchant2 efficiency 3"
      30:
        - "enchant2 fortune 2"

Finally, add the item profile in item_profiles.yml:

profiles:
  hoes:
    materials:
      - WOODEN_HOE
      - STONE_HOE
      - IRON_HOE
      - GOLDEN_HOE
      - DIAMOND_HOE
      - NETHERITE_HOE
    trigger_profile: farming
    reward_profile: hoes
    display_profile: default
    max_level: 50

Example: Tridents

profiles:
  tridents:
    materials:
      - TRIDENT
    trigger_profile: combat
    reward_profile: tridents  # Create in reward_profiles.yml
    display_profile: default
    max_level: 75

Example: Shields

profiles:
  shields:
    materials:
      - SHIELD
    trigger_profile: right_click_block  # Custom trigger
    reward_profile: shields
    display_profile: minimal
    max_level: 30

Reference Links

Clone this wiki locally