Thanks for adding support for miners. Here are a few issues I found:
(1) The pumpjack rate should not be clamped at 100%. For example, if the amount is 600000 and the normal amount is 300000, a pumpjack will produce 20 oil/sec.
(2) For pumpjacks, you should take the fluid name and fluid rate from mineable_properties.products. I believe the formula for the fluid rate should be:
resource.amount / resource_prototype.normal_resource_amount * (product.amount_min+product.amount_max)/2
"product" refers to each record inside mineable_properties.products. I'm not sure what happens if there are multiple products. I'm also not sure if "probability" applies, or if it's possible for amount_min to differ from amount_max.
I encourage you to play around with natural gas (aka gas well) in Angel's mod because it uses nonstandard values for amount_min and amount_max. Also, the name of the fluid doesn't match the name of the resource, so your mod doesn't work at all right now. Here's some tips for getting it set up:
a. You'll need to install angelspetrochem and angelsrefining
b. Make a map that has some Gas Wells visible in the map preview
c. Spawn a pumpjack and place it over the Gas Well
(3) Think about calculating the required fluid rate for mining uranium. mineable_properties contains two fields of interest: required_fluid and fluid_amount. required_fluid is the fluid's name ("sulfuric-acid" in this case). Be careful with fluid_amount because it's scaled by a factor of 10. If you run this command in game, you'll get 10:
/c game.print(game.entity_prototypes["uranium-ore"].mineable_properties.fluid_amount)
But if you hover the cursor over a uranium ore patch, the tooltip says "1 Sulfuric acid per mining operation"