Luanti 5.10.0-dev
 
Loading...
Searching...
No Matches
ScriptApiEntity Class Reference

#include <s_entity.h>

+ Inheritance diagram for ScriptApiEntity:
+ Collaboration diagram for ScriptApiEntity:

Public Member Functions

bool luaentity_Add (u16 id, const char *name)
 
void luaentity_Activate (u16 id, const std::string &staticdata, u32 dtime_s)
 
void luaentity_Deactivate (u16 id, bool removal)
 
void luaentity_Remove (u16 id)
 
std::string luaentity_GetStaticdata (u16 id)
 
void luaentity_GetProperties (u16 id, ServerActiveObject *self, ObjectProperties *prop, const std::string &entity_name)
 
void luaentity_Step (u16 id, float dtime, const collisionMoveResult *moveresult)
 
bool luaentity_Punch (u16 id, ServerActiveObject *puncher, float time_from_last_punch, const ToolCapabilities *toolcap, v3f dir, s32 damage)
 
bool luaentity_on_death (u16 id, ServerActiveObject *killer)
 
void luaentity_Rightclick (u16 id, ServerActiveObject *clicker)
 
void luaentity_on_attach_child (u16 id, ServerActiveObject *child)
 
void luaentity_on_detach_child (u16 id, ServerActiveObject *child)
 
void luaentity_on_detach (u16 id, ServerActiveObject *parent)
 
- 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 ()
 

Private Member Functions

bool luaentity_run_simple_callback (u16 id, ServerActiveObject *sao, const char *field)
 
void logDeprecationForExistingProperties (lua_State *L, int index, const std::string &name)
 

Private Attributes

std::unordered_set< std::string > deprecation_warned_init_properties
 Stores names of entities that already caused a deprecation warning due to properties being outside of initial_properties.
 

Additional Inherited Members

- Static Public Member Functions inherited from ScriptApiBase
static std::string getCurrentModNameInsecure (lua_State *L)
 
static std::string getCurrentModName (lua_State *L)
 
- 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.
 
- 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

◆ logDeprecationForExistingProperties()

void ScriptApiEntity::logDeprecationForExistingProperties ( lua_State * L,
int index,
const std::string & name )
private

References deprecation_warned_init_properties, log_deprecated(), and object_property_keys.

Referenced by luaentity_GetProperties().

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

◆ luaentity_Activate()

void ScriptApiEntity::luaentity_Activate ( u16 id,
const std::string & staticdata,
u32 dtime_s )

References luaentity_get(), PCALL_RES, PUSH_ERROR_HANDLER, SCRIPTAPI_PRECHECKHEADER, and setOriginFromTable.

+ Here is the call graph for this function:

◆ luaentity_Add()

bool ScriptApiEntity::luaentity_Add ( u16 id,
const char * name )

References errorstream, push_objectRef(), and SCRIPTAPI_PRECHECKHEADER.

+ Here is the call graph for this function:

◆ luaentity_Deactivate()

void ScriptApiEntity::luaentity_Deactivate ( u16 id,
bool removal )

References luaentity_get(), PCALL_RES, PUSH_ERROR_HANDLER, SCRIPTAPI_PRECHECKHEADER, and setOriginFromTable.

Referenced by LuaEntitySAO::dispatchScriptDeactivate().

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

◆ luaentity_GetProperties()

void ScriptApiEntity::luaentity_GetProperties ( u16 id,
ServerActiveObject * self,
ObjectProperties * prop,
const std::string & entity_name )

References ScriptApiBase::getServer(), ObjectProperties::hp_max, logDeprecationForExistingProperties(), luaentity_get(), read_object_properties(), and SCRIPTAPI_PRECHECKHEADER.

+ Here is the call graph for this function:

◆ luaentity_GetStaticdata()

std::string ScriptApiEntity::luaentity_GetStaticdata ( u16 id)

References luaentity_get(), PCALL_RES, PUSH_ERROR_HANDLER, SCRIPTAPI_PRECHECKHEADER, and setOriginFromTable.

+ Here is the call graph for this function:

◆ luaentity_on_attach_child()

void ScriptApiEntity::luaentity_on_attach_child ( u16 id,
ServerActiveObject * child )

References luaentity_run_simple_callback().

Referenced by UnitSAO::onAttach().

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

◆ luaentity_on_death()

bool ScriptApiEntity::luaentity_on_death ( u16 id,
ServerActiveObject * killer )

References luaentity_run_simple_callback().

Referenced by LuaEntitySAO::setHP().

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

◆ luaentity_on_detach()

void ScriptApiEntity::luaentity_on_detach ( u16 id,
ServerActiveObject * parent )

References luaentity_run_simple_callback().

Referenced by UnitSAO::onDetach().

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

◆ luaentity_on_detach_child()

void ScriptApiEntity::luaentity_on_detach_child ( u16 id,
ServerActiveObject * child )

References luaentity_run_simple_callback().

Referenced by UnitSAO::onDetach().

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

◆ luaentity_Punch()

bool ScriptApiEntity::luaentity_Punch ( u16 id,
ServerActiveObject * puncher,
float time_from_last_punch,
const ToolCapabilities * toolcap,
v3f dir,
s32 damage )

References dir(), luaentity_get(), ScriptApiBase::objectrefGetOrCreate(), PCALL_RES, PUSH_ERROR_HANDLER, push_tool_capabilities(), push_v3f(), LuaHelper::readParam(), SCRIPTAPI_PRECHECKHEADER, and setOriginFromTable.

Referenced by LuaEntitySAO::punch().

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

◆ luaentity_Remove()

void ScriptApiEntity::luaentity_Remove ( u16 id)

References SCRIPTAPI_PRECHECKHEADER.

Referenced by LuaEntitySAO::~LuaEntitySAO().

+ Here is the caller graph for this function:

◆ luaentity_Rightclick()

void ScriptApiEntity::luaentity_Rightclick ( u16 id,
ServerActiveObject * clicker )

References luaentity_run_simple_callback().

Referenced by LuaEntitySAO::rightClick().

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

◆ luaentity_run_simple_callback()

bool ScriptApiEntity::luaentity_run_simple_callback ( u16 id,
ServerActiveObject * sao,
const char * field )
private

References luaentity_get(), ScriptApiBase::objectrefGetOrCreate(), PCALL_RES, PUSH_ERROR_HANDLER, LuaHelper::readParam(), SCRIPTAPI_PRECHECKHEADER, and setOriginFromTable.

Referenced by luaentity_on_attach_child(), luaentity_on_death(), luaentity_on_detach(), luaentity_on_detach_child(), and luaentity_Rightclick().

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

◆ luaentity_Step()

void ScriptApiEntity::luaentity_Step ( u16 id,
float dtime,
const collisionMoveResult * moveresult )

References luaentity_get(), PCALL_RES, push_collision_move_result(), PUSH_ERROR_HANDLER, SCRIPTAPI_PRECHECKHEADER, and setOriginFromTable.

Referenced by LuaEntitySAO::step().

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

Member Data Documentation

◆ deprecation_warned_init_properties

std::unordered_set<std::string> ScriptApiEntity::deprecation_warned_init_properties
private

Stores names of entities that already caused a deprecation warning due to properties being outside of initial_properties.

If an entity's name is in here, it won't cause any more of those deprecation warnings.

Referenced by logDeprecationForExistingProperties().


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