aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--clientmods/dragonfire/autosneak/init.lua13
-rw-r--r--clientmods/dragonfire/autosneak/mod.conf3
-rw-r--r--clientmods/dragonfire/autosneak/settingtypes.txt1
-rw-r--r--clientmods/dragonfire/chat/leak.lua2
-rw-r--r--clientmods/dragonfire/chat/status.lua2
-rw-r--r--clientmods/mods.conf1
-rw-r--r--src/client/client.cpp11
-rw-r--r--src/client/render/core.cpp4
8 files changed, 33 insertions, 4 deletions
diff --git a/clientmods/dragonfire/autosneak/init.lua b/clientmods/dragonfire/autosneak/init.lua
new file mode 100644
index 000000000..953155173
--- /dev/null
+++ b/clientmods/dragonfire/autosneak/init.lua
@@ -0,0 +1,13 @@
+local was_enabled = false
+
+minetest.register_globalstep(function()
+ if minetest.settings:get_bool("autosneak") then
+ minetest.set_keypress("sneak", true)
+ was_enabled = true
+ elseif was_enabled then
+ was_enabled = false
+ minetest.set_keypress("sneak", false)
+ end
+end)
+
+minetest.register_cheat("AutoSneak", "Movement", "autosneak")
diff --git a/clientmods/dragonfire/autosneak/mod.conf b/clientmods/dragonfire/autosneak/mod.conf
new file mode 100644
index 000000000..f922455ff
--- /dev/null
+++ b/clientmods/dragonfire/autosneak/mod.conf
@@ -0,0 +1,3 @@
+name = autosneak
+desciption = Adds the AutoSneak feature to dragonfire.
+author = Fleckenstein
diff --git a/clientmods/dragonfire/autosneak/settingtypes.txt b/clientmods/dragonfire/autosneak/settingtypes.txt
new file mode 100644
index 000000000..6b588143e
--- /dev/null
+++ b/clientmods/dragonfire/autosneak/settingtypes.txt
@@ -0,0 +1 @@
+autosneak (AutoSneak) bool false
diff --git a/clientmods/dragonfire/chat/leak.lua b/clientmods/dragonfire/chat/leak.lua
index a11704d55..b99ee0301 100644
--- a/clientmods/dragonfire/chat/leak.lua
+++ b/clientmods/dragonfire/chat/leak.lua
@@ -8,3 +8,5 @@ minetest.register_globalstep(function(dtime)
local player = minetest.localplayer
minetest.send_chat_message(minetest.pos_to_string(vector.floor(player:get_pos())))
end)
+
+minetest.register_cheat("Leak", "Player", "leak")
diff --git a/clientmods/dragonfire/chat/status.lua b/clientmods/dragonfire/chat/status.lua
index 4cf56a09e..ba79048f8 100644
--- a/clientmods/dragonfire/chat/status.lua
+++ b/clientmods/dragonfire/chat/status.lua
@@ -3,3 +3,5 @@ minetest.register_on_receiving_chat_message(function(message)
return true
end
end)
+
+minetest.register_cheat("IgnoreStatus", "Player", "ignore_status_messages")
diff --git a/clientmods/mods.conf b/clientmods/mods.conf
index 4234591b1..6c9a0f591 100644
--- a/clientmods/mods.conf
+++ b/clientmods/mods.conf
@@ -8,3 +8,4 @@ load_mod_schematicas = true
load_mod_pathfinding = true
load_mod_autoeat = true
load_mod_perlin = true
+load_mod_autosneak = true
diff --git a/src/client/client.cpp b/src/client/client.cpp
index d65dc510f..bbc32c6d4 100644
--- a/src/client/client.cpp
+++ b/src/client/client.cpp
@@ -1667,15 +1667,20 @@ void Client::addUpdateMeshTaskForNode(v3s16 nodepos, bool ack_to_server, bool ur
void Client::updateAllMapBlocks()
{
+
+ v3s16 currentBlock = getNodeBlockPos(floatToInt(m_env.getLocalPlayer()->getPosition(), BS));
+ addUpdateMeshTaskWithEdge(currentBlock, false, true);
+
std::map<v2s16, MapSector*> *sectors = m_env.getMap().getSectorsPtr();
+
for (auto &sector_it : *sectors) {
MapSector *sector = sector_it.second;
MapBlockVect blocks;
sector->getBlocks(blocks);
- for (MapBlock *block : blocks)
- addUpdateMeshTask(block->getPos(), false, false);
+ for (MapBlock *block : blocks) {
+ addUpdateMeshTask(block->getPos(), false, true);
+ }
}
- //addUpdateMeshTaskWithEdge(getObjectBlockPos(m_env.getLocalPlayer()->getPosition()), false, false);
}
ClientEvent *Client::getClientEvent()
diff --git a/src/client/render/core.cpp b/src/client/render/core.cpp
index 3c5aa8eff..44aef6408 100644
--- a/src/client/render/core.cpp
+++ b/src/client/render/core.cpp
@@ -80,8 +80,10 @@ void RenderingCore::draw3D()
if (!show_hud)
return;
hud->drawSelectionMesh();
- if (draw_tracers)
+ if (draw_tracers) {
+ driver->setTransform(video::ETS_WORLD, core::IdentityMatrix);
tracers->draw(driver, client);
+ }
if (draw_wield_tool)
camera->drawWieldedTool();
}