Skip to content

Example Library · Accessories / Consumables / Materials

Belongs to: Server Owner GuideItem Example Library · Accessories & Consumables · Related: Item Types · Gem Slots · Action System

This page documents every item across 11 example files one by one, giving each a one-line description, the full YAML, and key annotations. All item IDs, fields, and key-values are reproduced verbatim from the source files, and can be pasted directly into items/<file>.yml followed by /qi reload.

General conventions: the file name is the item type; indentation is fixed at 2 spaces; the actions block must be at the same level as material / type; attribute values are applied by AttributePlus via providers.ap.value — QI does not build in numeric values.


Accessory accessory.yml

🖼️ [Image placeholder] Comparison of hover names and lore for four accessory items equipped in the accessory bar · suggested assets/accessory-overview.png

demo_lucky_charm

Simplest accessory: appearance only + passive crit-rate attribute.

yaml
demo_lucky_charm:
  type: accessory
  material: gold_nugget
  display_name: "<yellow>Lucky Charm</yellow>"
  item_name: "Lucky Charm"
  lore:
    - ""
    - "<gray>Said to bring good fortune</gray>"
  providers:
    ap:
      value: '{"crit_rate":0.08}'
  • No actions; the attribute is settled passively by providers.ap, no trigger involved; for the attribute JSON syntax see Item Definition.

demo_void_talisman

Legendary accessory: glow + high-spec health/attack dual attributes.

yaml
demo_void_talisman:
  type: accessory
  material: heart_of_the_sea
  display_name: "<dark_purple>Void Talisman</dark_purple>"
  item_name: "Void Talisman"
  tier: LEGENDARY
  lore:
    - ""
    - "<gray>A talisman holding the power of the abyss</gray>"
  providers:
    ap:
      value: '{"health":80,"attack_damage":8}'
  options:
    glow: true
  • tier: LEGENDARY paired with options.glow: true for a legendary appearance; purely passive with no trigger.

demo_guardian_pendant

Equip trigger: announces and plays a gold-armor sound on equip.

yaml
demo_guardian_pendant:
  type: accessory
  material: gold_nugget
  display_name: "<gold>Guardian Pendant</gold>"
  item_name: "Guardian Pendant"
  tier: RARE
  lore:
    - ""
    - "<gray>While worn, guardian power surrounds you</gray>"
    - "<dark_gray>Triggers on equip</dark_gray>"
  providers:
    ap:
      value: '{"defense":12,"health":20}'
  options:
    glow: true
  actions:
    triggers:
      equip:
        trigger:
          atom: equip
        refs:
          - handler: qi:action_bar
            payload: "<gold>✦ Guardian power activated ✦</gold>"
          - handler: qi:sound
            payload: "minecraft:item.armor.equip_gold;1;1.2"
  • The equip trigger is the feedback entry point for the accessory's passive; two handlers: qi:action_bar + qi:sound.

demo_sunfire_emblem

Equip/unequip dual trigger + level 15 restriction.

yaml
demo_sunfire_emblem:
  type: accessory
  material: gold_nugget
  display_name: "<yellow>Sunfire Emblem</yellow>"
  item_name: "Sunfire Emblem"
  tier: EPIC
  lore:
    - ""
    - "<gray>Searing flames rise when worn; the warmth fades when removed</gray>"
    - "<dark_gray>Requires level 15</dark_gray>"
  providers:
    ap:
      value: '{"attack_damage":10,"crit_rate":0.1}'
  options:
    glow: true
    restrictions:
      - "level:15"
  actions:
    triggers:
      equip:
        trigger:
          atom: equip
        refs:
          - handler: qi:title
            payload: "<yellow>☀ Sunfire ☀</yellow>||<gray>Searing flames rise</gray>||5||30||10"
          - handler: qi:sound
            payload: "minecraft:entity.blaze.ambient;0.8;1.4"
      unequip:
        trigger:
          atom: unequip
        refs:
          - handler: qi:action_bar
            payload: "<gray>The sunfire warmth fades…</gray>"

Ring ring.yml

