Bug Reports (snapshot builds)
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Bug Reports (snapshot builds)
by friarsol » 30 Apr 2014, 18:22
Ahh.. In this scenario, is the card lost to ante available in subsequent games? Or is it just temporarily gone and restored with a card from your collection at the end of the match?KrazyTheFox wrote:I've located the cause of the antes not being removed from decks after games, however, the problem is my misunderstanding of the way the game handles removing the cards from the decks. Cards weren't being removed from my deck after games because I had more copies in my collection than were in my deck. The game doesn't remove the card from the deck because there's a "replacement" card available in my collection. Once the number of cards in the collection is equivalent to the number in the deck the card is removed as it should be.
No bug here, moving along to other things.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by KrazyTheFox » 30 Apr 2014, 18:39
Running through the logic for the code responsible:friarsol wrote:Ahh.. In this scenario, is the card lost to ante available in subsequent games? Or is it just temporarily gone and restored with a card from your collection at the end of the match?
- Code: Select all
this.qa.getCardPool().remove(card, qty);
if (addToShop) {
this.qa.getShopList().add(card, qty);
}
// remove card being sold from all decks
final int leftInPool = this.qa.getCardPool().count(card);
// remove sold cards from all decks:
for (final Deck deck : this.qc.getMyDecks()) {
int cntInMain = deck.getMain().count(card);
int cntInSb = deck.has(DeckSection.Sideboard) ? deck.get(DeckSection.Sideboard).count(card) : 0;
int nToRemoveFromThisDeck = cntInMain + cntInSb - leftInPool;
if (nToRemoveFromThisDeck <= 0) {
continue; // this is not the deck you are looking for
}
//etc...
deck.getMain().remove(card, nToRemoveFromThisDeck);
}
1 card is removed from the card pool (this.qa.getCardPool().remove(card, qty);), card pool now has 3 of that card.
leftInPool is set to 3 (leftInPool = this.qa.getCardPool().count(card);).
cntInMain is set to 2 (cntInMain = deck.getMain().count(card);).
cntInSb is set to 0.
nToRemoveFromThisDeck is calculated to be ((2 + 0) - 3), or -1 (nToRemoveFromThisDeck = cntInMain + cntInSb - leftInPool;). This indicates that there's 1 more card in the collection than there is in the deck.
Since there's that extra card, the method continues on to the next deck without removing the card (if (nToRemoveFromThisDeck <= 0) { continue; }).
As the card isn't removed from the deck here, it remains available in all subsequent games until the collection is reduced enough to trigger the removal.
-
KrazyTheFox - Programmer
- Posts: 725
- Joined: 18 Mar 2014, 23:51
- Has thanked: 66 times
- Been thanked: 226 times
Re: Bug Reports (snapshot builds)
by friarsol » 30 Apr 2014, 18:52
Oh, by subsequent games I meant actual games. Not subsequent matches.KrazyTheFox wrote:As the card isn't removed from the deck here, it remains available in all subsequent games until the collection is reduced enough to trigger the removal.
Start a match:
Game 1: I ante a precious Swamp Mosquito. Devastated by this predicament, I lose. I started this match having 4 in my Main, and 45 in my collection. Obviously my "in collection" number is reduced to 44.
Game 2: I ante a Marsh Viper. On my first turn I cast a Vampiric Tutor, not seeing a Swamp Mosquito in my hand. Are there 3 Swamp Mosquitos in my deck? Or 4? If there are 4 in the same match where I lost the card in the ante then that portion is incorrect, even if the "auto-replace from collection" bits makes sense from a multiple match standpoint.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by KrazyTheFox » 30 Apr 2014, 19:05
It works that way for games (and by extension, matches).
If you have 4 cards in your collection and deck and you lose 1 of them as an ante, the card will be removed at the end of the game that you lost it in and won't be available in subsequent games. However, if you have 4 cards in your collection and only 3 in your deck, you still own 3 copies of the card and it won't be removed from your deck (but it will be removed from your collection, leaving you with 3 total cards). If you then lost another one of those cards in the next game, it will be removed from both the deck and collection, as there's only 2 total cards now.
In your example, it gets removed as you'd expect it to be and during the second game, you'll have only 3 of the card in your deck.
I had to work through the code several times to figure out exactly how it works. It's just a little bit confusing.
If you have 4 cards in your collection and deck and you lose 1 of them as an ante, the card will be removed at the end of the game that you lost it in and won't be available in subsequent games. However, if you have 4 cards in your collection and only 3 in your deck, you still own 3 copies of the card and it won't be removed from your deck (but it will be removed from your collection, leaving you with 3 total cards). If you then lost another one of those cards in the next game, it will be removed from both the deck and collection, as there's only 2 total cards now.
In your example, it gets removed as you'd expect it to be and during the second game, you'll have only 3 of the card in your deck.
I had to work through the code several times to figure out exactly how it works. It's just a little bit confusing.

