From: Elias Fleckenstein Date: Sun, 4 Oct 2020 20:22:55 +0000 (+0200) Subject: Added AutoSneak and improved X-Ray MapBlock updating X-Git-Tag: 05-11-2020~44 X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=c36ff3edb1ee83eaff61490355ce58679ab687e3;p=dragonfireclient.git Added AutoSneak and improved X-Ray MapBlock updating --- 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 *sectors = m_env.getMap().getSectorsPtr(); + for (auto §or_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(); }