Minetest  5.4.0
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 (ItemStack &item, ServerActiveObject *placer, const PointedThing &pointed)
 
bool item_OnUse (ItemStack &item, ServerActiveObject *user, const PointedThing &pointed)
 
bool item_OnSecondaryUse (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 loadModFromMemory (const std::string &mod_name)
 
void runCallbacksRaw (int nargs, RunCallbacksMode mode, const char *fxn)
 
void addObjectReference (ServerActiveObject *cobj)
 
void removeObjectReference (ServerActiveObject *cobj)
 
IGameDefgetGameDef ()
 
ServergetServer ()
 
ScriptingType getType ()
 
ClientgetClient ()
 
std::string getOrigin ()
 
void setOriginDirect (const char *origin)
 
void setOriginFromTableRaw (int index, const char *fxn)
 
void clientOpenLibs (lua_State *L)
 

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)
 
GUIEnginegetGuiEngine ()
 
void setGuiEngine (GUIEngine *guiengine)
 
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)
 

Friends

class LuaItemStack
 
class ModApiItemMod
 

Additional Inherited Members

- Static Protected Member Functions inherited from LuaHelper
static bool isNaN (lua_State *L, int idx)
 
template<typename T >
static T readParam (lua_State *L, int index)
 Read a value using a template type T from Lua State L and index. More...
 
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 and index. More...
 
- 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 BaseException::what().

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 BaseException::what().

+ 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 BaseException::what().

+ Here is the call graph for this function:

◆ item_OnPlace()

bool ScriptApiItem::item_OnPlace ( 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 BaseException::what().

Referenced by Server::handleCommand_Interact(), and ModApiEnvMod::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 ( 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 BaseException::what().

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 ( 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 BaseException::what().

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 Function Documentation

◆ LuaItemStack

friend class LuaItemStack
friend

◆ ModApiItemMod

friend class ModApiItemMod
friend

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