Luanti 5.16.0-dev
Loading...
Searching...
No Matches
LuaItemStack Class Reference

#include <l_item.h>

Inheritance diagram for LuaItemStack:
Collaboration diagram for LuaItemStack:

Public Member Functions

const ItemStackgetItem () const
ItemStackgetItem ()
Public Member Functions inherited from IntrusiveReferenceCounted
 IntrusiveReferenceCounted ()=default
virtual ~IntrusiveReferenceCounted ()=default
void grab () noexcept
void drop () noexcept

Static Public Member Functions

static int create_object (lua_State *L)
static int create (lua_State *L, const ItemStack &item)
static void * packIn (lua_State *L, int idx)
static void packOut (lua_State *L, void *ptr)
static void Register (lua_State *L)
Static Public Member Functions inherited from ModApiBase
static ScriptApiBasegetScriptApiBase (lua_State *L)
static ServergetServer (lua_State *L)
static ServerInventoryManagergetServerInventoryMgr (lua_State *L)
static EmergeThreadgetEmergeThread (lua_State *L)
static IGameDefgetGameDef (lua_State *L)
static EnvironmentgetEnv (lua_State *L)
static std::string getCurrentModPath (lua_State *L)
template<typename T>
static T * getScriptApi (lua_State *L)
static bool registerFunction (lua_State *L, const char *name, lua_CFunction func, int top)
template<typename T>
static void registerClass (lua_State *L, const luaL_Reg *methods, const luaL_Reg *metamethods)
template<typename T>
static T * checkObject (lua_State *L, int narg)
static int l_deprecated_function (lua_State *L, const char *good, const char *bad, lua_CFunction func)
 A wrapper for deprecated functions.

Static Public Attributes

static const char className [] = "ItemStack"

Private Member Functions

 LuaItemStack (const ItemStack &item)
 ~LuaItemStack ()=default

Static Private Member Functions

static int gc_object (lua_State *L)
static int mt_tostring (lua_State *L)
static int l_is_empty (lua_State *L)
static int l_get_name (lua_State *L)
static int l_set_name (lua_State *L)
static int l_get_count (lua_State *L)
static int l_set_count (lua_State *L)
static int l_get_wear (lua_State *L)
static int l_set_wear (lua_State *L)
static int l_get_meta (lua_State *L)
static int l_get_metadata (lua_State *L)
static int l_set_metadata (lua_State *L)
static int l_get_description (lua_State *L)
static int l_get_short_description (lua_State *L)
static int l_clear (lua_State *L)
static int l_replace (lua_State *L)
static int l_to_string (lua_State *L)
static int l_to_table (lua_State *L)
static int l_get_stack_max (lua_State *L)
static int l_get_free_space (lua_State *L)
static int l_is_known (lua_State *L)
static int l_get_definition (lua_State *L)
static int l_get_tool_capabilities (lua_State *L)
static int l_add_wear (lua_State *L)
static int l_add_wear_by_uses (lua_State *L)
static int l_get_wear_bar_params (lua_State *L)
static int l_add_item (lua_State *L)
static int l_item_fits (lua_State *L)
static int l_take_item (lua_State *L)
static int l_peek_item (lua_State *L)
static int l_equals (lua_State *L)

Private Attributes

ItemStack m_stack

Static Private Attributes

static const luaL_Reg methods []

Additional Inherited Members

Protected Member Functions inherited from LuaHelper
template<>
bool readParam (lua_State *L, int index)
template<>
s16 readParam (lua_State *L, int index)
template<>
int readParam (lua_State *L, int index)
template<>
float readParam (lua_State *L, int index)
template<>
v2s16 readParam (lua_State *L, int index)
template<>
v2f readParam (lua_State *L, int index)
template<>
v3f readParam (lua_State *L, int index)
template<>
std::string_view readParam (lua_State *L, int index)
template<>
std::string readParam (lua_State *L, int index)
template<>
std::string_view readParam (lua_State *L, int index)
 Read a string from Lua state L at index without copying it.
