Currently, every developer has to register an IPeripheralProvider in order to make their mod work. This seems unnecessary to me, and in most cases, can be avoided by the following snippet of code inserted somewhere after the API is initialized in ComputerCraft:
ComputerCraftAPI.registerPeripheralProvider(new IPeripheralProvider() {
@Override
public IPeripheral getPeripheral(World world, int x, int y, int z, int side) {
TileEntity tile = world.getTileEntity(x, y, z);
if (tile instanceof IPeripheral) {
IPeripheral peripheral = (IPeripheral) tile;
return peripheral.useDefaultDetection() ? peripheral : null;
}
return null;
}
});
Then, to allow custom implementation if the author so wishes, just add
boolean IPeripheral.useDefaultDetection()
Please let me know if I'm just being dumb, but I have had no luck (and others haven't as well) with getting IPeripherals to be detected by ComputerCraft without an IPeripheralProvider.