FilterControlledCreaturePermanent filterCreature = new FilterControlledCreaturePermanent("a creature");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShattergangBrothersEffect(filterCreature), new ManaCostsImpl("{2}{B}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(1,1, filterCreature, true)));
this.addAbility(ability);
// {2}{R}, Sacrifice an artifact: Each other player sacrifices an artifact.
FilterControlledPermanent filter = new FilterControlledArtifactPermanent("an artifact");
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShattergangBrothersEffect(filter), new ManaCostsImpl("{2}{R}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1,1, filter, true)));
this.addAbility(ability);
// {2}{G}, Sacrifice an enchantment: Each other player sacrifices an enchantment.
filter = new FilterControlledPermanent("an enchantment");
filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShattergangBrothersEffect(filter), new ManaCostsImpl("{2}{G}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1,1, filter, true)));
this.addAbility(ability);
}