The Crafting System is more like a Blueprint. See how one can use it here:
(Result, new Object[] {"XXX", "XAX", "XXX", false, 'X', new ItemStack(Item.redstone, 1), 'A', "gemRuby"})
(Result, new Object[] {"XXX", "XAX", "XXX", false, 'X', new ItemStack(Item.redstone, 1), 'A', "gemSapphire"})
(Result, new Object[] {"XXX", "XAX", "XXX", false, 'X', new ItemStack(Item.redstone, 1), 'A', "gemGreenSapphire"})
(Result, new Object[] {"XXX", "XAX", "XXX", false, 'X', new ItemStack(Item.redstone, 1), 'A', "gemOlivine"})
These four are the ones you are looking for. The Parameters inside the Array are:
"XXX", "XAX" and "XXX" = The shape on the Crafting Table (Blueprint). In this Case for your Energy Crystal
false = This Recipe is not hidden like the UUM-Recipes, set that to true if you shouldnt see this Recipe in NEI or Craftguide
'X' = What the X inside the Blueprint means
new ItemStack(Item.redstone, 1) = The Redstone. I disrecommend using "dustRedstone" as that is just a Part of my Addon (makes many things easier for me)
'A' = What the A inside the Blueprint means
"gemRuby", "gemSapphire", "gemGreenSapphire" and "gemOlivine", those are the OreDict-Based names for the Gems you wanna use. These Strings are enough, no need to iterate for that sake.