package mage.client.plugins; import java.awt.*; import java.awt.image.BufferedImage; import java.util.Collection; import java.util.Map; import java.util.UUID; import javax.swing.*; import mage.cards.MageCard; import mage.cards.MagePermanent; import mage.cards.action.ActionCallback; import mage.client.cards.BigCard; import mage.view.CardView; import mage.view.PermanentView; public interface MagePlugins { void loadPlugins(); void shutdown(); void updateGamePanel(Map<String, JComponent> ui); JComponent updateTablePanel(Map<String, JComponent> ui); MagePermanent getMagePermanent(PermanentView card, BigCard bigCard, Dimension dimension, UUID gameId, boolean loadImage); MageCard getMageCard(CardView card, BigCard bigCard, Dimension dimension, UUID gameId, boolean loadImage, boolean previewable); boolean isThemePluginLoaded(); boolean isCardPluginLoaded(); boolean isCounterPluginLoaded(); int sortPermanents(Map<String, JComponent> ui, Collection<MagePermanent> permanents, boolean topRow); void downloadSymbols(); int getGamesPlayed(); void addGamesPlayed(); void onAddCard(MagePermanent card, int count); void onRemoveCard(MagePermanent card, int count); JComponent getCardInfoPane(); BufferedImage getOriginalImage(CardView card); ActionCallback getActionCallback(); void changeGUISize(); }