demo_jade_ring

Simplest ring: appearance only + health attribute.

yaml
demo_jade_ring:
  type: ring
  material: gold_ingot
  display_name: "<green>Jade Ring</green>"
  item_name: "Jade Ring"
  lore:
    - ""
    - "<gray>An exquisite ring set with jade</gray>"
  providers:
    ap:
      value: '{"health":20}'
  • Purely passive; base material gold_ingot, no trigger.

demo_ruby_ring

Rare ring: glow + attack/crit attributes.

yaml
demo_ruby_ring:
  type: ring
  material: gold_ingot
  display_name: "<red>Ruby Ring</red>"
  item_name: "Ruby Ring"
  tier: RARE
  lore:
    - ""
    - "<gray>Burning with crimson flame</gray>"
  providers:
    ap:
      value: '{"attack_damage":5,"crit_rate":0.05}'
  options:
    glow: true
  • tier: RARE + glow, purely passive attributes.

demo_crit_band

Equip trigger: announces the crit passive activating on equip.

yaml
demo_crit_band:
  type: ring
  material: gold_nugget
  display_name: "<gold>Keen Light Band</gold>"
  item_name: "Keen Light Band"
  tier: EPIC
  lore:
    - ""
    - "<gray>Steadier hands and sharper aim while worn</gray>"
    - "<dark_gray>Effective on equip · Crit rate +12%</dark_gray>"
  providers:
    ap:
      value: '{"crit_rate":0.12}'
  options:
    glow: true
  actions:
    triggers:
      equip:
        trigger:
          atom: equip
        refs:
          - handler: qi:action_bar
            payload: "<gold>Keen Light Band passive activated</gold>"
          - handler: qi:sound
            payload: "minecraft:block.amethyst_block.chime;1;1.2"
  • equip trigger + amethyst chime sound.

demo_arcane_loop

Equip/unequip dual trigger + bind on acquire.

yaml
demo_arcane_loop:
  type: ring
  material: amethyst_shard
  display_name: "<light_purple>Arcane Loop</light_purple>"
  item_name: "Arcane Loop"
  tier: LEGENDARY
  lore:
    - ""
    - "<gray>A shimmer around your fingertip that amplifies every spell</gray>"
    - "<dark_gray>Effective on equip · Magic damage +15</dark_gray>"
  providers:
    ap:
      value: '{"magic_damage":15}'
  options:
    glow: true
    bind_on_acquire: true
  actions:
    triggers:
      equip:
        trigger:
          atom: equip
        refs:
          - handler: qi:title
            payload: "<light_purple>Arcane Surround</light_purple>||<gray>Mana surges</gray>||5||30||10"
          - handler: qi:sound
            payload: "minecraft:block.enchantment_table.use;1;1"
      unequip:
        trigger:
          atom: unequip
        refs:
          - handler: qi:action_bar
            payload: "<gray>The glow of the Arcane Loop dims…</gray>"
  • options.bind_on_acquire: true binds on acquire; equip / unequip dual triggers.

Necklace necklace.yml

🖼️ [Image placeholder] Attribute panel comparison before and after wearing a necklace in the necklace slot · suggested assets/necklace-equip.png

demo_jade_pendant

Simplest necklace: appearance only + health attribute.

yaml
demo_jade_pendant:
  type: necklace
  material: emerald
  display_name: "<green>Jade Pendant</green>"
  item_name: "Jade Pendant"
  lore:
    - ""
    - "<gray>A jade pendant, gentle as water</gray>"
  providers:
    ap:
      value: '{"health":40}'
  • Base material emerald, purely passive with no trigger.

demo_phoenix_pendant

Epic necklace: glow + health/defense dual attributes.

yaml
demo_phoenix_pendant:
  type: necklace
  material: emerald
  display_name: "<gold>Phoenix Necklace</gold>"
  item_name: "Phoenix Necklace"
  tier: EPIC
  lore:
    - ""
    - "<gray>Holds an undying flame</gray>"
  providers:
    ap:
      value: '{"health":60,"defense":6}'
  options:
    glow: true
  • tier: EPIC + glow, purely passive.

