Support for allowing blocks to drop different items (or quantities) based on the tool damage type that was used to break it.

Also fixed a bug in serialization of MappedContainer fields with null values.
Merge PR #1331 by @MarcinSc - tool effect on block drops