Static Protected Member Functions inherited from LuaHelper
template<typename T>
static T readParam (lua_State *L, int index)
 Read a value using a template type T from Lua state L at index.
template<typename T>
static T readParam (lua_State *L, int index, const T &default_value)
 Read a value using a template type T from Lua state L at index.

Constructor & Destructor Documentation

◆ LuaItemStack()

◆ ~LuaItemStack()

LuaItemStack::~LuaItemStack ( )
privatedefault

References LuaItemStack(), and methods.

Here is the call graph for this function:

Member Function Documentation

◆ create()

◆ create_object()

int LuaItemStack::create_object ( lua_State * L)
static

References LuaItemStack(), className, ModApiBase::getGameDef(), NO_MAP_LOCK_REQUIRED, and read_item().

Referenced by Register().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gc_object()

int LuaItemStack::gc_object ( lua_State * L)
staticprivate

References LuaItemStack(), and IntrusiveReferenceCounted::drop().

Referenced by Register().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getItem() [1/2]

ItemStack & LuaItemStack::getItem ( )
inline

References m_stack.

◆ getItem() [2/2]

const ItemStack & LuaItemStack::getItem ( ) const
inline

References getItem(), and m_stack.

Referenced by getItem(), packIn(), and read_item().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ l_add_item()

int LuaItemStack::l_add_item ( lua_State * L)
staticprivate

References LuaItemStack(), ItemStack::addItem(), ModApiBase::checkObject(), create(), ModApiBase::getGameDef(), m_stack, NO_MAP_LOCK_REQUIRED, and read_item().

Here is the call graph for this function:

◆ l_add_wear()

int LuaItemStack::l_add_wear ( lua_State * L)
staticprivate

References LuaItemStack(), ItemStack::addWear(), ModApiBase::checkObject(), ModApiBase::getGameDef(), m_stack, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_add_wear_by_uses()

int LuaItemStack::l_add_wear_by_uses ( lua_State * L)
staticprivate

References LuaItemStack(), ItemStack::addWear(), calculateResultWear(), ModApiBase::checkObject(), ModApiBase::getGameDef(), m_stack, NO_MAP_LOCK_REQUIRED, LuaHelper::readParam(), and ItemStack::wear.

Here is the call graph for this function:

◆ l_clear()

int LuaItemStack::l_clear ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ItemStack::clear(), m_stack, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_equals()

int LuaItemStack::l_equals ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), className, m_stack, and NO_MAP_LOCK_REQUIRED.

Referenced by Register().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ l_get_count()

int LuaItemStack::l_get_count ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ItemStack::count, m_stack, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_get_definition()

int LuaItemStack::l_get_definition ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), m_stack, ItemStack::name, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_get_description()

int LuaItemStack::l_get_description ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ItemStack::getDescription(), ModApiBase::getGameDef(), m_stack, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_get_free_space()

int LuaItemStack::l_get_free_space ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ItemStack::freeSpace(), ModApiBase::getGameDef(), m_stack, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_get_meta()

int LuaItemStack::l_get_meta ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ItemStackMetaRef::create(), and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_get_metadata()

int LuaItemStack::l_get_metadata ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), SimpleMetadata::getString(), log_deprecated(), m_stack, ItemStack::metadata, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_get_name()

int LuaItemStack::l_get_name ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), m_stack, ItemStack::name, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_get_short_description()

int LuaItemStack::l_get_short_description ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ModApiBase::getGameDef(), ItemStack::getShortDescription(), m_stack, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_get_stack_max()

int LuaItemStack::l_get_stack_max ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ModApiBase::getGameDef(), ItemStack::getStackMax(), m_stack, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_get_tool_capabilities()

int LuaItemStack::l_get_tool_capabilities ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ModApiBase::getGameDef(), ItemStack::getToolCapabilities(), m_stack, NO_MAP_LOCK_REQUIRED, and push_tool_capabilities().

Here is the call graph for this function:

