Luanti 5.10.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)
 
static std::string getCurrentModName (lua_State *L)
 
- 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
 
bool m_secure = false
 
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.

Referenced by Server::UpdateCrafting().

+ Here is the call graph for this function:
+ Here is the caller 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 Server::handleCommand_Interact(), and 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.

Referenced by Server::handleCommand_Interact().

+ Here is the call graph for this function:
+ Here is the caller 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.

Referenced by Server::handleCommand_Interact().

+ Here is the call graph for this function:
+ Here is the caller 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:

Friends And Related Symbol Documentation

◆ LuaItemStack

friend class LuaItemStack
friend

◆ ModApiItem

friend class ModApiItem
friend

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