demo_star_amulet

Equip trigger: plays a starlight title and sound on equip.

yaml
demo_star_amulet:
  type: necklace
  material: nether_star
  display_name: "<aqua>Star Amulet</aqua>"
  item_name: "Star Amulet"
  tier: RARE
  lore:
    - ""
    - "<gray>Starlight surrounds you when worn</gray>"
  providers:
    ap:
      value: '{"health":50,"defense":8}'
  options:
    glow: true
  actions:
    triggers:
      equip:
        trigger:
          atom: equip
        refs:
          - handler: qi:title
            payload: "<aqua>✦ Starlight Blessing ✦</aqua>||<gray>Starlight surrounds your body</gray>||10||40||10"
          - handler: qi:sound
            payload: "minecraft:block.amethyst_block.chime;1;1.4"
  • Base material is nether_star; the equip trigger is paired with the qi:title handler.

demo_amethyst_charm

Equip/unequip dual trigger + level 20 restriction + binding.

yaml
demo_amethyst_charm:
  type: necklace
  material: amethyst_shard
  display_name: "<light_purple>Amethyst Charm</light_purple>"
  item_name: "Amethyst Charm"
  tier: LEGENDARY
  lore:
    - ""
    - "<gray>Wearing it gathers the power of amethyst; removing it lets that power scatter</gray>"
    - "<dark_gray>Requires level 20 · Binds on acquire</dark_gray>"
  providers:
    ap:
      value: '{"health":80,"defense":12}'
  options:
    glow: true
    bind_on_acquire: true
    restrictions:
      - "level:20"
  actions:
    triggers:
      equip:
        trigger:
          atom: equip
        refs:
          - handler: qi:action_bar
            payload: "<light_purple>Amethyst power flows into your body…</light_purple>"
          - handler: qi:sound
            payload: "minecraft:block.amethyst_cluster.place;0.8;1.2"
      unequip:
        trigger:
          atom: unequip
        refs:
          - handler: qi:action_bar
            payload: "<gray>The amethyst power quietly scatters…</gray>"

Bracelet bracelet.yml

demo_bone_bangle

Simplest bracelet: appearance only + attack attribute.

yaml
demo_bone_bangle:
  type: bracelet
  material: bone
  display_name: "<white>Bone Bangle</white>"
  item_name: "Bone Bangle"
  lore:
    - ""
    - "<gray>Ground and polished from beast bone</gray>"
  providers:
    ap:
      value: '{"attack_damage":4}'
  • Base material bone, purely passive with no trigger.

demo_copper_bangle

Uncommon bracelet: attack + health dual attributes.

yaml
demo_copper_bangle:
  type: bracelet
  material: copper_ingot
  display_name: "<gold>Copper Bangle</gold>"
  item_name: "Copper Bangle"
  tier: UNCOMMON
  lore:
    - ""
    - "<gray>Gleaming with a coppery sheen</gray>"
  providers:
    ap:
      value: '{"attack_damage":6,"health":15}'
  • tier: UNCOMMON, no glow, purely passive.

demo_gilded_cuff

Equip trigger: plays a golden-light title and sound on equip.

yaml
demo_gilded_cuff:
  type: bracelet
  material: gold_ingot
  display_name: "<yellow>Gilded Cuff</yellow>"
  item_name: "Gilded Cuff"
  tier: RARE
  lore:
    - ""
    - "<gray>Golden light wreathes you when worn</gray>"
    - "<dark_gray>Effective on equip · Passive bonus</dark_gray>"
  providers:
    ap:
      value: '{"attack_damage":8,"defense":6,"health":20}'
  options:
    glow: true
  actions:
    triggers:
      equip:
        trigger:
          atom: equip
        refs:
          - handler: qi:title
            payload: "<yellow>✦ Gilded Cuff ✦</yellow>||<gray>Golden light upon you</gray>||10||40||10"
          - handler: qi:sound
            payload: "minecraft:block.amethyst_block.chime;1;1.2"
  • Three-dimensional attributes (attack/defense/health) + equip trigger.

