Minetest  5.4.0
LuaABM Class Reference

#include <l_env.h>

+ Inheritance diagram for LuaABM:
+ Collaboration diagram for LuaABM:

Public Member Functions

 LuaABM (lua_State *L, int id, const std::vector< std::string > &trigger_contents, const std::vector< std::string > &required_neighbors, float trigger_interval, u32 trigger_chance, bool simple_catch_up)
 
virtual const std::vector< std::string > & getTriggerContents () const
 
virtual const std::vector< std::string > & getRequiredNeighbors () const
 
virtual float getTriggerInterval ()
 
virtual u32 getTriggerChance ()
 
virtual bool getSimpleCatchUp ()
 
virtual void trigger (ServerEnvironment *env, v3s16 p, MapNode n, u32 active_object_count, u32 active_object_count_wider)
 
- Public Member Functions inherited from ActiveBlockModifier
 ActiveBlockModifier ()=default
 
virtual ~ActiveBlockModifier ()=default
 
virtual void trigger (ServerEnvironment *env, v3s16 p, MapNode n)
 

Private Attributes

int m_id
 
std::vector< std::string > m_trigger_contents
 
std::vector< std::string > m_required_neighbors
 
float m_trigger_interval
 
u32 m_trigger_chance
 
bool m_simple_catch_up
 

Constructor & Destructor Documentation

◆ LuaABM()

LuaABM::LuaABM ( lua_State *  L,
int  id,
const std::vector< std::string > &  trigger_contents,
const std::vector< std::string > &  required_neighbors,
float  trigger_interval,
u32  trigger_chance,
bool  simple_catch_up 
)
inline

Member Function Documentation

◆ getRequiredNeighbors()

virtual const std::vector<std::string>& LuaABM::getRequiredNeighbors ( ) const
inlinevirtual

Implements ActiveBlockModifier.

References m_required_neighbors.

◆ getSimpleCatchUp()

virtual bool LuaABM::getSimpleCatchUp ( )
inlinevirtual

Implements ActiveBlockModifier.

References m_simple_catch_up.

◆ getTriggerChance()

virtual u32 LuaABM::getTriggerChance ( )
inlinevirtual

Implements ActiveBlockModifier.

References m_trigger_chance.

◆ getTriggerContents()

virtual const std::vector<std::string>& LuaABM::getTriggerContents ( ) const
inlinevirtual

Implements ActiveBlockModifier.

References m_trigger_contents.

◆ getTriggerInterval()

virtual float LuaABM::getTriggerInterval ( )
inlinevirtual

Implements ActiveBlockModifier.

References m_trigger_interval.

◆ trigger()

void LuaABM::trigger ( ServerEnvironment env,
v3s16  p,
MapNode  n,
u32  active_object_count,
u32  active_object_count_wider 
)
virtual

Reimplemented from ActiveBlockModifier.

References FATAL_ERROR, ServerEnvironment::getGameDef(), ServerEnvironment::getScriptIface(), ScriptApiBase::getStack(), m_id, IGameDef::ndef(), p(), PUSH_ERROR_HANDLER, push_v3s16(), pushnode(), ScriptApiBase::realityCheck(), sanity_check, and ScriptApiBase::scriptError().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_id

int LuaABM::m_id
private

Referenced by trigger().

◆ m_required_neighbors

std::vector<std::string> LuaABM::m_required_neighbors
private

Referenced by getRequiredNeighbors().

◆ m_simple_catch_up

bool LuaABM::m_simple_catch_up
private

Referenced by getSimpleCatchUp().

◆ m_trigger_chance

u32 LuaABM::m_trigger_chance
private

Referenced by getTriggerChance().

◆ m_trigger_contents

std::vector<std::string> LuaABM::m_trigger_contents
private

Referenced by getTriggerContents().

◆ m_trigger_interval

float LuaABM::m_trigger_interval
private

Referenced by getTriggerInterval().


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