-
KrazyTheFox - Programmer
- Posts: 725
- Joined: 18 Mar 2014, 23:51
- Has thanked: 66 times
- Been thanked: 226 times
Re: Bug Reports (snapshot builds)
by Fizanko » 30 Apr 2014, 20:40
Just played Shock (that had worked everytime i played it on previous duels on the same snapshot build) on Lionheart Maverick , using KrazyTheFox's snapshot build from there and pressed the OK button :

Description: [describe what you were doing when the crash occurred]

Description: [describe what you were doing when the crash occurred]
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.18-SNAPSHOT-r25691 (mixed revisions detected; please update from the root directory)
Operating System: Windows XP 5.1 x86
Java Version: 1.7.0_10 Oracle Corporation
java.lang.NullPointerException
at forge.ai.ability.PumpAi.pumpAgainstRemoval(PumpAi.java:533)
at forge.ai.ability.PumpAi.canPlayAI(PumpAi.java:98)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:648)
at forge.ai.AiController.canPlayAndPayFor(AiController.java:635)
at forge.ai.AiController.chooseSpellAbilyToPlay(AiController.java:1148)
at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1129)
at forge.ai.AiController.choooseSpellAbilityToPlay(AiController.java:1080)
at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:391)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:970)
at forge.game.GameAction.startGame(GameAction.java:1524)
at forge.game.Match.startGame(Match.java:80)
at forge.control.FControl$4.run(FControl.java:436)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Last edited by Fizanko on 30 Apr 2014, 22:09, edited 1 time in total.
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Re: Bug Reports (snapshot builds)
by Fizanko » 30 Apr 2014, 22:09
Similar bug, i just played Midnight Duelist and pressed OK to resolve

Description: [describe what you were doing when the crash occurred]

