Well I'm making it so I thought "Why not release just for fun?". One thing though I am not releasing full version. You must code some of it because I am not going to just spoon feed you. So enjoy 
Alright here is the base for it. I've included just Strength potions, you'll have to add the rest yourself.
Declare this.
Code:
public void Potions(int a, int b){
int[] Potion = { 119, 119, 119, 117, 117, 115 };
int[] Potion2 = { 119, 117, 115, 117, 115, 115 };
int[] Add1 = { 117, 115, 113, 113, 113, 113 };
int[] Add2 = { 229, 229, 229, 229, 119, 117 };
int[] Amount = { 2, 3, 4, 4, 4, 4 };
for (int i = 0; i < Potion.length; i++) {
if(a == Potion[i] && b == Potion2[i] || a == Potion2[i] && b == Potion[i]){
deleteItem(Potion[i], 1);
deleteItem(Potion2[i], 1);
addItem(Add1[i], 1);
addItem(Add2[i], 1);
sM("You have combined the liquid into "+Amount[i]+" doses.");
}
}
}
Then in your Item on Item packet add this
Switch the ### to whatever yours is. Mine is itemUsed & useWith. So you would make it like.
Code:
Potions(itemUsed, useWith);
That's it have fun adding the rest. Also you can use this for many other things too. So have fun and hope you learned something new