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
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)
--- /dev/null
+name = chat
+author = Fleckenstein
+description = The chat modifications of Dragonfireclient
--- /dev/null
+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
--- /dev/null
+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")
+
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")
--- /dev/null
+name = invertory
+author = Fleckenstein
+description = The inventory cheats for Dragonfireclient
--- /dev/null
+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")
+
--- /dev/null
+next_item (NextItem) bool false
+autotool (AutoTool) bool false
--- /dev/null
+autorespawn (AutoRespawn) bool false
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)
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
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")
--- /dev/null
+scaffold (Scaffold) bool false
+highway_z (HighwayZ) bool false
+block_water (BlockWater) bool false
+autotnt (AutoTNT) bool false
+replace (Replace) bool false