diff options
Diffstat (limited to 'src/server/luaentity_sao.h')
-rw-r--r-- | src/server/luaentity_sao.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/server/luaentity_sao.h b/src/server/luaentity_sao.h index 87b664a8b..1dc72b150 100644 --- a/src/server/luaentity_sao.h +++ b/src/server/luaentity_sao.h @@ -36,23 +36,30 @@ public: { } ~LuaEntitySAO(); + ActiveObjectType getType() const { return ACTIVEOBJECT_TYPE_LUAENTITY; } ActiveObjectType getSendType() const { return ACTIVEOBJECT_TYPE_GENERIC; } virtual void addedToEnvironment(u32 dtime_s); void step(float dtime, bool send_recommended); std::string getClientInitializationData(u16 protocol_version); + bool isStaticAllowed() const { return m_prop.static_save; } bool shouldUnload() const { return true; } void getStaticData(std::string *result) const; + u32 punch(v3f dir, const ToolCapabilities *toolcap = nullptr, ServerActiveObject *puncher = nullptr, float time_from_last_punch = 1000000.0f, u16 initial_wear = 0); + void rightClick(ServerActiveObject *clicker); + void setPos(const v3f &pos); void moveTo(v3f pos, bool continuous); float getMinimumSavedMovement(); + std::string getDescription(); + void setHP(s32 hp, const PlayerHPChangeReason &reason); u16 getHP() const; @@ -73,9 +80,9 @@ public: bool collideWithObjects() const; protected: - void dispatchScriptDeactivate(); - virtual void onMarkedForDeactivation() { dispatchScriptDeactivate(); } - virtual void onMarkedForRemoval() { dispatchScriptDeactivate(); } + void dispatchScriptDeactivate(bool removal); + virtual void onMarkedForDeactivation() { dispatchScriptDeactivate(false); } + virtual void onMarkedForRemoval() { dispatchScriptDeactivate(true); } private: std::string getPropertyPacket(); |