Effect effect = new SearchLibraryPutOnLibraryEffect(new TargetCardInLibrary(new FilterCreatureCard()), true, true);
effect.setText("you may search your library for a creature card and reveal it. If you do, shuffle your library and put that card on top of it");
this.addAbility(new SpellCastControllerTriggeredAbility(effect, filter, true));
// Whenever you cast a blue creature spell, reveal the top card of your library. If it's a creature card, put that card into your hand.
Effect effect2 = new RevealLibraryPutIntoHandEffect(1, new FilterCreatureCard(), false);
effect2.setText("reveal the top card of your library. If it's a creature card, put that card into your hand");
this.addAbility(new SpellCastControllerTriggeredAbility(effect2, filter2, false));
}