Skip to content

Item Update Strategy

The item update system can update existing player items when an item definition changes.

Fields

update is a top-level field in an item definition.

FieldDefaultDescription
enabledfalseWhether item update is enabled.
version0Item version. Updates trigger only when this increases.
preserve_amounttruePreserve stack amount.
preserve_damagetruePreserve durability damage.
preserve_unknown_attribute_sourcestruePreserve attributes from unknown sources.
triggersItem-level trigger overrides.

enabled must be true and version must be at least 1.

Trigger timing

Updates can run on these triggers, controlled by global config or item-level overrides:

TriggerDescription
joinPlayer joins.
held_changeHeld item changes.
inventory_clickInventory click.
inventory_dragInventory drag.
pickupItem pickup.
interactInteraction.
commandManual command.

Version mechanism

  • Item PDC stores the current update_version.
  • If the definition version is greater than the PDC version, update runs.
  • After update, PDC version is set to the definition version.

Example

yaml
id: starter_sword
display_name: '<white>Starter Sword'
material: IRON_SWORD
update:
  enabled: true
  version: 3
  preserve_amount: true
  preserve_damage: true
  preserve_unknown_attribute_sources: true

When version changes from 2 to 3, old starter swords in player inventories are updated when a configured trigger runs.