private Mana getManaTypes(Game game, Ability source) { List<Permanent> lands = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game); Mana types = new Mana(); for (Permanent land : lands) { Abilities<ManaAbility> manaAbilities = land.getAbilities().getManaAbilities(Zone.BATTLEFIELD); for (ManaAbility ability : manaAbilities) { if (!ability.equals(source) && ability.definesMana()) { for (Mana netMana : ability.getNetMana(game)) { types.add(netMana); if (netMana.getAny() > 0) { return types; } } } } } return types; }