demo_warding_bangle

Equip/unequip dual trigger + binding.

yaml
demo_warding_bangle:
  type: bracelet
  material: gold_ingot
  display_name: "<aqua>Warding Bangle</aqua>"
  item_name: "Warding Bangle"
  tier: EPIC
  lore:
    - ""
    - "<gray>Warding power flows as you wear it</gray>"
    - "<dark_gray>Binds on acquire</dark_gray>"
  providers:
    ap:
      value: '{"defense":12,"health":40}'
  options:
    glow: true
    bind_on_acquire: true
  actions:
    triggers:
      equip:
        trigger:
          atom: equip
        refs:
          - handler: qi:action_bar
            payload: "<aqua>Warding power activated</aqua>"
          - handler: qi:sound
            payload: "minecraft:entity.player.levelup;0.6;1.4"
      unequip:
        trigger:
          atom: unequip
        refs:
          - handler: qi:action_bar
            payload: "<gray>The warding power has scattered…</gray>"
  • bind_on_acquire + equip / unequip dual triggers.

Food food.yml

🖼️ [Image placeholder] The moment of eating the Golden Treat, triggering a title + absorption buff · suggested assets/food-consume.png

The food-specific fields options.food.nutrition / saturation customize hunger restoration — see Item Definition for details.

demo_traveler_bread

Simplest food: Traveler's Bread, appearance only + stackable.

yaml
demo_traveler_bread:
  type: food
  material: bread
  display_name: "<white>Traveler's Bread</white>"
  item_name: "Traveler's Bread"
  lore:
    - ""
    - "<gray>Hunger-staving rations for the road</gray>"
  options:
    max_stack_size: 64
  • Uses vanilla bread's edible property, no custom food block, no trigger.

demo_roast_feast

Roast Feast: custom saturation + eating message.

yaml
demo_roast_feast:
  type: food
  material: cooked_beef
  display_name: "<gold>Roast Feast</gold>"
  item_name: "Roast Feast"
  lore:
    - ""
    - "<gray>Roasted meat fragrant in the air</gray>"
    - "<dark_gray>Eating restores abundant stamina</dark_gray>"
  options:
    max_stack_size: 64
    food:
      nutrition: 8
      saturation: 12.8
  actions:
    triggers:
      consume:
        trigger:
          atom: consume
        refs:
          - handler: qi:action_bar
            payload: "<gold>A warm current rises from your belly…</gold>"
          - handler: qi:sound
            payload: "minecraft:entity.player.burp;1;1"
  • The consume trigger only works for edible materials; options.food customizes nutrition: 8 / saturation: 12.8.

demo_golden_treat

Golden Treat: eating triggers a buff command + title + 30s cooldown.

yaml
demo_golden_treat:
  type: food
  material: golden_apple
  display_name: "<yellow>Golden Treat</yellow>"
  item_name: "Golden Treat"
  tier: RARE
  lore:
    - ""
    - "<gray>Grants a powerful buff after eating</gray>"
    - "<dark_gray>30 second cooldown</dark_gray>"
  options:
    glow: true
    max_stack_size: 64
    food:
      nutrition: 4
      saturation: 9.6
  actions:
    triggers:
      consume:
        trigger:
          atom: consume
        cooldown: 30s
        refs:
          - handler: qi:title
            payload: "<yellow>✦ Golden Power ✦</yellow>||<gray>Golden radiance wreathes you</gray>||5||40||10"
          - handler: qi:console_command
            payload: "effect give {player} minecraft:absorption 30 1"
          - handler: qi:sound
            payload: "minecraft:entity.player.levelup;1;1.4"
  • cooldown: 30s prevents buff spamming; qi:console_command runs effect give {player} ... with console permissions; for cooldown semantics see Cooldown/Cost/Condition.

Scroll scroll.yml

Scrolls are one-time spells: triggered with left_click + consume: ["self:1"] to use up this one. right_click does not always trigger against air, so scrolls always use left_click.

