22 #include <unordered_set>
80 const std::string &data);
114 virtual void step(
float dtime,
bool send_recommended){}
152 float time_from_last_punch = 1000000.0f)
165 virtual void setAnimation(
v2f frames,
float frame_speed,
float frame_blend,
bool frame_loop)
167 virtual void getAnimation(
v2f *frames,
float *frame_speed,
float *frame_blend,
bool *frame_loop)
176 {
static std::unordered_set<int> rv;
return rv; }
ActiveObjectType
Definition: activeobject.h:27
static v2f dir(const v2f &pos_dist)
Definition: camera.cpp:240
Definition: activeobject.h:79
virtual ActiveObjectType getType() const =0
Definition: inventory.h:282
Definition: serveractiveobject.h:52
v3f getBasePosition() const
Definition: serveractiveobject.h:85
virtual void setAnimationSpeed(float frame_speed)
Definition: serveractiveobject.h:169
virtual bool setWieldedItem(const ItemStack &item)
Definition: serveractiveobject.cpp:47
void markForDeactivation()
Definition: serveractiveobject.cpp:85
virtual bool shouldUnload() const
Definition: serveractiveobject.h:145
virtual u16 punch(v3f dir, const ToolCapabilities *toolcap=nullptr, ServerActiveObject *puncher=nullptr, float time_from_last_punch=1000000.0f)
Definition: serveractiveobject.h:149
ServerEnvironment * m_env
Definition: serveractiveobject.h:244
virtual void setPos(const v3f &pos)
Definition: serveractiveobject.h:93
virtual void onMarkedForDeactivation()
Definition: serveractiveobject.h:238
static ServerActiveObject * create(ActiveObjectType type, ServerEnvironment *env, u16 id, v3f pos, const std::string &data)
virtual std::string getClientInitializationData(u16 protocol_version)
Definition: serveractiveobject.h:120
bool m_static_exists
Definition: serveractiveobject.h:230
virtual ItemStack getWieldedItem(ItemStack *selected, ItemStack *hand=nullptr) const
Definition: serveractiveobject.cpp:38
virtual void getAnimation(v2f *frames, float *frame_speed, float *frame_blend, bool *frame_loop)
Definition: serveractiveobject.h:167
std::unordered_set< u32 > m_attached_particle_spawners
Definition: serveractiveobject.h:246
virtual void setInventoryModified()
Definition: serveractiveobject.h:188
virtual InventoryLocation getInventoryLocation() const
Definition: serveractiveobject.h:186
bool m_pending_deactivation
Definition: serveractiveobject.h:256
virtual bool environmentDeletes() const
Definition: serveractiveobject.h:70
void markForRemoval()
Definition: serveractiveobject.cpp:77
ServerActiveObject(ServerEnvironment *env, v3f pos)
Definition: serveractiveobject.cpp:26
virtual void addedToEnvironment(u32 dtime_s)
Definition: serveractiveobject.h:65
u16 m_known_by_count
Definition: serveractiveobject.h:215
virtual ActiveObjectType getSendType() const
Definition: serveractiveobject.h:61
virtual void onAttach(int parent_id)
Definition: serveractiveobject.h:241
void detachParticleSpawner(u32 id)
Definition: serveractiveobject.h:201
virtual u16 getHP() const
Definition: serveractiveobject.h:158
bool isPendingRemoval() const
Definition: serveractiveobject.h:224
virtual void setBonePosition(const std::string &bone, v3f position, v3f rotation)
Definition: serveractiveobject.h:171
virtual const std::unordered_set< int > & getAttachmentChildIds() const
Definition: serveractiveobject.h:175
void attachParticleSpawner(u32 id)
Definition: serveractiveobject.h:197
std::string generateUpdateInfantCommand(u16 infant_id, u16 protocol_version)
Definition: serveractiveobject.cpp:52
virtual void setAnimation(v2f frames, float frame_speed, float frame_blend, bool frame_loop)
Definition: serveractiveobject.h:165
virtual void setArmorGroups(const ItemGroupList &armor_groups)
Definition: serveractiveobject.h:161
virtual float getMinimumSavedMovement()
Definition: serveractiveobject.cpp:33
void dumpAOMessagesToQueue(std::queue< ActiveObjectMessage > &queue)
Definition: serveractiveobject.cpp:69
virtual const ItemGroupList & getArmorGroups() const
Definition: serveractiveobject.h:163
std::queue< ActiveObjectMessage > m_messages_out
Definition: serveractiveobject.h:272
virtual std::string getWieldList() const
Definition: serveractiveobject.h:190
virtual void notifyObjectPropertiesModified()
Definition: serveractiveobject.h:180
virtual void getStaticData(std::string *result) const
Definition: serveractiveobject.h:127
virtual void rightClick(ServerActiveObject *clicker)
Definition: serveractiveobject.h:154
virtual u16 getWieldIndex() const
Definition: serveractiveobject.h:192
virtual void removingFromEnvironment()
Definition: serveractiveobject.h:67
virtual void step(float dtime, bool send_recommended)
Definition: serveractiveobject.h:114
virtual Inventory * getInventory() const
Definition: serveractiveobject.h:184
ServerEnvironment * getEnv()
Definition: serveractiveobject.h:87
virtual void getBonePosition(const std::string &bone, v3f *position, v3f *lotation)
Definition: serveractiveobject.h:173
virtual std::string getDescription()
Definition: serveractiveobject.h:102
virtual bool isStaticAllowed() const
Definition: serveractiveobject.h:137
v3s16 m_static_block
Definition: serveractiveobject.h:235
void setBasePosition(v3f pos)
Definition: serveractiveobject.h:86
virtual void onMarkedForRemoval()
Definition: serveractiveobject.h:239
virtual void onDetach(int parent_id)
Definition: serveractiveobject.h:242
virtual ~ServerActiveObject()=default
virtual void moveTo(v3f pos, bool continuous)
Definition: serveractiveobject.h:96
virtual void setHP(s32 hp, const PlayerHPChangeReason &reason)
Definition: serveractiveobject.h:156
bool m_pending_removal
Definition: serveractiveobject.h:267
bool isGone() const
Definition: serveractiveobject.h:221
virtual ObjectProperties * accessObjectProperties()
Definition: serveractiveobject.h:178
v3f m_base_position
Definition: serveractiveobject.h:245
virtual ServerActiveObject * getParent() const
Definition: serveractiveobject.h:177
Definition: serverenvironment.h:194
core::vector2d< f32 > v2f
Definition: irr_v2d.h:26
core::vector3d< s16 > v3s16
Definition: irr_v3d.h:28
core::vector3df v3f
Definition: irr_v3d.h:26
std::unordered_map< std::string, int > ItemGroupList
Definition: itemgroup.h:25
Definition: inventorymanager.h:28
Definition: inventory.h:34
Definition: object_properties.h:30
Definition: player_sao.h:230