◆ l_get_wear()

int LuaItemStack::l_get_wear ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), m_stack, NO_MAP_LOCK_REQUIRED, and ItemStack::wear.

Here is the call graph for this function:

◆ l_get_wear_bar_params()

int LuaItemStack::l_get_wear_bar_params ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ModApiBase::getGameDef(), ItemStack::getWearBarParams(), m_stack, NO_MAP_LOCK_REQUIRED, and push_wear_bar_params().

Here is the call graph for this function:

◆ l_is_empty()

int LuaItemStack::l_is_empty ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ItemStack::empty(), m_stack, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_is_known()

int LuaItemStack::l_is_known ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ModApiBase::getGameDef(), ItemStack::isKnown(), m_stack, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_item_fits()

int LuaItemStack::l_item_fits ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), create(), ModApiBase::getGameDef(), ItemStack::itemFits(), m_stack, NO_MAP_LOCK_REQUIRED, and read_item().

Here is the call graph for this function:

◆ l_peek_item()

int LuaItemStack::l_peek_item ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), create(), m_stack, NO_MAP_LOCK_REQUIRED, and ItemStack::peekItem().

Here is the call graph for this function:

◆ l_replace()

int LuaItemStack::l_replace ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ModApiBase::getGameDef(), m_stack, NO_MAP_LOCK_REQUIRED, and read_item().

Here is the call graph for this function:

◆ l_set_count()

int LuaItemStack::l_set_count ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ItemStack::clear(), ItemStack::count, m_stack, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_set_metadata()

int LuaItemStack::l_set_metadata ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), log_deprecated(), m_stack, ItemStack::metadata, NO_MAP_LOCK_REQUIRED, and ItemStackMetadata::setString().

Here is the call graph for this function:

◆ l_set_name()

int LuaItemStack::l_set_name ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ItemStack::clear(), ItemStack::empty(), m_stack, ItemStack::name, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_set_wear()

int LuaItemStack::l_set_wear ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ItemStack::clear(), m_stack, NO_MAP_LOCK_REQUIRED, and ItemStack::wear.

Here is the call graph for this function:

◆ l_take_item()

int LuaItemStack::l_take_item ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), create(), m_stack, NO_MAP_LOCK_REQUIRED, and ItemStack::takeItem().

Here is the call graph for this function:

◆ l_to_string()

int LuaItemStack::l_to_string ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ItemStack::getItemString(), m_stack, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_to_table()

int LuaItemStack::l_to_table ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ItemStack::count, ItemStack::empty(), SimpleMetadata::getString(), SimpleMetadata::getStrings(), m_stack, ItemStack::metadata, ItemStack::name, NO_MAP_LOCK_REQUIRED, and ItemStack::wear.

Here is the call graph for this function:

◆ mt_tostring()

int LuaItemStack::mt_tostring ( lua_State * L)
staticprivate

References LuaItemStack(), ModApiBase::checkObject(), ItemStack::getItemString(), and m_stack.

Referenced by Register().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ packIn()

void * LuaItemStack::packIn ( lua_State * L,
int idx )
static

References LuaItemStack(), ModApiBase::checkObject(), getItem(), and idx.

Referenced by Register().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ packOut()

void LuaItemStack::packOut ( lua_State * L,
void * ptr )
static

References create().

Referenced by Register().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Register()

void LuaItemStack::Register ( lua_State * L)
static

References className, create_object(), gc_object(), l_equals(), methods, mt_tostring(), packIn(), packOut(), ModApiBase::registerClass(), and script_register_packer().

Referenced by ServerScripting::InitializeAsync(), ClientScripting::InitializeModApi(), EmergeScripting::InitializeModApi(), and ServerScripting::InitializeModApi().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ className

const char LuaItemStack::className = "ItemStack"
static

◆ m_stack

◆ methods

const luaL_Reg LuaItemStack::methods
staticprivate

Referenced by ~LuaItemStack(), and Register().


The documentation for this class was generated from the following files: