]> git.lizzy.rs Git - dragonfireclient.git/commitdiff
World Cheats improvements; Add BlockLava; Readd minetest.request_http_api for Compati...
authorElias Fleckenstein <eliasfleckenstein@web.de>
Fri, 11 Dec 2020 15:38:49 +0000 (16:38 +0100)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Fri, 11 Dec 2020 15:38:49 +0000 (16:38 +0100)
builtin/client/cheats/init.lua
builtin/client/cheats/world.lua
src/client/clientenvironment.cpp
src/defaultsettings.cpp
src/script/lua_api/l_http.cpp

index 30c3fe2085c77b8e0f50ead62d721af0a290efa4..3dc849079ca72c93ba661ca612c7bbe249689c8b 100644 (file)
@@ -50,6 +50,7 @@ core.cheats = {
                ["Scaffold"] = "scaffold",
                ["ScaffoldPlus"] = "scaffold_plus",
                ["BlockWater"] = "block_water",
+               ["BlockLava"] = "block_lava",
                ["PlaceOnTop"] = "autotnt",
                ["Replace"] = "replace",
                ["Nuke"] = "nuke",
index d537036a9fec9f7c08c253d5b9c3fab3e65c6d11..df44617bb14d8459759f69f740db93e73a4f2db9 100644 (file)
@@ -22,7 +22,8 @@ core.register_globalstep(function(dtime)
                        if not node or minetest.get_node_def(node.name).buildable_to then
                                core.place_node(p)
                        end
-               elseif core.settings:get_bool("scaffold_plus") then
+               end
+               if core.settings:get_bool("scaffold_plus") then
                        local z = pos.z
                        local positions = {
                                {x = 0, y = -0.6, z = 0},
@@ -38,13 +39,22 @@ core.register_globalstep(function(dtime)
                        for i, p in pairs(positions) do
                                core.place_node(vector.add(pos, p))
                        end
-               elseif core.settings:get_bool("block_water") then
+               end
+               if core.settings:get_bool("block_water") then
                        local positions = core.find_nodes_near(pos, 5, {"mcl_core:water_source", "mcl_core:water_floating"}, true)
                        for i, p in pairs(positions) do
                                if i > nodes_per_tick then return end
                                core.place_node(p)
                        end
-               elseif core.settings:get_bool("autotnt") then
+               end
+               if core.settings:get_bool("block_lava") then
+                       local positions = core.find_nodes_near(pos, 5, {"mcl_core:lava_source", "mcl_core:lava_floating"}, true)
+                       for i, p in pairs(positions) do
+                               if i > nodes_per_tick then return end
+                               core.place_node(p)
+                       end
+               end
+               if core.settings:get_bool("autotnt") then
                        local positions = core.find_nodes_near_under_air_except(pos, 5, item:get_name(), true)
                        for i, p in pairs(positions) do
                                if i > nodes_per_tick then return end
@@ -69,6 +79,6 @@ core.register_globalstep(function(dtime)
                        end
                end
        end
-end) 
+end)
 
  
index d480c50564382836084a7a4772458dae1eb8cea3..be2b358c5e52bed046ac5887bb81a1b978308049 100644 (file)
@@ -347,6 +347,11 @@ bool isFreeClientActiveObjectId(const u16 id,
 
 u16 ClientEnvironment::addActiveObject(ClientActiveObject *object)
 {
+       GenericCAO *gcao = dynamic_cast<GenericCAO *>(object);
+       aabb3f box;
+       if (gcao && g_settings->getBool("noobject") && ! gcao->getSelectionBox(&box) && ! gcao->getParent())
+               return 0;
+
        // Register object. If failed return zero id
        if (!m_ao_manager.registerObject(object))
                return 0;
index 7ca30697b0a4985fde1cd614ac7c935f2874b7dc..ef6a6482dddd2fbe4aadadb4c0e105b111456599 100644 (file)
@@ -147,6 +147,7 @@ void set_default_settings(Settings *settings)
        settings->setDefault("entity_esp_color", "(255, 255, 255)");
        settings->setDefault("player_esp_color", "(0, 255, 0)");        
        settings->setDefault("noweather", "false");     
+       settings->setDefault("noobject", "false");      
 
        // Keymap
        settings->setDefault("remote_port", "30000");
index 5a28cb3697384f4d3fa9887d772a0a410be3b104..0bf9cfbad7431d7be295c9a89c27f75996d1a9fa 100644 (file)
@@ -240,6 +240,7 @@ void ModApiHttp::Initialize(lua_State *L, int top)
 {
 #if USE_CURL
        API_FCT(get_http_api);
+       API_FCT(request_http_api);
 #endif
 }