Package net.demilich.metastone.game.spells

Spells contain all the functional pieces of the card JSON (Click on description to learn more about how to use this).

Each of these classes correspond to the value part of a spell's "class" key in the card JSON. For example, if you saw the following in the card JSON:

   {
     "class": "DrawCardSpell"
   }
 
You would look up DrawCardSpell here.

Then, SpellArg referenced in the documentation correspond to keys in the JSON. For example, if you saw the following in the card JSON:

   {
     "class": "DrawCardSpell",
     "value": 1
   }
 
You'll see that DrawCardSpell says that SpellArg.VALUE is the number of cards to draw. That arg refers to the key "value" in the JSON. We refer to this change in casing as "camelCase"; each spell arg corresponds to a camelCased version in the JSON, where you remove the underscores and start the first letter lowercase, subsequent starts of words uppercase.
See Also:
for a rough idea of what the args generally mean., for the base class of all spell effects (which includes stuff like battlecries).