Items & Attributes

Action items with custom attributes and stat modifiers. Items can be given as quest rewards, purchased from shops, or obtained from loot tables.

💡 For quality tiers and the reroll system, see Quality & Reroll.

Action Items

Action Items are special items that execute quest actions when the player right-clicks them. They are defined in config/itemconfig.json files and can customize the item's name, description, tooltip display, and behavior.

⚠️ Action Items are different from regular items. Regular items have vanilla behavior. Action Items trigger quest actions on use.

How Action Items Work

  • Configuration β€” Action Items are defined in config/itemconfig.json within a quest pack.
  • Registration β€” On game load, ItemSystem scans all mods for itemconfig.json files and registers them to ActionItemRegistry.
  • Item Creation β€” When an action item is given (via questitem action), the item receives special attributes including alegacyvsquest:actions.
  • Execution β€” When the player right-clicks the item, the client sends a packet to the server, which executes all configured actions.

Configuration File

Action Items are defined in config/itemconfig.json:

{
  "actionItems": [
    {
      "id": "yourmod:shadow-earring",
      "itemCode": "game:yourmod-earring",
      "name": "Shadow Earring",
      "description": "A dark earring pulsing with void energy.\n",
      "actions": [
        { "id": "playsound", "args": ["sounds/effect/magic"] }
      ],
      "attributes": {
        "attackpower": 2.5,
        "critchance": 0.05,
        "maxhealthflat": -3.0
      },
      "showAttributes": ["attackpower", "critchance", "maxhealthflat"],
      "hideVanillaTooltips": ["armor"],
      "quality": {
        "enabled": true,
        "minTier": 1,
        "maxTier": 5
      }
    }
  ]
}

ActionItem Properties

{
  "id": "yourmod:shadow-earring",
  "itemCode": "game:yourmod-earring",
  "name": "Shadow Earring",
  "description": "A dark earring pulsing with void energy.\n",
  "actions": [
    { "id": "playsound", "args": ["sounds/effect/magic"] }
  ],
  "attributes": {
    "attackpower": 2.5,
    "critchance": 0.05,
    "maxhealthflat": -3.0
  },
  "showAttributes": ["attackpower", "critchance", "maxhealthflat"],
  "hideVanillaTooltips": ["armor"],
  "quality": {
    "enabled": true,
    "minTier": 1,
    "maxTier": 5
  }
}

ActionItem Properties

PropertyTypeDescription
idstringUnique identifier for this action item (e.g. yourmod:shadow-earring).
itemCodestringBase vanilla item code this action item is attached to (e.g. game:gear-rusty).
namestringCustom display name shown in the item tooltip.
descriptionstringCustom description text shown in the tooltip. Supports \n for newlines.
actionsarrayList of actions that execute when the player right-clicks the item.
modesarrayTool modes (F-mode selector) that change which actions execute on right-click.
sourceQuestIdstringIf set, the item only works while this quest is active.
triggerOnInventoryAddboolIf true, the item's actions fire automatically when it enters the player's inventory.
blockMoveboolIf true, the item cannot be moved out of the hotbar.
blockEquipboolIf true, the item cannot be equipped into armor/character slots.
blockDropboolIf true, the player cannot manually drop the item.
blockDeathboolIf true, the item is not dropped on player death.
blockGroundStorageboolIf true, the item cannot be placed in ground storage.
attributesobjectMap of stat modifiers (e.g. {"attackpower": 2.5, "critchance": 0.05}). See attribute list below.
showAttributesarrayWhich custom attributes to display in the tooltip. If empty, none are shown.
hideVanillaTooltipsarrayWhich vanilla tooltip sections to hide (e.g. ["durability", "attackpower"]).
chargeModestringCharge system mode: "all" (all stats gated by charge) or "partial" (only chargeGatedAttrs gated).
chargeGatedAttrsarrayAttribute keys that are gated by charge (only used when chargeMode = "partial").
chargeMaterialsarrayItem code substrings that can be used to recharge this item (e.g. ["phosphorite", "fat"]).
chargePerUnitfloatHours of charge added per unit of material. Default: 8.
chargeMaxfloatMaximum charge in hours. Default: 100.
chargeDepletedMultfloatMultiplier applied to gated attributes when charge is depleted. Default: 0 (no effect).

Actions Array

Each action in the actions array follows the same format as quest actions:

{
  "id": "actionId",
  "args": ["arg1", "arg2"]
}

