Punchwear (improved) (#8959)
[oweals/minetest.git] / src / network / serverpackethandler.cpp
index 0169a57dae833c12baae2e33637036c17797e15f..8c2ba823c88b89ec0689601709c335a4b3ccbfde 100644 (file)
@@ -1163,9 +1163,13 @@ void Server::handleCommand_Interact(NetworkPacket *pkt)
                        u16 src_original_hp = pointed_object->getHP();
                        u16 dst_origin_hp = playersao->getHP();
 
-                       pointed_object->punch(dir, &toolcap, playersao,
+                       u16 wear = pointed_object->punch(dir, &toolcap, playersao,
                                        time_from_last_punch);
 
+                       bool changed = punchitem.addWear(wear, m_itemdef);
+                       if (changed)
+                               playersao->setWieldedItem(punchitem);
+
                        // If the object is a player and its HP changed
                        if (src_original_hp != pointed_object->getHP() &&
                                        pointed_object->getType() == ACTIVEOBJECT_TYPE_PLAYER) {