demo_teleport_scroll

Pure-appearance scroll: teleport theme, no actions, stacks to 16.

yaml
demo_teleport_scroll:
  type: scroll
  material: paper
  display_name: "<aqua>Teleport Scroll</aqua>"
  item_name: "Teleport Scroll"
  lore:
    - ""
    - "<gray>Tear it open to teleport instantly</gray>"
  options:
    max_stack_size: 16
  • Template baseline, no actions; max_stack_size: 16.

demo_identify_scroll

Pure-appearance scroll: identify-themed appearance baseline.

yaml
demo_identify_scroll:
  type: scroll
  material: writable_book
  display_name: "<yellow>Identify Scroll</yellow>"
  item_name: "Identify Scroll"
  lore:
    - ""
    - "<gray>Identifies the attributes of unknown items</gray>"
  options:
    max_stack_size: 16
  • Base material writable_book, no trigger.

demo_return_scroll

Return Scroll: left-click to tear open, return to spawn and consume this one.

yaml
demo_return_scroll:
  type: scroll
  material: paper
  display_name: "<gold>Return Scroll</gold>"
  item_name: "Return Scroll"
  tier: UNCOMMON
  lore:
    - ""
    - "<gray>Left-click to tear open and teleport to spawn</gray>"
    - "<dark_gray>One-time · 3 second cooldown</dark_gray>"
  options:
    max_stack_size: 16
    glow: true
  actions:
    triggers:
      left_click:
        trigger:
          atom: left_click
        cooldown: 3s
        consume:
          - "self:1"
        refs:
          - handler: qi:title
            payload: "<gold>✦ Return ✦</gold>||<gray>Space tears open…</gray>||3||30||10"
          - handler: qi:sound
            payload: "minecraft:entity.enderman.teleport;1;1"
          - handler: qi:command
            payload: "spawn"
  • consume: ["self:1"] for one-time consumption + cooldown: 3s, see Cooldown/Cost/Condition; qi:command executes spawn as the player.

demo_blessing_scroll

Blessing Scroll: left-click to tear open, play title/sound and consume this one.

yaml
demo_blessing_scroll:
  type: scroll
  material: paper
  display_name: "<light_purple>Blessing Scroll</light_purple>"
  item_name: "Blessing Scroll"
  tier: RARE
  lore:
    - ""
    - "<gray>Left-click to tear open and bathe in a holy blessing</gray>"
    - "<dark_gray>One-time · 5 second cooldown</dark_gray>"
  options:
    max_stack_size: 16
    glow: true
  actions:
    triggers:
      left_click:
        trigger:
          atom: left_click
        cooldown: 5s
        consume:
          - "self:1"
        refs:
          - handler: qi:title
            payload: "<light_purple>✦ Blessing Descends ✦</light_purple>||<gray>Holy light surrounds you</gray>||5||40||10"
          - handler: qi:sound
            payload: "minecraft:entity.player.levelup;1;1.2"
          - handler: qi:action_bar
            payload: "<light_purple>You have received a holy blessing</light_purple>"
  • Same structure as the Return Scroll, cooldown: 5s + self:1, with three feedback handlers.

Seed seed.yml

demo_wheat_seed

Simplest seed: appearance only, stackable.

yaml
demo_wheat_seed:
  type: seed
  material: wheat_seeds
  display_name: "<green>Wheat Seed</green>"
  item_name: "Wheat Seed"
  lore:
    - ""
    - "<gray>Plantable wheat seeds</gray>"
  options:
    max_stack_size: 64
  • Inherits vanilla wheat_seeds planting behavior, no trigger.

demo_mystic_seed

Rare seed: an appearance variant holding energy.

yaml
demo_mystic_seed:
  type: seed
  material: pumpkin_seeds
  display_name: "<gold>Mystic Seed</gold>"
  item_name: "Mystic Seed"
  tier: UNCOMMON
  lore:
    - ""
    - "<gray>A seed holding mysterious energy</gray>"
  options:
    max_stack_size: 64
  • tier: UNCOMMON, pure appearance with no trigger.