Description: [describe what you were doing when the crash occurred]
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.18-SNAPSHOT-r25691 (mixed revisions detected; please update from the root directory)
Operating System: Windows XP 5.1 x86
Java Version: 1.7.0_10 Oracle Corporation
java.lang.NullPointerException
at forge.ai.ability.PumpAi.pumpAgainstRemoval(PumpAi.java:533)
at forge.ai.ability.PumpAi.canPlayAI(PumpAi.java:98)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:648)
at forge.ai.AiController.canPlayAndPayFor(AiController.java:635)
at forge.ai.AiController.chooseSpellAbilyToPlay(AiController.java:1148)
at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1129)
at forge.ai.AiController.choooseSpellAbilityToPlay(AiController.java:1080)
at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:391)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:970)
at forge.game.GameAction.startGame(GameAction.java:1524)
at forge.game.Match.startGame(Match.java:80)
at forge.control.FControl$4.run(FControl.java:436)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Re: Bug Reports (snapshot builds)
by mark » 04 May 2014, 20:22
The imprint of Panoptic Mirror is broken: it can be tapped and the mana can be paid... and no card may be exiled.
Re: Bug Reports (snapshot builds)
by KrazyTheFox » 04 May 2014, 22:37
It That Betrays doesn't put permanents under my control when my opponent sacrifices them, however the ability does go on the stack.
-
KrazyTheFox - Programmer
- Posts: 725
- Joined: 18 Mar 2014, 23:51
- Has thanked: 66 times
- Been thanked: 226 times
Re: Bug Reports (snapshot builds)
by swordshine » 05 May 2014, 04:43
The timestamp system in this program is very fragile. I attempt to tweak the related code to fix this bug. There might be other bugs of triggered abilities. I'll test all the other cases when I have plenty of time.KrazyTheFox wrote:It That Betrays doesn't put permanents under my control when my opponent sacrifices them, however the ability does go on the stack.
- swordshine
- Posts: 682
- Joined: 11 Jul 2010, 02:37
- Has thanked: 116 times
- Been thanked: 87 times
Re: Bug Reports (snapshot builds)
by Leviathan » 05 May 2014, 06:16
I'm getting ConcurrentModificationExceptions fairly often (maybe once every 5-10 games on average). I'm using the SVN, and have seen these exceptions with several revisions over the past few days. The stack traces are different every time. Here's the most recent example, from revision 25779:
Edit: The ConcurrentModificationExceptions have largely gone away. I didn't do anything to fix them, so maybe it was just cosmic rays all along?
- ConcurrentModificationException | Open
- Code: Select all
Forge Version: SVN
Operating System: Windows 7 6.1 amd64
Java Version: 1.7.0_17 Oracle Corporation
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:819)
at java.util.ArrayList$Itr.next(ArrayList.java:791)
at forge.game.card.Card.getLatestPT(Card.java:3924)
at forge.game.card.Card.getSetPower(Card.java:3893)
at forge.game.card.Card.getCurrentPower(Card.java:3973)
at forge.game.card.Card.getUnswitchedPower(Card.java:3989)
at forge.game.card.Card.getNetAttack(Card.java:4015)
at forge.view.arcane.CardPanel.setText(CardPanel.java:627)
at forge.view.arcane.CardPanel.setCard(CardPanel.java:664)
at forge.view.arcane.PlayArea.updateCard(PlayArea.java:700)
at forge.view.arcane.PlayArea.updateSingleCard(PlayArea.java:360)
at forge.screens.match.CMatchUI.updateSingleCard(CMatchUI.java:384)
at forge.screens.match.CMatchUI.updateCards(CMatchUI.java:376)
at forge.GuiDesktop.updateCards(GuiDesktop.java:360)
at forge.control.FControlGameEventHandler$9.run(FControlGameEventHandler.java:225)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Edit: The ConcurrentModificationExceptions have largely gone away. I didn't do anything to fix them, so maybe it was just cosmic rays all along?
Last edited by Leviathan on 06 May 2014, 02:43, edited 1 time in total.
- Leviathan
- Posts: 4
- Joined: 29 May 2012, 03:30
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by KrazyTheFox » 06 May 2014, 00:57
When attempting to unlock the Starter 2000 set in quest mode:
Edit: This also occurs with the Time Shifted 'set'.
Edit: This also occurs with the Time Shifted 'set'.
- Code: Select all
EDT > java.lang.NullPointerException
at forge.card.BoosterGenerator.getBoosterPack(BoosterGenerator.java:63)
at forge.card.UnOpenedProduct.get(UnOpenedProduct.java:61)
at forge.quest.QuestUtilUnlockSets.doUnlock(QuestUtilUnlockSets.java:189)
at forge.screens.home.quest.SSubmenuQuestUtil.chooseAndUnlockEdition(SSubmenuQuestUtil.java:290)
at forge.screens.home.quest.CSubmenuDuels$6.run(CSubmenuDuels.java:50)
at forge.toolbox.FLabel._doMouseAction(FLabel.java:289)
at forge.toolbox.FLabel.access$3(FLabel.java:286)
at forge.toolbox.FLabel$4.onLeftClick(FLabel.java:327)
at forge.toolbox.FMouseAdapter.mouseReleased(FMouseAdapter.java:245)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
-
KrazyTheFox - Programmer
- Posts: 725
- Joined: 18 Mar 2014, 23:51
- Has thanked: 66 times
- Been thanked: 226 times
Re: Bug Reports (snapshot builds)
by timmermac » 07 May 2014, 11:35
I believe this is because no real boosters exist of those sets.
"I just woke up, haven't had coffee, let alone a pee in 7 days, and I find out you stole my ass and made a ...mini-me! Carter, I should be irked currently, yes?" - Jack O'Neill
Re: Bug Reports (snapshot builds)
by KrazyTheFox » 07 May 2014, 17:41
IIRC, Starter 1999 and 2000 both had booster packs (though I have no idea how random they actually were). Regardless, they should probably be removed from the quest selection as they prevent progression by filling up the possible unlock slots.timmermac wrote:I believe this is because no real boosters exist of those sets.
-
KrazyTheFox - Programmer
- Posts: 725
- Joined: 18 Mar 2014, 23:51
- Has thanked: 66 times
- Been thanked: 226 times
Re: Bug Reports (snapshot builds)
by knightowl71 » 07 May 2014, 21:19
Description: Playing a standard 1V1 game with constructed decks. This was game 3. Game continued but creatures and lands did not tap or untap from this point on. The game did recognize if they were tapped such as attacking or getting mana just did not show visually.
- ConcurrentModificationException | Open
- Code: Select all
Forge Version: 1.5.17-r25620
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_55 Oracle Corporation
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
at java.util.ArrayList$Itr.next(Unknown Source)
at forge.game.card.Card.getHiddenExtrinsicKeyword(Card.java:4560)
at forge.game.card.Card.getKeyword(Card.java:4267)
at forge.game.card.Card.getAmountOfKeyword(Card.java:5131)
at forge.game.card.Card.getNetAttack(Card.java:3963)
at forge.view.arcane.CardPanel.setText(CardPanel.java:628)
at forge.view.arcane.CardPanel.setCard(CardPanel.java:666)
at forge.view.arcane.PlayArea.updateCard(PlayArea.java:638)
at forge.view.arcane.PlayArea.updateSingleCard(PlayArea.java:298)
at forge.screens.match.CMatchUI.updateSingleCard(CMatchUI.java:383)
at forge.screens.match.CMatchUI.updateCards(CMatchUI.java:375)
at forge.GuiDesktop.updateCards(GuiDesktop.java:354)
at forge.control.FControlGameEventHandler$9.run(FControlGameEventHandler.java:218)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
- knightowl71
- Posts: 7
- Joined: 15 Mar 2014, 21:49
- Has thanked: 3 times
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Fizanko » 07 May 2014, 21:52
Not the first time it happened, i had this sometime in previous version (and reported it here and there and over there )
It's fortunately rare, but when it happens, it's after winning or losing a round (in that case i won it) and pressing Next for starting the next round, instead of doing the next round the game go back to the main menu with that error popping up :
Description: [describe what you were doing when the crash occurred]
It's fortunately rare, but when it happens, it's after winning or losing a round (in that case i won it) and pressing Next for starting the next round, instead of doing the next round the game go back to the main menu with that error popping up :
Description: [describe what you were doing when the crash occurred]
- UncheckedExecutionException | Open
- Code: Select all
Forge Version: 1.5.18-SNAPSHOT-r25752 (mixed revisions detected; please update from the root directory)
Operating System: Windows XP 5.1 x86
Java Version: 1.7.0_10 Oracle Corporation
com.google.common.util.concurrent.UncheckedExecutionException: java.awt.color.CMMException: Invalid image format
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201)
at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
at forge.ImageCache.getImage(ImageCache.java:204)
at forge.ImageCache.getOriginalImage(ImageCache.java:139)
at forge.ImageCache.scaleImage(ImageCache.java:169)
at forge.ImageCache.getIcon(ImageCache.java:107)
at forge.screens.home.quest.PnlEvent.<init>(PnlEvent.java:48)
at forge.screens.home.quest.CSubmenuDuels.update(CSubmenuDuels.java:121)
at forge.screens.home.CHomeUI.itemClick(CHomeUI.java:55)
at forge.screens.home.CHomeUI.selectPrevious(CHomeUI.java:137)
at forge.screens.home.CHomeUI.initialize(CHomeUI.java:83)
at forge.control.FControl.setCurrentScreen(FControl.java:304)
at forge.view.FNavigationBar.closeTab(FNavigationBar.java:159)
at forge.view.FNavigationBar.closeTab(FNavigationBar.java:147)
at forge.control.FControl.endCurrentGame(FControl.java:449)
at forge.screens.match.ControlWinLose.actionOnContinue(ControlWinLose.java:61)
at forge.screens.match.ControlWinLose$1.actionPerformed(ControlWinLose.java:36)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.awt.color.CMMException: Invalid image format
at sun.java2d.cmm.kcms.CMM.checkStatus(Unknown Source)
at sun.java2d.cmm.kcms.CMM.createTransform(Unknown Source)
at java.awt.image.ColorConvertOp.filter(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.acceptPixels(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage(Native Method)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(Unknown Source)
at javax.imageio.ImageIO.read(Unknown Source)
at javax.imageio.ImageIO.read(Unknown Source)
at forge.ImageLoader._findFile(ImageLoader.java:92)
at forge.ImageLoader.load(ImageLoader.java:56)
at forge.ImageLoader.load(ImageLoader.java:17)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
... 55 more
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Who is online
Users browsing this forum: No registered users and 58 guests