Enum Class MagicLevel

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

public enum MagicLevel extends Enum<MagicLevel>
Difficulty progression levels for spells, effects, enchantments, and potions.

Represents a four-tier difficulty system ranging from beginner-friendly magic to expert-only magic. Used to gate access to spells and potions based on player progression and to balance gameplay difficulty.

  • Enum Constant Details

    • BEGINNER

      public static final MagicLevel BEGINNER
      Entry-level magic for beginners (years 1-2 equivalent). The easiest and most basic magic available to new players.
    • OWL

      public static final MagicLevel OWL
      Intermediate magic for intermediate practitioners (years 3-4 equivalent). More complex and powerful than beginner magic, requiring some skill and experience.
    • NEWT

      public static final MagicLevel NEWT
      Advanced magic for skilled practitioners (years 5-7 equivalent). Powerful magic requiring significant skill and experience to perform safely.
    • EXPERT

      public static final MagicLevel EXPERT
      Expert-level magic for advanced magicians. The most powerful and restrictive magic, typically requiring special training or achievement. May be inaccessible to regular players depending on configuration.
  • Method Details

    • values

      public static MagicLevel[] 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 MagicLevel 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