aboutsummaryrefslogtreecommitdiff
path: root/src/remoteplayer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/remoteplayer.cpp')
-rw-r--r--src/remoteplayer.cpp85
1 files changed, 48 insertions, 37 deletions
diff --git a/src/remoteplayer.cpp b/src/remoteplayer.cpp
index bef60c792..0fb337065 100644
--- a/src/remoteplayer.cpp
+++ b/src/remoteplayer.cpp
@@ -22,7 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <json/json.h>
#include "filesys.h"
#include "gamedef.h"
-#include "porting.h" // strlcpy
+#include "porting.h" // strlcpy
#include "server.h"
#include "settings.h"
#include "convert_json.h"
@@ -36,28 +36,31 @@ bool RemotePlayer::m_setting_cache_loaded = false;
float RemotePlayer::m_setting_chat_message_limit_per_10sec = 0.0f;
u16 RemotePlayer::m_setting_chat_message_limit_trigger_kick = 0;
-RemotePlayer::RemotePlayer(const char *name, IItemDefManager *idef):
- Player(name, idef)
+RemotePlayer::RemotePlayer(const char *name, IItemDefManager *idef) : Player(name, idef)
{
if (!RemotePlayer::m_setting_cache_loaded) {
RemotePlayer::m_setting_chat_message_limit_per_10sec =
- g_settings->getFloat("chat_message_limit_per_10sec");
+ g_settings->getFloat("chat_message_limit_per_10sec");
RemotePlayer::m_setting_chat_message_limit_trigger_kick =
- g_settings->getU16("chat_message_limit_trigger_kick");
+ g_settings->getU16("chat_message_limit_trigger_kick");
RemotePlayer::m_setting_cache_loaded = true;
}
- movement_acceleration_default = g_settings->getFloat("movement_acceleration_default") * BS;
- movement_acceleration_air = g_settings->getFloat("movement_acceleration_air") * BS;
- movement_acceleration_fast = g_settings->getFloat("movement_acceleration_fast") * BS;
- movement_speed_walk = g_settings->getFloat("movement_speed_walk") * BS;
- movement_speed_crouch = g_settings->getFloat("movement_speed_crouch") * BS;
- movement_speed_fast = g_settings->getFloat("movement_speed_fast") * BS;
- movement_speed_climb = g_settings->getFloat("movement_speed_climb") * BS;
- movement_speed_jump = g_settings->getFloat("movement_speed_jump") * BS;
- movement_liquid_fluidity = g_settings->getFloat("movement_liquid_fluidity") * BS;
- movement_liquid_fluidity_smooth = g_settings->getFloat("movement_liquid_fluidity_smooth") * BS;
- movement_liquid_sink = g_settings->getFloat("movement_liquid_sink") * BS;
- movement_gravity = g_settings->getFloat("movement_gravity") * BS;
+ movement_acceleration_default =
+ g_settings->getFloat("movement_acceleration_default") * BS;
+ movement_acceleration_air =
+ g_settings->getFloat("movement_acceleration_air") * BS;
+ movement_acceleration_fast =
+ g_settings->getFloat("movement_acceleration_fast") * BS;
+ movement_speed_walk = g_settings->getFloat("movement_speed_walk") * BS;
+ movement_speed_crouch = g_settings->getFloat("movement_speed_crouch") * BS;
+ movement_speed_fast = g_settings->getFloat("movement_speed_fast") * BS;
+ movement_speed_climb = g_settings->getFloat("movement_speed_climb") * BS;
+ movement_speed_jump = g_settings->getFloat("movement_speed_jump") * BS;
+ movement_liquid_fluidity = g_settings->getFloat("movement_liquid_fluidity") * BS;
+ movement_liquid_fluidity_smooth =
+ g_settings->getFloat("movement_liquid_fluidity_smooth") * BS;
+ movement_liquid_sink = g_settings->getFloat("movement_liquid_sink") * BS;
+ movement_gravity = g_settings->getFloat("movement_gravity") * BS;
// copy defaults
m_cloud_params.density = 0.4f;
@@ -96,45 +99,50 @@ void RemotePlayer::serializeExtraAttributes(std::string &output)
output = fastWriteJson(json_root);
}
-
-void RemotePlayer::deSerialize(std::istream &is, const std::string &playername,
- PlayerSAO *sao)
+void RemotePlayer::deSerialize(
+ std::istream &is, const std::string &playername, PlayerSAO *sao)
{
Settings args;
if (!args.parseConfigLines(is, "PlayerArgsEnd")) {
- throw SerializationError("PlayerArgsEnd of player " + playername + " not found!");
+ throw SerializationError(
+ "PlayerArgsEnd of player " + playername + " not found!");
}
m_dirty = true;
- //args.getS32("version"); // Version field value not used
+ // args.getS32("version"); // Version field value not used
const std::string &name = args.get("name");
strlcpy(m_name, name.c_str(), PLAYERNAME_SIZE);
if (sao) {
try {
sao->setHPRaw(args.getU16("hp"));
- } catch(SettingNotFoundException &e) {
+ } catch (SettingNotFoundException &e) {
sao->setHPRaw(PLAYER_MAX_HP_DEFAULT);
}
try {
sao->setBasePosition(args.getV3F("position"));
- } catch (SettingNotFoundException &e) {}
+ } catch (SettingNotFoundException &e) {
+ }
try {
sao->setLookPitch(args.getFloat("pitch"));
- } catch (SettingNotFoundException &e) {}
+ } catch (SettingNotFoundException &e) {
+ }
try {
sao->setPlayerYaw(args.getFloat("yaw"));
- } catch (SettingNotFoundException &e) {}
+ } catch (SettingNotFoundException &e) {
+ }
try {
sao->setBreath(args.getU16("breath"), false);
- } catch (SettingNotFoundException &e) {}
+ } catch (SettingNotFoundException &e) {
+ }
try {
- const std::string &extended_attributes = args.get("extended_attributes");
+ const std::string &extended_attributes =
+ args.get("extended_attributes");
std::istringstream iss(extended_attributes);
Json::CharReaderBuilder builder;
builder.settings_["collectComments"] = false;
@@ -149,14 +157,15 @@ void RemotePlayer::deSerialize(std::istream &is, const std::string &playername,
sao->getMeta().setString(it, attr_value.asString());
}
sao->getMeta().setModified(false);
- } catch (SettingNotFoundException &e) {}
+ } catch (SettingNotFoundException &e) {
+ }
}
try {
inventory.deSerialize(is);
} catch (SerializationError &e) {
errorstream << "Failed to deserialize player inventory. player_name="
- << name << " " << e.what() << std::endl;
+ << name << " " << e.what() << std::endl;
}
if (!inventory.getList("craftpreview") && inventory.getList("craftresult")) {
@@ -164,10 +173,9 @@ void RemotePlayer::deSerialize(std::istream &is, const std::string &playername,
inventory.addList("craftpreview", 1);
bool craftresult_is_preview = true;
- if(args.exists("craftresult_is_preview"))
+ if (args.exists("craftresult_is_preview"))
craftresult_is_preview = args.getBool("craftresult_is_preview");
- if(craftresult_is_preview)
- {
+ if (craftresult_is_preview) {
// Clear craftresult
inventory.getList("craftresult")->changeItem(0, ItemStack());
}
@@ -195,7 +203,7 @@ void RemotePlayer::serialize(std::ostream &os)
args.writeLines(os);
- os<<"PlayerArgsEnd\n";
+ os << "PlayerArgsEnd\n";
inventory.serialize(os);
}
@@ -212,18 +220,21 @@ const RemotePlayerChatResult RemotePlayer::canSendChatMessage()
return RPLAYER_CHATRESULT_OK;
}
- m_chat_message_allowance += time_passed * (m_setting_chat_message_limit_per_10sec / 8.0f);
+ m_chat_message_allowance +=
+ time_passed * (m_setting_chat_message_limit_per_10sec / 8.0f);
if (m_chat_message_allowance > m_setting_chat_message_limit_per_10sec) {
m_chat_message_allowance = m_setting_chat_message_limit_per_10sec;
}
if (m_chat_message_allowance < 1.0f) {
infostream << "Player " << m_name
- << " chat limited due to excessive message amount." << std::endl;
+ << " chat limited due to excessive message amount."
+ << std::endl;
// Kick player if flooding is too intensive
m_message_rate_overhead++;
- if (m_message_rate_overhead > RemotePlayer::m_setting_chat_message_limit_trigger_kick) {
+ if (m_message_rate_overhead >
+ RemotePlayer::m_setting_chat_message_limit_trigger_kick) {
return RPLAYER_CHATRESULT_KICK;
}