1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Add get_wielded_item

This commit is contained in:
red-001 2017-01-31 13:18:52 +00:00 committed by Loïc Blot
parent 44ca9c9cb2
commit 88df9fb5b6
15 changed files with 92 additions and 33 deletions

View file

@ -20,7 +20,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "common/c_converter.h"
#include "common/c_types.h"
#include "nodedef.h"
#include "itemdef.h"
#include "object_properties.h"
#include "cpp_api/s_node.h"
#include "lua_api/l_object.h"
@ -784,7 +783,7 @@ bool string_to_enum(const EnumString *spec, int &result,
}
/******************************************************************************/
ItemStack read_item(lua_State* L, int index,Server* srv)
ItemStack read_item(lua_State* L, int index, IItemDefManager *idef)
{
if(index < 0)
index = lua_gettop(L) + 1 + index;
@ -803,7 +802,6 @@ ItemStack read_item(lua_State* L, int index,Server* srv)
{
// Convert from itemstring
std::string itemstring = lua_tostring(L, index);
IItemDefManager *idef = srv->idef();
try
{
ItemStack item;
@ -820,7 +818,6 @@ ItemStack read_item(lua_State* L, int index,Server* srv)
else if(lua_istable(L, index))
{
// Convert from table
IItemDefManager *idef = srv->idef();
std::string name = getstringfield_default(L, index, "name", "");
int count = getintfield_default(L, index, "count", 1);
int wear = getintfield_default(L, index, "wear", 0);
@ -1187,7 +1184,7 @@ std::vector<ItemStack> read_items(lua_State *L, int index, Server *srv)
if (items.size() < (u32) key) {
items.resize(key);
}
items[key - 1] = read_item(L, -1, srv);
items[key - 1] = read_item(L, -1, srv->idef());
lua_pop(L, 1);
}
return items;

View file

@ -38,6 +38,7 @@ extern "C" {
#include "irrlichttypes_bloated.h"
#include "util/string.h"
#include "itemgroup.h"
#include "itemdef.h"
namespace Json { class Value; }
@ -77,7 +78,7 @@ void push_dig_params (lua_State *L,
void push_hit_params (lua_State *L,
const HitParams &params);
ItemStack read_item (lua_State *L, int index, Server *srv);
ItemStack read_item (lua_State *L, int index, IItemDefManager *idef);
struct TileAnimationParams read_animation_definition(lua_State *L, int index);