this.expansionSetCode = "HML";
// Serrated Arrows enters the battlefield with three arrowhead counters on it.
Effect effect = new AddCountersSourceEffect(CounterType.ARROWHEAD.createInstance(4));
effect.setText("with three arrowhead counters on it");
this.addAbility(new EntersBattlefieldAbility(effect));
// At the beginning of your upkeep, if there are no arrowhead counters on Serrated Arrows, sacrifice it.
effect = new ConditionalOneShotEffect(new SacrificeSourceEffect(), new SourceHasCounterCondition(CounterType.ARROWHEAD, 0, 0),
"if there are no arrowhead counters on {this}, sacrifice it");
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false, false));
// {tap}, Remove an arrowhead counter from Serrated Arrows: Put a -1/-1 counter on target creature.