what he means is hoppers can extract items out of Entity's using the IInventory but not Itemhander
as you can see in the spoiler getInventoryAtPosition first checks for tile and then for Entity's
it get also used in BlockDispenser line 54
This will make the code run on the client only. But that will still crash the server as it still tries to load the Minecraft class on the server side. Using the EntityPlayer parameter will fix this.
if(consumer != null)
this.container.extractEnergy(consumer.receiveEnergy(this.container.getEnergyStored(), false), false);
I think your issue is here. You are trying to make the consumer receive all the energy stored inside the solar panel. Try using the max output (15) instead of getEnergyStored().
Before you start making a mod, make sure you have a solid understanding of Java and OO programming in general.
Once you have that, you can look through some of the tutorials linked here and the Forge Documentation.