]> git.lizzy.rs Git - dragonfireclient.git/commitdiff
Added Chat Spam, Replace and settingtypes.txt for Clientmods
authorElias Fleckenstein <eliasfleckenstein@web.de>
Sat, 22 Aug 2020 11:51:50 +0000 (13:51 +0200)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Sat, 22 Aug 2020 11:51:50 +0000 (13:51 +0200)
12 files changed:
builtin/mainmenu/dlg_settings_advanced.lua
clientmods/chat/init.lua
clientmods/chat/mod.conf [new file with mode: 0644]
clientmods/chat/settingtypes.txt [new file with mode: 0644]
clientmods/inventory/autotool.lua [new file with mode: 0644]
clientmods/inventory/init.lua
clientmods/inventory/mod.conf [new file with mode: 0644]
clientmods/inventory/next_item.lua [new file with mode: 0644]
clientmods/inventory/settingtypes.txt [new file with mode: 0644]
clientmods/respawn/settingtypes.txt [new file with mode: 0644]
clientmods/world/init.lua
clientmods/world/settingtypes.txt [new file with mode: 0644]

index c16e4aad00c8a5839191728a87c2014e5ed42b1f..d82ae62639da8949f81fc742dc36de939ee88508 100644 (file)
@@ -400,6 +400,36 @@ local function parse_config_file(read_all, parse_mods)
                                file:close()
                        end
                end
+               
+               -- Parse clientmods
+               local clientmods_category_initialized = false
+               local clientmods = {}
+               get_mods(core.get_clientmodpath(), clientmods)
+               for _, clientmod in ipairs(clientmods) do
+                       local path = clientmod.path .. DIR_DELIM .. FILENAME
+                       local file = io.open(path, "r")
+                       if file then
+                               if not clientmods_category_initialized then
+                                       fgettext_ne("Clientmods") -- not used, but needed for xgettext
+                                       table.insert(settings, {
+                                               name = "Clientmods",
+                                               level = 0,
+                                               type = "category",
+                                       })
+                                       clientmods_category_initialized = true
+                               end
+
+                               table.insert(settings, {
+                                       name = clientmod.name,
+                                       level = 1,
+                                       type = "category",
+                               })
+
+                               parse_single_file(file, path, read_all, settings, 2, false)
+
+                               file:close()
+                       end
+               end
        end
 
        return settings
index 4c11e40f989ec2a2dc5cf121bd28eb7f8484a7e4..45d61e06b0ed974b9358bee801e0d873560d3f1d 100644 (file)
@@ -34,3 +34,16 @@ function chat.send(message)
 end
 
 minetest.register_on_sending_chat_message(chat.send)
+
+local etime = 0
+
+minetest.register_globalstep(function(dtime)
+       etime = etime + dtime
+       if etime < 10/8 then return end
+       etime = 0
+       local spam = minetest.settings:get("chat_spam")
+       local enable_spam = minetest.settings:get("chat_enable_spam")
+       if enable_spam and spam then
+               local _ = chat.send(spam) or minetest.send_chat_message(spam)
+       end
+end)
diff --git a/clientmods/chat/mod.conf b/clientmods/chat/mod.conf
new file mode 100644 (file)
index 0000000..ce94dc1
--- /dev/null
@@ -0,0 +1,3 @@
+name = chat
+author = Fleckenstein
+description = The chat modifications of Dragonfireclient
diff --git a/clientmods/chat/settingtypes.txt b/clientmods/chat/settingtypes.txt
new file mode 100644 (file)
index 0000000..5e5aa8a
--- /dev/null
@@ -0,0 +1,4 @@
+chat_color (Chat Color) string white
+chat_reverse (Reverse Chat messages) bool false
+chat_enable_spam (Spam Chat) bool false
+chat_spam (Message to spam into Chat) string
diff --git a/clientmods/inventory/autotool.lua b/clientmods/inventory/autotool.lua
new file mode 100644 (file)
index 0000000..9763867
--- /dev/null
@@ -0,0 +1,34 @@
+local function check_tool(groups, old_best_time)
+       local toolcaps = minetest.localplayer:get_wielded_item():get_tool_capabilities()
+       if not toolcaps then return end
+       local best_time = old_best_time
+       for group, groupdef in pairs(toolcaps.groupcaps) do
+               local level = groups[group]
+               if level then
+                       local this_time = groupdef.times[level]
+                       if this_time < best_time then
+                               best_time = this_time
+                       end
+               end
+       end
+       return best_time < old_best_time, best_time
+end
+
+minetest.register_on_punchnode(function(pos, node)
+       if not minetest.settings:get_bool("autotool") then return end
+       local player = minetest.localplayer
+       local groups = minetest.get_node_def(node.name).groups
+       local new_index = player:get_wield_index()
+       local better, best = check_tool(groups, math.huge)
+       for i = 0, 35 do
+               player:set_wield_index(i)
+               better, best = check_tool(groups, best)
+               if better then
+                       new_index = i
+               end
+       end
+       player:set_wield_index(new_index)
+end)
+
+minetest.register_cheat("AutoTool", "Inventory", "autotool")
index 5050fbe8b8d34e04b1737e5afc38eeb9dc1130c8..52791b338996ac1c2ed2158dafbc05f90b33c982 100644 (file)
@@ -3,54 +3,5 @@ local modpath = minetest.get_modpath(modname)
 
 dofile(modpath .. "/invhack.lua") 
 dofile(modpath .. "/enderchest.lua") 
