Suggestion: add an API for Miner.
What it should have:
1. Support for customizable drills. Speed, etc.
Interface: IMinerDrill, methods:
Code
/**
* Returns speed (in ticks) of this drill
*/
int getSpeed();
/**
* Returns the energy required to break block with this drill
*/
int getEnergy();
/**
* Called each time a miner mines a block with this drill
* Returns ItemStacks miner should drop/add into the chest after block is broken.
*/
ArrayList<ItemStack> onMined(ItemStack drillStack, World world, int x, int y, int z);
Display More
2. Support for customizable scanners.
Interface: IMinerScanner
Both interfaces are implemented on Items.