From a637107a4e81be88938d68df4deae50e68cf2cd8 Mon Sep 17 00:00:00 2001 From: raymoo Date: Tue, 18 Apr 2017 16:30:27 -0700 Subject: Allow overriding tool capabilities through itemstack metadata This makes it possible to modify the tool capabilities of individual itemstacks by calling a method on itemstack metadata references. --- src/network/serverpackethandler.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/network') diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp index 31bff7b5c..b248b867b 100644 --- a/src/network/serverpackethandler.cpp +++ b/src/network/serverpackethandler.cpp @@ -1210,9 +1210,10 @@ void Server::handleCommand_Interact(NetworkPacket* pkt) // If can't dig, try hand if (!params.diggable) { InventoryList *hlist = playersao->getInventory()->getList("hand"); - const ItemDefinition &hand = - hlist ? hlist->getItem(0).getDefinition(m_itemdef) : m_itemdef->get(""); - const ToolCapabilities *tp = hand.tool_capabilities; + const ToolCapabilities *tp = hlist + ? &hlist->getItem(0).getToolCapabilities(m_itemdef) + : m_itemdef->get("").tool_capabilities; + if (tp) params = getDigParams(m_nodedef->get(n).groups, tp); } -- cgit v1.2.3