demo_spirit_melon_seed

Place trigger: announces + sound when scattered onto farmland, 2 second cooldown.

yaml
demo_spirit_melon_seed:
  type: seed
  material: melon_seeds
  display_name: "<aqua>Spirit Spring Melon Seed</aqua>"
  item_name: "Spirit Spring Melon Seed"
  tier: RARE
  lore:
    - ""
    - "<gray>Scatter it onto farmland and pray for a harvest</gray>"
    - "<dark_gray>Plays a sound when planted · 2 second cooldown</dark_gray>"
  options:
    glow: true
    max_stack_size: 64
  actions:
    triggers:
      place_block:
        trigger:
          atom: place_block
        cooldown: 2s
        refs:
          - handler: qi:action_bar
            payload: "<aqua>The Spirit Spring Melon Seed has fallen into the soil…</aqua>"
          - handler: qi:sound
            payload: "minecraft:item.crop.plant;1;1.2"
  • The place_block trigger fires when the seed is scattered onto farmland; cooldown: 2s.

Bait bait.yml

demo_river_bait

Simplest bait: appearance only, stackable.

yaml
demo_river_bait:
  type: bait
  material: wheat
  display_name: "<white>River Bait</white>"
  item_name: "River Bait"
  lore:
    - ""
    - "<gray>Ordinary bait that attracts river fish</gray>"
    - "<dark_gray>Just carry it while fishing</dark_gray>"
  options:
    max_stack_size: 64
  • Carry it along while fishing, no trigger.

demo_glow_bait

Glow Bait: glow + quality.

yaml
demo_glow_bait:
  type: bait
  material: slime_ball
  display_name: "<green>Glow Bait</green>"
  item_name: "Glow Bait"
  tier: UNCOMMON
  lore:
    - ""
    - "<gray>The glow lures deep-water fish</gray>"
  options:
    glow: true
    max_stack_size: 64
  • Base material slime_ball + glow, pure appearance.

demo_lucky_bait

Interactive bait: hold and left-click to cast bait with a message + sound.

yaml
demo_lucky_bait:
  type: bait
  material: glow_berries
  display_name: "<gold>Lucky Bait</gold>"
  item_name: "Lucky Bait"
  tier: RARE
  lore:
    - ""
    - "<gray>Gives off a strange aroma; legend says it draws rare catches</gray>"
    - "<yellow>Hold and swing left-click: scatter the bait</yellow>"
  options:
    glow: true
    max_stack_size: 16
  actions:
    triggers:
      left_click:
        trigger:
          atom: left_click
        cooldown: 3s
        refs:
          - handler: qi:action_bar
            payload: "<gold>You scatter a handful of lucky bait……</gold>"
          - handler: qi:sound
            payload: "minecraft:entity.fishing_bobber.throw;1;1"
  • left_click trigger + cooldown: 3s, no consumption.

Material material.yml

demo_iron_fragment

Simplest material: pure appearance + stackable (produced by demo_mystic_essence).

yaml
demo_iron_fragment:
  type: material
  material: iron_ingot
  display_name: "<white>Refined Iron Fragment</white>"
  item_name: "Refined Iron Fragment"
  lore:
    - ""
    - "<gray>A common material for forging equipment</gray>"
  options:
    max_stack_size: 64
  • Pure crafting material, no trigger.

demo_copper_fragment

Copper material: pure appearance.

yaml
demo_copper_fragment:
  type: material
  material: copper_ingot
  display_name: "<gold>Copper Fragment</gold>"
  item_name: "Copper Fragment"
  lore:
    - ""
    - "<gray>A copper material with good energy conductivity</gray>"
  options:
    max_stack_size: 64
  • Pure appearance material.

demo_gold_fragment

Precious material: pure appearance.

yaml
demo_gold_fragment:
  type: material
  material: gold_ingot
  display_name: "<yellow>Red Gold Fragment</yellow>"
  item_name: "Red Gold Fragment"
  lore:
    - ""
    - "<gray>A precious red gold material</gray>"
  options:
    max_stack_size: 64
  • Pure appearance material.

