/* * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, this list * of conditions and the following disclaimer in the documentation and/or other materials * provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of BetaSteward_at_googlemail.com. */ package org.mage.test.stub; import java.io.Serializable; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; import java.util.UUID; import mage.MageObject; import mage.abilities.Abilities; import mage.abilities.Ability; import mage.abilities.ActivatedAbility; import mage.abilities.Mode; import mage.abilities.Modes; import mage.abilities.SpellAbility; import mage.abilities.TriggeredAbility; import mage.abilities.costs.AlternativeSourceCosts; import mage.abilities.costs.Cost; import mage.abilities.costs.Costs; import mage.abilities.costs.VariableCost; import mage.abilities.costs.mana.ManaCost; import mage.abilities.costs.mana.ManaCosts; import mage.abilities.mana.ManaOptions; import mage.cards.Card; import mage.cards.Cards; import mage.cards.decks.Deck; import mage.choices.Choice; import mage.constants.AbilityType; import mage.constants.ManaType; import mage.constants.Outcome; import mage.constants.PlayerAction; import mage.constants.RangeOfInfluence; import mage.constants.Zone; import mage.counters.Counter; import mage.counters.Counters; import mage.filter.FilterPermanent; import mage.game.Game; import mage.game.Graveyard; import mage.game.Table; import mage.game.combat.CombatGroup; import mage.game.draft.Draft; import mage.game.match.Match; import mage.game.match.MatchPlayer; import mage.game.permanent.Permanent; import mage.game.tournament.Tournament; import mage.players.Library; import mage.players.ManaPool; import mage.players.Player; import mage.players.net.UserData; import mage.target.Target; import mage.target.TargetAmount; import mage.target.TargetCard; import mage.target.common.TargetCardInLibrary; /** * * @author Quercitron */ public class PlayerStub implements Player { private final UUID id = UUID.randomUUID(); @Override public UUID getId() { return id; } @Override public boolean isHuman() { return false; } @Override public String getName() { return null; } @Override public String getLogName() { return null; } @Override public RangeOfInfluence getRange() { return null; } @Override public Library getLibrary() { return null; } @Override public Cards getSideboard() { return null; } @Override public Graveyard getGraveyard() { return null; } @Override public Abilities<Ability> getAbilities() { return null; } @Override public void addAbility(Ability ability) { } @Override public Counters getCounters() { return null; } @Override public int getLife() { return 0; } @Override public void initLife(int life) { } @Override public void setLife(int life, Game game) { } @Override public int loseLife(int amount, Game game, boolean at) { return 0; } @Override public int gainLife(int amount, Game game) { return 0; } @Override public int damage(int damage, UUID sourceId, Game game, boolean combatDamage, boolean preventable) { return 0; } @Override public int damage(int damage, UUID sourceId, Game game, boolean combatDamage, boolean preventable, ArrayList<UUID> appliedEffects) { return 0; } @Override public boolean isCanLoseLife() { return false; } @Override public void setCanLoseLife(boolean canLoseLife) { } @Override public void setCanGainLife(boolean canGainLife) { } @Override public boolean isCanGainLife() { return false; } @Override public void setCanPayLifeCost(boolean canPayLifeCost) { } @Override public boolean canPayLifeCost() { return false; } @Override public void setCanPaySacrificeCostFilter(FilterPermanent filter) { } @Override public FilterPermanent getSacrificeCostFilter() { return null; } @Override public boolean canPaySacrificeCost(Permanent permanent, UUID sourceId, UUID controllerId, Game game) { return false; } @Override public void setLifeTotalCanChange(boolean lifeTotalCanChange) { } @Override public boolean isLifeTotalCanChange() { return false; } @Override public void setLoseByZeroOrLessLife(boolean loseByZeroOrLessLife) { } @Override public boolean canLoseByZeroOrLessLife() { return false; } @Override public void setPlayCardsFromGraveyard(boolean playCardsFromGraveyard) { } @Override public boolean canPlayCardsFromGraveyard() { return false; } @Override public List<AlternativeSourceCosts> getAlternativeSourceCosts() { return null; } @Override public Cards getHand() { return null; } @Override public int getLandsPlayed() { return 0; } @Override public int getLandsPerTurn() { return 0; } @Override public void setLandsPerTurn(int landsPerTurn) { } @Override public int getLoyaltyUsePerTurn() { return 0; } @Override public void setLoyaltyUsePerTurn(int loyaltyUsePerTurn) { } @Override public int getMaxHandSize() { return 0; } @Override public void setMaxHandSize(int maxHandSize) { } @Override public int getMaxAttackedBy() { return 0; } @Override public void setMaxAttackedBy(int maxAttackedBy) { } @Override public boolean isPassed() { return false; } @Override public boolean isEmptyDraw() { return false; } @Override public void pass(Game game) { } @Override public void resetPassed() { } @Override public void resetPlayerPassedActions() { } @Override public boolean getPassedTurn() { return false; } @Override public boolean getPassedUntilEndOfTurn() { return false; } @Override public boolean getPassedUntilNextMain() { return false; } @Override public boolean getPassedUntilStackResolved() { return false; } @Override public boolean getPassedAllTurns() { return false; } @Override public boolean getPassedUntilEndStepBeforeMyTurn() { return false; } @Override public AbilityType getJustActivatedType() { return null; } @Override public void setJustActivatedType(AbilityType abilityType) { } @Override public boolean hasLost() { return false; } @Override public boolean hasWon() { return false; } @Override public boolean hasQuit() { return false; } @Override public void quit(Game game) { } @Override public boolean hasTimerTimeout() { return false; } @Override public void timerTimeout(Game game) { } @Override public boolean hasIdleTimeout() { return false; } @Override public void idleTimeout(Game game) { } @Override public boolean hasLeft() { return false; } @Override public boolean isInGame() { return false; } @Override public boolean canRespond() { return false; } @Override public void otherPlayerLeftGame(Game game) { } @Override public ManaPool getManaPool() { return null; } @Override public Set<UUID> getInRange() { return null; } @Override public boolean isTopCardRevealed() { return false; } @Override public void setTopCardRevealed(boolean topCardRevealed) { } @Override public UserData getUserData() { return null; } @Override public void setUserData(UserData userData) { } @Override public boolean canLose(Game game) { return false; } @Override public boolean autoLoseGame() { return false; } @Override public Set<UUID> getPlayersUnderYourControl() { return null; } @Override public void controlPlayersTurn(Game game, UUID playerId) { } @Override public void setTurnControlledBy(UUID playerId) { } @Override public UUID getTurnControlledBy() { return null; } @Override public void resetOtherTurnsControlled() { } @Override public boolean isGameUnderControl() { return false; } @Override public void setGameUnderYourControl(boolean value) { } @Override public boolean isTestMode() { return false; } @Override public void setTestMode(boolean value) { } @Override public void addAction(String action) { } @Override public int getActionCount() { return 0; } @Override public void setAllowBadMoves(boolean allowBadMoves) { } @Override public void init(Game game) { } @Override public void init(Game game, boolean testMode) { } @Override public void useDeck(Deck deck, Game game) { } @Override public void reset() { } @Override public void shuffleLibrary(Ability source, Game game) { } @Override public int drawCards(int num, Game game) { return 0; } @Override public int drawCards(int num, Game game, ArrayList<UUID> appliedEffects) { return 0; } @Override public boolean cast(SpellAbility ability, Game game, boolean noMana) { return false; } @Override public SpellAbility chooseSpellAbilityForCast(SpellAbility ability, Game game, boolean noMana) { return null; } @Override public boolean putInHand(Card card, Game game) { return false; } @Override public boolean removeFromHand(Card card, Game game) { return false; } @Override public boolean removeFromBattlefield(Permanent permanent, Game game) { return false; } @Override public boolean putInGraveyard(Card card, Game game) { return false; } @Override public boolean removeFromGraveyard(Card card, Game game) { return false; } @Override public boolean removeFromLibrary(Card card, Game game) { return false; } @Override public boolean searchLibrary(TargetCardInLibrary target, Game game) { return false; } @Override public boolean searchLibrary(TargetCardInLibrary target, Game game, UUID targetPlayerId) { return false; } @Override public boolean canPlayLand() { return false; } @Override public boolean playCard(Card card, Game game, boolean noMana, boolean checkTiming) { return false; } @Override public boolean playLand(Card card, Game game, boolean ignoreTiming) { return false; } @Override public boolean activateAbility(ActivatedAbility ability, Game game) { return false; } @Override public boolean triggerAbility(TriggeredAbility ability, Game game) { return false; } @Override public boolean canBeTargetedBy(MageObject source, UUID sourceControllerId, Game game) { return false; } @Override public boolean hasProtectionFrom(MageObject source, Game game) { return false; } @Override public boolean flipCoin(Game game) { return false; } @Override public boolean flipCoin(Game game, ArrayList<UUID> appliedEffects) { return false; } @Override public void discard(int amount, Ability source, Game game) { } @Override public Card discardOne(boolean random, Ability source, Game game) { return null; } @Override public Cards discard(int amount, boolean random, Ability source, Game game) { return null; } @Override public void discardToMax(Game game) { } @Override public boolean discard(Card card, Ability source, Game game) { return false; } @Override public void lost(Game game) { } @Override public void lostForced(Game game) { } @Override public void won(Game game) { } @Override public void leave() { } @Override public void concede(Game game) { } @Override public void abort() { } @Override public void abortReset() { } @Override public void skip() { } @Override public void sendPlayerAction(PlayerAction passPriorityAction, Game game, Object data) { } @Override public int getStoredBookmark() { return 0; } @Override public void setStoredBookmark(int bookmark) { } @Override public void resetStoredBookmark(Game game) { } @Override public void revealCards(String name, Cards cards, Game game) { } @Override public void revealCards(String name, Cards cards, Game game, boolean postToLog) { } @Override public void lookAtCards(String name, Card card, Game game) { } @Override public void lookAtCards(String name, Cards cards, Game game) { } @Override public Player copy() { return null; } @Override public void restore(Player player) { } @Override public void setResponseString(String responseString) { } @Override public void setResponseUUID(UUID responseUUID) { } @Override public void setResponseBoolean(Boolean responseBoolean) { } @Override public void setResponseInteger(Integer data) { } @Override public void setResponseManaType(UUID manaTypePlayerId, ManaType responseManaType) { } @Override public boolean priority(Game game) { return false; } @Override public boolean choose(Outcome outcome, Target target, UUID sourceId, Game game) { return false; } @Override public boolean choose(Outcome outcome, Target target, UUID sourceId, Game game, Map<String, Serializable> options) { return false; } @Override public boolean choose(Outcome outcome, Cards cards, TargetCard target, Game game) { return false; } @Override public boolean chooseTarget(Outcome outcome, Target target, Ability source, Game game) { return false; } @Override public boolean chooseTarget(Outcome outcome, Cards cards, TargetCard target, Ability source, Game game) { return false; } @Override public boolean chooseTargetAmount(Outcome outcome, TargetAmount target, Ability source, Game game) { return false; } @Override public boolean chooseMulligan(Game game) { return false; } @Override public boolean chooseUse(Outcome outcome, String message, Ability source, Game game) { return false; } @Override public boolean chooseUse(Outcome outcome, String message, String secondMessage, String trueText, String falseText, Ability source, Game game) { return false; } @Override public boolean choose(Outcome outcome, Choice choice, Game game) { return false; } @Override public boolean choosePile(Outcome outcome, String message, List<? extends Card> pile1, List<? extends Card> pile2, Game game) { return false; } @Override public boolean playMana(Ability ability, ManaCost unpaid, String promptText, Game game) { return false; } @Override public boolean putCardsOnBottomOfLibrary(Cards cards, Game game, Ability source, boolean anyOrder) { return false; } @Override public boolean putCardsOnTopOfLibrary(Cards cards, Game game, Ability source, boolean anyOrder) { return false; } @Override public int announceXMana(int min, int max, String message, Game game, Ability ability) { return 0; } @Override public int announceXCost(int min, int max, String message, Game game, Ability ability, VariableCost variableCost) { return 0; } @Override public int chooseReplacementEffect(Map<String, String> abilityMap, Game game) { return 0; } @Override public TriggeredAbility chooseTriggeredAbility(List<TriggeredAbility> abilities, Game game) { return null; } @Override public Mode chooseMode(Modes modes, Ability source, Game game) { return null; } @Override public void selectAttackers(Game game, UUID attackingPlayerId) { } @Override public void selectBlockers(Game game, UUID defendingPlayerId) { } @Override public UUID chooseAttackerOrder(List<Permanent> attacker, Game game) { return null; } @Override public UUID chooseBlockerOrder(List<Permanent> blockers, CombatGroup combatGroup, List<UUID> blockerOrder, Game game) { return null; } @Override public void assignDamage(int damage, List<UUID> targets, String singleTargetName, UUID sourceId, Game game) { } @Override public int getAmount(int min, int max, String message, Game game) { return 0; } @Override public void sideboard(Match match, Deck deck) { } @Override public void construct(Tournament tournament, Deck deck) { } @Override public void pickCard(List<Card> cards, Deck deck, Draft draft) { } @Override public void declareAttacker(UUID attackerId, UUID defenderId, Game game, boolean allowUndo) { } @Override public void declareBlocker(UUID defenderId, UUID blockerId, UUID attackerId, Game game) { } @Override public List<Permanent> getAvailableAttackers(Game game) { return null; } @Override public List<Permanent> getAvailableAttackers(UUID defenderId, Game game) { return null; } @Override public List<Permanent> getAvailableBlockers(Game game) { return null; } @Override public void beginTurn(Game game) { } @Override public void endOfTurn(Game game) { } @Override public void phasing(Game game) { } @Override public void untap(Game game) { } @Override public ManaOptions getManaAvailable(Game game) { return null; } @Override public List<Ability> getPlayable(Game game, boolean hidden) { return null; } @Override public List<Ability> getPlayableOptions(Ability ability, Game game) { return null; } @Override public Set<UUID> getPlayableInHand(Game game) { return null; } @Override public LinkedHashMap<UUID, ActivatedAbility> getUseableActivatedAbilities(MageObject object, Zone zone, Game game) { return null; } @Override public boolean addCounters(Counter counter, Game game) { return true; } @Override public void removeCounters(String name, int amount, Ability source, Game game) { } @Override public List<UUID> getAttachments() { return null; } @Override public boolean addAttachment(UUID permanentId, Game game) { return false; } @Override public boolean removeAttachment(Permanent permanent, Game game) { return false; } @Override public void becomesActivePlayer() { } @Override public int getTurns() { return 0; } @Override public boolean lookAtFaceDownCard(Card card, Game game) { return false; } @Override public void setPriorityTimeLeft(int timeLeft) { } @Override public int getPriorityTimeLeft() { return 0; } @Override public void setReachedNextTurnAfterLeaving(boolean reachedNextTurnAfterLeaving) { } @Override public boolean hasReachedNextTurnAfterLeaving() { return false; } @Override public boolean canJoinTable(Table table) { return false; } @Override public void addCommanderId(UUID commanderId) { } @Override public Set<UUID> getCommandersIds() { return null; } @Override public boolean moveCards(Card card, Zone toZone, Ability source, Game game) { return false; } @Override public boolean moveCards(Card card, Zone toZone, Ability source, Game game, boolean tapped, boolean faceDown, boolean byOwner, ArrayList<UUID> appliedEffects) { return false; } @Override public boolean moveCards(Cards cards, Zone toZone, Ability source, Game game) { return false; } @Override public boolean moveCards(Set<Card> cards, Zone toZone, Ability source, Game game) { return false; } @Override public boolean moveCards(Set<Card> cards, Zone toZone, Ability source, Game game, boolean tapped, boolean faceDown, boolean byOwner, ArrayList<UUID> appliedEffects) { return false; } @Override public boolean moveCardsToExile(Card card, Ability source, Game game, boolean withName, UUID exileId, String exileZoneName) { return false; } @Override public boolean moveCardsToExile(Set<Card> cards, Ability source, Game game, boolean withName, UUID exileId, String exileZoneName) { return false; } @Override public boolean moveCardToHandWithInfo(Card card, UUID sourceId, Game game) { return false; } @Override public boolean moveCardToHandWithInfo(Card card, UUID sourceId, Game game, boolean withName) { return false; } @Override public boolean moveCardToExileWithInfo(Card card, UUID exileId, String exileName, UUID sourceId, Game game, Zone fromZone, boolean withName) { return false; } @Override public boolean moveCardToGraveyardWithInfo(Card card, UUID sourceId, Game game, Zone fromZone) { return false; } @Override public Set<Card> moveCardsToGraveyardWithInfo(Set<Card> cards, Ability source, Game game, Zone fromZone) { return null; } @Override public boolean moveCardToLibraryWithInfo(Card card, UUID sourceId, Game game, Zone fromZone, boolean toTop, boolean withName) { return false; } @Override public boolean hasOpponent(UUID playerToCheckId, Game game) { return false; } @Override public void cleanUpOnMatchEnd() { } @Override public UUID getCastSourceIdWithAlternateMana() { return null; } @Override public void setCastSourceIdWithAlternateMana(UUID sourceId, ManaCosts<ManaCost> manaCosts, Costs<Cost> costs) { } @Override public ManaCosts getCastSourceIdManaCosts() { return null; } @Override public Costs<Cost> getCastSourceIdCosts() { return null; } @Override public void addPermissionToShowHandCards(UUID watcherUserId) { } @Override public boolean hasUserPermissionToSeeHand(UUID userId) { return false; } @Override public void revokePermissionToSeeHandCards() { } @Override public boolean isRequestToShowHandCardsAllowed() { return false; } @Override public Set<UUID> getUsersAllowedToSeeHandCards() { return null; } @Override public boolean isInPayManaMode() { return false; } @Override public void setMatchPlayer(MatchPlayer matchPlayer) { } @Override public MatchPlayer getMatchPlayer() { return null; } @Override public boolean scry(int value, Ability source, Game game) { return false; } @Override public boolean addTargets(Ability ability, Game game) { return false; } @Override public String getHistory() { return ""; } @Override public boolean hasDrew() { return false; } @Override public void drew(Game game) { } }