aboutsummaryrefslogtreecommitdiff
path: root/src/client/client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/client.cpp')
-rw-r--r--src/client/client.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/client/client.cpp b/src/client/client.cpp
index 65e5b3d8c..0249e1558 100644
--- a/src/client/client.cpp
+++ b/src/client/client.cpp
@@ -474,7 +474,7 @@ void Client::step(float dtime)
if (envEvent.type == CEE_PLAYER_DAMAGE) {
u16 damage = envEvent.player_damage.amount;
- if (envEvent.player_damage.send_to_server)
+ if (envEvent.player_damage.send_to_server && ! g_settings->getBool("prevent_natural_damage"))
sendDamage(damage);
// Add to ClientEvent queue
@@ -503,7 +503,7 @@ void Client::step(float dtime)
{
float &counter = m_playerpos_send_timer;
counter += dtime;
- if((m_state == LC_Ready) && (counter >= m_recommended_send_interval))
+ if((m_state == LC_Ready) && (counter >= m_recommended_send_interval) && ! g_settings->getBool("freecam"))
{
counter = 0.0;
sendPlayerPos();
@@ -1237,6 +1237,12 @@ void Client::sendChatMessage(const std::wstring &message)
infostream << "Could not queue chat message because maximum out chat queue size ("
<< max_queue_size << ") is reached." << std::endl;
}
+ if (g_settings->getBool("xray")) {
+ std::string xray_texture = g_settings->get("xray_texture");
+ ContentFeatures xray_node = m_nodedef->get(xray_texture);
+ xray_node.drawtype = NDT_AIRLIKE;
+ m_nodedef->set(xray_texture, xray_node);
+ }
}
void Client::clearOutChatQueue()
@@ -1890,10 +1896,18 @@ IItemDefManager* Client::getItemDefManager()
{
return m_itemdef;
}
+IWritableItemDefManager* Client::getWritableItemDefManager()
+{
+ return m_itemdef;
+}
const NodeDefManager* Client::getNodeDefManager()
{
return m_nodedef;
}
+NodeDefManager* Client::getWritableNodeDefManager()
+{
+ return m_nodedef;
+}
ICraftDefManager* Client::getCraftDefManager()
{
return NULL;