demo_mystic_essence

Craftable material: left-click consumes 3 of itself to exchange for one finished product + message.

yaml
demo_mystic_essence:
  type: material
  material: string
  display_name: "<light_purple>Mystic Essence</light_purple>"
  item_name: "Mystic Essence"
  tier: UNCOMMON
  lore:
    - ""
    - "<gray>A crafting material holding a faint glow</gray>"
    - "<gray>Gather 3 to condense them into an iron fragment</gray>"
    - "<dark_gray>Left-click to condense · 2 second cooldown</dark_gray>"
  options:
    glow: true
    max_stack_size: 64
  actions:
    triggers:
      left_click:
        trigger:
          atom: left_click
        cooldown: 2s
        consume:
          - "self:3"
        refs:
          - handler: qi:give_item
            payload: "demo_iron_fragment"
          - handler: qi:action_bar
            payload: "<light_purple>The Mystic Essence condenses into form…</light_purple>"
          - handler: qi:sound
            payload: "minecraft:block.amethyst_block.chime;1;1.2"
  • consume: ["self:3"] eats 3 of this item at once, and the qi:give_item handler produces demo_iron_fragment; for consumption semantics see Cooldown/Cost/Condition.

Tool tool.yml

🖼️ [Image placeholder] The Prospector Pick mining, triggering the vein-echo action_bar · suggested assets/tool-break-block.png

The core tool trigger is break_block (the tool held while breaking a block). Materials are mostly *_pickaxe / *_axe / *_shovel.

demo_miner_pick

Simplest tool: Miner Pick, appearance + attack attribute + unbreakable.

yaml
demo_miner_pick:
  type: tool
  material: diamond_pickaxe
  display_name: "<aqua>Miner Pick</aqua>"
  item_name: "Miner Pick"
  lore:
    - ""
    - "<gray>A quality pick for efficient mining</gray>"
  providers:
    ap:
      value: '{"attack_damage":6}'
  options:
    unbreakable: true
  • options.unbreakable: true, purely passive with no trigger.

demo_lumber_axe

Lumber Axe: appearance + attack attribute + unbreakable.

yaml
demo_lumber_axe:
  type: tool
  material: iron_axe
  display_name: "<white>Lumber Axe</white>"
  item_name: "Lumber Axe"
  lore:
    - ""
    - "<gray>A handy tool for felling trees</gray>"
  providers:
    ap:
      value: '{"attack_damage":7}'
  options:
    unbreakable: true
  • Same structure as above, base material iron_axe.

demo_prospector_pick

Break-block trigger: Prospector Pick, mining echo + 2 second cooldown.

yaml
demo_prospector_pick:
  type: tool
  material: golden_pickaxe
  display_name: "<gold>Prospector Pick</gold>"
  item_name: "Prospector Pick"
  tier: RARE
  lore:
    - ""
    - "<gray>Echoes the sound of ore veins while mining blocks</gray>"
    - "<dark_gray>2 second cooldown</dark_gray>"
  providers:
    ap:
      value: '{"attack_damage":6}'
  options:
    unbreakable: true
    glow: true
  actions:
    triggers:
      break_block:
        trigger:
          atom: break_block
        cooldown: 2s
        refs:
          - handler: qi:action_bar
            payload: "<gold>⛏ Vein echo…</gold>"
          - handler: qi:sound
            payload: "minecraft:block.amethyst_block.chime;0.8;1.2"
  • break_block trigger + cooldown: 2s.

demo_forester_axe

Break-block + left-click dual trigger: Forester Axe, requires level 10.

