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

#include <s_item.h>

Inheritance diagram for ScriptApiItem:
Collaboration diagram for ScriptApiItem:

Public Member Functions

bool item_OnDrop (ItemStack &item, ServerActiveObject *dropper, v3f pos)
bool item_OnPlace (std::optional< ItemStack > &item, ServerActiveObject *placer, const PointedThing &pointed)
bool item_OnUse (std::optional< ItemStack > &item, ServerActiveObject *user, const PointedThing &pointed)
bool item_OnSecondaryUse (std::optional< ItemStack > &item, ServerActiveObject *user, const PointedThing &pointed)
bool item_OnCraft (ItemStack &item, ServerActiveObject *user, const InventoryList *old_craft_grid, const InventoryLocation &craft_inv)
bool item_CraftPredict (ItemStack &item, ServerActiveObject *user, const InventoryList *old_craft_grid, const InventoryLocation &craft_inv)
Public Member Functions inherited from ScriptApiBase
 ScriptApiBase (ScriptingType type)
 ScriptApiBase ()
virtual ~ScriptApiBase ()
 DISABLE_CLASS_COPY (ScriptApiBase)
void loadMod (const std::string &script_path, const std::string &mod_name)
void loadScript (const std::string &script_path)
void runCallbacksRaw (int nargs, RunCallbacksMode mode, const char *fxn)
void addObjectReference (ServerActiveObject *cobj)
void removeObjectReference (ServerActiveObject *cobj)
ScriptingType getType ()
IGameDefgetGameDef ()
ServergetServer ()
const std::string & getOrigin ()
void setOriginDirect (const char *origin)
void setOriginFromTableRaw (int index, const char *fxn)
void clientOpenLibs (lua_State *L)
void checkSetByBuiltin ()

Protected Member Functions

bool getItemCallback (const char *name, const char *callbackname, const v3s16 *p=nullptr)
void pushPointedThing (const PointedThing &pointed, bool hitpoint=false)
Protected Member Functions inherited from ScriptApiBase
lua_State * getStack ()
void realityCheck ()
void scriptError (int result, const char *fxn)
void stackDump (std::ostream &o)
void setGameDef (IGameDef *gamedef)
EnvironmentgetEnv ()
void setEnv (Environment *env)
EmergeThreadgetEmergeThread ()
void setEmergeThread (EmergeThread *emerge)
void objectrefGetOrCreate (lua_State *L, ServerActiveObject *cobj)
void pushPlayerHPChangeReason (lua_State *L, const PlayerHPChangeReason &reason)
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.

Friends

class LuaItemStack
class ModApiItem

Additional Inherited Members

Static Public Member Functions inherited from ScriptApiBase
static std::string getCurrentModNameInsecure (lua_State *L)
 Returns the currently running mod, only during init time.
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.
Protected Attributes inherited from ScriptApiBase
std::recursive_mutex m_luastackmutex
std::string m_last_run_mod
int m_lock_recursion_count {}
std::thread::id m_owning_thread

Member Function Documentation

◆ getItemCallback()

bool ScriptApiItem::getItemCallback ( const char * name,
const char * callbackname,
const v3s16 * p = nullptr )
protected

◆ item_CraftPredict()

bool ScriptApiItem::item_CraftPredict ( ItemStack & item,
ServerActiveObject * user,
const InventoryList * old_craft_grid,
const InventoryLocation & craft_inv )

References InvRef::create(), LuaItemStack::create(), InventoryList::getItem(), ScriptApiBase::getServer(), InventoryList::getSize(), ItemStack::name, ScriptApiBase::objectrefGetOrCreate(), PCALL_RES, PUSH_ERROR_HANDLER, push_items(), read_item(), sanity_check, SCRIPTAPI_PRECHECKHEADER, and WRAP_LUAERROR.

Here is the call graph for this function:

◆ item_OnCraft()

bool ScriptApiItem::item_OnCraft ( ItemStack & item,
ServerActiveObject * user,
const InventoryList * old_craft_grid,
const InventoryLocation & craft_inv )

References InvRef::create(), LuaItemStack::create(), InventoryList::getItem(), ScriptApiBase::getServer(), InventoryList::getSize(), ItemStack::name, ScriptApiBase::objectrefGetOrCreate(), PCALL_RES, PUSH_ERROR_HANDLER, push_items(), read_item(), SCRIPTAPI_PRECHECKHEADER, and WRAP_LUAERROR.

Here is the call graph for this function:

◆ item_OnDrop()

bool ScriptApiItem::item_OnDrop ( ItemStack & item,
ServerActiveObject * dropper,
v3f pos )

References LuaItemStack::create(), getItemCallback(), ScriptApiBase::getServer(), ItemStack::name, ScriptApiBase::objectrefGetOrCreate(), PCALL_RES, PUSH_ERROR_HANDLER, pushFloatPos(), read_item(), SCRIPTAPI_PRECHECKHEADER, and WRAP_LUAERROR.

Here is the call graph for this function:

◆ item_OnPlace()

bool ScriptApiItem::item_OnPlace ( std::optional< ItemStack > & item,
ServerActiveObject * placer,
const PointedThing & pointed )

References LuaItemStack::create(), getItemCallback(), ScriptApiBase::getServer(), ItemStack::name, ScriptApiBase::objectrefGetOrCreate(), PCALL_RES, PUSH_ERROR_HANDLER, pushPointedThing(), read_item(), SCRIPTAPI_PRECHECKHEADER, and WRAP_LUAERROR.

Referenced by ModApiEnv::l_place_node().

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

◆ item_OnSecondaryUse()

bool ScriptApiItem::item_OnSecondaryUse ( std::optional< ItemStack > & item,
ServerActiveObject * user,
const PointedThing & pointed )

References LuaItemStack::create(), getItemCallback(), ScriptApiBase::getServer(), ItemStack::name, ScriptApiBase::objectrefGetOrCreate(), PCALL_RES, PUSH_ERROR_HANDLER, pushPointedThing(), read_item(), SCRIPTAPI_PRECHECKHEADER, and WRAP_LUAERROR.

Here is the call graph for this function:

◆ item_OnUse()

bool ScriptApiItem::item_OnUse ( std::optional< ItemStack > & item,
ServerActiveObject * user,
const PointedThing & pointed )

References LuaItemStack::create(), getItemCallback(), ScriptApiBase::getServer(), ItemStack::name, ScriptApiBase::objectrefGetOrCreate(), PCALL_RES, PUSH_ERROR_HANDLER, pushPointedThing(), read_item(), SCRIPTAPI_PRECHECKHEADER, and WRAP_LUAERROR.

Here is the call graph for this function:

◆ pushPointedThing()

void ScriptApiItem::pushPointedThing ( const PointedThing & pointed,
bool hitpoint = false )
protected

Pushes a pointed_thing tabe to the stack.

Parameters
hitpointIf true, the exact pointing location is also pushed

References ScriptApiBase::getStack(), and push_pointed_thing().

Referenced by item_OnPlace(), item_OnSecondaryUse(), item_OnUse(), and ScriptApiNode::node_on_punch().

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

◆ LuaItemStack

friend class LuaItemStack
friend

References LuaItemStack.

Referenced by LuaItemStack.

◆ ModApiItem

friend class ModApiItem
friend

References ModApiItem, and p().

Referenced by ModApiItem.


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