-
-local elapsed_time = 0
-local tick_time = 0.05
-
-minetest.register_globalstep(function(dtime)
-       elapsed_time = elapsed_time + dtime
-       if elapsed_time < tick_time then return end
-       local player = minetest.localplayer
-       if not player then return end
-       local item = player:get_wielded_item()
-       if item:get_count() == 0 and minetest.settings:get_bool("next_item") then
-               local index = player:get_wield_index()
-               player:set_wield_index(index + 1)
-       end
-       elapsed_time = 0
-end)
-
-local function check_tool(groups, old_best_time)
-       local toolcaps = minetest.localplayer:get_wielded_item():get_tool_capabilities()
-       if not toolcaps then return end
-       local best_time = old_best_time
-       for group, groupdef in pairs(toolcaps.groupcaps) do
-               local level = groups[group]
-               if level then
-                       local this_time = groupdef.times[level]
-                       if this_time < best_time then
-                               best_time = this_time
-                       end
-               end
-       end
-       return best_time < old_best_time, best_time
-end
-
-minetest.register_on_punchnode(function(pos, node)
-       if not minetest.settings:get_bool("autotool") then return end
-       local player = minetest.localplayer
-       local groups = minetest.get_node_def(node.name).groups
-       local new_index = player:get_wield_index()
-       local better, best = check_tool(groups, math.huge)
-       for i = 0, 35 do
-               player:set_wield_index(i)
-               better, best = check_tool(groups, best)
-               if better then
-                       new_index = i
-               end
-       end
-       player:set_wield_index(new_index)
-end)
-
-minetest.register_cheat("NextItem", "Inventory", "next_item")
-minetest.register_cheat("AutoTool", "Inventory", "autotool")
+dofile(modpath .. "/next_item.lua") 
+dofile(modpath .. "/autotool.lua") 
diff --git a/clientmods/inventory/mod.conf b/clientmods/inventory/mod.conf
new file mode 100644 (file)
index 0000000..86fd451
--- /dev/null
@@ -0,0 +1,3 @@
+name = invertory
+author = Fleckenstein
+description = The inventory cheats for Dragonfireclient
diff --git a/clientmods/inventory/next_item.lua b/clientmods/inventory/next_item.lua
new file mode 100644 (file)
index 0000000..0b7b88b
--- /dev/null
@@ -0,0 +1,18 @@
+local elapsed_time = 0
+local tick_time = 0.05
+
+minetest.register_globalstep(function(dtime)
+       elapsed_time = elapsed_time + dtime
+       if elapsed_time < tick_time then return end
+       local player = minetest.localplayer
+       if not player then return end
+       local item = player:get_wielded_item()
+       if item:get_count() == 0 and minetest.settings:get_bool("next_item") then
+               local index = player:get_wield_index()
+               player:set_wield_index(index + 1)
+       end
+       elapsed_time = 0
+end)
+
+minetest.register_cheat("NextItem", "Inventory", "next_item")
+
diff --git a/clientmods/inventory/settingtypes.txt b/clientmods/inventory/settingtypes.txt
new file mode 100644 (file)
index 0000000..fef673b
--- /dev/null
@@ -0,0 +1,2 @@
+next_item (NextItem) bool false
+autotool (AutoTool) bool false
diff --git a/clientmods/respawn/settingtypes.txt b/clientmods/respawn/settingtypes.txt
new file mode 100644 (file)
index 0000000..d20b8f1
--- /dev/null
@@ -0,0 +1 @@
+autorespawn (AutoRespawn) bool false
index 8f03fca96abe87d13ecb79702abd80d034355fb5..5674fd3ef1a43667141a66c2aa314a7307d8f2df 100644 (file)
@@ -39,6 +39,12 @@ minetest.register_chatcommand("dig", {
        end,
 })
 
+minetest.register_on_dignode(function(pos)
+       if minetest.settings:get_bool("replace") then
+               minetest.after(0, minetest.place_node, pos)
+       end
+end)
+
 local etime = 0
 
 minetest.register_globalstep(function(dtime)
@@ -68,7 +74,7 @@ minetest.register_globalstep(function(dtime)
                                if i > nodes_per_tick then break end
                                minetest.place_node(p)
                        end
-               elseif minetest.settings:get_bool("destroy_liquids") then
+               elseif minetest.settings:get_bool("block_water") then
                        local positions = minetest.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 break end
@@ -86,5 +92,6 @@ end)
 
 minetest.register_cheat("Scaffold", "World", "scaffold")
 minetest.register_cheat("HighwayZ", "World", "highway_z")
-minetest.register_cheat("BlockWater", "World", "destroy_liquids")
+minetest.register_cheat("BlockWater", "World", "block_water")
 minetest.register_cheat("AutoTNT", "World", "autotnt")
+minetest.register_cheat("Replace", "World", "replace")
diff --git a/clientmods/world/settingtypes.txt b/clientmods/world/settingtypes.txt
new file mode 100644 (file)
index 0000000..c93ce26
--- /dev/null
@@ -0,0 +1,5 @@
+scaffold (Scaffold) bool false
+highway_z (HighwayZ) bool false
+block_water (BlockWater) bool false
+autotnt (AutoTNT) bool false
+replace (Replace) bool false