aboutsummaryrefslogtreecommitdiff
path: root/src/script
diff options
context:
space:
mode:
authorLoic Blot <loic.blot@unix-experience.fr>2015-03-04 11:29:34 +0100
committerLoic Blot <loic.blot@unix-experience.fr>2015-03-04 11:29:39 +0100
commit1b2f64473ed4f222d3b7f02df853730d4382105e (patch)
tree820e24b348438ce79dc5e183774e4bd091d2d3a9 /src/script
parent038d3a31dfa6c382a5a5a57f2ce367d1cd67fb9f (diff)
downloadminetest-1b2f64473ed4f222d3b7f02df853730d4382105e.tar.gz
minetest-1b2f64473ed4f222d3b7f02df853730d4382105e.tar.bz2
minetest-1b2f64473ed4f222d3b7f02df853730d4382105e.zip
Send Inventory packet on event, don't check it at each AsyncRunStep.
* Call UpdateCrafting into SendInventory because this functions is only called before SendInventory * Use Player* instead of peer_id for UpdateCrafting because SendInventory already has the Player* pointer, then don't loop for searching Player* per peer_id * m_env_mutex don't need to be used with this modification because it's already locked before the calls
Diffstat (limited to 'src/script')
-rw-r--r--src/script/lua_api/l_object.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp
index 0bc6c0bbc..0f3848aac 100644
--- a/src/script/lua_api/l_object.cpp
+++ b/src/script/lua_api/l_object.cpp
@@ -355,6 +355,9 @@ int ObjectRef::l_set_wielded_item(lua_State *L)
// Do it
ItemStack item = read_item(L, 2, getServer(L));
bool success = co->setWieldedItem(item);
+ if (success && co->getType() == ACTIVEOBJECT_TYPE_PLAYER) {
+ getServer(L)->SendInventory(((PlayerSAO*)co)->getPeerID());
+ }
lua_pushboolean(L, success);
return 1;
}