Prevent infinite loop with invalid Inventory format
Don't replace existing nodes in singlenode mapgen
Fix last singlenode modification
Fix node replacement in not-quite-loaded chunks

When first entering an area, sometimes placing nodes replaces other nodes that are not buildable_to. This seems to be caused by the fact that nodes in unloaded map blocks are treated as ignore, a node that is buildable_to. This fixes that, by using get_node_or_nil() instead of the previously-used get_node(), then checking to see if the nodes were actually loaded before replacing.
Update Credits tab
New damage system, add damageGroups to ToolCapabilities, bump protocol version
Add different place sound for nodes