Any action from the Actions documentation can be used here. When the player right-clicks the item, all actions in the actions array (or the selected mode's actions) are executed.

Tool Modes

> ⚠️ EXPERIMENTAL β€” The F-mode tool selector integration may change or be removed in future versions. Use with caution in production quest packs.

Action items can define tool modes that show the vanilla F-mode selector. The selected mode determines which actions are executed:

"modes": [
  {
    "id": "track",
    "name": "Track",
    "icon": "search",
    "actions": [
      { "id": "trackboss", "args": [] }
    ]
  },
  {
    "id": "silent",
    "name": "Silent",
    "icon": "mute",
    "actions": [
      { "id": "notify", "args": ["albase:tracker-silent"] }
    ]
  }
]

Attribute System

Items modify player stats when equipped. All numerical attributes are affected by quality multipliers. Percentage-based attributes use decimal values (e.g., 0.1 = 10%).

AttributeTypeDescription
attackpowerflatMelee damage bonus
warmthflatWarmth added to wearable items
protectionflatFlat damage reduction (armor)
walkspeedpercentMovement speed modifier
hungerratepercentHunger consumption modifier
healingeffectivenesspercentHealing received modifier
rangedaccuracypercentRanged weapon accuracy
rangedchargspeedpercentRanged weapon charge speed
rangeddamagemultpercentRanged weapon damage
miningspeedmultpercentMining speed modifier
falldamagemultpercentFall damage modifier
temporaldrainmultpercentTemporal stability drain modifier
jumpheightmulpercentJump height modifier
knockbackmultpercentKnockback dealt modifier
maxhealthflatflatMax health modifier
maxoxygenflatMax oxygen (displayed as seconds)
stealthflatReduces AI detection/aggro
secondchancechargesflatAuto-revive charges
weightlimitpercentWeight limit modifier
viewdistancepercentFog/view distance modifier
healonkillpercentHeals % of max HP on kill

Display Configuration

{
  "showAttributes": ["attackpower", "maxhealthflat", "hungerrate"],
  "hideVanillaTooltips": ["armor", "attackpower", "protection"]
}
  • showAttributes β€” List of custom attributes to display in item tooltips
  • hideVanillaTooltips β€” List of vanilla tooltip sections to hide (prevents duplicate info)

Available hideVanillaTooltips values

ValueHides
durabilityDurability: X / Y
miningspeedTool tier and mining speeds
storageBag storage slots and contents
nutritionFood satiety and nutrition info
attackpowerVanilla attack power and tier
combustibleBurn temperature, smelting info
grindingGrinding output
crushingPulverizer output
temperatureCurrent item temperature
modsourceWhich mod the item is from

Full Example

A complete action item with all features:

{
  "actionItems": [
    {
      "id": "memorial-scarf-2026",
      "itemCode": "game:clothes-shoulder-artisans-scarf",
      "name": "Memorial Scarf 2026",
      "description": "A warm scarf with special embroidery.\n",
      "actions": [
        { "id": "playsound", "args": ["sounds/effect/writing"] }
      ],
      "attributes": {
        "warmth": 2.0,
        "protection": 200.0,
        "attackpower": 200.0
      },
      "showAttributes": ["protection"],
      "hideVanillaTooltips": ["attackpower"],
      "quality": {
        "enabled": true,
        "minTier": 1,
        "maxTier": 5
      }
    }
  ]
}

This creates a scarf with:

  • Custom name and description
  • Stat bonuses (warmth, protection, attack power)
  • Only protection shown in tooltip
  • Vanilla attackpower tooltip hidden
  • Quality enabled (can roll Common to Legendary)

Giving Action Items

Use the questitem action to give an action item to a player:

{
  "id": "questitem",
  "args": ["memorial-scarf-2026"]
}

Or via dialogue action string:

questitem memorial-scarf-2026

Giving Items in Quests

// Give a vanilla item
{ "id": "giveitem", "args": ["game:ingot-gold", "5"] }

// Give an action item (with attributes and quality)
{ "id": "questitem", "args": ["yourmod:shadow-earring"] }

// Give random from loot table
{ "id": "randomquestitem", "args": ["yourmod:loot-table-code"] }

// Remove items from player
{ "id": "takeitem", "args": ["game:flint", "5"] }

// Consume action items by ID
{ "id": "consumeactionitem", "args": ["yourmod:quest-token", "3"] }

Press ESC to close