package mage.client.plugins; import java.awt.Image; import java.util.Collection; import java.util.Map; import java.util.Set; import java.util.UUID; import javax.swing.JComponent; import mage.cards.Card; import mage.cards.CardDimensions; import mage.cards.MageCard; import mage.cards.MagePermanent; import mage.client.cards.BigCard; import mage.view.CardView; import mage.view.PermanentView; public interface MagePlugins { void loadPlugins(); void shutdown(); void updateGamePanel(Map ui); JComponent updateTablePanel(Map ui); MagePermanent getMagePermanent(PermanentView card, BigCard bigCard, CardDimensions dimension, UUID gameId, boolean canBeFoil); MageCard getMageCard(CardView card, BigCard bigCard, CardDimensions dimension, UUID gameId, boolean canBeFoil); boolean isThemePluginLoaded(); boolean isCardPluginLoaded(); boolean isCounterPluginLoaded(); void sortPermanents(Map ui, Collection permanents); void downloadImage(Set allCards); void downloadSymbols(); int getGamesPlayed(); void addGamesPlayed(); Image getManaSymbolImage(String symbol); void onAddCard(MagePermanent card, int count); void onRemoveCard(MagePermanent card, int count); JComponent getCardInfoPane(); }