61 bool is_singleplayer);
77 void step(
float dtime,
bool send_recommended)
override;
80 void addPos(
const v3f &added_pos)
override;
81 void moveTo(
v3f pos,
bool continuous)
override;
93 void setFov(
const float pitch);
105 float time_from_last_punch, u16 initial_wear = 0)
override;
109 return setHP(hp, reason,
false);
114 void setBreath(
const u16 breath,
bool send =
true);
261 if (typestr ==
"set_hp")
263 else if (typestr ==
"punch")
265 else if (typestr ==
"fall")
267 else if (typestr ==
"node_damage")
269 else if (typestr ==
"drown")
271 else if (typestr ==
"respawn")
290 return "node_damage";
ActiveObjectType
Definition activeobject.h:14
@ ACTIVEOBJECT_TYPE_PLAYER
Definition activeobject.h:26
@ ACTIVEOBJECT_TYPE_GENERIC
Definition activeobject.h:28
static v2f dir(const v2f &pos_dist)
Definition camera.cpp:207
Definition inventory.h:277
Definition player_sao.h:21
float m_max
Definition player_sao.h:23
bool grab(float dtime)
Definition player_sao.h:44
void add(float dtime)
Definition player_sao.h:35
void empty()
Definition player_sao.h:42
float m_pool
Definition player_sao.h:22
void setMax(float new_max)
Definition player_sao.h:28
Definition player_sao.h:58
void setPlayerYawAndSend(const float yaw)
Definition player_sao.cpp:432
std::string generateUpdatePhysicsOverrideCommand() const
Definition player_sao.cpp:305
std::string getClientInitializationData(u16 protocol_version) override
Definition player_sao.cpp:98
void rightClick(ServerActiveObject *clicker) override
Definition player_sao.cpp:501
bool drowning
Definition player_sao.h:227
void setBasePosition(v3f position)
Definition player_sao.cpp:338
void disconnected()
Definition player_sao.cpp:595
std::string getGUID() const override
Returns an unique ID for this object (persistent across unload, server restarts).
Definition player_sao.h:83
s16 getWantedRange() const
Definition player_sao.h:96
bool m_is_new_player
Definition player_sao.h:213
float getZoomFOV() const
Definition player_sao.cpp:766
v3s16 m_nocheat_dig_pos
Definition player_sao.h:198
u16 getWieldIndex() const override
Definition player_sao.cpp:575
std::string getWieldList() const override
Definition player_sao.h:123
void noCheatDigEnd()
Definition player_sao.h:154
void unlinkPlayerSessionAndSave()
Definition player_sao.cpp:607
u32 punch(v3f dir, const ToolCapabilities &toolcap, ServerActiveObject *puncher, float time_from_last_punch, u16 initial_wear=0) override
Definition player_sao.cpp:452
bool m_position_not_sent
Definition player_sao.h:208
float m_time_from_last_teleport
Definition player_sao.h:196
void setPos(const v3f &pos) override
Definition player_sao.cpp:352
void moveTo(v3f pos, bool continuous) override
Definition player_sao.cpp:393
IntervalLimiter m_drowning_interval
Definition player_sao.h:205
s16 m_wanted_range
Definition player_sao.h:218
void noCheatDigStart(const v3s16 &p)
Definition player_sao.h:147
void setBreath(const u16 breath, bool send=true)
Definition player_sao.cpp:537
std::set< std::string > m_privs
Definition player_sao.h:211
const bool m_is_singleplayer
Definition player_sao.h:212
void setInventoryModified() override
Definition player_sao.h:122
LagPool & getDigPool()
Definition player_sao.h:155
void step(float dtime, bool send_recommended) override
Definition player_sao.cpp:145
bool m_camera_inverted
Definition player_sao.h:220
InventoryLocation getInventoryLocation() const override
Definition player_sao.cpp:568
SimpleMetadata m_meta
Definition player_sao.h:222
bool m_physics_override_sent
Definition player_sao.h:231
IntervalLimiter m_node_hurt_interval
Definition player_sao.h:206
v3f getLastGoodPosition() const
Definition player_sao.h:140
IntervalLimiter m_breathing_interval
Definition player_sao.h:204
void setLookPitchAndSend(const float pitch)
Definition player_sao.cpp:446
LagPool m_dig_pool
Definition player_sao.h:193
bool node_damage
Definition player_sao.h:228
void setPlayerYaw(const float yaw)
Definition player_sao.cpp:406
bool getCameraInverted() const
Definition player_sao.h:98
v3f m_last_good_position
Definition player_sao.h:195
float m_nocheat_dig_time
Definition player_sao.h:199
u16 m_breath
Definition player_sao.h:215
u16 getBreath() const
Definition player_sao.h:113
void setNewPlayer()
Definition player_sao.h:167
f32 getFov() const
Definition player_sao.h:94
float m_time_from_last_punch
Definition player_sao.h:197
PlayerSAO(ServerEnvironment *env_, RemotePlayer *player_, session_t peer_id_, bool is_singleplayer)
Definition player_sao.cpp:15
void finalize(RemotePlayer *player, const std::set< std::string > &privs)
Definition player_sao.cpp:57
bool checkMovementCheat()
Definition player_sao.cpp:633
bool isNewPlayer()
Definition player_sao.h:168
v3f getEyeOffset() const
Definition player_sao.cpp:64
f32 getLookPitch() const
Definition player_sao.h:89
void setCameraInverted(bool camera_inverted)
Definition player_sao.h:97
std::string getPropertyPacket()
Definition player_sao.cpp:614
f32 getRadLookPitch() const
Definition player_sao.h:90
void setHP(s32 hp, const PlayerHPChangeReason &reason) override
Definition player_sao.h:107
void setMaxSpeedOverride(const v3f &vel)
Definition player_sao.cpp:620
void setFov(const float pitch)
Definition player_sao.cpp:416
void respawn()
Definition player_sao.cpp:548
f32 m_pitch
Definition player_sao.h:216
Inventory * getInventory() const override
Definition player_sao.cpp:563
RemotePlayer * m_player
Definition player_sao.h:187
float m_max_speed_override_time
Definition player_sao.h:200
session_t getPeerID() const
Definition player_sao.cpp:601
std::string getDescription() override
Definition player_sao.cpp:69
ItemStack getWieldedItem(ItemStack *selected, ItemStack *hand=nullptr) const override
Definition player_sao.cpp:580
bool getSelectionBox(aabb3f *toset) const override
Definition player_sao.cpp:754
void getStaticData(std::string *result) const override
Definition player_sao.cpp:140
bool setWieldedItem(const ItemStack &item) override
Definition player_sao.cpp:585
float resetTimeFromLastPunch()
Definition player_sao.h:141
SimpleMetadata & getMeta()
Definition player_sao.h:180
void setWantedRange(const s16 range)
Definition player_sao.cpp:424
void setHPRaw(u16 hp)
Definition player_sao.h:112
f32 getRadLookPitchDep() const
Definition player_sao.h:92
std::string m_player_name
used as GUID
Definition player_sao.h:189
ActiveObjectType getSendType() const override
Definition player_sao.h:64
float getNoCheatDigTime()
Definition player_sao.h:153
v3s16 getNoCheatDigPos()
Definition player_sao.h:152
v3f getEyePosition() const
Definition player_sao.h:176
RemotePlayer * getPlayer()
Definition player_sao.h:135
bool getCollisionBox(aabb3f *toset) const override
Definition player_sao.cpp:743
bool isStaticAllowed() const override
Definition player_sao.h:73
v3f m_max_speed_override
Definition player_sao.h:201
void setLookPitch(const float pitch)
Definition player_sao.cpp:438
void setPlayer(RemotePlayer *player)
Definition player_sao.h:134
bool shouldUnload() const override
Definition player_sao.h:74
void addPos(const v3f &added_pos) override
Definition player_sao.cpp:369
bool collideWithObjects() const override
Definition player_sao.h:172
f32 m_fov
Definition player_sao.h:217
ActiveObjectType getType() const override
Definition player_sao.h:63
void removingFromEnvironment() override
Definition player_sao.cpp:85
void updatePrivileges(const std::set< std::string > &privs)
Definition player_sao.h:162
void addedToEnvironment(u32 dtime_s) override
Definition player_sao.cpp:75
session_t m_peer_id_initial
only used to initialize RemotePlayer
Definition player_sao.h:190
LagPool m_move_pool
Definition player_sao.h:194
bool breathing
Definition player_sao.h:226
struct PlayerSAO::@30 m_flags
Definition remoteplayer.h:27
Definition serveractiveobject.h:41
v3f getBasePosition() const
Definition serveractiveobject.h:65
Definition serverenvironment.h:113
u16 m_hp
Definition unit_sao.h:96
#define PLAYER_MAX_BREATH_DEFAULT
Definition constants.h:84
core::aabbox3d< f32 > aabb3f
Definition irr_aabb3d.h:11
core::vector3d< s16 > v3s16
Definition irr_v3d.h:13
core::vector3df v3f
Definition irr_v3d.h:11
u16 session_t
Definition networkprotocol.h:27
Definition inventorymanager.h:18
Definition inventory.h:21
Definition player_sao.h:235
PlayerHPChangeReason(Type type, ServerActiveObject *object)
Definition player_sao.h:302
ServerActiveObject * object
Definition player_sao.h:252
Type
Definition player_sao.h:237
@ RESPAWN
Definition player_sao.h:244
@ DROWNING
Definition player_sao.h:243
@ FALL
Definition player_sao.h:241
@ SET_HP
Definition player_sao.h:238
@ SET_HP_MAX
Definition player_sao.h:239
@ PLAYER_PUNCH
Definition player_sao.h:240
@ NODE_DAMAGE
Definition player_sao.h:242
bool from_mod
Definition player_sao.h:248
PlayerHPChangeReason(Type type, std::string node, v3s16 node_pos)
Definition player_sao.h:307
std::string getTypeAsString() const
Definition player_sao.h:279
bool setTypeFromString(const std::string &typestr)
Definition player_sao.h:259
std::string node
Definition player_sao.h:254
int lua_reference
Definition player_sao.h:249
PlayerHPChangeReason(Type type)
Definition player_sao.h:300
bool hasLuaReference() const
Definition player_sao.h:257
Type type
Definition player_sao.h:247
v3s16 node_pos
Definition player_sao.h:255
static std::string p(std::string path)
Definition test_filesys.cpp:64