yaml
demo_forester_axe:
  type: tool
  material: netherite_axe
  display_name: "<green>Forester Axe</green>"
  item_name: "Forester Axe"
  tier: EPIC
  lore:
    - ""
    - "<gray>Stirs birdsong in the woods when breaking blocks</gray>"
    - "<gray>Swing left-click to mark a gathering direction</gray>"
    - "<dark_gray>Requires level 10</dark_gray>"
  providers:
    ap:
      value: '{"attack_damage":9}'
  options:
    unbreakable: true
    glow: true
    restrictions:
      - "level:10"
  actions:
    triggers:
      break_block:
        trigger:
          atom: break_block
        cooldown: 1s
        refs:
          - handler: qi:sound
            payload: "minecraft:entity.parrot.ambient;0.7;1"
          - handler: qi:action_bar
            payload: "<green>🌿 Woodland echo…</green>"
      left_click:
        trigger:
          atom: left_click
        cooldown: 500ms
        refs:
          - handler: qi:action_bar
            payload: "<green>Gathering direction selected</green>"
  • break_block (cooldown: 1s) and left_click (cooldown: 500ms) are two independent triggers, each with a different cooldown; restrictions: ["level:10"].

Fishing Rod fishing_rod.yml

The fishing rod has a dedicated trigger fish (when reeling in a catch). right_click does not always trigger against air, so fishing rods generally use fish.

demo_angler_rod

Simplest fishing rod: appearance only + unbreakable (also given out as a reward by the Lucky Koi Rod).

yaml
demo_angler_rod:
  type: fishing_rod
  material: fishing_rod
  display_name: "<white>Angler's Rod</white>"
  item_name: "Angler's Rod"
  lore:
    - ""
    - "<gray>A handy tackle for the fisherman</gray>"
  options:
    unbreakable: true
  • unbreakable: true, no trigger.

demo_deepsea_rod

Rare fishing rod: glow + unbreakable.

yaml
demo_deepsea_rod:
  type: fishing_rod
  material: fishing_rod
  display_name: "<blue>Deep Sea Rod</blue>"
  item_name: "Deep Sea Rod"
  tier: RARE
  lore:
    - ""
    - "<gray>Can reel up deep-sea rarities</gray>"
  options:
    unbreakable: true
    glow: true
  • tier: RARE + glow, pure appearance.

demo_harvest_rod

Reel trigger: Harvest Rod, plays a sound + message when reeling in, 2 second cooldown.

yaml
demo_harvest_rod:
  type: fishing_rod
  material: fishing_rod
  display_name: "<green>Harvest Rod</green>"
  item_name: "Harvest Rod"
  tier: EPIC
  lore:
    - ""
    - "<gray>The instant you reel in, the water splashes with joy</gray>"
    - "<dark_gray>2 second cooldown</dark_gray>"
  options:
    unbreakable: true
    glow: true
  actions:
    triggers:
      fish:
        trigger:
          atom: fish
        cooldown: 2s
        refs:
          - handler: qi:sound
            payload: "minecraft:entity.fishing_bobber.splash;1;1.2"
          - handler: qi:action_bar
            payload: "<aqua>~ Got a bite! ~</aqua>"

demo_lucky_koi_rod

Reel trigger + gift item: Lucky Koi Rod, grants an extra reward when reeling in, 5 second cooldown.

yaml
demo_lucky_koi_rod:
  type: fishing_rod
  material: fishing_rod
  display_name: "<gold>Lucky Koi Rod</gold>"
  item_name: "Lucky Koi Rod"
  tier: LEGENDARY
  lore:
    - ""
    - "<gray>When reeling in, you occasionally gain the koi's blessing</gray>"
    - "<dark_gray>5 second cooldown</dark_gray>"
  options:
    unbreakable: true
    glow: true
  actions:
    triggers:
      fish:
        trigger:
          atom: fish
        cooldown: 5s
        refs:
          - handler: qi:title
            payload: "<gold>★ Koi ★</gold>||<gray>Fortune at the door</gray>||3||30||10"
          - handler: qi:sound
            payload: "minecraft:entity.player.levelup;1;1.4"
          - handler: qi:give_item
            payload: "demo_angler_rod"
  • fish trigger + cooldown: 5s; the qi:give_item handler gives out demo_angler_rod.

🖼️ [Image placeholder] The title + give_item message chain when the Lucky Koi Rod gifts an item on reeling in · suggested assets/fishing-koi-give.png


Next Steps