Enum Class O2DivinationType

java.lang.Object
java.lang.Enum<O2DivinationType>
net.pottercraft.ollivanders2.divination.O2DivinationType
All Implemented Interfaces:
Serializable, Comparable<O2DivinationType>, Constable

public enum O2DivinationType extends Enum<O2DivinationType>
Enumeration of all available divination methods in Ollivanders2.

This enum maps each divination type to its corresponding implementation class. The divination methods vary in accuracy, with centaur divination being the most reliable (80% max accuracy) and tasseomancy being the least (20% max accuracy). Each divination method defines its own prophecy prefixes and behavior through subclasses of O2Divination.

Implemented divination types:

  • ASTROLOGY - Celestial-based divination (20% max accuracy)
  • CARTOMANCY - Card divination with spades focus (25% max accuracy)
  • CARTOMANCY_TAROT - Major arcana tarot reading (35% max accuracy)
  • CENTAUR_DIVINATION - Celestial observation and augury (80% max accuracy)
  • CRYSTAL_BALL - Scrying and clairvoyant vision (30% max accuracy)
  • OVOMANCY - Egg pattern interpretation (40% max accuracy)
  • TASSEOMANCY - Tea-leaf reading (20% max accuracy)

Additional divination methods are defined in comments for future implementation: BIBLIOMANCY, CATOPTROMANCY, CHINESE_FORTUNE_STICKS, DREAM_INTERPRETATION, FIRE_OMEN, HEPTOMOLOGY, ICHTHYOMANCY, MYOMANCY, PALMISTRY, ORNITHOMANCY, RUNE_STONES, XYLOMANCY

See Also:
  • Enum Constant Details

  • Method Details

    • values

      public static O2DivinationType[] 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 O2DivinationType 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
    • getClassName

      @NotNull public @NotNull Class<?> getClassName()
      get the classname for this divination type
      Returns:
      the class for this divination