java.lang.Object
net.storm.api.movement.pathfinder.model.requirement.charges.ItemChargeRequirement
net.storm.api.movement.pathfinder.model.requirement.charges.ChargeRequirement

public class ChargeRequirement extends ItemChargeRequirement
Requirement for tracking numeric charges on teleport items.

ChargeRequirement extends ItemChargeRequirement to track items with numeric charges, such as jewelry (Ring of Dueling with 8 charges) or other consumable teleport items.

Key Properties

  • maxCharges - Maximum charges the item can hold
  • dailyReset - Whether charges reset daily (e.g., diary items)
  • graphicId - Graphic/animation ID that triggers charge detection
  • animationId - Animation ID that triggers charge detection

Detection Methods

Charges can be detected via:

  • Chat messages matching chatTriggers patterns
  • Graphics/animations when the item is used

Usage Example


 ChargeRequirement ringOfDueling = ChargeRequirement.builder("ring_of_dueling")
     .itemIds(ItemID.RING_OF_DUELING_8, ItemID.RING_OF_DUELING_7, ...)
     .maxCharges(8)
     .chatTrigger("Your Ring of Dueling has (\\d+) charges? left\\.")
     .build();

 // Check if item has graphic trigger
 if (ringOfDueling.hasGraphicTrigger()) {
     // Use graphic detection
 }
 
See Also:
  • Method Details

    • hasGraphicTrigger

      public boolean hasGraphicTrigger()
      Checks if this requirement has a graphic trigger for charge detection.
      Returns:
      true if a graphic ID is configured for detection
    • hasAnimationTrigger

      public boolean hasAnimationTrigger()
      Checks if this requirement has an animation trigger for charge detection.
      Returns:
      true if an animation ID is configured for detection
    • builder

      public static ChargeRequirement.Builder builder(String id)
      Creates a new builder for constructing a ChargeRequirement.
      Parameters:
      id - the unique identifier for this charge requirement
      Returns:
      a new Builder instance