java.lang.Object
java.lang.Enum<Zones>
net.demilich.metastone.game.targeting.Zones
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<Zones>, java.lang.constant.Constable

public enum Zones
extends java.lang.Enum<Zones>
Zones describe the different locations for entities in the game.

In a standard game, the local player can see their HAND, their SECRET zone, and both player's BATTLEFIELD zones. They know the count of the number of entities in the opponent's HAND, opponent's DECK, opponent's SECRET zone and their own DECK. While neither player can browse through the GRAVEYARD the information inside of it is not considered secret.

Many effects interact with zones in special ways. For example, a GameLogic.summon(int, Minion, Entity, int, boolean) performs the consequences of playing a Card; the card is moved to the GRAVEYARD and a new Minion is created by Card.minion() and placed into the BATTLEFIELD.

See Also:
for the method that generally moves entities from one zone to another., for more about entity locations and how zones are manipulated.
  • Nested Class Summary

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

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

    Enum Constants 
    Enum Constant Description
    BATTLEFIELD
    A Minion is typically summoned into this zone.
    DECK
    This zone is a player's deck.
    DISCOVER
    The discover zone has any cards that are being currently chosen by the player as part of a DiscoverAction.
    ENCHANTMENT
    The enchantment zone corresponds to the player's list of Enchantment entities in the GameContext.getTriggers() list.
    GRAVEYARD
    The graveyard is where a Card has been played with GameLogic.playCard(int, EntityReference, EntityReference) goes; and where an Actor that has been destroyed with GameLogic.destroy(Actor...) goes.
    HAND
    This zone is a player's hand.
    HERO
    The hero zone stores the Hero actor that represents a player's targetable avatar in the game.
    HERO_POWER
    The hero power zone stores the hero power for a corresponding Hero.
    NONE
    This zone specifies the entity belongs to no zone or the zone is not yet assigned.
    PLAYER
    Metastone originally used the same object for what is now the Player and Hero entity.
    QUEST
    This zone is where Quest entities go, which behave like secrets that are visible to the opponent and do not go away the first time they are triggered.
    REMOVED_FROM_PLAY
    An Entity in this zone is "deleted" in the sense that it will never appear in any EntityFilter filters or targeting lists.
    SECRET
    This zone is where a Secret entity goes.
    SET_ASIDE_ZONE
    The set aside zone holds an Entity existing in any intermediate or "not really on the board" state, like the original minion after Recycle puts a new copy in the deck, the prior state of transformed minions and Lord Jaraxxus the minion after his Battlecry occurs.
    WEAPON
    The weapon zone stores the Weapon that a Hero has equipped.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.util.Set<Zones> PRIVATE
    These zones are private: only the player that owns the entity in the zone ought to see notifications originating from that zone.
    static java.util.Set<Zones> PUBLIC
    These zones are public for notification purposes: both players ought to see their contents.
  • Method Summary

    Modifier and Type Method Description
    java.lang.String getSerialized()  
    static Zones[] validZones()  
    static Zones valueOf​(java.lang.String name)
    Returns the enum constant of this type with the specified name.
    static Zones[] values()
    Returns an array containing the constants of this enum type, in the order they are declared.

    Methods inherited from class java.lang.Enum

    clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait