If you are a Coder you may know how the "IWrenchable"-Interface works, it lets you choose if your Block can be wrenched or not. But what do you get when you Wrench a Machine? The Machine itself? NO, you get a Block with the metavalue of the wrenched Block. There is absolutely no way of adding custom drops for wrenched Machines.
Lets say we have a special Machine. The Metavalue of its Block is 0, but there is another Machine with a diffrent purpose, which has normally just another Metavalue. But what if, lets say that Machine has a Metavalue of 17? Does the Wrench drop an Itemblock with Metavalue 17? NO it doesnt. Why? Because there is a friggin Cap of maximum Metavalues for a Block at 16 in Minecraft!
Now we have people, who want to avoid that Cap, like Eloraam did for her Microblocks (i think). I personally try to make a MetaTileEntity with over 30000 diffrent Machine-ID's! Is that wrenchable? Not at all. So now for the suggested addition. I want a function within that API, which determines the ItemStacks (look at the plural), which are dropped, when the Wrench is used on a Block. Something similar to the following:
Yes, that's all i suggest. A simple line of Code, which gets used by the Wrench, to determine the dropped Items.
Edit: short aSide is the Minecraft-Side-Value of the side you clicked on. If the callback returns "null" instead of an empty ItemStack-Array, then the Machine doesnt get wrenched away.