GoodyBags allows you to create custom loot bags (similar to the Thaumcraft loot bags) through JSON files. You can find information about that here.
There are currently 3 types of bags you can create:
Currently there is no support for NBT. I will look into that at a later date.
Here is an example of a spawn bag:
{
"bagType": "SPAWN",
"name": "Spawn Bag 1",
"rarityType": "uncommon",
"stackList": [
{
"name": "minecraft:chainmail_helmet",
"metadata": 0,
"amount": 1
}
]
}