minetest/minetest_game — pull request #216 by 0gb-us (2013-11-08 21:03:48+00:00)
Title: Fixed partial door issue in bones.

https://f.cloud.github.com/assets/950942/44526/bcc65de0-56c7-11e2-905e-d8a82d3e44a6.png

When a node's can_dig() function is checked, it only tells if that player can dig the node. However, bones uses this function, then assumes the node can be dug by a nil player, as opposed to having the player himself/herself dig the node. This assumption isn't always accurate, and results in partial doors in some cases, as depicted in the screenshot above. Basically, the player themselves can dig the locked door, but the nil player cannot, resulting in the door's after_dig_node() not getting called

This patch fixes this issue by assuming the nil player cannot dig any node that specifies a can_dig() function. This allows nodes that prefer to limit who can dig them to function as usual (such as locked doors) while still allowing bones to remove the majority of nodes (including unlocked doors) with no error.