diff options
author | Perttu Ahola <celeron55@gmail.com> | 2012-07-25 02:36:54 +0300 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2012-07-25 02:36:54 +0300 |
commit | 9eaf93d41d6745b877f8f52cf54b21050abefda1 (patch) | |
tree | 5ceebc9b208a415a01440f60605345f5c238cae2 /src/scriptapi.h | |
parent | 2ac20982e0772b94b21d95b53519bd2164632d98 (diff) | |
download | minetest-9eaf93d41d6745b877f8f52cf54b21050abefda1.tar.gz minetest-9eaf93d41d6745b877f8f52cf54b21050abefda1.tar.bz2 minetest-9eaf93d41d6745b877f8f52cf54b21050abefda1.zip |
Detached inventory callbacks and reworked node metadata callbacks
Diffstat (limited to 'src/scriptapi.h')
-rw-r--r-- | src/scriptapi.h | 61 |
1 files changed, 55 insertions, 6 deletions
diff --git a/src/scriptapi.h b/src/scriptapi.h index 2bacdebad..baaf061a9 100644 --- a/src/scriptapi.h +++ b/src/scriptapi.h @@ -101,17 +101,66 @@ void scriptapi_node_on_receive_fields(lua_State *L, v3s16 p, const std::string &formname, const std::map<std::string, std::string> &fields, ServerActiveObject *sender); -// Moves items -void scriptapi_node_on_metadata_inventory_move(lua_State *L, v3s16 p, + +/* Node metadata inventory callbacks */ +// Return number of accepted items to be moved +int scriptapi_nodemeta_inventory_allow_move(lua_State *L, v3s16 p, + const std::string &from_list, int from_index, + const std::string &to_list, int to_index, + int count, ServerActiveObject *player); +// Return number of accepted items to be put +int scriptapi_nodemeta_inventory_allow_put(lua_State *L, v3s16 p, + const std::string &listname, int index, ItemStack &stack, + ServerActiveObject *player); +// Return number of accepted items to be taken +int scriptapi_nodemeta_inventory_allow_take(lua_State *L, v3s16 p, + const std::string &listname, int index, int count, + ServerActiveObject *player); +// Report moved items +void scriptapi_nodemeta_inventory_on_move(lua_State *L, v3s16 p, + const std::string &from_list, int from_index, + const std::string &to_list, int to_index, + int count, ServerActiveObject *player); +// Report put items +void scriptapi_nodemeta_inventory_on_put(lua_State *L, v3s16 p, + const std::string &listname, int index, ItemStack &stack, + ServerActiveObject *player); +// Report taken items +void scriptapi_nodemeta_inventory_on_take(lua_State *L, v3s16 p, + const std::string &listname, int index, int count, + ServerActiveObject *player); + +/* Detached inventory callbacks */ +// Return number of accepted items to be moved +int scriptapi_detached_inventory_allow_move(lua_State *L, + const std::string &name, + const std::string &from_list, int from_index, + const std::string &to_list, int to_index, + int count, ServerActiveObject *player); +// Return number of accepted items to be put +int scriptapi_detached_inventory_allow_put(lua_State *L, + const std::string &name, + const std::string &listname, int index, ItemStack &stack, + ServerActiveObject *player); +// Return number of accepted items to be taken +int scriptapi_detached_inventory_allow_take(lua_State *L, + const std::string &name, + const std::string &listname, int index, int count, + ServerActiveObject *player); +// Report moved items +void scriptapi_detached_inventory_on_move(lua_State *L, + const std::string &name, const std::string &from_list, int from_index, const std::string &to_list, int to_index, int count, ServerActiveObject *player); -// Inserts items, returns rejected items -ItemStack scriptapi_node_on_metadata_inventory_offer(lua_State *L, v3s16 p, +// Report put items +void scriptapi_detached_inventory_on_put(lua_State *L, + const std::string &name, const std::string &listname, int index, ItemStack &stack, ServerActiveObject *player); -// Takes items, returns taken items -ItemStack scriptapi_node_on_metadata_inventory_take(lua_State *L, v3s16 p, +// Report taken items +void scriptapi_detached_inventory_on_take(lua_State *L, + const std::string &name, const std::string &listname, int index, int count, ServerActiveObject *player); |