diff options
Diffstat (limited to 'src/client/client.cpp')
-rw-r--r-- | src/client/client.cpp | 18 |
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; |