Enum Class Rune

java.lang.Object
java.lang.Enum<Rune>
net.storm.api.magic.Rune
All Implemented Interfaces:
Serializable, Comparable<Rune>, Constable

public enum Rune extends Enum<Rune>
Enumeration of all rune types available in the game.

This enum represents both elemental runes (Air, Water, Earth, Fire) and catalytic runes (Mind, Body, Cosmic, Chaos, Nature, Law, Death, Astral, Blood, Soul, Wrath). Each rune type includes its item ID and a list of names that can provide this rune's element, including combination runes.

The enum also handles special equipment that provides unlimited runes, such as:

  • Elemental staves (e.g., Staff of Water, Fire Staff)
  • Tomes (e.g., Tome of Fire, Tome of Water)
  • Kodai Wand (unlimited Water runes)
  • Twinflame Staff (unlimited Water and Fire runes)
  • Bryophyta's Staff (unlimited Nature runes)

See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class java.lang.Enum

    Enum.EnumDesc<E extends Enum<E>>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    Air rune - elemental rune for Air spells.
    Astral rune - catalytic rune used exclusively for Lunar spells.
    Blood rune - catalytic rune used for wave spells and Ancient Magicks.
    Body rune - catalytic rune used for curse spells and some utility spells.
    Chaos rune - catalytic rune used for bolt spells.
    Cosmic rune - catalytic rune used for enchantment spells.
    Death rune - catalytic rune used for blast spells and higher-level magic.
    Earth rune - elemental rune for Earth spells.
    Fire rune - elemental rune for Fire spells.
    Law rune - catalytic rune used for teleportation spells.
    Mind rune - low-level catalytic rune used for strike spells.
    Nature rune - catalytic rune used for alchemy and transmutation spells.
    Soul rune - catalytic rune used for high-level curse spells and Necromancy.
    Water rune - elemental rune for Water spells.
    Wrath rune - the highest-level catalytic rune, used for surge spells.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Gets the total quantity of this rune type available to the player.
    static Rune
    Returns the enum constant of this class with the specified name.
    static Rune[]
    Returns an array containing the constants of this enum class, in the order they are declared.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • AIR

      public static final Rune AIR
      Air rune - elemental rune for Air spells. Can be substituted by Smoke, Mist, or Dust runes.
    • EARTH

      public static final Rune EARTH
      Earth rune - elemental rune for Earth spells. Can be substituted by Lava, Mud, or Dust runes.
    • FIRE

      public static final Rune FIRE
      Fire rune - elemental rune for Fire spells. Can be substituted by Lava, Smoke, Steam, or Sunfire runes.
    • WATER

      public static final Rune WATER
      Water rune - elemental rune for Water spells. Can be substituted by Mud, Steam, or Mist runes.
    • MIND

      public static final Rune MIND
      Mind rune - low-level catalytic rune used for strike spells.
    • BODY

      public static final Rune BODY
      Body rune - catalytic rune used for curse spells and some utility spells.
    • COSMIC

      public static final Rune COSMIC
      Cosmic rune - catalytic rune used for enchantment spells. Can be substituted by Aether runes.
    • CHAOS

      public static final Rune CHAOS
      Chaos rune - catalytic rune used for bolt spells.
    • NATURE

      public static final Rune NATURE
      Nature rune - catalytic rune used for alchemy and transmutation spells.
    • LAW

      public static final Rune LAW
      Law rune - catalytic rune used for teleportation spells.
    • DEATH

      public static final Rune DEATH
      Death rune - catalytic rune used for blast spells and higher-level magic.
    • ASTRAL

      public static final Rune ASTRAL
      Astral rune - catalytic rune used exclusively for Lunar spells.
    • BLOOD

      public static final Rune BLOOD
      Blood rune - catalytic rune used for wave spells and Ancient Magicks.
    • SOUL

      public static final Rune SOUL
      Soul rune - catalytic rune used for high-level curse spells and Necromancy. Can be substituted by Aether runes.
    • WRATH

      public static final Rune WRATH
      Wrath rune - the highest-level catalytic rune, used for surge spells.
  • Method Details

    • values

      public static Rune[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static Rune valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getQuantity

      public int getQuantity()
      Gets the total quantity of this rune type available to the player.

      This method checks multiple sources:

      • Special equipment providing unlimited runes (returns Integer.MAX_VALUE)
      • Runes in the player's inventory (including combination runes)
      • Runes stored in a Rune Pouch

      Special equipment that provides unlimited runes:

      • Kodai Wand - unlimited Water runes
      • Twinflame Staff - unlimited Water and Fire runes
      • Bryophyta's Staff - unlimited Nature runes
      • Elemental staves - unlimited runes of their element
      • Tomes - unlimited runes of their element (when charged)

      Returns:
      the total quantity of this rune available, or Integer.MAX_VALUE if unlimited