@Override
 public void writeToNBT(NBTTagCompound tagCompound) {
   super.writeToNBT(tagCompound);
   inventory.writeToNBT(tagCompound);
   energy.writeToNBT(tagCompound);
   crafter.writeToNBT(tagCompound);
 }
 @Override
 public void readFromNBT(NBTTagCompound tagCompound) {
   super.readFromNBT(tagCompound);
   inventory.readFromNBT(tagCompound);
   energy.readFromNBT(tagCompound);
   crafter.readFromNBT(tagCompound);
 }
 @Override
 public void updateEntity() {
   super.updateEntity();
   if (getMutliBlock()) {
     crafter.updateEntity();
     energy.updateEntity();
   }
 }
 public int getEnergyScaled(int scale) {
   return (int) energy.getEnergyStored() * scale / energy.getCapacity();
 }
 @Override
 public void onChunkUnload() {
   energy.onChunkUnload();
   super.onChunkUnload();
 }
 @Override
 public void invalidate() {
   energy.invalidate();
   super.invalidate();
 }