From 60aa85eedcacd5719566317e77603791de8ed488 Mon Sep 17 00:00:00 2001 From: Niklp Date: Thu, 9 May 2024 12:18:57 +0200 Subject: [PATCH] Play w/ stylua --- archtec/init.lua | 1 + archtec/scripts/aliases.lua | 2 +- archtec/scripts/buckets.lua | 16 +- archtec/scripts/chainsaw.lua | 40 +++-- archtec/scripts/cheat_log.lua | 33 +++- archtec/scripts/common.lua | 6 +- archtec/scripts/count_objects.lua | 2 +- archtec/scripts/crafting.lua | 46 +++--- archtec/scripts/creative_inv.lua | 100 +++++++++++ archtec/scripts/death_messages.lua | 10 +- archtec/scripts/df_detect.lua | 16 +- archtec/scripts/dummies.lua | 255 +++++++++++++++++++---------- archtec/scripts/fakedrawer.lua | 2 +- archtec/scripts/faq.lua | 12 +- archtec/scripts/faq_content.lua | 49 +++--- archtec/scripts/geoip.lua | 23 ++- archtec/scripts/idlekick.lua | 34 ++-- archtec/scripts/ignore.lua | 54 ++++-- archtec/scripts/instrument_mod.lua | 8 +- archtec/scripts/item_drop.lua | 2 +- archtec/scripts/lock.lua | 31 +++- archtec/scripts/luac_logging.lua | 10 +- archtec/scripts/mailbox.lua | 83 +++++++--- archtec/scripts/mapfix.lua | 5 +- archtec/scripts/msg_offline.lua | 45 ++++- archtec/scripts/music.lua | 50 ++++-- archtec/scripts/mvps_stopper.lua | 4 +- archtec/scripts/namecolor.lua | 2 +- archtec/scripts/network_info.lua | 31 +++- archtec/scripts/news.lua | 35 ++-- archtec/scripts/node_limiter.lua | 52 +++++- archtec/scripts/notify_team.lua | 2 +- archtec/scripts/overrides.lua | 15 +- archtec/scripts/perf_logging.lua | 17 +- archtec/scripts/playerlist.lua | 28 ++-- archtec/scripts/playtime.lua | 12 +- archtec/scripts/prejoin.lua | 2 +- archtec/scripts/privs.lua | 12 +- archtec/scripts/privs_cache.lua | 14 +- archtec/scripts/pvp.lua | 12 +- archtec/scripts/random_things.lua | 23 ++- archtec/scripts/ranks.lua | 6 +- archtec/scripts/recipe_check.lua | 32 ++-- archtec/scripts/redef.lua | 8 +- archtec/scripts/report_webhook.lua | 31 +++- archtec/scripts/run_lua_code.lua | 39 +++-- archtec/scripts/settings.lua | 50 ++++-- archtec/scripts/skybox.lua | 18 +- archtec/scripts/snow.lua | 13 +- archtec/scripts/spawn.lua | 6 +- archtec/scripts/stats.lua | 30 ++-- archtec/scripts/status.lua | 2 +- archtec/scripts/techage.lua | 34 ++-- archtec/scripts/tool_break.lua | 32 ++-- archtec/scripts/vpn_blocker.lua | 12 +- archtec/scripts/watch.lua | 16 +- archtec/scripts/waypoints.lua | 6 +- archtec_chat/channels.lua | 83 +++++++--- archtec_chat/init.lua | 4 +- archtec_mapserver/bridge/init.lua | 3 +- archtec_mapserver/init.lua | 19 ++- archtec_mapserver/poi.lua | 34 ++-- archtec_matterbridge/emoji.lua | 4 +- archtec_matterbridge/init.lua | 4 +- archtec_matterbridge/rx.lua | 130 ++++++++++++--- archtec_matterbridge/tx.lua | 10 +- archtec_physic/init.lua | 12 +- archtec_playerdata/init.lua | 74 +++++++-- archtec_playerdata/migrate.lua | 3 +- archtec_playerdata/stats.lua | 68 +++++--- archtec_teleport/init.lua | 172 +++++++++++++++---- archtec_votes/init.lua | 2 +- archtec_votes/vote_api.lua | 15 +- archtec_votes/vote_day_night.lua | 78 +++++++-- archtec_votes/vote_kick.lua | 62 +++++-- chatplus/init.lua | 32 +++- stamina/init.lua | 36 ++-- techage_addon/init.lua | 14 +- 78 files changed, 1711 insertions(+), 679 deletions(-) create mode 100644 archtec/scripts/creative_inv.lua diff --git a/archtec/init.lua b/archtec/init.lua index 503ecb1..246c10b 100644 --- a/archtec/init.lua +++ b/archtec/init.lua @@ -70,6 +70,7 @@ dofile(path .. "perf_logging.lua") dofile(path .. "playtime.lua") dofile(path .. "msg_offline.lua") dofile(path .. "mailbox.lua") +dofile(path .. "creative_inv.lua") local http = minetest.request_http_api() if http then diff --git a/archtec/scripts/aliases.lua b/archtec/scripts/aliases.lua index 324e8f3..96a5f30 100644 --- a/archtec/scripts/aliases.lua +++ b/archtec/scripts/aliases.lua @@ -16,4 +16,4 @@ minetest.register_alias("feldweg:feldweg_t_junction", "cottages:feldweg_t_juncti minetest.register_alias("rhotator:screwdriver", "omnidriver:omnidriver") minetest.register_alias("rhotator:screwdriver_alt", "omnidriver:omnidriver") minetest.register_alias("rhotator:screwdriver_multi", "omnidriver:omnidriver") -minetest.register_alias("rhotator:memory", "omnidriver:omnidriver") \ No newline at end of file +minetest.register_alias("rhotator:memory", "omnidriver:omnidriver") diff --git a/archtec/scripts/buckets.lua b/archtec/scripts/buckets.lua index d5f2d00..b61f1ca 100644 --- a/archtec/scripts/buckets.lua +++ b/archtec/scripts/buckets.lua @@ -11,11 +11,17 @@ local function try_grant_priv(name) local playtime = archtec_playerdata.get(name, "playtime") if playtime > archtec.adv_buckets_playtime then archtec.priv_grant(name, "adv_buckets") - minetest.chat_send_player(name, minetest.colorize("#00BD00", S("Congratulations! You have been granted the '@1' privilege.", "adv_buckets"))) + minetest.chat_send_player( + name, + minetest.colorize("#00BD00", S("Congratulations! You have been granted the '@1' privilege.", "adv_buckets")) + ) archtec.notify_team("[adv_buckets] Granted '" .. name .. "' the 'adv_buckets' priv") return true else - minetest.chat_send_player(name, minetest.colorize("#FF0000", S("You don't have @1 hours (or more) playtime.", archtec.adv_buckets_playtime))) + minetest.chat_send_player( + name, + minetest.colorize("#FF0000", S("You don't have @1 hours (or more) playtime.", archtec.adv_buckets_playtime)) + ) return false end end @@ -46,7 +52,11 @@ end minetest.register_on_mods_loaded(function() for name, def in pairs(minetest.registered_nodes) do - if def.drawtype and (def.drawtype == "liquid" or def.drawtype == "flowingliquid") and minetest.get_item_group(name, "liquid_blacklist") == 0 then + if + def.drawtype + and (def.drawtype == "liquid" or def.drawtype == "flowingliquid") + and minetest.get_item_group(name, "liquid_blacklist") == 0 + then table.insert(liquid_list, name) end end diff --git a/archtec/scripts/chainsaw.lua b/archtec/scripts/chainsaw.lua index 7e98790..5ae928d 100644 --- a/archtec/scripts/chainsaw.lua +++ b/archtec/scripts/chainsaw.lua @@ -1,4 +1,6 @@ -if not minetest.get_modpath("choppy") then return end +if not minetest.get_modpath("choppy") then + return +end local S = archtec.S local api = choppy.api @@ -8,7 +10,9 @@ local days_played = archtec.time.days(7) minetest.register_privilege("archtec_chainsaw", S("Allows you to use the chainsaw")) -- disable is_enabled() since we don't use the initialized function -choppy.api.is_enabled = function(...) return true end +choppy.api.is_enabled = function(...) + return true +end local function conditions(name) local playtime = archtec_playerdata.get(name, "playtime") @@ -25,7 +29,13 @@ archtec.chainsaw_conditions = conditions local function grant_priv(name, priv) archtec.priv_grant(name, priv) - minetest.chat_send_player(name, minetest.colorize("#00BD00", S("Congratulations! You have been granted the '@1' privilege.", "archtec_chainsaw"))) + minetest.chat_send_player( + name, + minetest.colorize( + "#00BD00", + S("Congratulations! You have been granted the '@1' privilege.", "archtec_chainsaw") + ) + ) archtec.notify_team("[chainsaw] Granted '" .. name .. "' the 'archtec_chainsaw' priv") end @@ -47,7 +57,15 @@ minetest.register_tool(":technic:chainsaw", { if conditions(name) then grant_priv(name, "archtec_chainsaw") else - minetest.chat_send_player(name, minetest.colorize("#FF0000", S("[chainsaw] You don't satisfy all conditions to use a chainsaw. Needed conditions: 20k nodes dug, 10k nodes placed, 24h playtime, 7 days or older account!"))) + minetest.chat_send_player( + name, + minetest.colorize( + "#FF0000", + S( + "[chainsaw] You don't satisfy all conditions to use a chainsaw. Needed conditions: 20k nodes dug, 10k nodes placed, 24h playtime, 7 days or older account!" + ) + ) + ) return end end @@ -90,22 +108,24 @@ minetest.register_craft({ {"default:steel_ingot", "default:mese_crystal_fragment", "default:diamond"}, {"basic_materials:copper_wire", "basic_materials:motor", "default:diamond"}, {"", "dye:red", "default:steel_ingot"}, - } + }, }) minetest.register_craft({ output = "technic:chainsaw", recipe = { - {"techage:ta3_canister_gasoline", "technic:chainsaw"} + {"techage:ta3_canister_gasoline", "technic:chainsaw"}, }, - replacements = {{"techage:ta3_canister_gasoline", "techage:ta3_canister_empty"}} + replacements = {{"techage:ta3_canister_gasoline", "techage:ta3_canister_empty"}}, }) minetest.register_craft({ type = "shapeless", output = "technic:chainsaw", recipe = { - "biofuel:fuel_can", "technic:chainsaw", - "biofuel:fuel_can", "biofuel:fuel_can", - } + "biofuel:fuel_can", + "technic:chainsaw", + "biofuel:fuel_can", + "biofuel:fuel_can", + }, }) diff --git a/archtec/scripts/cheat_log.lua b/archtec/scripts/cheat_log.lua index 6b4bb57..f0ba54b 100644 --- a/archtec/scripts/cheat_log.lua +++ b/archtec/scripts/cheat_log.lua @@ -4,7 +4,7 @@ end -- https://stackoverflow.com/a/50082540 local function short(number, decimals) - local power = 10^decimals + local power = 10 ^ decimals return math.floor(number * power) / power end @@ -35,16 +35,39 @@ local function handle_cheat(player, cheat) pos[i] = round(x) end local info = get_pd(name) - archtec.notify_team("[archtec] Anticheat: player '" .. name .. "' ('" .. cheat.type .. "') speed: " .. tostring(speed) .. " pos: " .. tostring(pos) .. " lag: " .. lag .. " jitter: " .. short(info.avg_jitter, 7) .. " rtt: " .. short(info.avg_rtt, 5), false) + archtec.notify_team( + "[archtec] Anticheat: player '" + .. name + .. "' ('" + .. cheat.type + .. "') speed: " + .. tostring(speed) + .. " pos: " + .. tostring(pos) + .. " lag: " + .. lag + .. " jitter: " + .. short(info.avg_jitter, 7) + .. " rtt: " + .. short(info.avg_rtt, 5), + false + ) end minetest.register_on_cheat(function(player, cheat) - if not player:is_player() then return end - if cheat.type == "dug_unbreakable" or cheat.type == "finished_unknown_dig" then return end + if not player:is_player() then + return + end + if cheat.type == "dug_unbreakable" or cheat.type == "finished_unknown_dig" then + return + end if cheat.type == "moved_too_fast" then handle_cheat(player, cheat) else - archtec.notify_team("[archtec] Anticheat: player '" .. player:get_player_name() .. "' ('" .. cheat.type .. "')", false) + archtec.notify_team( + "[archtec] Anticheat: player '" .. player:get_player_name() .. "' ('" .. cheat.type .. "')", + false + ) end end) diff --git a/archtec/scripts/common.lua b/archtec/scripts/common.lua index 3008dfe..6383521 100644 --- a/archtec/scripts/common.lua +++ b/archtec/scripts/common.lua @@ -67,8 +67,8 @@ end local f = math.floor function archtec.get_block_bounds(pos) - local p1 = vector.new((f(pos.x/16))*16,(f(pos.y/16))*16,(f(pos.z/16))*16) - local p2 = vector.new((f(pos.x/16))*16+15,(f(pos.y/16))*16+15,(f(pos.z/16))*16+15) + local p1 = vector.new((f(pos.x / 16)) * 16, (f(pos.y / 16)) * 16, (f(pos.z / 16)) * 16) + local p2 = vector.new((f(pos.x / 16)) * 16 + 15, (f(pos.y / 16)) * 16 + 15, (f(pos.z / 16)) * 16 + 15) return p1, p2 end @@ -141,4 +141,4 @@ function archtec.physics_locked(player) return true end return false -end \ No newline at end of file +end diff --git a/archtec/scripts/count_objects.lua b/archtec/scripts/count_objects.lua index 2096f0c..cbd7aad 100644 --- a/archtec/scripts/count_objects.lua +++ b/archtec/scripts/count_objects.lua @@ -55,5 +55,5 @@ minetest.register_chatcommand("count_objects", { func = function(name) minetest.log("action", "[/count_objects] executed by '" .. name .. "'") minetest.chat_send_player(name, count_object()) - end + end, }) diff --git a/archtec/scripts/crafting.lua b/archtec/scripts/crafting.lua index f3a4cab..83bc659 100644 --- a/archtec/scripts/crafting.lua +++ b/archtec/scripts/crafting.lua @@ -13,12 +13,12 @@ local function fix_craft(node, recipedef, amount) end minetest.clear_craft({ - output = node + output = node, }) minetest.register_craft({ output = node .. " " .. amount, - recipe = recipedef + recipe = recipedef, }) minetest.log("action", "[archtec] changed recipe of '" .. node .. "'") @@ -28,67 +28,67 @@ end fix_craft("pride_flags:lower_mast", { {"default:steel_ingot", "farming:string"}, {"default:steel_ingot", "farming:string"}, - {"default:steel_ingot", "farming:string"} + {"default:steel_ingot", "farming:string"}, }) -- homedecor:table/ts_furniture:default_WOODTYPE_small_table fix_craft("homedecor:table", { - { "group:wood","group:wood", "group:wood" }, - { "group:stick", "", "group:stick" }, - { "", "group:stick", "" } + {"group:wood", "group:wood", "group:wood"}, + {"group:stick", "", "group:stick"}, + {"", "group:stick", ""}, }) -- jonez palace windows had the same recipe fix_craft("xpanes:palace_window_top_flat", { {"xpanes:pane_flat", "xpanes:pane_flat", "xpanes:pane_flat"}, - {"xpanes:pane_flat", "", "xpanes:pane_flat"} + {"xpanes:pane_flat", "", "xpanes:pane_flat"}, }) -- jonez palace windows had the same recipe fix_craft("xpanes:palace_window_bottom_flat", { {"xpanes:pane_flat", "", "xpanes:pane_flat"}, - {"xpanes:pane_flat", "xpanes:pane_flat", "xpanes:pane_flat"} + {"xpanes:pane_flat", "xpanes:pane_flat", "xpanes:pane_flat"}, }) -- xdecor:pressure_stone_off/mesecons_pressureplates:pressure_plate_stone_off fix_craft("xdecor:pressure_stone_off", { - {"xdecor:stone_tile", "xdecor:stone_tile"} + {"xdecor:stone_tile", "xdecor:stone_tile"}, }) -- xdecor:pressure_wood_off/mesecons_pressureplates:pressure_plate_wood_off fix_craft("xdecor:pressure_wood_off", { - {"xdecor:wood_tile", "xdecor:wood_tile"} + {"xdecor:wood_tile", "xdecor:wood_tile"}, }) -- xdecor:tatami/homedecor:tatami_mat fix_craft("xdecor:tatami", { {"farming:wheat", "farming:wheat", "farming:wheat"}, - {"", "farming:wheat", ""} + {"", "farming:wheat", ""}, }) -- xdecor:bowl/farming:bowl fix_craft("xdecor:bowl", { {"xdecor:wood_tile", "", "xdecor:wood_tile"}, - {"", "xdecor:wood_tile", ""} + {"", "xdecor:wood_tile", ""}, }) -- xpanes:wrought_lattice_bottom_flat/jonez:wrought_lattice_top (https://github.com/Archtec-io/bugtracker/issues/166) fix_craft("jonez:wrought_lattice_top", { {"", "default:tin_ingot", ""}, - {"default:steel_ingot", "default:tin_ingot", "default:steel_ingot"} + {"default:steel_ingot", "default:tin_ingot", "default:steel_ingot"}, }, 16) if minetest.get_modpath("ethereal") then minetest.register_craft({ output = "ethereal:bowl", type = "shapeless", - recipe = {"farming:bowl"} + recipe = {"farming:bowl"}, }) minetest.register_craft({ output = "farming:bowl", type = "shapeless", - recipe = {"ethereal:bowl"} + recipe = {"ethereal:bowl"}, }) end @@ -110,8 +110,8 @@ if minetest.get_modpath("homedecor_lighting") then neutral_node = "homedecor:table_lamp_14", recipe = { "NEUTRAL_NODE", - "MAIN_DYE" - } + "MAIN_DYE", + }, }) minetest.register_craft({ @@ -130,21 +130,21 @@ if minetest.get_modpath("homedecor_lighting") then neutral_node = "homedecor:standing_lamp_14", recipe = { "NEUTRAL_NODE", - "MAIN_DYE" - } + "MAIN_DYE", + }, }) end -- https://github.com/Archtec-io/bugtracker/issues/58 (small hack) minetest.register_craft({ output = "farming:wheat 3", - recipe = {{"farming:straw"}} + recipe = {{"farming:straw"}}, }) -- https://github.com/Archtec-io/bugtracker/issues/181 (next straw hack) minetest.register_craft({ output = "farming:straw", - recipe = {{"castle_farming:bound_straw"}} + recipe = {{"castle_farming:bound_straw"}}, }) -- default:dry_dirt + group:water_bucket -> default:dirt (https://github.com/Archtec-io/bugtracker/issues/139) @@ -155,5 +155,5 @@ minetest.register_craft({ "group:water_bucket", "default:dry_dirt", }, - replacements = {{"group:water_bucket", "bucket:bucket_empty"}} -}) \ No newline at end of file + replacements = {{"group:water_bucket", "bucket:bucket_empty"}}, +}) diff --git a/archtec/scripts/creative_inv.lua b/archtec/scripts/creative_inv.lua new file mode 100644 index 0000000..b7efec6 --- /dev/null +++ b/archtec/scripts/creative_inv.lua @@ -0,0 +1,100 @@ +local S = archtec.S +local FS = function(...) + return minetest.formspec_escape(S(...)) +end +local data = {} + +local item_list = { + "archtec:wood1", + "archtec:wood2", + "archtec:wood4", + "archtec:acacia_wood1", + "archtec:acacia_wood2", + "archtec:acacia_wood4", + "archtec:pine_wood1", + "archtec:pine_wood2", + "archtec:pine_wood4", + "archtec:junglewood1", + "archtec:junglewood2", + "archtec:junglewood4", + "archtec:aspen_wood1", + "archtec:aspen_wood2", + "archtec:aspen_wood4", + "homedecor:fence_wrought_iron_2_slow", +} + +for i, item in ipairs(item_list) do + item_list[i] = item .. " 99" +end + +local function create_inv(player_name) + minetest.create_detached_inventory("archtec_creative_" .. player_name, { + allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) + local name = player and player:get_player_name() or "" + if not minetest.get_player_privs(name).builder or to_list == "main" then + return 0 + end + return count + end, + allow_put = function(inv, listname, index, stack, player) + return 0 + end, + allow_take = function(inv, listname, index, stack, player) + local name = player and player:get_player_name() or "" + if not minetest.get_player_privs(name).builder then + return 0 + end + return -1 + end, + on_move = function(inv, from_list, from_index, to_list, to_index, count, player) end, + on_take = function(inv, listname, index, stack, player) + if stack and stack:get_count() > 0 then + minetest.log( + "action", + "[archtec] " .. player_name .. " takes " .. stack:get_name() .. " from builder creative inventory" + ) + end + end, + }, player_name) + + local inv = minetest.get_inventory({type = "detached", name = "archtec_creative_" .. player_name}) + inv:set_size("main", #item_list) + inv:set_list("main", item_list) + data[player_name] = true +end + +local function show_inv_formspec(name) + if not data[name] then + create_inv(name) + end + + local formspec = { + "formspec_version[3]", + "size[10.4,9.2s]", + "box[0.3,0.3;9.8,0.5;#c6e8ff]", + "label[0.4,0.55;" .. FS("Creative inventory for builders - @1 items", #item_list) .. "]", + "list[detached:archtec_creative_" .. name .. ";main;0.3,1.1;8,4;]", + default.get_hotbar_bg(0.3, 4), + "list[current_player;main;0.3,4;8,4;]", + } + + minetest.show_formspec(name, "archtec:creative_inv", table.concat(formspec)) +end + +minetest.register_chatcommand("bci", { + params = "", + description = "Creative inventory for builders", + privs = {builder = true}, + func = function(name, param) + minetest.log("action", "[/bci] executed by '" .. name .. "'") + show_inv_formspec(name) + end, +}) + +minetest.register_on_leaveplayer(function(player) + local name = player:get_player_name() + if data[name] then + minetest.remove_detached_inventory("archtec_creative_" .. name) + data[name] = nil + end +end) diff --git a/archtec/scripts/death_messages.lua b/archtec/scripts/death_messages.lua index e13d807..7e60894 100644 --- a/archtec/scripts/death_messages.lua +++ b/archtec/scripts/death_messages.lua @@ -1,5 +1,7 @@ local S = archtec.S -local NS = function(s) return s end -- fake function for i18n.py +local NS = function(s) + return s +end -- fake function for i18n.py local messages = { fall = { @@ -55,7 +57,9 @@ local messages = { local function get_mob_name(entity_name) local index, _ = string.find(entity_name, ":") entity_name = entity_name:sub(index + 1):gsub("_", " ") - return (entity_name:gsub("(%a)([%w_']*)", function(first, rest) return first:upper()..rest:lower() end)) + return (entity_name:gsub("(%a)([%w_']*)", function(first, rest) + return first:upper() .. rest:lower() + end)) end local function send_death_message(cause, player, killer) @@ -113,4 +117,4 @@ minetest.register_on_dieplayer(function(player, reason) send_death_message("other", player) end end -end) \ No newline at end of file +end) diff --git a/archtec/scripts/df_detect.lua b/archtec/scripts/df_detect.lua index 55f1e89..91f55d3 100644 --- a/archtec/scripts/df_detect.lua +++ b/archtec/scripts/df_detect.lua @@ -216,7 +216,8 @@ Find and drop commits that seems to exist in both remotes, print rest of it: $ sort -k3 <(awk '{print NR" "$0}' df.log mt.log mt.log) | uniq -uf2 | sort -nk1 | sed -r 's/^[^ ]+ ([^ ]+) (.*)$/\t"\1", -- \2/' Replace above entries with output -]]-- +]] +-- local function dfver(s) for _, v in ipairs(df) do @@ -237,11 +238,20 @@ minetest.register_on_joinplayer(function(player) return end - archtec.notify_team("[archtec] Debug info for '" .. name .. "': Client: " .. info.version_string .. " FS-V: " .. info.formspec_version) + archtec.notify_team( + "[archtec] Debug info for '" + .. name + .. "': Client: " + .. info.version_string + .. " FS-V: " + .. info.formspec_version + ) local dfv = dfver(version) if dfv then - archtec.notify_team("[archtec] Detected use of Dragonfireclient (" .. dfv .. ") by '" .. name .. "' auto ban in 30 seconds") + archtec.notify_team( + "[archtec] Detected use of Dragonfireclient (" .. dfv .. ") by '" .. name .. "' auto ban in 30 seconds" + ) minetest.after(30.0, function() xban.ban_player(name, "Server", nil, "Cheating") archtec.notify_team("[archtec] Auto banned '" .. name .. "'") diff --git a/archtec/scripts/dummies.lua b/archtec/scripts/dummies.lua index db692b9..1455cae 100644 --- a/archtec/scripts/dummies.lua +++ b/archtec/scripts/dummies.lua @@ -15,7 +15,7 @@ local costumes = { wearwolf = {texture = "halloween_suit_wearwolf.png", name = "Wearwolf"}, -- christmas mrs_claus = {texture = "christmas_decor_mrs_claus.png", name = "Mrs. Claus"}, - santa_claus = {texture = "christmas_decor_santa.png", name = "Santa Claus"} + santa_claus = {texture = "christmas_decor_santa.png", name = "Santa Claus"}, } -- Costume list @@ -112,7 +112,13 @@ end local function echo_desc(name, ownername) local display_name = ownername or "unknown" if name == ownername or minetest.get_player_privs(name).builder then - minetest.chat_send_player(name, S("Use Sneak+Punch to remove the dummy or Sneak+Rightclick to edit the dummy. Owner of this dummy is @1.", display_name)) + minetest.chat_send_player( + name, + S( + "Use Sneak+Punch to remove the dummy or Sneak+Rightclick to edit the dummy. Owner of this dummy is @1.", + display_name + ) + ) else minetest.chat_send_player(name, S("Owner of this dummy is @1.", display_name)) end @@ -124,7 +130,7 @@ local form = { {name = "general", title = "General"}, {name = "skin", title = "Skin"}, {name = "nametag", title = "Name Tag"}, - } + }, } -- Main formspec "generator" @@ -142,22 +148,29 @@ local function show_fs(name, active_tab) -- Tabs for i, tab in pairs(form.tabs) do if tab.name == active_tab then - formspec = formspec .. - "style[" .. tab.name .. ";bgcolor=green]" + formspec = formspec .. "style[" .. tab.name .. ";bgcolor=green]" end local y = 0.3 + (i - 1) * 1 - formspec = formspec .. - "button[0.3," .. y .. ";3,0.8;" .. tab.name .. ";" .. tab.title .. "]" + formspec = formspec .. "button[0.3," .. y .. ";3,0.8;" .. tab.name .. ";" .. tab.title .. "]" end -- Dummy preview if props.mesh then local textures = dummy:get_properties().textures local anim_data = get_animation(dummy:get_luaentity()._animation) - formspec = formspec .. - "model[10,0.3;3,7.5;dummy_mesh;" .. props.mesh .. ";" .. table.concat(textures, ",") .. ";0,150;false;false;" - .. anim_data.frame_begin .. "," .. anim_data.frame_end .. ";" .. anim_data.speed .. "]" + formspec = formspec + .. "model[10,0.3;3,7.5;dummy_mesh;" + .. props.mesh + .. ";" + .. table.concat(textures, ",") + .. ";0,150;false;false;" + .. anim_data.frame_begin + .. "," + .. anim_data.frame_end + .. ";" + .. anim_data.speed + .. "]" end -- Show tab content @@ -165,65 +178,97 @@ local function show_fs(name, active_tab) local y = 0.4 if active_tab == "general" then -- Delete dummy - formspec = formspec .. - "label[" .. x .. "," .. y .. ";Delete this dummy]" + formspec = formspec .. "label[" .. x .. "," .. y .. ";Delete this dummy]" y = y + 0.3 - formspec = formspec .. - "style[act_del_dummy;bgcolor=red]" .. - "button[" .. x .. "," .. y .. ";3,0.8;act_del_dummy;Delete]" + formspec = formspec + .. "style[act_del_dummy;bgcolor=red]" + .. "button[" + .. x + .. "," + .. y + .. ";3,0.8;act_del_dummy;Delete]" y = y + 1.5 -- Set luminosity - formspec = formspec .. - "label[" .. x .. "," .. y .. ";Change luminosity]" + formspec = formspec .. "label[" .. x .. "," .. y .. ";Change luminosity]" y = y + 0.3 - formspec = formspec .. - "dropdown[" .. x .. "," .. y .. ";4,0.8;luminosity;" .. light_levels .. ";" .. (props.glow or 0) .. ";false]" + formspec = formspec + .. "dropdown[" + .. x + .. "," + .. y + .. ";4,0.8;luminosity;" + .. light_levels + .. ";" + .. (props.glow or 0) + .. ";false]" - formspec = formspec .. - "button[" .. x + 4 .. "," .. y .. ";2,0.8;act_set_luminosity;Set]" + formspec = formspec .. "button[" .. x + 4 .. "," .. y .. ";2,0.8;act_set_luminosity;Set]" y = y + 1.5 -- Select animation local animation = dummy:get_luaentity()._animation - if animation == nil then animation = "none" end - formspec = formspec .. - "label[" .. x .. "," .. y .. ";Change animation]" + if animation == nil then + animation = "none" + end + formspec = formspec .. "label[" .. x .. "," .. y .. ";Change animation]" y = y + 0.3 - formspec = formspec .. - "dropdown[" .. x .. "," .. y .. ";4,0.8;animation;" .. animations_str .. ";" .. (animations[animation] + 1) .. ";false]" - - formspec = formspec .. - "button[" .. x + 4 .. "," .. y .. ";2,0.8;act_set_animation;Set]" - + formspec = formspec + .. "dropdown[" + .. x + .. "," + .. y + .. ";4,0.8;animation;" + .. animations_str + .. ";" + .. (animations[animation] + 1) + .. ";false]" + + formspec = formspec .. "button[" .. x + 4 .. "," .. y .. ";2,0.8;act_set_animation;Set]" elseif active_tab == "nametag" then -- Set nametag string - formspec = formspec .. - "label[" .. x .. "," .. y .. ";Change Name Tag (only " .. max_nametag_length .. " characters)]" + formspec = formspec + .. "label[" + .. x + .. "," + .. y + .. ";Change Name Tag (only " + .. max_nametag_length + .. " characters)]" y = y + 0.3 - formspec = formspec .. - "field[" .. x .. "," .. y .. ";4,0.8;nametag_str;;" .. minetest.formspec_escape(props.nametag) .. "]" + formspec = formspec + .. "field[" + .. x + .. "," + .. y + .. ";4,0.8;nametag_str;;" + .. minetest.formspec_escape(props.nametag) + .. "]" - formspec = formspec .. - "button[" .. x + 4 .. "," .. y .. ";2,0.8;act_set_nametag_str;Set]" + formspec = formspec .. "button[" .. x + 4 .. "," .. y .. ";2,0.8;act_set_nametag_str;Set]" y = y + 1.5 -- Nametag color - formspec = formspec .. - "label[" .. x .. "," .. y .. ";Change Name Tag color]" + formspec = formspec .. "label[" .. x .. "," .. y .. ";Change Name Tag color]" y = y + 0.3 - formspec = formspec .. - "dropdown[" .. x .. "," .. y .. ";4,0.8;nametag_color;" .. color_str .. ";" .. find_color(props.nametag_color) .. ";false]" - - formspec = formspec .. - "button[" .. x + 4 .. "," .. y .. ";2,0.8;act_set_nametag_color;Set]" - + formspec = formspec + .. "dropdown[" + .. x + .. "," + .. y + .. ";4,0.8;nametag_color;" + .. color_str + .. ";" + .. find_color(props.nametag_color) + .. ";false]" + + formspec = formspec .. "button[" .. x + 4 .. "," .. y .. ";2,0.8;act_set_nametag_color;Set]" elseif active_tab == "skin" then -- Set to costume local costumes_str = "" @@ -233,15 +278,21 @@ local function show_fs(name, active_tab) costumes_str = costumes_str:sub(1, #costumes_str - 1) local idx = find_costume(props.textures) or 0 - formspec = formspec .. - "label[" .. x .. "," .. y .. ";Set skin to costume]" + formspec = formspec .. "label[" .. x .. "," .. y .. ";Set skin to costume]" y = y + 0.3 - formspec = formspec .. - "dropdown[" .. x .. "," .. y .. ";4,0.8;skin_costume;" .. costumes_str .. ";" .. idx .. ";true]" + formspec = formspec + .. "dropdown[" + .. x + .. "," + .. y + .. ";4,0.8;skin_costume;" + .. costumes_str + .. ";" + .. idx + .. ";true]" - formspec = formspec .. - "button[" .. x + 4 .. "," .. y .. ";2,0.8;act_set_skin_costume;Set]" + formspec = formspec .. "button[" .. x + 4 .. "," .. y .. ";2,0.8;act_set_skin_costume;Set]" y = y + 1.5 -- Set to player skin @@ -251,40 +302,56 @@ local function show_fs(name, active_tab) end pnames = pnames:sub(1, #pnames - 1) - formspec = formspec .. - "label[" .. x .. "," .. y .. ";Set skin to player skin]" + formspec = formspec .. "label[" .. x .. "," .. y .. ";Set skin to player skin]" y = y + 0.3 - formspec = formspec .. - "dropdown[" .. x .. "," .. y .. ";4,0.8;skin_player;" .. pnames .. ";0;false]" + formspec = formspec .. "dropdown[" .. x .. "," .. y .. ";4,0.8;skin_player;" .. pnames .. ";0;false]" - formspec = formspec .. - "button[" .. x + 4 .. "," .. y .. ";2,0.8;act_set_skin_player;Set]" + formspec = formspec .. "button[" .. x + 4 .. "," .. y .. ";2,0.8;act_set_skin_player;Set]" y = y + 1.5 -- Show armor local show_armor = dummy:get_luaentity()._skin_show_armor - if show_armor == nil then show_armor = true end - formspec = formspec .. - "checkbox[" .. x .. "," .. y .. ";skin_show_armor;Show armor;" .. tostring(show_armor) .. "]" + if show_armor == nil then + show_armor = true + end + formspec = formspec + .. "checkbox[" + .. x + .. "," + .. y + .. ";skin_show_armor;Show armor;" + .. tostring(show_armor) + .. "]" y = y + 0.5 -- Show wielditem local show_wielditem = dummy:get_luaentity()._skin_show_wielditem - if show_wielditem == nil then show_wielditem = true end - formspec = formspec .. - "checkbox[" .. x .. "," .. y .. ";skin_show_wielditem;Show wielditem;" .. tostring(show_wielditem) .. "]" - + if show_wielditem == nil then + show_wielditem = true + end + formspec = formspec + .. "checkbox[" + .. x + .. "," + .. y + .. ";skin_show_wielditem;Show wielditem;" + .. tostring(show_wielditem) + .. "]" end minetest.show_formspec(name, "archtec:dummy_" .. active_tab, formspec) end minetest.register_on_player_receive_fields(function(player, formname, fields) - if not formname:find("^archtec:dummy") then return false end + if not formname:find("^archtec:dummy") then + return false + end local _, _, active_tab = formname:find("^archtec:dummy_(%a+)") - if not active_tab then return true end + if not active_tab then + return true + end local name = player:get_player_name() @@ -398,7 +465,6 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) return true end) - minetest.register_entity(":dummies:dummy", { initial_properties = { visual = "mesh", @@ -432,7 +498,9 @@ minetest.register_entity(":dummies:dummy", { local props = self.object:get_properties() -- Older dummies have no 'version' param - if data.version ~= nil then self._version = data.version end + if data.version ~= nil then + self._version = data.version + end if self._version == nil then self._version = 1 end @@ -453,12 +521,22 @@ minetest.register_entity(":dummies:dummy", { props.textures = data.textures end - if data.glow then props.glow = data.glow end - if data.nametag then props.nametag = data.nametag end - if data.nametag_color then props.nametag_color = data.nametag_color end + if data.glow then + props.glow = data.glow + end + if data.nametag then + props.nametag = data.nametag + end + if data.nametag_color then + props.nametag_color = data.nametag_color + end - if data.show_armor ~= nil then self._skin_show_armor = data.show_armor end - if data.show_wielditem ~= nil then self._skin_show_wielditem = data.show_wielditem end + if data.show_armor ~= nil then + self._skin_show_armor = data.show_armor + end + if data.show_wielditem ~= nil then + self._skin_show_wielditem = data.show_wielditem + end if data.animation ~= nil then self._animation = data.animation @@ -467,7 +545,9 @@ minetest.register_entity(":dummies:dummy", { self.object:set_animation(set_animation(data.animation)) end - if data.ownername ~= nil then self._ownername = data.ownername end + if data.ownername ~= nil then + self._ownername = data.ownername + end self.object:set_properties(props) end, @@ -503,13 +583,17 @@ minetest.register_entity(":dummies:dummy", { }) local function spawndummy(pos, textures, name) - local dummy = minetest.add_entity(pos, "dummies:dummy", minetest.serialize({ - textures = { - textures[1], - textures[2], - textures[3] - } - })) + local dummy = minetest.add_entity( + pos, + "dummies:dummy", + minetest.serialize({ + textures = { + textures[1], + textures[2], + textures[3], + }, + }) + ) if dummy then minetest.log("action", "[archtec] Spawned dummy at " .. minetest.pos_to_string(pos) .. " for player " .. name) @@ -535,14 +619,17 @@ minetest.register_chatcommand("spawndummy", { local pointed_thing = raycast:next() if not pointed_thing then - minetest.chat_send_player(name, "No position found! Point at a node when entering this command to place a dummy.") + minetest.chat_send_player( + name, + "No position found! Point at a node when entering this command to place a dummy." + ) return end local textures = { armor.textures[name].skin, armor.textures[name].armor, - armor.textures[name].wielditem + armor.textures[name].wielditem, } local pos = pointed_thing.intersection_point @@ -560,9 +647,9 @@ minetest.register_chatcommand("spawndummy", { dummy_objs[name] = dummy show_fs(name) end - end + end, }) minetest.register_on_leaveplayer(function(player) dummy_objs[player:get_player_name()] = nil -end) \ No newline at end of file +end) diff --git a/archtec/scripts/fakedrawer.lua b/archtec/scripts/fakedrawer.lua index 7d73751..2a0ba51 100644 --- a/archtec/scripts/fakedrawer.lua +++ b/archtec/scripts/fakedrawer.lua @@ -36,4 +36,4 @@ copy_drawer("pine_wood4") copy_drawer("wood1") copy_drawer("wood2") -copy_drawer("wood4") \ No newline at end of file +copy_drawer("wood4") diff --git a/archtec/scripts/faq.lua b/archtec/scripts/faq.lua index d7c1d91..5813612 100644 --- a/archtec/scripts/faq.lua +++ b/archtec/scripts/faq.lua @@ -25,10 +25,14 @@ local function faq_tree(search) end local sorted_entries = {} for header, content in pairs(entries) do - table.sort(content, function(a, b) return a[2].pos < b[2].pos end) -- sort after pos + table.sort(content, function(a, b) + return a[2].pos < b[2].pos + end) -- sort after pos sorted_entries[#sorted_entries + 1] = {header, content} end - table.sort(sorted_entries, function(a, b) return order_headers[a[1]] < order_headers[b[1]] end) + table.sort(sorted_entries, function(a, b) + return order_headers[a[1]] < order_headers[b[1]] + end) return sorted_entries end @@ -90,7 +94,7 @@ minetest.register_chatcommand("faq", { func = function(name, param) minetest.log("action", "[/faq] executed by '" .. name .. "' with param '" .. param .. "'") faq_formspec(name, param:sub(1, 20), 0) - end + end, }) function archtec.faq.register(name, def) @@ -103,4 +107,4 @@ end minetest.register_on_leaveplayer(function(player) searches[player:get_player_name()] = nil -end) \ No newline at end of file +end) diff --git a/archtec/scripts/faq_content.lua b/archtec/scripts/faq_content.lua index 8db0e34..35bd343 100644 --- a/archtec/scripts/faq_content.lua +++ b/archtec/scripts/faq_content.lua @@ -6,7 +6,8 @@ archtec.faq.register("My nice title", { <- Title of the entry My cool text" <- Text of the section content ]*] -- The * is not needed }) -]]-- +]] +-- archtec.faq.register_headers({ ["Spawn"] = 1, @@ -29,7 +30,7 @@ Send a private message to the person you sent your last message to: Send an offline message to a player (the person will see your message when they joins the next time): '/tell ' -]] +]], }) archtec.faq.register("Channels", { @@ -71,7 +72,7 @@ Kick a player from a channel. Can only be used by channel owners and staff: Show help: '/c help {command}' or '/c h {command}' -]] +]], }) archtec.faq.register("Chatbridge (Discord, Matrix, IRC)", { @@ -87,7 +88,7 @@ The following commands and chat formats are supported: - '/me' Used in conjunction with a verb to indicate you as a player acting as described by a 3rd person, e.g., '/me talks' -> Player talks - '!status' Shows the server status - '!cmd' Remote command execution (staff only) -]] +]], }) -- Player interaction @@ -109,7 +110,7 @@ Unblock/Un-ignore player: List blocked/ignored players: '/ignore list' or '/ignore list {name}' (lists ignored players of ; staff only) -]] +]], }) archtec.faq.register("Teleport requests", { @@ -126,7 +127,7 @@ Accept a teleport request: '/ok' All teleport requests time out after 60 seconds. -]] +]], }) archtec.faq.register("PvP", { @@ -139,7 +140,7 @@ Each player on Archtec can opt in or out of PvP mode. If you enable PvP mode, ot - To disable PvP, toggle the button again. PvP mode gets disabled when logging off. You have to re-enable it after logging back in. -]] +]], }) archtec.faq.register("Voting", { @@ -169,7 +170,7 @@ Vote to kick a player: - **Costs nothing** - Requires 80% of votes to be YES to succeed - To prevent abuse, there must be at least 4 players online to initiate the vote -]] +]], }) archtec.faq.register("Stats & Ranking", { @@ -185,7 +186,7 @@ To show a ranking of the players with the most XP*: - '/rank' * XP points are calculated from various other values (e.g., dug nodes) and ranked. -]] +]], }) archtec.faq.register("Thank you", { @@ -196,7 +197,7 @@ There are many helpful players on Archtec. If someone has been helpful and you w To thank a player: '/thankyou ' -]] +]], }) archtec.faq.register("Areas", { @@ -272,7 +273,7 @@ Rename an area 1. Rename a specified area - '/rename_area ' 'ID' is the number you can see at the bottom left in square brackets ('[]'), choose for 'Areaname' a name you want -]] +]], }) -- Spawn @@ -285,7 +286,7 @@ To teleport back to Spawn: To teleport back to Old Spawn: - '/spawn_old' or '/s_o' -]] +]], }) archtec.faq.register("Find areas without protection", { @@ -303,7 +304,7 @@ Players can choose one of several ways to get out of the protected spawn area an - If you want to build far from others, you might want to check out the online Archtec Map https://archmap.niklp.net. - Some players have created their own personal Travelnet Networks, that go to the very edges of the universe. Ask around if you are curious and want to discover, how big our server is. -]] +]], }) -- Player related @@ -334,7 +335,7 @@ Chainsaw ('archtec_chainsaw'): - Requires a player to have placed 10000 nodes (see '/stats' command) - The player account must be at least 7 days old - When all those conditions are met you'll be granted the privilege by using the chainsaw for the first time. -]] +]], }) archtec.faq.register("Teleport Home", { @@ -352,7 +353,7 @@ System 1 - Home/Sethome: System 2 - Inventory home: - Use the green arrow home button in the inventory window to teleport to the home position - Use the red arrow home button in the inventory window to set your home to your current position -]] +]], }) archtec.faq.register("Settings", { @@ -362,7 +363,7 @@ archtec.faq.register("Settings", { - Main settings: Press the cog/sprocket button in your inventory window - Skin: Press the "face" button in your inventory - Hotbar size: Execute '/hotbar ' to change the size of your hotbar -]] +]], }) -- Other @@ -386,7 +387,7 @@ Quarries each player is allowed to place within a 24 node radius. Sign Bots: While these cute little bots are very useful, they can also cause significant lag and performance issues. To prevent this from impacting other players, each player is limited to placing 10 Signs Bots within a 16 node radius. -]] +]], }) archtec.faq.register("Tower cranes", { @@ -400,7 +401,7 @@ Tower cranes allow a player to freely move within the boundaries set during the 3. To start flying, right-click the red button on the crane and press "K" on your keyboard. To stop flying, press the green button on the crane. -]] +]], }) archtec.faq.register("Lava solidification", { @@ -428,7 +429,7 @@ For players building cobblestone generators, you must use dry ice instead of wat - Diamond powder drops in Techage (TA) gravel rinsers with a probability of 1/300 For more information, see the Techage manual or in-game guide. -]] +]], }) archtec.faq.register("Ores and Tools", { @@ -443,7 +444,7 @@ Special ores: - Titanium doesn't drop in Techage (TA) gravel sieves Titanium tools are more durable than diamond or mithril tools, but Titanium tools tend to be slower. -]] +]], }) archtec.faq.register("Useful chat commands", { @@ -460,7 +461,7 @@ Techage: - '/my_expoints' show your TA 5 experience points - '/ta_color' shows a color palette for the controller - '/ta_limit' shows your TA command limit usage -]] +]], }) archtec.faq.register("TNT and explosions", { @@ -472,7 +473,7 @@ There is no way for players to use TNT on Archtec. If you want to clear large ar The following mobs can cause explosions: - Dugeon master (DM), when it hits a node, radius 1 - Tree monster, when it spawns near Acacia Bush Leaves (default:acacia_bush_leaves), radius 6 -]] +]], }) archtec.faq.register("Biofuel", { @@ -486,5 +487,5 @@ Biofuel has multiple use cases: - As fuel for the TA3 Tiny Power Generator - As a craft ingredient, search in your inventory after "group:biofuel" -]] -}) \ No newline at end of file +]], +}) diff --git a/archtec/scripts/geoip.lua b/archtec/scripts/geoip.lua index 0fd43ba..fb5fa63 100644 --- a/archtec/scripts/geoip.lua +++ b/archtec/scripts/geoip.lua @@ -36,7 +36,7 @@ function geoip.lookup(ip, callback, playername) http.fetch({ url = "https://tools.keycdn.com/geo.json?host=" .. ip, extra_headers = { - "User-Agent: keycdn-tools:https://archtec.niklp.net" + "User-Agent: keycdn-tools:https://archtec.niklp.net", }, timeout = 1, }, function(res) @@ -49,7 +49,7 @@ function geoip.lookup(ip, callback, playername) result.status = data.status result.description = data.description result.timestamp = timestamp - result.players = playername and {[playername]=timestamp} or {} + result.players = playername and {[playername] = timestamp} or {} cache[ip] = result callback(result) return @@ -88,7 +88,9 @@ end -- query ip on join, record in logs and execute callback minetest.register_on_joinplayer(function(player) - if not archtec.geoip_enabled then return end -- Kill switch + if not archtec.geoip_enabled then + return + end -- Kill switch local name = player:get_player_name() local ip = minetest.get_player_ip(name) @@ -97,14 +99,18 @@ minetest.register_on_joinplayer(function(player) return end - if ip == "127.0.0.1" then return end + if ip == "127.0.0.1" then + return + end geoip.lookup(ip, function(data) local txt = format_result(data) if txt then archtec.notify_team("[geoip] Result for player '" .. name .. "': " .. txt) else - archtec.notify_team("[geoip] Lookup failed for '" .. name .. "@" .. ip .. "' Reason: " .. tostring(data.description)) + archtec.notify_team( + "[geoip] Lookup failed for '" .. name .. "@" .. ip .. "' Reason: " .. tostring(data.description) + ) end end, name) end) @@ -126,13 +132,13 @@ local function format_matches_by_name(name) if result.players[name] then table.insert(formatted_results, { time = now - result.players[name], - txt = format_message(name, result) + txt = format_message(name, result), }) count = count + 1 end end if count > 0 then - table.sort(formatted_results, function(a,b) + table.sort(formatted_results, function(a, b) return a.time < b.time end) local msg = "" @@ -171,6 +177,5 @@ minetest.register_chatcommand("geoip", { local msg = format_matches_by_name(param) or "No ip or cached result available." return true, msg end - - end + end, }) diff --git a/archtec/scripts/idlekick.lua b/archtec/scripts/idlekick.lua index d23496f..7811ce3 100644 --- a/archtec/scripts/idlekick.lua +++ b/archtec/scripts/idlekick.lua @@ -12,7 +12,9 @@ local function bump_name(name) end local function bump(player) - if not player then return end + if not player then + return + end local name = player:get_player_name() return bump_name(name) end @@ -43,12 +45,24 @@ minetest.register_on_joinplayer(function(player) end) -- Un-idle events -minetest.register_on_placenode(function(_, _, player) bump(player) end) -minetest.register_on_dignode(function(_, _, player) bump(player) end) -minetest.register_on_punchnode(function(_, _, player) bump(player) end) -minetest.register_on_craft(function(_, player) bump(player) end) -minetest.register_on_player_inventory_action(function(player) bump(player) end) -minetest.register_on_chat_message(function(name) bump_name(name) end) +minetest.register_on_placenode(function(_, _, player) + bump(player) +end) +minetest.register_on_dignode(function(_, _, player) + bump(player) +end) +minetest.register_on_punchnode(function(_, _, player) + bump(player) +end) +minetest.register_on_craft(function(_, player) + bump(player) +end) +minetest.register_on_player_inventory_action(function(player) + bump(player) +end) +minetest.register_on_chat_message(function(name) + bump_name(name) +end) local timer = 0 minetest.register_globalstep(function(dtime) @@ -79,7 +93,7 @@ minetest.register_globalstep(function(dtime) local nametag = get_nametag(name, player) .. " (idle)" player:set_nametag_attributes({ - text = nametag + text = nametag, }) end elseif cache[name].nametag_edited then @@ -88,7 +102,7 @@ minetest.register_globalstep(function(dtime) local nametag = get_nametag(name, player) nametag = string.sub(nametag, 1, #nametag - 7) player:set_nametag_attributes({ - text = nametag + text = nametag, }) end end @@ -97,4 +111,4 @@ end) minetest.register_on_leaveplayer(function(player) local name = player:get_player_name() cache[name] = nil -end) \ No newline at end of file +end) diff --git a/archtec/scripts/ignore.lua b/archtec/scripts/ignore.lua index 73bd870..5724517 100644 --- a/archtec/scripts/ignore.lua +++ b/archtec/scripts/ignore.lua @@ -8,7 +8,9 @@ archtec_playerdata.register_upgrade("ignores", "archtec:ignore_str_to_list", fal end) local function is_ignored(name, target) - if type(name) ~= "string" then return false end + if type(name) ~= "string" then + return false + end local ignores = archtec_playerdata.get(name, "ignores") return ignores[target] ~= nil end @@ -16,8 +18,12 @@ end archtec.is_ignored = is_ignored function archtec.ignore_check(name, target) - if not target or target == "" then return false end - if not name or name == "" then return false end + if not target or target == "" then + return false + end + if not name or name == "" then + return false + end return is_ignored(name, target) or is_ignored(target, name) end @@ -69,7 +75,10 @@ minetest.register_chatcommand("ignore", { return end if minetest.get_player_privs(name).staff then - minetest.chat_send_player(name, C("#FF0000", S("[ignore] Staff members can't ignore other players!"))) + minetest.chat_send_player( + name, + C("#FF0000", S("[ignore] Staff members can't ignore other players!")) + ) return end if name == target then @@ -77,7 +86,10 @@ minetest.register_chatcommand("ignore", { return end if count_ignored_players(name) >= max_ignored then - minetest.chat_send_player(name, C("#FF0000", S("[ignore] You can't ignore more than @1 players!", max_ignored))) + minetest.chat_send_player( + name, + C("#FF0000", S("[ignore] You can't ignore more than @1 players!", max_ignored)) + ) return end ignore_player(name, target) @@ -87,7 +99,10 @@ minetest.register_chatcommand("ignore", { minetest.chat_send_player(name, C("#FF0000", S("[ignore] You must specify a player name!"))) return else - minetest.chat_send_player(name, C("#FF0000", S("[ignore] Player @1 isn't a registered player!", target))) + minetest.chat_send_player( + name, + C("#FF0000", S("[ignore] Player @1 isn't a registered player!", target)) + ) return end elseif action == "unignore" or action == "remove" then @@ -104,14 +119,20 @@ minetest.register_chatcommand("ignore", { minetest.chat_send_player(name, C("#FF0000", S("[ignore] You must specify a player name!"))) return else - minetest.chat_send_player(name, C("#FF0000", S("[ignore] Player @1 isn't a registered player!", target))) + minetest.chat_send_player( + name, + C("#FF0000", S("[ignore] Player @1 isn't a registered player!", target)) + ) return end elseif action == "" or action == nil or action == "list" then local target = archtec.get_and_trim(params[2]) if target ~= "" and target ~= name then if not minetest.get_player_privs(name).staff then - minetest.chat_send_player(name, C("#FF0000", S("[ignore] You aren't authorized to query this data!"))) + minetest.chat_send_player( + name, + C("#FF0000", S("[ignore] You aren't authorized to query this data!")) + ) return end if not minetest.player_exists(target) then @@ -123,7 +144,10 @@ minetest.register_chatcommand("ignore", { minetest.chat_send_player(name, C("#00BD00", S("[ignore] @1 isn't ignoring anyone.", target))) return end - minetest.chat_send_player(name, C("#00BD00", S("[ignore] List of players @1 ignores: @2.", target, list))) + minetest.chat_send_player( + name, + C("#00BD00", S("[ignore] List of players @1 ignores: @2.", target, list)) + ) return else local list = list_ignored_players(name) @@ -136,7 +160,7 @@ minetest.register_chatcommand("ignore", { end end minetest.chat_send_player(name, C("#FF0000", S("[ignore] Unknown subcommand!"))) - end + end, }) function archtec.ignore_msg(cmdname, name, target) @@ -146,8 +170,14 @@ function archtec.ignore_msg(cmdname, name, target) cmdname = "" end if is_ignored(name, target) then - minetest.chat_send_player(name, C("#FF0000", S("@1 You are ignoring @2. You can't interact with them!", cmdname, target))) + minetest.chat_send_player( + name, + C("#FF0000", S("@1 You are ignoring @2. You can't interact with them!", cmdname, target)) + ) else - minetest.chat_send_player(name, C("#FF0000", S("@1 @2 ignores you. You can't interact with them!", cmdname, target))) + minetest.chat_send_player( + name, + C("#FF0000", S("@1 @2 ignores you. You can't interact with them!", cmdname, target)) + ) end end diff --git a/archtec/scripts/instrument_mod.lua b/archtec/scripts/instrument_mod.lua index de114e9..10b2d0c 100644 --- a/archtec/scripts/instrument_mod.lua +++ b/archtec/scripts/instrument_mod.lua @@ -19,7 +19,6 @@ local function instrument(name, value, _cache) total_calls[name] = (total_calls[name] or 0) + 1 return unpack(rvs) end - elseif type(value) == "table" then _cache = _cache or {} local cached = _cache[value] @@ -33,7 +32,6 @@ local function instrument(name, value, _cache) for k, v in pairs(value) do if type(k) == "string" then t[k] = instrument(("%s.%s"):format(name, k), v, _cache) - else t[k] = instrument(("%s[%s]"):format(name, k), v, _cache) end @@ -42,7 +40,6 @@ local function instrument(name, value, _cache) setmetatable(t, instrument(("getmetatable(%s)"):format(name), getmetatable(value), _cache)) return t - else return value end @@ -63,7 +60,6 @@ minetest.register_chatcommand("instrument_mod", { old_values[param] = nil num_instrumented = num_instrumented - 1 return true, ("instrumentation disabled for %s"):format(param) - else old_values[param] = _G[param] _G[param] = instrument(param, _G[param]) @@ -90,9 +86,7 @@ minetest.register_globalstep(function(dtime) for name, num_calls in pairs_by_key(total_calls) do local te = total_elapsed[name] - log(log_level, ("[instrument_mod] %s was called %s times, used %s us"):format( - name, num_calls, te - )) + log(log_level, ("[instrument_mod] %s was called %s times, used %s us"):format(name, num_calls, te)) end total_calls = {} diff --git a/archtec/scripts/item_drop.lua b/archtec/scripts/item_drop.lua index bb40cda..a96d903 100644 --- a/archtec/scripts/item_drop.lua +++ b/archtec/scripts/item_drop.lua @@ -30,7 +30,7 @@ local function pickupfunc(player) end local pos = player:get_pos() - pos.y = pos.y+0.5 + pos.y = pos.y + 0.5 local inv = player:get_inventory() local objectlist = minetest.get_objects_inside_radius(pos, pickup_radius) diff --git a/archtec/scripts/lock.lua b/archtec/scripts/lock.lua index f9590d5..d604159 100644 --- a/archtec/scripts/lock.lua +++ b/archtec/scripts/lock.lua @@ -2,11 +2,15 @@ local can_join = true local function lock_server(mode, keep, locker) if mode == "new" then - minetest.chat_send_all(minetest.colorize("#FF0000", locker .. " closed the server. Only staff members can join.")) + minetest.chat_send_all( + minetest.colorize("#FF0000", locker .. " closed the server. Only staff members can join.") + ) archtec_matterbridge.send(":lock: " .. locker .. " closed the server. Only staff members can join.") can_join = false elseif mode == "kick" then - minetest.chat_send_all(minetest.colorize("#FF0000", locker .. " closed the server. Only staff members can join.")) + minetest.chat_send_all( + minetest.colorize("#FF0000", locker .. " closed the server. Only staff members can join.") + ) archtec_matterbridge.send(":lock: " .. locker .. " closed the server. Only staff members can join.") can_join = false for _, player in ipairs(minetest.get_connected_players()) do @@ -19,16 +23,27 @@ local function lock_server(mode, keep, locker) end local function open_server(opener) - minetest.chat_send_all(minetest.colorize("#00BD00", opener .. " opened the server. Everyone can join again, including new players.")) - archtec_matterbridge.send(":unlock: " .. opener .. " opened the server. Everyone can join again, including new players.") + minetest.chat_send_all( + minetest.colorize("#00BD00", opener .. " opened the server. Everyone can join again, including new players.") + ) + archtec_matterbridge.send( + ":unlock: " .. opener .. " opened the server. Everyone can join again, including new players." + ) can_join = true end minetest.register_on_prejoinplayer(function(name) if name and not can_join then if not minetest.get_player_privs(name).staff then - minetest.chat_send_all(minetest.colorize("#FF0000", name .. " tried to connect, but the server is closed for anyone except staff members.")) - archtec_matterbridge.send(":no_entry: " .. name .. " tried to connect, but the server is closed for anyone except staff members.") + minetest.chat_send_all( + minetest.colorize( + "#FF0000", + name .. " tried to connect, but the server is closed for anyone except staff members." + ) + ) + archtec_matterbridge.send( + ":no_entry: " .. name .. " tried to connect, but the server is closed for anyone except staff members." + ) return "The server is closed. Only staff members can join." end end @@ -53,7 +68,7 @@ minetest.register_chatcommand("lock", { keep = archtec.string_to_table(keep) lock_server(mode, keep, name) minetest.chat_send_player(name, minetest.colorize("#00BD00", "[lock] Locked the server successfully.")) - end + end, }) minetest.register_chatcommand("open", { @@ -67,5 +82,5 @@ minetest.register_chatcommand("open", { end open_server(name) minetest.chat_send_player(name, minetest.colorize("#00BD00", "[open] Opened the server successfully.")) - end + end, }) diff --git a/archtec/scripts/luac_logging.lua b/archtec/scripts/luac_logging.lua index c898a37..c97ab63 100644 --- a/archtec/scripts/luac_logging.lua +++ b/archtec/scripts/luac_logging.lua @@ -7,7 +7,15 @@ for node, def in pairs(minetest.registered_nodes) do def.on_receive_fields = function(pos, _, fields, sender) local code = dump(fields.code) local name = sender and sender:get_player_name() or "??" - minetest.log("action", "[archtec] Lua controller programmed by " .. name .. " at " .. minetest.pos_to_string(pos) .. " with " .. code) + minetest.log( + "action", + "[archtec] Lua controller programmed by " + .. name + .. " at " + .. minetest.pos_to_string(pos) + .. " with " + .. code + ) return old_on_receive_fields(pos, _, fields, sender) end end diff --git a/archtec/scripts/mailbox.lua b/archtec/scripts/mailbox.lua index 17fb601..b2a3e7c 100644 --- a/archtec/scripts/mailbox.lua +++ b/archtec/scripts/mailbox.lua @@ -1,6 +1,8 @@ local C = minetest.colorize local S = archtec.S -local FS = function(...) return minetest.formspec_escape(S(...)) end +local FS = function(...) + return minetest.formspec_escape(S(...)) +end local mailbox = {} archtec_playerdata.register_key("mailbox", "string", "") @@ -13,20 +15,38 @@ function mailbox.get_formspec(pos, owner, fs_type) local spos = pos.x .. "," .. pos.y .. "," .. pos.z if fs_type == 1 then - return "size[8,9.5]" .. default.get_hotbar_bg(0, 5.5) .. - "checkbox[0,0;books_only;" .. FS("Only allow written books") .. ";" .. is_letterbox .. "]" .. - "list[nodemeta:" .. spos .. ";mailbox;0,1;8,4;]" .. - "listring[nodemeta:" .. spos .. ";mailbox]" .. - "listring[current_player;main]" .. - "list[current_player;main;0,5.5;8,4;]" .. - "button_exit[6,0;2,1;unrent;" .. FS("Unrent") .. "]" + return "size[8,9.5]" + .. default.get_hotbar_bg(0, 5.5) + .. "checkbox[0,0;books_only;" + .. FS("Only allow written books") + .. ";" + .. is_letterbox + .. "]" + .. "list[nodemeta:" + .. spos + .. ";mailbox;0,1;8,4;]" + .. "listring[nodemeta:" + .. spos + .. ";mailbox]" + .. "listring[current_player;main]" + .. "list[current_player;main;0,5.5;8,4;]" + .. "button_exit[6,0;2,1;unrent;" + .. FS("Unrent") + .. "]" else - return "size[8,5.25]" .. default.get_hotbar_bg(0, 1.5) .. - "label[0,0;" .. FS("Send your goods to\n@1", C("#FFFF00", owner)) .. "]" .. - "list[nodemeta:" .. spos .. ";drop;3.5,0;1,1;]" .. - "listring[nodemeta:" .. spos .. ";drop]" .. - "listring[current_player;main]" .. - "list[current_player;main;0,1.5;8,4;]" + return "size[8,5.25]" + .. default.get_hotbar_bg(0, 1.5) + .. "label[0,0;" + .. FS("Send your goods to\n@1", C("#FFFF00", owner)) + .. "]" + .. "list[nodemeta:" + .. spos + .. ";drop;3.5,0;1,1;]" + .. "listring[nodemeta:" + .. spos + .. ";drop]" + .. "listring[current_player;main]" + .. "list[current_player;main;0,1.5;8,4;]" end end @@ -100,7 +120,10 @@ end function mailbox.on_rightclick_free(pos, _, clicker) local name = clicker:get_player_name() if archtec_playerdata.get(name, "mailbox") ~= "" then - minetest.chat_send_player(name, C("#FF0000", S("You have already rented a mailbox at @1!", archtec_playerdata.get(name, "mailbox")))) + minetest.chat_send_player( + name, + C("#FF0000", S("You have already rented a mailbox at @1!", archtec_playerdata.get(name, "mailbox"))) + ) return end @@ -160,8 +183,7 @@ function mailbox.allow_metadata_inventory_put(pos, listname, index, stack, playe return 0 end - if minetest.get_node(pos).name == "mailbox:letterbox" and - stack:get_name() ~= "default:book_written" then + if minetest.get_node(pos).name == "mailbox:letterbox" and stack:get_name() ~= "default:book_written" then return 0 end @@ -199,9 +221,12 @@ end minetest.register_node(":mailbox:mailbox", { description = S("Mailbox"), tiles = { - "archtec_mailbox_top.png", "archtec_mailbox_bottom.png", - "archtec_mailbox_side.png", "archtec_mailbox_side.png", - "archtec_mailbox.png", "archtec_mailbox.png", + "archtec_mailbox_top.png", + "archtec_mailbox_bottom.png", + "archtec_mailbox_side.png", + "archtec_mailbox_side.png", + "archtec_mailbox.png", + "archtec_mailbox.png", }, groups = {cracky = 3, oddly_breakable_by_hand = 1, not_in_creative_inventory = 1}, on_rotate = screwdriver.rotate_simple, @@ -220,9 +245,12 @@ minetest.register_node(":mailbox:mailbox", { minetest.register_node(":mailbox:mailbox_free", { description = S("Mailbox for Rent"), tiles = { - "archtec_mailbox_free_top.png", "archtec_mailbox_free_bottom.png", - "archtec_mailbox_free_side.png", "archtec_mailbox_free_side.png", - "archtec_mailbox_free.png", "archtec_mailbox_free.png", + "archtec_mailbox_free_top.png", + "archtec_mailbox_free_bottom.png", + "archtec_mailbox_free_side.png", + "archtec_mailbox_free_side.png", + "archtec_mailbox_free.png", + "archtec_mailbox_free.png", }, groups = {cracky = 3, oddly_breakable_by_hand = 1, not_in_creative_inventory = 1}, on_rotate = screwdriver.rotate_simple, @@ -236,9 +264,12 @@ minetest.register_node(":mailbox:mailbox_free", { minetest.register_node(":mailbox:letterbox", { tiles = { - "archtec_letterbox_top.png", "archtec_letterbox_bottom.png", - "archtec_letterbox_side.png", "archtec_letterbox_side.png", - "archtec_letterbox.png", "archtec_letterbox.png", + "archtec_letterbox_top.png", + "archtec_letterbox_bottom.png", + "archtec_letterbox_side.png", + "archtec_letterbox_side.png", + "archtec_letterbox.png", + "archtec_letterbox.png", }, groups = {cracky = 3, oddly_breakable_by_hand = 1, not_in_creative_inventory = 1}, on_rotate = screwdriver.rotate_simple, diff --git a/archtec/scripts/mapfix.lua b/archtec/scripts/mapfix.lua index 97bbf62..87a31f7 100644 --- a/archtec/scripts/mapfix.lua +++ b/archtec/scripts/mapfix.lua @@ -19,7 +19,10 @@ minetest.register_chatcommand("mapfix", { return false, "Radius is too big" end - minetest.log("action", name .. " uses mapfix at " .. minetest.pos_to_string(vector.round(pos)) .. " with radius " .. size) + minetest.log( + "action", + name .. " uses mapfix at " .. minetest.pos_to_string(vector.round(pos)) .. " with radius " .. size + ) size = math.max(math.floor(size - 8), 0) -- When passed to get_voxel_manip, positions are rounded up, to a multiple of 16 nodes in each direction. By subtracting 8 it's rounded to the nearest chunk border. max is used to avoid negative radius. diff --git a/archtec/scripts/msg_offline.lua b/archtec/scripts/msg_offline.lua index 5e1ffde..e521aca 100644 --- a/archtec/scripts/msg_offline.lua +++ b/archtec/scripts/msg_offline.lua @@ -11,7 +11,8 @@ local delete_message_after = archtec.time.days(90) author = "Player1", text = "Hello....", } -]]-- +]] +-- archtec_playerdata.register_key("offline_msgs", "table", {}) archtec_playerdata.register_upgrade("offline_msgs", "archtec:cleanup_offline_msgs", true, function(name, msgs) @@ -42,7 +43,10 @@ minetest.register_chatcommand("tell", { end if archtec.is_online(target) then - minetest.chat_send_player(name, C("#FF0000", S("[tell] @1 is online, please send a normal message to them!", target))) + minetest.chat_send_player( + name, + C("#FF0000", S("[tell] @1 is online, please send a normal message to them!", target)) + ) return end @@ -57,7 +61,10 @@ minetest.register_chatcommand("tell", { end if #msg > max_message_length then - minetest.chat_send_player(name, C("#FF0000", S("[tell] Message too long! (max length is @1 characters)", max_message_length))) + minetest.chat_send_player( + name, + C("#FF0000", S("[tell] Message too long! (max length is @1 characters)", max_message_length)) + ) return end @@ -70,15 +77,21 @@ minetest.register_chatcommand("tell", { end if messages_by_user >= max_messages then - minetest.chat_send_player(name, C("#FF0000", S("[tell] You can't send @1 more than @2 offline messages!", target, max_messages))) + minetest.chat_send_player( + name, + C("#FF0000", S("[tell] You can't send @1 more than @2 offline messages!", target, max_messages)) + ) return end msgs[#msgs + 1] = {created = os.time(), author = name, text = msg} - archtec_playerdata.set(target, "offline_msgs",msgs) - minetest.chat_send_player(name, C("#00BD00", S("[tell] Message saved. @1 will see your message when they joins the next time.", target))) + archtec_playerdata.set(target, "offline_msgs", msgs) + minetest.chat_send_player( + name, + C("#00BD00", S("[tell] Message saved. @1 will see your message when they joins the next time.", target)) + ) minetest.log("action", "[archtec] Saved offline message from " .. name .. " to " .. target .. ": " .. msg) - end + end, }) minetest.register_on_joinplayer(function(player) @@ -88,8 +101,22 @@ minetest.register_on_joinplayer(function(player) if #msgs > 0 then for i, msg in ipairs(msgs) do local date = os.date("!%Y-%m-%d %H:%M", msg.created) .. " UTC" - minetest.chat_send_player(name, C("#FF0", S("[tell] @1 sent you an offline message at @2:", msg.author, date)) .. " " .. msg.text) - minetest.log("action", "[archtec] Sent offline message from " .. msg.author .. " to " .. name .. ": " .. msg.text .. " (created at " .. date .. ")") + minetest.chat_send_player( + name, + C("#FF0", S("[tell] @1 sent you an offline message at @2:", msg.author, date)) .. " " .. msg.text + ) + minetest.log( + "action", + "[archtec] Sent offline message from " + .. msg.author + .. " to " + .. name + .. ": " + .. msg.text + .. " (created at " + .. date + .. ")" + ) msgs[i] = nil end diff --git a/archtec/scripts/music.lua b/archtec/scripts/music.lua index 59483f4..d75522d 100644 --- a/archtec/scripts/music.lua +++ b/archtec/scripts/music.lua @@ -5,10 +5,13 @@ local current = {} local path = minetest.get_worldpath() .. "/music/" function music.play(name, title) - minetest.dynamic_add_media({filepath = path .. title .. ".ogg", ephemeral = false, to_player = name}, function(player) - local handle = minetest.sound_play(title, {to_player = name, gain = 1.0}) - current[name] = handle - end) + minetest.dynamic_add_media( + {filepath = path .. title .. ".ogg", ephemeral = false, to_player = name}, + function(player) + local handle = minetest.sound_play(title, {to_player = name, gain = 1.0}) + current[name] = handle + end + ) end function music.stop(name) @@ -61,17 +64,25 @@ minetest.register_chatcommand("music_play", { local players = archtec.string_to_table(playersraw) for _, player in pairs(players) do if not archtec.is_online(player) then - minetest.chat_send_player(name, minetest.colorize("#FF0000", S("[music_play] Player @1 is not online!", player))) + minetest.chat_send_player( + name, + minetest.colorize("#FF0000", S("[music_play] Player @1 is not online!", player)) + ) return end music.play(player, title) if name ~= player then - minetest.chat_send_player(player, minetest.colorize("#00BD00", S("[music_play] Playing @1 to you (started by @2)", title, name))) + minetest.chat_send_player( + player, + minetest.colorize("#00BD00", S("[music_play] Playing @1 to you (started by @2)", title, name)) + ) end end - minetest.chat_send_player(name, minetest.colorize("#00BD00", S("[music_play] Playing @1 to @2", title, playersraw:trim()))) - - end + minetest.chat_send_player( + name, + minetest.colorize("#00BD00", S("[music_play] Playing @1 to @2", title, playersraw:trim())) + ) + end, }) minetest.register_chatcommand("music_stop", { @@ -87,16 +98,25 @@ minetest.register_chatcommand("music_stop", { local players = archtec.string_to_table(param) for _, player in pairs(players) do if not archtec.is_online(player) then - minetest.chat_send_player(name, minetest.colorize("#FF0000", S("[music_stop] Player @1 is not online!", player))) + minetest.chat_send_player( + name, + minetest.colorize("#FF0000", S("[music_stop] Player @1 is not online!", player)) + ) return end music.stop(player) if name ~= player then - minetest.chat_send_player(player, minetest.colorize("#00BD00", S("[music_stop] @1 stopped your music", name))) + minetest.chat_send_player( + player, + minetest.colorize("#00BD00", S("[music_stop] @1 stopped your music", name)) + ) end end - minetest.chat_send_player(name, minetest.colorize("#00BD00", S("[music_stop] Stopped music for @1", param:trim()))) - end + minetest.chat_send_player( + name, + minetest.colorize("#00BD00", S("[music_stop] Stopped music for @1", param:trim())) + ) + end, }) minetest.register_chatcommand("music_list", { @@ -105,9 +125,9 @@ minetest.register_chatcommand("music_list", { func = function(name) minetest.log("action", "[/music_list] executed by '" .. name .. "'") minetest.chat_send_player(name, minetest.colorize("#00BD00", S("[music_list] @1", get_music_list()))) - end + end, }) minetest.register_on_leaveplayer(function(player) current[player:get_player_name()] = nil -end) \ No newline at end of file +end) diff --git a/archtec/scripts/mvps_stopper.lua b/archtec/scripts/mvps_stopper.lua index 355e303..9075208 100644 --- a/archtec/scripts/mvps_stopper.lua +++ b/archtec/scripts/mvps_stopper.lua @@ -1,4 +1,6 @@ -if not minetest.get_modpath("mesecons") then return end +if not minetest.get_modpath("mesecons") then + return +end if minetest.get_modpath("3d_armor_stand") then mesecon.register_mvps_stopper("3d_armor_stand:armor_stand") diff --git a/archtec/scripts/namecolor.lua b/archtec/scripts/namecolor.lua index 6678fb6..e3b0f1f 100644 --- a/archtec/scripts/namecolor.lua +++ b/archtec/scripts/namecolor.lua @@ -62,4 +62,4 @@ end -- This is important to generate/migrate data to give the settings access to it minetest.register_on_joinplayer(function(player) archtec.namecolor.get(player:get_player_name()) -end) \ No newline at end of file +end) diff --git a/archtec/scripts/network_info.lua b/archtec/scripts/network_info.lua index cca701c..c5dddcc 100644 --- a/archtec/scripts/network_info.lua +++ b/archtec/scripts/network_info.lua @@ -24,7 +24,30 @@ minetest.register_chatcommand("network_info", { local min_rtt = info.min_rtt or "?" local max_rtt = info.max_rtt or "?" local avg_rtt = info.avg_rtt or "?" - minetest.chat_send_player(name, "Network info for player " .. C(target) .. " IP: " .. C(address) .. " IP-V: " .. C(ip_version) .. " Uptime: " .. C(connection_uptime) .. " Prot-V: " .. C(protocol_version) .. - " Jitter-min: " .. C(min_jitter) .. " Jitter-max: " .. C(max_jitter) .. " Jitter-avg: " .. C(avg_jitter) .. " RTT-min: " .. C(min_rtt) .. " RTT-max: " .. C(max_rtt) .. " RTT-avg: " .. C(avg_rtt)) - end -}) \ No newline at end of file + minetest.chat_send_player( + name, + "Network info for player " + .. C(target) + .. " IP: " + .. C(address) + .. " IP-V: " + .. C(ip_version) + .. " Uptime: " + .. C(connection_uptime) + .. " Prot-V: " + .. C(protocol_version) + .. " Jitter-min: " + .. C(min_jitter) + .. " Jitter-max: " + .. C(max_jitter) + .. " Jitter-avg: " + .. C(avg_jitter) + .. " RTT-min: " + .. C(min_rtt) + .. " RTT-max: " + .. C(max_rtt) + .. " RTT-avg: " + .. C(avg_rtt) + ) + end, +}) diff --git a/archtec/scripts/news.lua b/archtec/scripts/news.lua index 617cc8b..5e29686 100644 --- a/archtec/scripts/news.lua +++ b/archtec/scripts/news.lua @@ -1,11 +1,15 @@ local fpath = minetest.get_worldpath() .. "/news.txt" local S = archtec.S -local FS = function(...) return minetest.formspec_escape(S(...)) end +local FS = function(...) + return minetest.formspec_escape(S(...)) +end local news = S("No news available") local function read_file() local file = io.open(fpath, "rb") - if not file then return end + if not file then + return + end local raw = file:read("*all") file:close() news = raw @@ -23,15 +27,23 @@ local function show_formspec(name) end minetest.register_on_player_receive_fields(function(player, formname, fields) - if formname ~= "archtec:news" then return end + if formname ~= "archtec:news" then + return + end if fields.news and fields.news:sub(1, 12) == "action:link_" then local link = fields.news:sub(13, #fields.news) local url = nil -- Some hardcoded URLs - if link == "website" then url = archtec.links.website end - if link == "discord" then url = archtec.links.discord end - if link == "matrix" then url = archtec.links.matrix end + if link == "website" then + url = archtec.links.website + end + if link == "discord" then + url = archtec.links.discord + end + if link == "matrix" then + url = archtec.links.matrix + end -- Dynamic URLs if url == nil then @@ -41,7 +53,10 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) if url ~= nil then local name = player:get_player_name() minetest.close_formspec(name, "archtec:news") - minetest.chat_send_player(name, minetest.colorize("#FF8800", S("Ctrl + Click the link to open your browser:")) .. " " .. url) + minetest.chat_send_player( + name, + minetest.colorize("#FF8800", S("Ctrl + Click the link to open your browser:")) .. " " .. url + ) end end @@ -58,7 +73,7 @@ minetest.register_chatcommand("news", { func = function(name) minetest.log("action", "[/news] executed by '" .. name .. "'") show_formspec(name) - end + end, }) minetest.register_chatcommand("news_reload", { @@ -69,8 +84,8 @@ minetest.register_chatcommand("news_reload", { read_file() show_formspec(name) minetest.chat_send_player(name, "News reloaded") - end + end, }) -- Load news -read_file() \ No newline at end of file +read_file() diff --git a/archtec/scripts/node_limiter.lua b/archtec/scripts/node_limiter.lua index 03ea9a3..1cdf0ea 100644 --- a/archtec/scripts/node_limiter.lua +++ b/archtec/scripts/node_limiter.lua @@ -18,22 +18,51 @@ local function ov_node(node, check_nodes, rad, max) end if check_nodes then -- nodes check - local count = minetest.find_nodes_in_area(generate_vector(pos, tonumber(-rad)), generate_vector(pos, tonumber(rad)), check_nodes) + local count = minetest.find_nodes_in_area( + generate_vector(pos, tonumber(-rad)), + generate_vector(pos, tonumber(rad)), + check_nodes + ) if #count < max then return old_place(itemstack, placer, pointed_thing) else local pname = placer:get_player_name() - minetest.log("action", "[node_limiter] " .. pname .. " tried to place " .. node .. " at " .. minetest.pos_to_string(pos)) + minetest.log( + "action", + "[node_limiter] " + .. pname + .. " tried to place " + .. node + .. " at " + .. minetest.pos_to_string(pos) + ) local n = minetest.registered_nodes[node].description or node - minetest.chat_send_player(pname, minetest.colorize("#FF0000", S("You can't place more '@1' in this area!", n))) + minetest.chat_send_player( + pname, + minetest.colorize("#FF0000", S("You can't place more '@1' in this area!", n)) + ) end else -- entity check local p1, p2 = archtec.get_block_bounds(pos) local objs = minetest.get_objects_in_area(p1, p2) if #objs > max then local pname = placer:get_player_name() - minetest.log("action", "[node_limiter] " .. pname .. " tried to place " .. node .. " at " .. minetest.pos_to_string(pos)) - minetest.chat_send_player(pname, minetest.colorize("#FF0000", S("You can't place more '@1' in this area! (Too many entities)", "Drawers"))) + minetest.log( + "action", + "[node_limiter] " + .. pname + .. " tried to place " + .. node + .. " at " + .. minetest.pos_to_string(pos) + ) + minetest.chat_send_player( + pname, + minetest.colorize( + "#FF0000", + S("You can't place more '@1' in this area! (Too many entities)", "Drawers") + ) + ) else return old_place(itemstack, placer, pointed_thing) end @@ -43,16 +72,21 @@ local function ov_node(node, check_nodes, rad, max) mesecon.register_mvps_stopper(node) end - -- limit hoppers to 10 in a 24 node radius ov_node("hopper:hopper", {"hopper:hopper", "hopper:hopper_side", "hopper:hopper_void", "minecart:hopper"}, 24, 10) ov_node("hopper:hopper_side", {"hopper:hopper", "hopper:hopper_side", "hopper:hopper_void", "minecart:hopper"}, 24, 10) ov_node("hopper:hopper_void", {"hopper:hopper", "hopper:hopper_side", "hopper:hopper_void", "minecart:hopper"}, 24, 10) ov_node("minecart:hopper", {"hopper:hopper", "hopper:hopper_side", "hopper:hopper_void", "minecart:hopper"}, 24, 10) - -- limit quarrys to 3 in a 24 node radius -local quarrys = {"techage:ta2_quarry_pas", "techage:ta2_quarry_act", "techage:ta3_quarry_pas", "techage:ta3_quarry_act", "techage:ta4_quarry_pas", "techage:ta4_quarry_act"} +local quarrys = { + "techage:ta2_quarry_pas", + "techage:ta2_quarry_act", + "techage:ta3_quarry_pas", + "techage:ta3_quarry_act", + "techage:ta4_quarry_pas", + "techage:ta4_quarry_act", +} for _, quarry in pairs(quarrys) do ov_node(quarry, quarrys, 24, 3) @@ -67,4 +101,4 @@ for _, ndef in pairs(minetest.registered_nodes) do ov_node(ndef.name, nil, nil, 70) end end -end \ No newline at end of file +end diff --git a/archtec/scripts/notify_team.lua b/archtec/scripts/notify_team.lua index cebc3a5..0465057 100644 --- a/archtec/scripts/notify_team.lua +++ b/archtec/scripts/notify_team.lua @@ -24,4 +24,4 @@ minetest.after(0, function() if minetest.global_exists("archtec_matterbridge") then has_matterbridge = true end -end) \ No newline at end of file +end) diff --git a/archtec/scripts/overrides.lua b/archtec/scripts/overrides.lua index 9bd5099..a2b4314 100644 --- a/archtec/scripts/overrides.lua +++ b/archtec/scripts/overrides.lua @@ -50,8 +50,7 @@ end -- Disable wardrobe skin selector if minetest.get_modpath("homedecor_wardrobe") then minetest.override_item("homedecor:wardrobe", { - on_construct = function() - end, + on_construct = function() end, on_place = function(itemstack, placer, pointed_thing) return homedecor.stack_vertically(itemstack, placer, pointed_thing, itemstack:get_name(), "placeholder") end, @@ -126,7 +125,7 @@ if minetest.get_modpath("castle_gates") then {"group:wood", "default:steel_ingot", "group:wood"}, {"group:wood", "default:tin_ingot", "group:wood"}, {"group:wood", "default:steel_ingot", "group:wood"}, - } + }, }) minetest.register_craft({ @@ -135,7 +134,7 @@ if minetest.get_modpath("castle_gates") then {"", "default:steel_ingot", ""}, {"default:steel_ingot", "", "default:steel_ingot"}, {"", "default:steel_ingot", ""}, - } + }, }) end @@ -151,15 +150,15 @@ end -- Caveralms stones drop themselves if minetest.get_modpath("caverealms") then minetest.override_item("caverealms:stone_with_algae", { - drop = nil + drop = nil, }) minetest.override_item("caverealms:stone_with_lichen", { - drop = nil + drop = nil, }) minetest.override_item("caverealms:stone_with_moss", { - drop = nil + drop = nil, }) end @@ -171,4 +170,4 @@ end -- Higher signs_bot accu capacity if minetest.get_modpath("signs_bot") then signs_bot.MAX_CAPA = signs_bot.MAX_CAPA * 1.5 -end \ No newline at end of file +end diff --git a/archtec/scripts/perf_logging.lua b/archtec/scripts/perf_logging.lua index d9a2b17..caf52b4 100644 --- a/archtec/scripts/perf_logging.lua +++ b/archtec/scripts/perf_logging.lua @@ -19,20 +19,29 @@ end local function inc_abm(label, diff, pos, nn) if diff > abm_max_time then - minetest.log("action", "[archtec] ABM '" .. label .. "', took '" .. diff .. "' us, pos '" .. P2S(pos) .. "', node '" .. nn .. "'") + minetest.log( + "action", + "[archtec] ABM '" .. label .. "', took '" .. diff .. "' us, pos '" .. P2S(pos) .. "', node '" .. nn .. "'" + ) end end local function inc_nt(diff, pos) if diff > nt_max_time then local nn = minetest.get_node(pos).name - minetest.log("action", "[archtec] NodeTimer took '" .. diff .. "' us, pos '" .. P2S(pos) .. "', node '" .. nn .. "'") + minetest.log( + "action", + "[archtec] NodeTimer took '" .. diff .. "' us, pos '" .. P2S(pos) .. "', node '" .. nn .. "'" + ) end end local function inc_lbm(label, diff, pos, nn) if diff > lbm_max_time then - minetest.log("action", "[archtec] LBM '" .. label .. "', took '" .. diff .. "' us, pos '" .. P2S(pos) .. "', node '" .. nn .. "'") + minetest.log( + "action", + "[archtec] LBM '" .. label .. "', took '" .. diff .. "' us, pos '" .. P2S(pos) .. "', node '" .. nn .. "'" + ) end end @@ -69,4 +78,4 @@ minetest.register_on_mods_loaded(function() inc_lbm(lbm.label or "??", diff, pos, node.name) end end -end) \ No newline at end of file +end) diff --git a/archtec/scripts/playerlist.lua b/archtec/scripts/playerlist.lua index 520da40..af41c4d 100644 --- a/archtec/scripts/playerlist.lua +++ b/archtec/scripts/playerlist.lua @@ -11,15 +11,17 @@ local function hud_show(player) local name = player:get_player_name() local players = minetest.get_connected_players() - local huds = {player:hud_add({ - hud_elem_type = "image", - position = {x = 0.5, y = 0}, - offset = {x = 0, y = 20}, - text = "archtec_background.png", - alignment = {x = 0, y = 1}, - scale = {x = 400, y = (#players + 1) * 18 + 8}, - number = 0xFFFFFF - })} + local huds = { + player:hud_add({ + hud_elem_type = "image", + position = {x = 0.5, y = 0}, + offset = {x = 0, y = 20}, + text = "archtec_background.png", + alignment = {x = 0, y = 1}, + scale = {x = 400, y = (#players + 1) * 18 + 8}, + number = 0xFFFFFF, + }), + } huds[#huds + 1] = player:hud_add({ hud_elem_type = "text", position = {x = 0.5, y = 0}, @@ -28,7 +30,7 @@ local function hud_show(player) alignment = {x = 0, y = 1}, scale = {x = 100, y = 100}, style = 1, - number = 0xFFFFFF + number = 0xFFFFFF, }) for i = 1, #players do @@ -42,7 +44,7 @@ local function hud_show(player) text = uname, alignment = {x = 0, y = 1}, scale = {x = 100, y = 100}, - number = 0xFFFFFF + number = 0xFFFFFF, }) huds[#huds + 1] = player:hud_add({ hud_elem_type = "image", @@ -51,7 +53,7 @@ local function hud_show(player) text = "server_ping_" .. ping .. ".png", alignment = {x = 1, y = 1}, scale = {x = 1.5, y = 1.5}, - number = 0xFFFFFF + number = 0xFFFFFF, }) end playerlist.huds[name] = huds @@ -90,4 +92,4 @@ minetest.register_globalstep(function(dtime) hud_remove(player) end end -end) \ No newline at end of file +end) diff --git a/archtec/scripts/playtime.lua b/archtec/scripts/playtime.lua index df4be8f..2c5ed73 100644 --- a/archtec/scripts/playtime.lua +++ b/archtec/scripts/playtime.lua @@ -3,13 +3,14 @@ archtec_playerdata.register_key("playtime", "number", 0) archtec_playerdata.register_key("first_join", "number", 0) archtec_playerdata.register_key("join_count", "number", 0) -local months = {Jan = 1, Feb = 2, Mar = 3, Apr = 4, May = 5, Jun = 6, Jul = 7, Aug = 8, Sep = 9, Oct = 10, Nov = 11, Dec = 12} +local months = + {Jan = 1, Feb = 2, Mar = 3, Apr = 4, May = 5, Jun = 6, Jul = 7, Aug = 8, Sep = 9, Oct = 10, Nov = 11, Dec = 12} local function string_to_timestamp(s) local p = "(%a+) (%a+)(%s+)(%d+) (%d+):(%d+):(%d+) (%d+)" local _, month, _, day, hour, min, sec, year = s:match(p) month = months[month] local offset = os.time() - os.time(os.date("!*t")) - return(os.time({day = day, month = month, year = year, hour = hour, min = min, sec = sec}) + offset) + return (os.time({day = day, month = month, year = year, hour = hour, min = min, sec = sec}) + offset) end minetest.register_on_joinplayer(function(player) @@ -25,7 +26,10 @@ minetest.register_on_joinplayer(function(player) local int = string_to_timestamp(str) archtec_playerdata.set(name, "first_join", int) player:get_meta():set_string("archtec:joined", nil) - minetest.log("action", "[archtec] removed 'archtec:joined' meta of '" .. name .. "' (moved to archtec_playerdata)") + minetest.log( + "action", + "[archtec] removed 'archtec:joined' meta of '" .. name .. "' (moved to archtec_playerdata)" + ) else archtec_playerdata.set(name, "first_join", os.time()) end @@ -37,4 +41,4 @@ minetest.register_on_leaveplayer(function(player) local playtime = os.time() - current_playtime[name] archtec_playerdata.mod(name, "playtime", playtime) current_playtime[name] = nil -end) \ No newline at end of file +end) diff --git a/archtec/scripts/prejoin.lua b/archtec/scripts/prejoin.lua index 40cbff0..6673290 100644 --- a/archtec/scripts/prejoin.lua +++ b/archtec/scripts/prejoin.lua @@ -4,4 +4,4 @@ end) minetest.register_can_bypass_userlimit(function(name, ip) return minetest.check_player_privs(name, {staff = true}) -end) \ No newline at end of file +end) diff --git a/archtec/scripts/privs.lua b/archtec/scripts/privs.lua index a2de5c5..9c59848 100644 --- a/archtec/scripts/privs.lua +++ b/archtec/scripts/privs.lua @@ -16,11 +16,17 @@ function archtec.check_areas_high_limit(name, privs) local playtime = archtec_playerdata.get(name, "playtime") if playtime > archtec.big_areas_playtime then archtec.priv_grant(name, "areas_high_limit") - minetest.chat_send_player(name, C("#00BD00", S("Congratulations! You have been granted the '@1' privilege.", "areas_high_limit"))) + minetest.chat_send_player( + name, + C("#00BD00", S("Congratulations! You have been granted the '@1' privilege.", "areas_high_limit")) + ) archtec.notify_team("[areas_high_limit] Granted '" .. name .. "' the 'areas_high_limit' priv") return true else - minetest.chat_send_player(name, C("#FF0000", S("You do not have @1 hours (or more) playtime", archtec.big_areas_playtime))) + minetest.chat_send_player( + name, + C("#FF0000", S("You do not have @1 hours (or more) playtime", archtec.big_areas_playtime)) + ) return end end @@ -60,4 +66,4 @@ minetest.register_on_mods_loaded(function() if failure == true then error("Unknown privs in 'defaults_privs', please change the server config!") end -end) \ No newline at end of file +end) diff --git a/archtec/scripts/privs_cache.lua b/archtec/scripts/privs_cache.lua index 5db41fc..e84ed05 100644 --- a/archtec/scripts/privs_cache.lua +++ b/archtec/scripts/privs_cache.lua @@ -13,7 +13,15 @@ minetest.get_player_privs = function(name) cache[name] = privs else local d = debug.getinfo(2, "nS") - minetest.log("error", "[archtec] called 'get_player_privs' with wrong data type '" .. type(name) .. "' called from " .. (d.source or "") .. "@" .. (d.linedefined or "")) + minetest.log( + "error", + "[archtec] called 'get_player_privs' with wrong data type '" + .. type(name) + .. "' called from " + .. (d.source or "") + .. "@" + .. (d.linedefined or "") + ) privs = {} end else @@ -27,7 +35,7 @@ end local old_set_player_privs = minetest.set_player_privs minetest.set_player_privs = function(name, privs) cache[name] = privs - old_set_player_privs(name, privs); + old_set_player_privs(name, privs) end minetest.register_on_leaveplayer(function(player) @@ -40,5 +48,5 @@ minetest.register_chatcommand("privs_cache", { func = function(name) minetest.log("action", "[/privs_cache] executed by '" .. name .. "'") minetest.chat_send_player(name, "Hit: " .. hit_count .. ", Miss: " .. miss_count) - end + end, }) diff --git a/archtec/scripts/pvp.lua b/archtec/scripts/pvp.lua index 2f59557..daa6246 100644 --- a/archtec/scripts/pvp.lua +++ b/archtec/scripts/pvp.lua @@ -20,14 +20,14 @@ local function pvp_enable(name, player, init) data[name].pvp_pic_on = player:hud_add({ hud_elem_type = "image", position = {x = 1, y = 0}, - offset = {x=-210, y = 20}, + offset = {x = -210, y = 20}, scale = {x = 1, y = 1}, text = "archtec_pvp_on.png", }) data[name].pvp_text_on = player:hud_add({ hud_elem_type = "text", position = {x = 1, y = 0}, - offset = {x=-125, y = 20}, + offset = {x = -125, y = 20}, scale = {x = 100, y = 100}, text = S("PvP is enabled for you!"), number = 0xFF0000, -- Red @@ -56,7 +56,7 @@ local function pvp_disable(name, player, init) data[name].pvp_text_off = player:hud_add({ hud_elem_type = "text", position = {x = 1, y = 0}, - offset = {x=-125, y = 20}, + offset = {x = -125, y = 20}, scale = {x = 100, y = 100}, text = S("PvP is disabled for you!"), number = 0x7DC435, @@ -123,7 +123,7 @@ if minetest.get_modpath("unified_inventory") then else pvp_enable(name, player) end - end + end, }) end @@ -169,5 +169,5 @@ minetest.register_chatcommand("pvp", { else minetest.chat_send_player(name, C("#FF0000", "[pvp] Unknown mode!")) end - end -}) \ No newline at end of file + end, +}) diff --git a/archtec/scripts/random_things.lua b/archtec/scripts/random_things.lua index adeb2de..0edcc53 100644 --- a/archtec/scripts/random_things.lua +++ b/archtec/scripts/random_things.lua @@ -51,7 +51,7 @@ minetest.register_chatcommand("thankyou", { archtec_playerdata.mod(target, "thank_you", 1) minetest.chat_send_all(minetest.colorize("#00BD00", S("@1 said thank you to @2.", name, target))) archtec_matterbridge.send(":wave: **" .. name .. "** said thank you to **" .. target .. "**.") - end + end, }) -- Falling nodes cleanup command @@ -68,7 +68,10 @@ local function remove_falling_nodes(pos) local nodep = vector.round(pos2) nodep.y = nodep.y - 1 if minetest.get_node(nodep).name == "air" or nodep.y < -30912 then - minetest.log("action", "[falling_nodes_cleaner] remove falling entity at " .. minetest.pos_to_string(pos2)) + minetest.log( + "action", + "[falling_nodes_cleaner] remove falling entity at " .. minetest.pos_to_string(pos2) + ) object:remove() c = c + 1 end @@ -91,7 +94,7 @@ minetest.register_chatcommand("falling_nodes_cleanup", { end counter = remove_falling_nodes(player:get_pos()) minetest.chat_send_player(name, minetest.colorize("#00BD00", "Removed " .. counter .. " falling node(s)")) - end + end, }) -- Shutdown command @@ -99,15 +102,19 @@ minetest.register_chatcommand("sd", { description = "Shuts the server down after a 10 seconds delay.", privs = {staff = true}, func = function(name, delay) - if delay == "" or type(tonumber(delay)) ~= "number" then delay = 10 end + if delay == "" or type(tonumber(delay)) ~= "number" then + delay = 10 + end -- notify all local logmsg = name .. " requested a server shutdown in " .. delay .. " seconds." minetest.log("warning", logmsg) archtec_matterbridge.send(":anger: " .. logmsg) - minetest.chat_send_all(minetest.colorize("#FF0", S("@1 requested a server shutdown in @2 seconds.", name, delay))) + minetest.chat_send_all( + minetest.colorize("#FF0", S("@1 requested a server shutdown in @2 seconds.", name, delay)) + ) -- shutdown, ask for reconnect minetest.request_shutdown("The server is rebooting, please reconnect in about a minute.", true, tonumber(delay)) - end + end, }) -- Stairsplus support for ethereal:glostone (https://github.com/Archtec-io/bugtracker/issues/143) @@ -118,7 +125,7 @@ if minetest.get_modpath("stairsplus") and minetest.get_modpath("ethereal") then description = def.description, tiles = def.texture, groups = def.groups, - sounds = def.sound + sounds = def.sound, }) end @@ -127,4 +134,4 @@ archtec.register_chatcommand_alias("so", "set_owner") archtec.register_chatcommand_alias("ao", "add_owner") archtec.register_chatcommand_alias("sa", "select_area") archtec.register_chatcommand_alias("p1", "area_pos1") -archtec.register_chatcommand_alias("p2", "area_pos2") \ No newline at end of file +archtec.register_chatcommand_alias("p2", "area_pos2") diff --git a/archtec/scripts/ranks.lua b/archtec/scripts/ranks.lua index 3f20778..d925cf6 100644 --- a/archtec/scripts/ranks.lua +++ b/archtec/scripts/ranks.lua @@ -1,5 +1,5 @@ local registered = { - admin = {prefix = "[Admin]", color = {a = 255, r = 230, g = 33, b = 23}, priv = "server", prio = 3}, + admin = {prefix = "[Admin]", color = {a = 255, r = 230, g = 33, b = 23}, priv = "server", prio = 3}, mod = {prefix = "[Mod]", color = {a = 255, r = 255, g = 83, b = 37}, priv = "staff", prio = 2}, builder = {prefix = "[Builder]", color = {a = 255, r = 0, g = 189, b = 0}, priv = "builder", prio = 1}, } @@ -57,5 +57,5 @@ minetest.register_chatcommand("ranks_reload", { update_nametag(player, true) end minetest.chat_send_player(name, "Ranks reloaded") - end -}) \ No newline at end of file + end, +}) diff --git a/archtec/scripts/recipe_check.lua b/archtec/scripts/recipe_check.lua index 5e522c9..da11e1e 100644 --- a/archtec/scripts/recipe_check.lua +++ b/archtec/scripts/recipe_check.lua @@ -1,7 +1,6 @@ -- Find duplicate crafting recipes local function is_same_item(item1, item2) - local chkgroup = nil local chkitem = nil @@ -42,20 +41,17 @@ local function is_same_item(item1, item2) return false end - - local function is_same_recipe(rec1, rec2) -- Maybe TODO? : recalculation to universal format (width=0). same recipes can be defined in different ways (no samples) if not (rec1.items or rec2.items) then -- nil means no recipe that is never the same oO return false end - if rec1.type ~= rec2.type or - rec1.width ~= rec2.width then + if rec1.type ~= rec2.type or rec1.width ~= rec2.width then return false end - for i =1, 9 do -- check all fields. max recipe is 3x3e + for i = 1, 9 do -- check all fields. max recipe is 3x3e if not is_same_item(rec1.items[i], rec2.items[i]) then return false end @@ -63,28 +59,30 @@ local function is_same_recipe(rec1, rec2) return true -- checks passed, no differences found end - local known_recipes = {} local function run(pname) for name, def in futil.table.pairs_by_key(minetest.registered_items) do - if (not def.groups.not_in_creative_inventory or - def.groups.not_in_creative_inventory == 0) and - def.description and def.description ~= "" then -- check valide entrys only - + if + (not def.groups.not_in_creative_inventory or def.groups.not_in_creative_inventory == 0) + and def.description + and def.description ~= "" + then -- check valide entrys only local recipes_for_node = minetest.get_all_craft_recipes(name) if recipes_for_node ~= nil then for kn, vn in ipairs(recipes_for_node) do for ku, vu in ipairs(known_recipes) do - if vu.output ~= vn.output and - is_same_recipe(vu, vn) == true then + if vu.output ~= vn.output and is_same_recipe(vu, vn) == true then minetest.log("warning", "[recipe-check] " .. vu.output .. " " .. vn.output) if name then - minetest.chat_send_player(pname, minetest.colorize("#FF0000", "[recipe-check] " .. vu.output .. " " .. vn.output)) + minetest.chat_send_player( + pname, + minetest.colorize("#FF0000", "[recipe-check] " .. vu.output .. " " .. vn.output) + ) end end end - table.insert(known_recipes, vn ) + table.insert(known_recipes, vn) end end end @@ -98,5 +96,5 @@ minetest.register_chatcommand("recipe_check", { func = function(name) minetest.log("action", "[/recipe_check] executed by '" .. name .. "'") run(name) - end -}) \ No newline at end of file + end, +}) diff --git a/archtec/scripts/redef.lua b/archtec/scripts/redef.lua index 977fad7..bc5c9fb 100644 --- a/archtec/scripts/redef.lua +++ b/archtec/scripts/redef.lua @@ -1,7 +1,7 @@ -- 3D ladders local ladders = { {"ladder_wood", "default_ladder_wood.png", "default_wood.png"}, - {"ladder_steel", "default_ladder_steel.png", "default_steel_block.png"} + {"ladder_steel", "default_ladder_steel.png", "default_steel_block.png"}, } for l, def in pairs(ladders) do @@ -50,7 +50,7 @@ local grass_nodes = { for _, grass in pairs(grass_nodes) do local current_box = minetest.registered_nodes[grass].selection_box.fixed - if (current_box[5] > target) then + if current_box[5] > target then minetest.override_item(grass, { selection_box = { type = "fixed", @@ -61,8 +61,8 @@ for _, grass in pairs(grass_nodes) do current_box[4], target, current_box[6], - } - } + }, + }, }) end end diff --git a/archtec/scripts/report_webhook.lua b/archtec/scripts/report_webhook.lua index fd1f559..70b435b 100644 --- a/archtec/scripts/report_webhook.lua +++ b/archtec/scripts/report_webhook.lua @@ -1,7 +1,9 @@ local http = assert(...) local S = archtec.S local F = minetest.formspec_escape -local FS = function(...) return F(S(...)) end +local FS = function(...) + return F(S(...)) +end local C = minetest.colorize local webhook_url = minetest.settings:get("archtec.webhook_url") @@ -77,7 +79,7 @@ local function send_report(name, report) extra_headers = { "Accept: application/vnd.github+json", "Authorization: Bearer " .. report_gpg_key, - "X-GitHub-Api-Version: 2022-11-28" + "X-GitHub-Api-Version: 2022-11-28", }, data = json, }, function(res) @@ -85,13 +87,23 @@ local function send_report(name, report) if parse.html_url then archtec.notify_team("[archtec] " .. name .. " reported an Issue: " .. report .. " URL: " .. parse.html_url) else - archtec.notify_team("[archtec] " .. name .. " reported an Issue: " .. report .. " URL: unknown (JSON parsing error) | Response code: " .. (res.code or "unknown")) + archtec.notify_team( + "[archtec] " + .. name + .. " reported an Issue: " + .. report + .. " URL: unknown (JSON parsing error) | Response code: " + .. (res.code or "unknown") + ) end if not parse.html_url then parse.html_url = "Unknown URL" end - minetest.chat_send_player(name, C("#00BD00", S("[report] Report successfully created. GitHub URL: @1", parse.html_url))) + minetest.chat_send_player( + name, + C("#00BD00", S("[report] Report successfully created. GitHub URL: @1", parse.html_url)) + ) -- Discord webhook local body_dc = { @@ -106,7 +118,7 @@ local function send_report(name, report) embeds = {{ title = "Report by " .. name .. ":", description = table.concat(body_dc, "\n"), - }} + }}, }) if json_dc ~= nil then @@ -162,7 +174,10 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) if not check_text(fields.report_text) then minetest.close_formspec(name, "archtec:report") - minetest.chat_send_player(name, C("#FF0000", S("[report] Your text is too long and/or contains disallowed characters!"))) + minetest.chat_send_player( + name, + C("#FF0000", S("[report] Your text is too long and/or contains disallowed characters!")) + ) return true end @@ -196,5 +211,5 @@ minetest.register_chatcommand("report", { archtec_playerdata.set(name, "report_draft", text) end report_formspec(name) - end -}) \ No newline at end of file + end, +}) diff --git a/archtec/scripts/run_lua_code.lua b/archtec/scripts/run_lua_code.lua index 149d04b..3c1f98b 100644 --- a/archtec/scripts/run_lua_code.lua +++ b/archtec/scripts/run_lua_code.lua @@ -1,13 +1,22 @@ -local function runlua(code) - local func, err = loadstring(code) - if not func then -- Syntax error +-- Based on https://github.com/Uberi/Minetest-WorldEdit/blob/master/worldedit/code.lua +local function runlua(code, name) + local factory, err = loadstring("return function(name, player, pos)\n" .. code .. "\nend") + if not factory then -- Syntax error return err end - local good, err2 = pcall(func) + local func = factory() + local player, pos + if name then + player = minetest.get_player_by_name(name) + if player then + pos = vector.round(player:get_pos()) + end + end + local good, err2 = pcall(func, name, player, pos) if not good then -- Runtime error - return err2 + return tostring(err2) end - return nil + return nil, dump(err2) end minetest.register_chatcommand("lua", { @@ -15,13 +24,17 @@ minetest.register_chatcommand("lua", { description = "Executes as a Lua chunk in the global namespace", privs = {staff = true}, func = function(name, param) - local err = runlua(param) - if err then - minetest.chat_send_player(name, "-!- code error: " .. err) - minetest.log("action", name .. " tried to execute " .. param) + local err, ret = runlua(param) + if err == nil then + minetest.log("action", "[archtec] " .. name .. " executed " .. param) + if ret ~= "nil" then + minetest.chat_send_player(name, "-!- code successfully executed, returned '" .. ret .. "'") + else + minetest.chat_send_player(name, "-!- code successfully executed") + end else - minetest.chat_send_player(name, "-!- code successfully executed") - minetest.log("action", name .. " executed " .. param) + minetest.log("action", "[archtec] " .. name .. " tried to execute " .. param) + minetest.chat_send_player(name, "-!- code error: " .. err) end - end + end, }) diff --git a/archtec/scripts/settings.lua b/archtec/scripts/settings.lua index ae971cc..67521c5 100644 --- a/archtec/scripts/settings.lua +++ b/archtec/scripts/settings.lua @@ -24,7 +24,10 @@ local function tobool(v) end local function set(name, setting, val) - minetest.log("action", "[archtec_settings] set '" .. setting .. "' of player '" .. name .. "' to '" .. dump(val) .. "'") + minetest.log( + "action", + "[archtec_settings] set '" .. setting .. "' of player '" .. name .. "' to '" .. dump(val) .. "'" + ) return archtec_playerdata.set(name, "s_" .. setting, val) end @@ -38,7 +41,12 @@ archtec_playerdata.register_key("s_avd", "boolean", false) local settings = { {type = "header", title = S("Chat")}, - {type = "setting", name = "help_msg", title = S("Show help messages in chat"), description = S("Shows one message every 10 minutes.")}, + { + type = "setting", + name = "help_msg", + title = S("Show help messages in chat"), + description = S("Shows one message every 10 minutes."), + }, {type = "setting", name = "tbw_show", title = S("Show tool breakage warnings"), description = ""}, {type = "custom", name = "ncolor", title = S("Namecolor in the #main channel"), description = ""}, @@ -48,7 +56,7 @@ local settings = { {type = "header", title = S("Misc")}, {type = "setting", name = "r_id", title = S("Collect dropped items automatically"), description = ""}, - {type = "setting", name = "avd", title = S("Auto-vote \"YES\" on day votes"), description = ""}, + {type = "setting", name = "avd", title = S('Auto-vote "YES" on day votes'), description = ""}, } local setting_list = {} @@ -77,7 +85,13 @@ local function show_settings(name) fs = fs .. "checkbox[0.4," .. y .. ";" .. s_string .. ";" .. label .. ";" .. tostring(curr_val) .. "]" if default_val ~= curr_val then - fs = fs .. "image_button[10.2," .. y - 0.2 .. ";0.5,0.5;archtec_reset.png;" .. "reset_" .. def.name .. ";;false;false;]" + fs = fs + .. "image_button[10.2," + .. y - 0.2 + .. ";0.5,0.5;archtec_reset.png;" + .. "reset_" + .. def.name + .. ";;false;false;]" fs = fs .. "tooltip[" .. "reset_" .. def.name .. ";" .. F(S("Reset to default")) .. "]" end y = y + 0.6 @@ -93,7 +107,14 @@ local function show_settings(name) local idx = archtec.namecolor.get_idx(curr_val) - fs = fs .. "dropdown[0.4," .. y .. ";2.5;ncolor;" .. table.concat(archtec.namecolor.list_names, ",") .. ";" .. F(idx) .. ";true]" + fs = fs + .. "dropdown[0.4," + .. y + .. ";2.5;ncolor;" + .. table.concat(archtec.namecolor.list_names, ",") + .. ";" + .. F(idx) + .. ";true]" fs = fs .. "label[3," .. y + 0.15 .. ";" .. F(def.title) .. "]" fs = fs .. "label[3," .. y + 0.55 .. ";" .. F(colors) .. "]" y = y + 1.3 @@ -105,17 +126,23 @@ local function show_settings(name) end minetest.register_on_player_receive_fields(function(player, formname, fields) - if formname ~= "archtec:settings" then return end + if formname ~= "archtec:settings" then + return + end local name = player:get_player_name() for f, v in pairs(fields) do local setting, value if f:sub(1, 2) == "s_" then setting = f:sub(3, #f) - if setting_list[setting] == nil then return end + if setting_list[setting] == nil then + return + end value = tobool(v) elseif f:sub(1, 6) == "reset_" then setting = f:sub(7, #f) - if setting_list[setting] == nil then return end + if setting_list[setting] == nil then + return + end value = archtec_playerdata.get_default("s_" .. setting) end @@ -133,7 +160,10 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) if def ~= nil and def.id ~= curr_val then -- validity check archtec_playerdata.set(name, "s_ncolor", def.id) show_settings(name) - minetest.chat_send_player(name, S("[archtec] Your new namecolor looks like this: @1.", C(archtec.namecolor.get(name), name))) + minetest.chat_send_player( + name, + S("[archtec] Your new namecolor looks like this: @1.", C(archtec.namecolor.get(name), name)) + ) end end end) @@ -148,6 +178,6 @@ if minetest.get_modpath("unified_inventory") then local name = player:get_player_name() show_settings(name) end - end + end, }) end diff --git a/archtec/scripts/skybox.lua b/archtec/scripts/skybox.lua index 99cb596..35410fd 100644 --- a/archtec/scripts/skybox.lua +++ b/archtec/scripts/skybox.lua @@ -29,17 +29,17 @@ minetest.register_globalstep(function(dtime) local pos = player:get_pos() if allow_skybox_change(name) then if pos.y > sky_start and archtec.black_sky ~= nil then - player:set_sky({ type = "regular", clouds = true }) - player:set_sun({ visible = true, sunrise_visible = true }) - player:set_moon({ visible = true }) - player:set_stars({ visible = true }) + player:set_sky({type = "regular", clouds = true}) + player:set_sun({visible = true, sunrise_visible = true}) + player:set_moon({visible = true}) + player:set_stars({visible = true}) archtec.black_sky[name] = nil elseif pos.y < sky_start and archtec.black_sky ~= true then auroras.restore_sky(player) - player:set_sky({ base_color = "#000000", type = "plain", clouds = false }) - player:set_sun({ visible = false, sunrise_visible = false }) - player:set_moon({ visible = false }) - player:set_stars({ visible = false }) + player:set_sky({base_color = "#000000", type = "plain", clouds = false}) + player:set_sun({visible = false, sunrise_visible = false}) + player:set_moon({visible = false}) + player:set_stars({visible = false}) archtec.black_sky[name] = true end end @@ -49,4 +49,4 @@ end) minetest.register_on_leaveplayer(function(player) local name = player:get_player_name() archtec.black_sky[name] = nil -end) \ No newline at end of file +end) diff --git a/archtec/scripts/snow.lua b/archtec/scripts/snow.lua index b2e3eac..c5e949a 100644 --- a/archtec/scripts/snow.lua +++ b/archtec/scripts/snow.lua @@ -11,7 +11,7 @@ local function spawn_particles(player) minetest.add_particlespawner({ amount = 2000, minpos = vector.new(-25, 10, -25), - maxpos = vector.new( 25, 25, 25), + maxpos = vector.new(25, 25, 25), minvel = vector.new(-2, -7, -2), maxvel = vector.new(-2, -9, -2), time = math.random(30, 60), @@ -23,10 +23,13 @@ local function spawn_particles(player) collision_removal = true, object_collision = true, vertical = false, - texture = ("[combine:7x7:%s,%s=archtec_snowflakes.png"):format(math.random(0, 3) * -7, math.random(0, 1) * -7), + texture = ("[combine:7x7:%s,%s=archtec_snowflakes.png"):format( + math.random(0, 3) * -7, + math.random(0, 1) * -7 + ), playername = player:get_player_name(), attached = player, - glow = 2 + glow = 2, }) end end @@ -66,5 +69,5 @@ minetest.register_chatcommand("snow", { spawn_snow = true minetest.chat_send_player(name, "Snow mode enabled.") end - end -}) \ No newline at end of file + end, +}) diff --git a/archtec/scripts/spawn.lua b/archtec/scripts/spawn.lua index 7d3a755..f1c77ed 100644 --- a/archtec/scripts/spawn.lua +++ b/archtec/scripts/spawn.lua @@ -15,13 +15,13 @@ end minetest.register_chatcommand("spawn", { description = "Teleport to spawn", privs = {interact = true}, - func = move_to_spawn + func = move_to_spawn, }) archtec.register_chatcommand_alias("s", "spawn") minetest.register_chatcommand("spawn_old", { description = "Teleport to old spawn", privs = {interact = true}, - func = move_to_old_spawn + func = move_to_old_spawn, }) -archtec.register_chatcommand_alias("s_o", "spawn_old") \ No newline at end of file +archtec.register_chatcommand_alias("s_o", "spawn_old") diff --git a/archtec/scripts/stats.lua b/archtec/scripts/stats.lua index dced8b6..57d4822 100644 --- a/archtec/scripts/stats.lua +++ b/archtec/scripts/stats.lua @@ -6,18 +6,18 @@ local function l(t) end minetest.after(5, function() - minetest.log("action", "Registered privileges: "..l(minetest.registered_privileges)) - minetest.log("action", "Registered chat commands: "..l(minetest.registered_chatcommands)) - minetest.log("action", "Registered nodes: "..l(minetest.registered_nodes)) - minetest.log("action", "Registered items: "..l(minetest.registered_items)) - minetest.log("action", "Registered craftitems: "..l(minetest.registered_craftitems)) - minetest.log("action", "Registered tools: "..l(minetest.registered_tools)) - minetest.log("action", "Registered entities: "..l(minetest.registered_entities)) - minetest.log("action", "Registered LBMs: "..l(minetest.registered_lbms)) - minetest.log("action", "Registered ABMs: "..l(minetest.registered_abms)) - minetest.log("action", "Registered ores: "..l(minetest.registered_ores)) - minetest.log("action", "Registered biomes: "..l(minetest.registered_biomes)) - minetest.log("action", "Registered decorations: "..l(minetest.registered_decorations)) - minetest.log("action", "Registered schematics: "..l(minetest.registered_schematics)) - minetest.log("action", "Registered aliases: "..l(minetest.registered_aliases)) -end) \ No newline at end of file + minetest.log("action", "Registered privileges: " .. l(minetest.registered_privileges)) + minetest.log("action", "Registered chat commands: " .. l(minetest.registered_chatcommands)) + minetest.log("action", "Registered nodes: " .. l(minetest.registered_nodes)) + minetest.log("action", "Registered items: " .. l(minetest.registered_items)) + minetest.log("action", "Registered craftitems: " .. l(minetest.registered_craftitems)) + minetest.log("action", "Registered tools: " .. l(minetest.registered_tools)) + minetest.log("action", "Registered entities: " .. l(minetest.registered_entities)) + minetest.log("action", "Registered LBMs: " .. l(minetest.registered_lbms)) + minetest.log("action", "Registered ABMs: " .. l(minetest.registered_abms)) + minetest.log("action", "Registered ores: " .. l(minetest.registered_ores)) + minetest.log("action", "Registered biomes: " .. l(minetest.registered_biomes)) + minetest.log("action", "Registered decorations: " .. l(minetest.registered_decorations)) + minetest.log("action", "Registered schematics: " .. l(minetest.registered_schematics)) + minetest.log("action", "Registered aliases: " .. l(minetest.registered_aliases)) +end) diff --git a/archtec/scripts/status.lua b/archtec/scripts/status.lua index c689244..5bbb64d 100644 --- a/archtec/scripts/status.lua +++ b/archtec/scripts/status.lua @@ -16,4 +16,4 @@ function minetest.get_server_status(player_name, login) max_users, names ) -end \ No newline at end of file +end diff --git a/archtec/scripts/techage.lua b/archtec/scripts/techage.lua index 693f4f8..570796f 100644 --- a/archtec/scripts/techage.lua +++ b/archtec/scripts/techage.lua @@ -1,4 +1,6 @@ -if not minetest.get_modpath("techage") then return end +if not minetest.get_modpath("techage") then + return +end local S = archtec.S local old_on_place = minetest.registered_nodes["techage:forceload"].on_place or function() end @@ -7,12 +9,15 @@ minetest.override_item("techage:forceload", { local name = placer:get_player_name() if not minetest.check_player_privs(name, "forceload") then - minetest.chat_send_player(name, minetest.colorize("#FF0000", S("[Forceload Restriction]: 'forceload' priv required to use this node!"))) + minetest.chat_send_player( + name, + minetest.colorize("#FF0000", S("[Forceload Restriction]: 'forceload' priv required to use this node!")) + ) return else return old_on_place(itemstack, placer, pointed_thing) end - end + end, }) local old_on_place2 = minetest.registered_nodes["techage:forceloadtile"].on_place or function() end @@ -21,12 +26,15 @@ minetest.override_item("techage:forceloadtile", { local name = placer:get_player_name() if not minetest.check_player_privs(name, "forceload") then - minetest.chat_send_player(name, minetest.colorize("#FF0000", S("[Forceload Restriction]: 'forceload' priv required to use this node!"))) + minetest.chat_send_player( + name, + minetest.colorize("#FF0000", S("[Forceload Restriction]: 'forceload' priv required to use this node!")) + ) return else return old_on_place2(itemstack, placer, pointed_thing) end - end + end, }) local old_on_place3 = minetest.registered_nodes["techage:ta3_drillbox_pas"].on_place or function() end @@ -36,13 +44,19 @@ minetest.override_item("techage:ta3_drillbox_pas", { if not minetest.check_player_privs(name, "forceload") then archtec.priv_grant(name, "forceload") - minetest.chat_send_player(name, minetest.colorize("#00BD00", S("Congratulations! You have been granted the '@1' privilege.", "forceload"))) + minetest.chat_send_player( + name, + minetest.colorize( + "#00BD00", + S("Congratulations! You have been granted the '@1' privilege.", "forceload") + ) + ) archtec.notify_team("[techage] Granted '" .. name .. "' the 'forceload' priv") return old_on_place3(itemstack, placer, pointed_thing) else return old_on_place3(itemstack, placer, pointed_thing) end - end + end, }) -- Fix flowers. thx ethereal... @@ -56,7 +70,7 @@ local flowers = { "flowers:dandelion_white", "flowers:tulip_black", "flowers:mushroom_brown", - "flowers:mushroom_red" + "flowers:mushroom_red", } minetest.after(1, function() @@ -76,8 +90,8 @@ if minetest.get_modpath("biofuel") then minetest.register_craftitem(":biofuel:fuel_can_empty", { description = "Empty Canister of Biofuel", inventory_image = "archtec_biofuel_fuel_can_empty.png", - stack_max = 1 + stack_max = 1, }) techage.register_liquid("biofuel:fuel_can", "biofuel:fuel_can_empty", 1, "techage:gasoline") -end \ No newline at end of file +end diff --git a/archtec/scripts/tool_break.lua b/archtec/scripts/tool_break.lua index e19689c..148ee60 100644 --- a/archtec/scripts/tool_break.lua +++ b/archtec/scripts/tool_break.lua @@ -1,7 +1,9 @@ local S = archtec.S local function break_warning(itemstack, user, node, digparams) - if not user then return itemstack end + if not user then + return itemstack + end local name = user:get_player_name() local wdef = itemstack:get_definition() if not minetest.is_creative_enabled(name) then @@ -10,7 +12,7 @@ local function break_warning(itemstack, user, node, digparams) minetest.sound_play(wdef.sound.breaks, { to_player = name, pos = node.pos, - gain = 0.5 + gain = 0.5, }, true) end end @@ -27,12 +29,15 @@ local function break_warning(itemstack, user, node, digparams) end local function blacklisted(tool) - if string.sub(tool, 1, 8) == "3d_armor" or - string.sub(tool, 1, 15) == "christmas_decor" or - string.sub(tool, 1, 7) == "shields" or - string.sub(tool, 1, 18) == "invisible_3d_armor" or - string.sub(tool, 1, 17) == "unified_inventory" or - string.sub(tool, 1, 17) == "invisible_shields" then return true + if + string.sub(tool, 1, 8) == "3d_armor" + or string.sub(tool, 1, 15) == "christmas_decor" + or string.sub(tool, 1, 7) == "shields" + or string.sub(tool, 1, 18) == "invisible_3d_armor" + or string.sub(tool, 1, 17) == "unified_inventory" + or string.sub(tool, 1, 17) == "invisible_shields" + then + return true end return false end @@ -48,7 +53,10 @@ minetest.register_on_mods_loaded(function() if itemstack:get_wear() > 60135 and wdef.sound and wdef.sound.breaks then local name = user:get_player_name() if archtec_playerdata.get(name, "s_tbw_show") then - minetest.chat_send_player(name, minetest.colorize("#FF0000", S("Your tool is about to break!"))) + minetest.chat_send_player( + name, + minetest.colorize("#FF0000", S("Your tool is about to break!")) + ) minetest.sound_play(wdef.sound.breaks, { to_player = name, gain = 2.0, @@ -56,13 +64,13 @@ minetest.register_on_mods_loaded(function() end end return old_on_use(itemstack, user, pointed_thing) - end + end, }) elseif not tool.after_use then minetest.override_item(tool.name, { - after_use = break_warning + after_use = break_warning, }) end end end -end) \ No newline at end of file +end) diff --git a/archtec/scripts/vpn_blocker.lua b/archtec/scripts/vpn_blocker.lua index 018968d..7e24e0c 100644 --- a/archtec/scripts/vpn_blocker.lua +++ b/archtec/scripts/vpn_blocker.lua @@ -25,7 +25,9 @@ end minetest.after(ttl, cleanup) local function check_ip(name, ip) - if not cache[ip] then return end + if not cache[ip] then + return + end if cache[ip].result == 0 then minetest.log("action", "[archtec_vpn_blocker] Passing good-ip-player " .. name .. " [" .. ip .. "]") else @@ -48,7 +50,7 @@ end local function query_ip(name, ip) local request = { ["url"] = "https://v2.api.iphub.info/ip/" .. ip, - ["extra_headers"] = {"X-Key: " .. iphub_key} + ["extra_headers"] = {"X-Key: " .. iphub_key}, } http.fetch(request, function(result) if result.code == 429 then @@ -65,7 +67,9 @@ local function query_ip(name, ip) end local function vpn_check(name, ip, query) - if not archtec.vpn_enabled then return end -- Kill switch + if not archtec.vpn_enabled then + return + end -- Kill switch if not cache[ip] and query then query_ip(name, ip) return @@ -87,4 +91,4 @@ minetest.register_on_prejoinplayer(function(name, ip) -- on_authplayer won't wor return kick_msg end end -end) \ No newline at end of file +end) diff --git a/archtec/scripts/watch.lua b/archtec/scripts/watch.lua index 6e9a561..1c919cd 100644 --- a/archtec/scripts/watch.lua +++ b/archtec/scripts/watch.lua @@ -100,7 +100,10 @@ minetest.register_chatcommand("watch", { end if state[name] ~= nil then - minetest.chat_send_player(name, C("#FF0000", S("[watch] You are currently watching @1. Run '/unwatch' first!", state[name].target))) + minetest.chat_send_player( + name, + C("#FF0000", S("[watch] You are currently watching @1. Run '/unwatch' first!", state[name].target)) + ) return end @@ -115,13 +118,16 @@ minetest.register_chatcommand("watch", { end if state[target] then - minetest.chat_send_player(name, C("#FF0000", S("[watch] Target '@1' is watching '@2'!", target, state[target].target))) + minetest.chat_send_player( + name, + C("#FF0000", S("[watch] Target '@1' is watching '@2'!", target, state[target].target)) + ) return end attach(name, target) minetest.chat_send_player(name, C("#00BD00", S("[watch] Watching @1.", target))) - end + end, }) minetest.register_chatcommand("unwatch", { @@ -139,7 +145,7 @@ minetest.register_chatcommand("unwatch", { local target = state[name].target detach(name) minetest.chat_send_player(name, C("#00BD00", S("[unwatch] Detached you from @1.", target))) - end + end, }) minetest.register_on_leaveplayer(function(player) @@ -176,4 +182,4 @@ minetest.register_on_player_hpchange(function(player, hp_change, reason) return 0, true end return hp_change -end, true) \ No newline at end of file +end, true) diff --git a/archtec/scripts/waypoints.lua b/archtec/scripts/waypoints.lua index 305875f..e525747 100644 --- a/archtec/scripts/waypoints.lua +++ b/archtec/scripts/waypoints.lua @@ -11,7 +11,7 @@ local function waypoint_add(name) name = "[Spawn]", text = "m", number = 0xFF0000, - world_pos = pos + world_pos = pos, }) end end @@ -25,7 +25,9 @@ local function waypoint_remove(name) end archtec.settings.add_callback(function(name, setting, newvalue) - if setting ~= "sp_show" then return end + if setting ~= "sp_show" then + return + end if newvalue == true then waypoint_add(name) else diff --git a/archtec_chat/channels.lua b/archtec_chat/channels.lua index 7b54e31..ef8fad0 100644 --- a/archtec_chat/channels.lua +++ b/archtec_chat/channels.lua @@ -13,15 +13,18 @@ local cdef_default = { secured = false, -- Kicks non staff members after log out public = false, -- Allows everyone to join the channel w/o invite } -]]-- +]] +-- local user_table = { - channels = {} + channels = {}, -- default = "staff" } local function get_cdef(cname) - if not archtec_chat.channels[cname] then return nil end + if not archtec_chat.channels[cname] then + return nil + end return archtec_chat.channels[cname] end @@ -45,7 +48,9 @@ local function list_table(t) end local function get_cname(c) - if not c then return end + if not c then + return + end if c:sub(1, 1) == "#" then return c:sub(2, #c) else @@ -109,7 +114,9 @@ end function channel.send(cname, message, sender) -- minetest.log("action", "[archtec_chat] Send message '" .. message .. "' into channel '" .. cname .. "'") - if message == "" then return end + if message == "" then + return + end local cdef = get_cdef(cname) local msg = C("#FF8800", "#" .. cname .. " | " .. message) for name, _ in pairs(cdef.users) do @@ -181,7 +188,18 @@ end function channel.invite(cname, target, inviter) local cdef = get_cdef(cname) minetest.log("action", "[archtec_chat] '" .. inviter .. "' invited '" .. target .. "' to channel '" .. cname .. "'") - minetest.chat_send_player(target, C("#FF8800", S("@1 invited you to join #@2. '/c j @3' to join. It will timeout in 60 seconds. Type '/c l main' to leave the main channel.", inviter, cname, cname))) + minetest.chat_send_player( + target, + C( + "#FF8800", + S( + "@1 invited you to join #@2. '/c j @3' to join. It will timeout in 60 seconds. Type '/c l main' to leave the main channel.", + inviter, + cname, + cname + ) + ) + ) cdef.invites[target] = os.time() minetest.after(60, function(cname_new, target_new) local cdef_new = get_cdef(cname_new) @@ -203,57 +221,57 @@ local help_list = { description = "Join or create a channel. Add 'public' to your command to make new the created channel public. Add 'default' to your command to make the new created channel your default channel. (# is optional)", param = " ", shortcut = "j", - usage = "/c join #mychannel {public} {default}" + usage = "/c join #mychannel {public} {default}", }, leave = { name = "leave", description = "Leave a channel (# is optional)", param = "", shortcut = "l", - usage = "/c leave #mychannel" + usage = "/c leave #mychannel", }, invite = { name = "invite", description = "Invite someone in a channel (# is optional)", param = " ", shortcut = "i", - usage = "/c invite #mychannel Player007" + usage = "/c invite #mychannel Player007", }, list = { name = "list", description = "List all channels", param = "", shortcut = "li", - usage = "/c list" + usage = "/c list", }, find = { name = "find", description = "Finds all channels where is", param = "", shortcut = "f", - usage = "/c find Player007" + usage = "/c find Player007", }, kick = { name = "kick", description = "Kicks from . Can be used by channelowners. (# is optional)", param = " ", shortcut = "k", - usage = "/c kick #mychannel Player007" + usage = "/c kick #mychannel Player007", }, help = { name = "help", description = "Sends you the help for (or all commands)", param = "", shortcut = "h", - usage = "/c help join" + usage = "/c help join", }, default = { name = "default", description = "Sets your default channel (# is optional)", param = "", shortcut = "d", - usage = "/c default #mychannel" - } + usage = "/c default #mychannel", + }, } local tab = " " @@ -304,13 +322,18 @@ minetest.register_chatcommand("c", { end -- limit channels per user if #archtec_chat.users[name].channels >= max_user_channels then - minetest.chat_send_player(name, C("#00BD00", S("[c/join] You can't be in more than @1 channels!", max_user_channels))) + minetest.chat_send_player( + name, + C("#00BD00", S("[c/join] You can't be in more than @1 channels!", max_user_channels)) + ) return end -- create if not registered if not cdef then - local public = archtec.get_and_trim(params[3]) == "public" or archtec.get_and_trim(params[4]) == "public" - local default_channel = archtec.get_and_trim(params[3]) == "default" or archtec.get_and_trim(params[4]) == "default" + local public = archtec.get_and_trim(params[3]) == "public" + or archtec.get_and_trim(params[4]) == "public" + local default_channel = archtec.get_and_trim(params[3]) == "default" + or archtec.get_and_trim(params[4]) == "default" if type(c) == "string" and c:len() <= max_channel_lenght then channel.create(c, {owner = name, public = public}) if public then @@ -325,7 +348,10 @@ minetest.register_chatcommand("c", { end return else - minetest.chat_send_player(name, C("#FF0000", S("[c/join] Channelname contains forbidden characters or is too long!"))) + minetest.chat_send_player( + name, + C("#FF0000", S("[c/join] Channelname contains forbidden characters or is too long!")) + ) return end end @@ -404,11 +430,17 @@ minetest.register_chatcommand("c", { return end if not is_channel_owner(cdef, name) then - minetest.chat_send_player(name, C("#FF0000", S("[c/invite] You aren't authorized to invite someone to join @1!", c))) + minetest.chat_send_player( + name, + C("#FF0000", S("[c/invite] You aren't authorized to invite someone to join @1!", c)) + ) return end if not cdef.users[name] then - minetest.chat_send_player(name, C("#FF0000", S("[c/invite] You can't invite @1 since you aren't in #@2!", target, c))) + minetest.chat_send_player( + name, + C("#FF0000", S("[c/invite] You can't invite @1 since you aren't in #@2!", target, c)) + ) return end if cdef.users[target] then @@ -462,7 +494,10 @@ minetest.register_chatcommand("c", { minetest.chat_send_player(name, C("#FF0000", S("[c/find] @1 is in no channels!", target))) return end - minetest.chat_send_player(name, C("#00BD00", S("[c/find] @1 is in the following channels: @2", target, list_table(channels or {})))) + minetest.chat_send_player( + name, + C("#00BD00", S("[c/find] @1 is in the following channels: @2", target, list_table(channels or {}))) + ) elseif action == "help" or action == "h" then local help = archtec.get_and_trim(p1) if help == "" then @@ -497,7 +532,7 @@ minetest.register_chatcommand("c", { else minetest.chat_send_player(name, C("#FF0000", S("[c] Unknown sub-command! (try '/c help')"))) end - end + end, }) -return channel \ No newline at end of file +return channel diff --git a/archtec_chat/init.lua b/archtec_chat/init.lua index 3ba4e36..c030615 100644 --- a/archtec_chat/init.lua +++ b/archtec_chat/init.lua @@ -1,7 +1,7 @@ archtec_chat = { user = {}, users = {}, - channels = {} + channels = {}, } archtec_chat.channel = dofile(minetest.get_modpath("archtec_chat") .. "/channels.lua") @@ -22,4 +22,4 @@ end) minetest.register_on_leaveplayer(function(player) local name = player:get_player_name() archtec_chat.user.save(name) -end) \ No newline at end of file +end) diff --git a/archtec_mapserver/bridge/init.lua b/archtec_mapserver/bridge/init.lua index 1877d7e..60eaa10 100644 --- a/archtec_mapserver/bridge/init.lua +++ b/archtec_mapserver/bridge/init.lua @@ -30,7 +30,7 @@ local function send_stats() url = url .. "/api/minetest", extra_headers = {"Content-Type: application/json", "Authorization: " .. key}, timeout = 5, - post_data = json + post_data = json, }, function(res) local t2 = minetest.get_us_time() local post_time = t2 - t1 @@ -40,7 +40,6 @@ local function send_stats() minetest.after(mapserver.send_interval, send_stats) end) - end function mapserver.bridge_init(h, u, k) diff --git a/archtec_mapserver/init.lua b/archtec_mapserver/init.lua index 54d006a..878add8 100644 --- a/archtec_mapserver/init.lua +++ b/archtec_mapserver/init.lua @@ -1,20 +1,20 @@ mapserver = { send_interval = tonumber(minetest.settings:get("mapserver.send_interval")) or 7.1, - bridge = {} + bridge = {}, } local MP = minetest.get_modpath("archtec_mapserver") -dofile(MP.."/common.lua") -dofile(MP.."/poi.lua") +dofile(MP .. "/common.lua") +dofile(MP .. "/poi.lua") local http = minetest.request_http_api() if http then -- check if the mapserver.json is in the world-folder - local path = minetest.get_worldpath().."/mapserver.json"; + local path = minetest.get_worldpath() .. "/mapserver.json" local mapserver_cfg - local file = io.open(path, "r" ); + local file = io.open(path, "r") if file then local json = file:read("*all") mapserver_cfg = minetest.parse_json(json) @@ -36,15 +36,18 @@ if http then end end - if not mapserver_url then error("mapserver.url is not defined") end - if not mapserver_key then error("mapserver.key is not defined") end + if not mapserver_url then + error("mapserver.url is not defined") + end + if not mapserver_key then + error("mapserver.key is not defined") + end minetest.log("action", "[archtec_mapserver] starting archtec_mapserver with endpoint: " .. mapserver_url) dofile(MP .. "/bridge/init.lua") -- initialize bridge mapserver.bridge_init(http, mapserver_url, mapserver_key) - else minetest.log("warning", "[archtec_mapserver] bridge not active, additional infos will not be visible on the map") end diff --git a/archtec_mapserver/poi.lua b/archtec_mapserver/poi.lua index 63ab8a1..cca5b9e 100644 --- a/archtec_mapserver/poi.lua +++ b/archtec_mapserver/poi.lua @@ -8,17 +8,23 @@ local update_formspec = function(meta) meta:set_string("infotext", "POI, name:" .. name .. ", icon:" .. icon) - meta:set_string("formspec", "size[8,4;]" .. - -- col 1 - "field[0.2,1;4,1;name;Name;" .. name .. "]" .. - "field[4.2,1;4,1;icon;Icon;" .. icon .. "]" .. - - -- col 2 - "field[0.2,2;8,1;url;URL;" .. url .. "]" .. - - -- col 3 - "button_exit[0,3;8,1;save;Save]" .. - "") + meta:set_string( + "formspec", + "size[8,4;]" -- col 1 + .. "field[0.2,1;4,1;name;Name;" + .. name + .. "]" + .. "field[4.2,1;4,1;icon;Icon;" + .. icon + .. "]" + -- col 2 + .. "field[0.2,2;8,1;url;URL;" + .. url + .. "]" + -- col 3 + .. "button_exit[0,3;8,1;save;Save]" + .. "" + ) end local on_receive_fields = function(pos, formname, fields, sender) @@ -41,9 +47,9 @@ local register_poi = function(color, dye) minetest.register_node(":mapserver:poi_" .. color, { description = "Mapserver POI (" .. color .. ")", tiles = { - "[combine:16x16:0,0=default_gold_block.png:3,2=mapserver_poi_" .. color .. ".png" + "[combine:16x16:0,0=default_gold_block.png:3,2=mapserver_poi_" .. color .. ".png", }, - groups = {cracky=3,oddly_breakable_by_hand=3}, + groups = {cracky = 3, oddly_breakable_by_hand = 3}, sounds = default.node_sound_glass_defaults(), can_dig = mapserver.can_interact, after_place_node = mapserver.after_place_node, @@ -58,7 +64,7 @@ local register_poi = function(color, dye) update_formspec(meta) end, - on_receive_fields = on_receive_fields + on_receive_fields = on_receive_fields, }) end diff --git a/archtec_matterbridge/emoji.lua b/archtec_matterbridge/emoji.lua index ed4d9a6..035de61 100644 --- a/archtec_matterbridge/emoji.lua +++ b/archtec_matterbridge/emoji.lua @@ -20,5 +20,5 @@ return { ["🧐"] = "face_with_monocle", ["😁"] = "grin", ["❤️"] = "heart", - ["💕"] = "two_hearts" -} \ No newline at end of file + ["💕"] = "two_hearts", +} diff --git a/archtec_matterbridge/init.lua b/archtec_matterbridge/init.lua index e6d6aeb..e7983e6 100644 --- a/archtec_matterbridge/init.lua +++ b/archtec_matterbridge/init.lua @@ -11,10 +11,10 @@ archtec_matterbridge = { Niklp = "880453609530212352", LonnySophie = "882021148186009620", HomerJayS = "751543903940903034", - Juri = "298742788865130498" + Juri = "298742788865130498", }, - emojis = dofile(MP .. "/emoji.lua") + emojis = dofile(MP .. "/emoji.lua"), } if not archtec_matterbridge.token then diff --git a/archtec_matterbridge/rx.lua b/archtec_matterbridge/rx.lua index 0e07472..08452cd 100644 --- a/archtec_matterbridge/rx.lua +++ b/archtec_matterbridge/rx.lua @@ -5,7 +5,7 @@ local emojis = archtec_matterbridge.emojis local protocol = { irc = "Libera", discord = "Discord", - matrix = "Matrix" + matrix = "Matrix", } local function handle_data(data) @@ -22,7 +22,7 @@ local function handle_data(data) if data.event == "user_action" then minetest.log("action", "[archtec_matterbridge] User action '" .. data.text .. "' by '" .. data.username) minetest.chat_send_all("* " .. data.username .. " " .. data.text) - archtec_matterbridge.send(":speech_left: " .. ('%s *%s*'):format(data.username, data.text)) + archtec_matterbridge.send(":speech_left: " .. ("%s *%s*"):format(data.username, data.text)) elseif data.event == "join_leave" then return -- join/leave message, from irc for example; ignore @@ -31,13 +31,30 @@ local function handle_data(data) -- regular text if data.text:sub(1, 7) == "!status" then minetest.log("action", "[archtec_matterbridge] '" .. data.username .. "' requested the server status") - minetest.chat_send_all(C("#FF8800", data.username) .. C("#999", " requested the server status via " .. bridge .. ".")) + minetest.chat_send_all( + C("#FF8800", data.username) .. C("#999", " requested the server status via " .. bridge .. ".") + ) archtec_matterbridge.send(minetest.get_server_status(nil, false)) elseif data.text:sub(1, 4) == "!cmd" then -- user command if not archtec_matterbridge.staff_user(data.username, data.userid) then - minetest.log("action", "[archtec_matterbridge] '" .. data.username .. "' tried to execute a command via " .. bridge .. ". (Error: Only staff members can run commands)") - minetest.chat_send_all(C("#FF8800", data.username) .. C("#999", " tried to execute a command via " .. bridge .. ". (Error: Only staff members can run commands.)")) + minetest.log( + "action", + "[archtec_matterbridge] '" + .. data.username + .. "' tried to execute a command via " + .. bridge + .. ". (Error: Only staff members can run commands)" + ) + minetest.chat_send_all( + C("#FF8800", data.username) + .. C( + "#999", + " tried to execute a command via " + .. bridge + .. ". (Error: Only staff members can run commands.)" + ) + ) archtec_matterbridge.send("Error: Only staff members can run commands.") return end @@ -49,17 +66,64 @@ local function handle_data(data) end -- Check if command exists if data.command == nil or commands[data.command] == nil then - minetest.log("action", "[archtec_matterbridge] '" .. data.username .. "' tried to execute '" .. data.command .. (data.params or "") .. "' via " .. bridge .. ". (Error: Command does not exist.)") - minetest.chat_send_all(C("#FF8800", data.username) .. C("#999", " tried to execute '/" .. data.command .. (data.params or "") .. "' via " .. bridge .. ". (Error: Command does not exist.)")) + minetest.log( + "action", + "[archtec_matterbridge] '" + .. data.username + .. "' tried to execute '" + .. data.command + .. (data.params or "") + .. "' via " + .. bridge + .. ". (Error: Command does not exist.)" + ) + minetest.chat_send_all( + C("#FF8800", data.username) + .. C( + "#999", + " tried to execute '/" + .. data.command + .. (data.params or "") + .. "' via " + .. bridge + .. ". (Error: Command does not exist.)" + ) + ) archtec_matterbridge.send("Error: Command does not exist.") return end -- Check privileges - local has_privs, missing_privs = minetest.check_player_privs(data.username, commands[data.command].privs or {}) + local has_privs, missing_privs = + minetest.check_player_privs(data.username, commands[data.command].privs or {}) if not has_privs then local privs = table.concat(missing_privs, ", ") - minetest.log("action", "[archtec_matterbridge] '" .. data.username .. "' tried to execute '" .. data.command .. (data.params or "") .. "' via " .. bridge .. ". (Error: Missing privileges: " .. (privs or "unknown") .. " )") - minetest.chat_send_all(C("#FF8800", data.username) .. C("#999", " tried to execute '/" .. data.command .. (data.params or "") .. "' via " .. bridge .. ". (Error: Missing privileges: " .. (privs or "unknown") .. " )")) + minetest.log( + "action", + "[archtec_matterbridge] '" + .. data.username + .. "' tried to execute '" + .. data.command + .. (data.params or "") + .. "' via " + .. bridge + .. ". (Error: Missing privileges: " + .. (privs or "unknown") + .. " )" + ) + minetest.chat_send_all( + C("#FF8800", data.username) + .. C( + "#999", + " tried to execute '/" + .. data.command + .. (data.params or "") + .. "' via " + .. bridge + .. ". (Error: Missing privileges: " + .. (privs or "unknown") + .. " )" + ) + ) archtec_matterbridge.send("Error: Missing privileges: " .. (privs or "unknown")) return end @@ -69,7 +133,10 @@ local function handle_data(data) if name == data.username then local ret = minetest.strip_colors(minetest.get_translated_string("en", message)) if ret:sub(1, 9) == "[archtec]" or ret:sub(1, 6) == "[xban]" then - minetest.log("warning", "[archtec_matterbridge] Stopped possible notify team leak '" .. ret .. "' (1)") + minetest.log( + "warning", + "[archtec_matterbridge] Stopped possible notify team leak '" .. ret .. "' (1)" + ) else archtec_matterbridge.send(ret) end @@ -80,15 +147,34 @@ local function handle_data(data) old_chat_send_player(data.username, ret_val) local ret = minetest.strip_colors(minetest.get_translated_string("en", ret_val)) if ret:sub(1, 9) == "[archtec]" or ret:sub(1, 6) == "[xban]" then - minetest.log("warning", "[archtec_matterbridge] Stopped possible archtec notify team leak '" .. ret .. "' (2)") + minetest.log( + "warning", + "[archtec_matterbridge] Stopped possible archtec notify team leak '" .. ret .. "' (2)" + ) else archtec_matterbridge.send(ret) end end - if data.params ~= nil and data.params ~= "" then data.params = " " .. data.params end -- space between command and params - if data.params == nil then data.params = "" end - minetest.log("action", "[archtec_matterbridge] '" .. data.username .. "' executed '" .. data.command .. data.params .. "' via " .. bridge) - minetest.chat_send_all(C("#FF8800", data.username) .. C("#999", " executed '/" .. data.command .. data.params .. "' via " .. bridge .. ".")) + if data.params ~= nil and data.params ~= "" then + data.params = " " .. data.params + end -- space between command and params + if data.params == nil then + data.params = "" + end + minetest.log( + "action", + "[archtec_matterbridge] '" + .. data.username + .. "' executed '" + .. data.command + .. data.params + .. "' via " + .. bridge + ) + minetest.chat_send_all( + C("#FF8800", data.username) + .. C("#999", " executed '/" .. data.command .. data.params .. "' via " .. bridge .. ".") + ) minetest.chat_send_player = old_chat_send_player else local text = data.text:gsub("\n", " ") @@ -99,12 +185,11 @@ local function handle_data(data) end end - local function recv_loop() http.fetch({ url = archtec_matterbridge.url .. "/api/messages", extra_headers = { - "Authorization: Bearer " .. archtec_matterbridge.token + "Authorization: Bearer " .. archtec_matterbridge.token, }, timeout = 10, }, function(res) @@ -123,9 +208,14 @@ local function recv_loop() end else -- ignore errors - minetest.log("error", "[archtec_matterbridge] http request to " .. archtec_matterbridge.url .. " failed with code " .. res.code) + minetest.log( + "error", + "[archtec_matterbridge] http request to " + .. archtec_matterbridge.url + .. " failed with code " + .. res.code + ) end - end) -- re-schedule receive function in any case minetest.after(0.5, recv_loop) diff --git a/archtec_matterbridge/tx.lua b/archtec_matterbridge/tx.lua index 72431d6..915a75c 100644 --- a/archtec_matterbridge/tx.lua +++ b/archtec_matterbridge/tx.lua @@ -8,14 +8,14 @@ archtec_matterbridge.send = function(message, channel, event) method = "POST", extra_headers = { "Content-Type: application/json", - "Authorization: Bearer " .. archtec_matterbridge.token + "Authorization: Bearer " .. archtec_matterbridge.token, }, timeout = 5, data = minetest.write_json({ gateway = channel or "MT-POST", text = message, - event = event - }) + event = event, + }), }, function() -- ignore errors end) @@ -27,12 +27,12 @@ minetest.override_chatcommand("me", { local msg = archtec.get_and_trim(param) if msg ~= "" then minetest.chat_send_all("* " .. name .. " " .. param) - archtec_matterbridge.send(":speech_left: " .. ('%s *%s*'):format(name, param)) + archtec_matterbridge.send(":speech_left: " .. ("%s *%s*"):format(name, param)) else minetest.chat_send_player(name, minetest.colorize("#FF0000", "[/me] No message provided!")) end return true - end + end, }) -- join player message diff --git a/archtec_physic/init.lua b/archtec_physic/init.lua index 201e361..9a409bc 100644 --- a/archtec_physic/init.lua +++ b/archtec_physic/init.lua @@ -16,7 +16,8 @@ player_map: A map from player names to their effect tables. Effect tables are maps from effect IDs to values. value_cache: A map from player names to the cached value for the monoid. next_id: The next unique ID to assign an effect. -]]-- +]] +-- local function monoid(def) local mon = {} @@ -95,7 +96,9 @@ function mon_meta:del_change(player, id) local def = self.def local p_effects = self.player_map[p_name] - if p_effects == nil then return end + if p_effects == nil then + return + end local old_total = self.value_cache[p_name] p_effects[id] = nil @@ -111,8 +114,9 @@ function mon_meta:value(player) return self.value_cache[p_name] or self.def.identity end - -local function mult(x, y) return x * y end +local function mult(x, y) + return x * y +end local function mult_fold(elems) local tot = 1 diff --git a/archtec_playerdata/init.lua b/archtec_playerdata/init.lua index fbe7eca..9efc055 100644 --- a/archtec_playerdata/init.lua +++ b/archtec_playerdata/init.lua @@ -1,10 +1,11 @@ --[[ Copyright (C) 2023-24 Niklp GNU Lesser General Public License v2.1 See LICENSE.txt for more information -]]-- +]] +-- archtec_playerdata = { - api_version = 2 + api_version = 2, } -- Init some basic stuff @@ -40,21 +41,28 @@ local system = { -- Logging and error helpers local function log_debug(func, str) if debug_mode then - minetest.log("action", "[archtec_playerdata] " .. func .. "() ".. str) + minetest.log("action", "[archtec_playerdata] " .. func .. "() " .. str) end end local function log_action(func, str) - minetest.log("action", "[archtec_playerdata] " .. func .. "() ".. str) + minetest.log("action", "[archtec_playerdata] " .. func .. "() " .. str) end local function log_error(func, str) - minetest.log("warning", "[archtec_playerdata] " .. func .. "() ".. str) - archtec.notify_team("[archtec_playerdata] Something went wrong, error message: " .. "[archtec_playerdata] " .. func .. "() ".. str .. ".") + minetest.log("warning", "[archtec_playerdata] " .. func .. "() " .. str) + archtec.notify_team( + "[archtec_playerdata] Something went wrong, error message: " + .. "[archtec_playerdata] " + .. func + .. "() " + .. str + .. "." + ) end local function api_error(func, str) - error("[archtec_playerdata] " .. func .. "() ".. str, 2) + error("[archtec_playerdata] " .. func .. "() " .. str, 2) end -- Validation helpers @@ -180,7 +188,7 @@ local function data_save(name, unload_now) local raw = minetest.write_json(data_copy) if raw == nil then - log_error("data_save", "failed to generate json for '" .. name .. "'; lua table " .. dump(data_copy)) + log_error("data_save", "failed to generate json for '" .. name .. "'; lua table " .. dumpx(data_copy)) return false end @@ -293,7 +301,7 @@ minetest.register_chatcommand("playerdata_backup", { else minetest.chat_send_player(name, "Backup failed, please check the logs!") end - end + end, }) -- Callbacks to engine @@ -326,7 +334,16 @@ minetest.register_globalstep(function(dtime) local t1 = minetest.get_us_time() if #users > 0 then - log_action("save_step", "saved data of " .. #saved .. " player(s) in " .. (t1 - t0) / 1000 .. " ms; data of " .. #users .. " player(s) is loaded") + log_action( + "save_step", + "saved data of " + .. #saved + .. " player(s) in " + .. (t1 - t0) / 1000 + .. " ms; data of " + .. #users + .. " player(s) is loaded" + ) end end @@ -404,7 +421,10 @@ local function run_actions() for key, value in pairs(data[name]) do if system.keys[key] and system.keys[key].key_type ~= type(value) then stats.wrong_type[key] = (stats.wrong_type[key] or 0) + 1 - log_error("run_actions", "found " .. key .. "=" .. dump(value) .. " with wrong type in data of '" .. name .. "'") + log_error( + "run_actions", + "found " .. key .. "=" .. dumpx(value) .. " with wrong type in data of '" .. name .. "'" + ) end end @@ -472,8 +492,17 @@ function archtec_playerdata.register_key(key_name, key_type, default_value, temp end system.keys[key_name] = {key_type = key_type, default_value = default_value, temp = temp} - log_debug("register_key", "registered key '" .. key_name .. "' with type=" .. key_type - .. ", default_value=" .. dumpx(default_value) .. ", temp=" .. bool_to_str(temp)) + log_debug( + "register_key", + "registered key '" + .. key_name + .. "' with type=" + .. key_type + .. ", default_value=" + .. dumpx(default_value) + .. ", temp=" + .. bool_to_str(temp) + ) end function archtec_playerdata.register_upgrade(key_name, identifier, run_always, func) @@ -632,7 +661,10 @@ function archtec_playerdata.set(name, key_name, value) end if type(value) ~= system.keys[key_name].key_type then - log_error("set", "tried to set '" .. key_name .. "' of '" .. name .. "' to wrong data type '" .. type(value) .. "'") + log_error( + "set", + "tried to set '" .. key_name .. "' of '" .. name .. "' to wrong data type '" .. type(value) .. "'" + ) return false end @@ -673,7 +705,10 @@ function archtec_playerdata.mod(name, key_name, value) end if type(value) ~= "number" then - log_error("mod", "tried to mod '" .. key_name .. "' of '" .. name .. "' with wrong data type '" .. type(key_name) .. "'") + log_error( + "mod", + "tried to mod '" .. key_name .. "' of '" .. name .. "' with wrong data type '" .. type(key_name) .. "'" + ) return false end @@ -688,7 +723,10 @@ function archtec_playerdata.mod(name, key_name, value) end data[name][key_name] = old_value + value - log_debug("mod", "set '" .. key_name .. "' of '" .. name .. "' to '" .. data[name][key_name] .. "' (add '" .. value .. "')") + log_debug( + "mod", + "set '" .. key_name .. "' of '" .. name .. "' to '" .. data[name][key_name] .. "' (add '" .. value .. "')" + ) data[name].system_data_changed = true if system.mode == "shutdown" then @@ -708,8 +746,8 @@ minetest.register_chatcommand("playerdata_debug", { else minetest.chat_send_player(name, "[archtec_playerdata] Disabled debug mode.") end - end + end, }) -- Load other stuff -dofile(modpath .. "/stats.lua") \ No newline at end of file +dofile(modpath .. "/stats.lua") diff --git a/archtec_playerdata/migrate.lua b/archtec_playerdata/migrate.lua index 0f34e7f..8783f16 100644 --- a/archtec_playerdata/migrate.lua +++ b/archtec_playerdata/migrate.lua @@ -23,4 +23,5 @@ end local json = minetest.write_json(new) minetest.safe_file_write(minetest.get_worldpath() .. "/dump_v2.txt", json) -]]-- \ No newline at end of file +]] +-- diff --git a/archtec_playerdata/stats.lua b/archtec_playerdata/stats.lua index 336313a..412874f 100644 --- a/archtec_playerdata/stats.lua +++ b/archtec_playerdata/stats.lua @@ -1,6 +1,8 @@ local S = minetest.get_translator("archtec_playerdata") local F = minetest.formspec_escape -local FS = function(...) return F(S(...)) end +local FS = function(...) + return F(S(...)) +end local C = minetest.colorize local mod = archtec_playerdata.mod @@ -16,7 +18,7 @@ local function format_duration(seconds) end local function format_int(number) - local _, _, minus, int, fraction = tostring(number):find('([-]?)(%d+)([.]?%d*)') + local _, _, minus, int, fraction = tostring(number):find("([-]?)(%d+)([.]?%d*)") int = int:reverse():gsub("(%d%d%d)", "%1,") return minus .. int:reverse():gsub("^,", "") .. fraction end @@ -33,7 +35,9 @@ end) archtec_playerdata.register_key("nodes_dug", "number", 0) minetest.register_on_dignode(function(_, _, digger) - if not digger then return end + if not digger then + return + end local name = digger:get_player_name() if name ~= nil and uses_choppy[name] == nil then mod(name, "nodes_dug", 1) @@ -42,7 +46,9 @@ end) archtec_playerdata.register_key("nodes_placed", "number", 0) minetest.register_on_placenode(function(_, _, placer, _, _, _) - if not placer then return end + if not placer then + return + end local name = placer:get_player_name() if name ~= nil then mod(name, "nodes_placed", 1) @@ -51,7 +57,9 @@ end) archtec_playerdata.register_key("items_crafted", "number", 0) minetest.register_on_craft(function(_, player, _, _) - if not player then return end + if not player then + return + end local name = player:get_player_name() if name ~= nil then mod(name, "items_crafted", 1) @@ -60,7 +68,9 @@ end) archtec_playerdata.register_key("died", "number", 0) minetest.register_on_dieplayer(function(player, _) - if not player then return end + if not player then + return + end local name = player:get_player_name() if name ~= nil then mod(name, "died", 1) @@ -71,20 +81,34 @@ end) local function colorize_privs(name, data, privs) local t = {lava = 0, chainsaw = 0, forceload = 0, areas = 0} -- lava - if data.playtime > archtec.adv_buckets_playtime then t.lava = 1 end - if privs.adv_buckets then t.lava = 2 end + if data.playtime > archtec.adv_buckets_playtime then + t.lava = 1 + end + if privs.adv_buckets then + t.lava = 2 + end -- chainsaw - if archtec.chainsaw_conditions(name) then t.chainsaw = 1 end - if privs.archtec_chainsaw then t.chainsaw = 2 end + if archtec.chainsaw_conditions(name) then + t.chainsaw = 1 + end + if privs.archtec_chainsaw then + t.chainsaw = 2 + end -- forceload (no check needed) t.forceload = 1 - if privs.forceload then t.forceload = 2 end + if privs.forceload then + t.forceload = 2 + end -- areas - if data.playtime > archtec.big_areas_playtime then t.areas = 1 end - if privs.areas_high_limit then t.areas = 2 end + if data.playtime > archtec.big_areas_playtime then + t.areas = 1 + end + if privs.areas_high_limit then + t.areas = 2 + end local colorized = {} for priv, v in pairs(t) do @@ -189,7 +213,7 @@ minetest.register_chatcommand("stats", { return end stats_formspec(name, target) - end + end, }) -- XP stuff @@ -239,10 +263,14 @@ local function generate_ranking() -- Sort data (A > B) local sorted = {} for name, stats in pairs(users) do - table.sort(stats, function(a, b) return a.xp > b.xp end) + table.sort(stats, function(a, b) + return a.xp > b.xp + end) sorted[#sorted + 1] = {name, stats.xp} end - table.sort(sorted, function(a, b) return a[2] > b[2] end) + table.sort(sorted, function(a, b) + return a[2] > b[2] + end) for i, entry in ipairs(sorted) do local name, xp = entry[1], entry[2] @@ -266,7 +294,9 @@ local function rank_formspec(name) "formspec_version[3]", "size[10,10]", "box[0.3,0.3;9.4,0.5;#c6e8ff]", - "label[0.4,0.55;" .. FS("Player ranking - @1 players earned @2 XP", xp_rank.user_count, format_int(xp_rank.all)) .. "]", + "label[0.4,0.55;" + .. FS("Player ranking - @1 players earned @2 XP", xp_rank.user_count, format_int(xp_rank.all)) + .. "]", "hypertext[3.5,1.2;3,1;;
1st " .. F(xp_rank.names[1]) .. "
]", "item_image[4,1.4;2,2;cups:cup_gold]", "hypertext[0,1.8;3,1;;
2nd " .. F(xp_rank.names[2]) .. "
]", @@ -286,5 +316,5 @@ minetest.register_chatcommand("rank", { func = function(name) minetest.log("action", "[/rank] executed by '" .. name .. "'") rank_formspec(name) - end -}) \ No newline at end of file + end, +}) diff --git a/archtec_teleport/init.lua b/archtec_teleport/init.lua index 79375ca..a7db1f8 100644 --- a/archtec_teleport/init.lua +++ b/archtec_teleport/init.lua @@ -1,6 +1,6 @@ archtec_teleport = { tpr = {}, - tp2me = {} + tp2me = {}, } local S = minetest.get_translator("archtec_teleport") @@ -13,9 +13,9 @@ local range = 1 local vectors = {} do - for x = - range, range do - for y = - range, range do - for z = - range, range do + for x = -range, range do + for y = -range, range do + for z = -range, range do if not (x == 0 and z == 0) then -- ignore places higher/lower the player pos vectors[#vectors + 1] = {x = x, y = y, z = z} end @@ -46,14 +46,24 @@ end -- Create tpr/tp2me function archtec_teleport.tpr_create(name, target) - minetest.chat_send_player(name, C("#FF8800", S("[tpr] Teleport request sent. It will timeout in @1 seconds.", timeout))) - minetest.chat_send_player(target, C("#FF8800", S("[tpr] @1 is requesting to teleport to you. Run '/ok' to accept.", name))) + minetest.chat_send_player( + name, + C("#FF8800", S("[tpr] Teleport request sent. It will timeout in @1 seconds.", timeout)) + ) + minetest.chat_send_player( + target, + C("#FF8800", S("[tpr] @1 is requesting to teleport to you. Run '/ok' to accept.", name)) + ) local time = os.time() archtec_teleport.tpr[target] = {name = name, created = time} minetest.after(timeout, function() - if archtec_teleport.tpr[target] and archtec_teleport.tpr[target].name == name and archtec_teleport.tpr[target].created == time then + if + archtec_teleport.tpr[target] + and archtec_teleport.tpr[target].name == name + and archtec_teleport.tpr[target].created == time + then minetest.chat_send_player(name, C("#FF8800", S("[tpr] Your request to teleport to @1 timed-out.", target))) minetest.chat_send_player(target, C("#FF8800", S("[tpr] Teleport request by @1 timed-out.", name))) @@ -63,16 +73,32 @@ function archtec_teleport.tpr_create(name, target) end function archtec_teleport.tp2me_create(name, target) - minetest.chat_send_player(name, C("#FF8800", S("[tp2me] Teleport request sent. It will timeout in @1 seconds.", timeout))) - minetest.chat_send_player(target, C("#FF8800", S("[tp2me] @1 is requesting to teleport you to them. Run '/ok' to accept.", name))) + minetest.chat_send_player( + name, + C("#FF8800", S("[tp2me] Teleport request sent. It will timeout in @1 seconds.", timeout)) + ) + minetest.chat_send_player( + target, + C("#FF8800", S("[tp2me] @1 is requesting to teleport you to them. Run '/ok' to accept.", name)) + ) local time = os.time() archtec_teleport.tp2me[target] = {name = name, created = time} minetest.after(timeout, function() - if archtec_teleport.tp2me[target] and archtec_teleport.tp2me[target].name == name and archtec_teleport.tp2me[target].created == time then - minetest.chat_send_player(name, C("#FF8800", S("[tp2me] Your request to teleport @1 to you timed-out.", target))) - minetest.chat_send_player(target, C("#FF8800", S("[tp2me] Teleport request to teleport you to @1 timed-out.", name))) + if + archtec_teleport.tp2me[target] + and archtec_teleport.tp2me[target].name == name + and archtec_teleport.tp2me[target].created == time + then + minetest.chat_send_player( + name, + C("#FF8800", S("[tp2me] Your request to teleport @1 to you timed-out.", target)) + ) + minetest.chat_send_player( + target, + C("#FF8800", S("[tp2me] Teleport request to teleport you to @1 timed-out.", name)) + ) archtec_teleport.tp2me[target] = nil end @@ -89,22 +115,37 @@ function archtec_teleport.tpr_accept(name, target) -- name gets teleported; targ return end - if player_api.player_attached[target]then - minetest.chat_send_player(target, C("#FF0000", S("[tpr] You can't accept the teleport request since you're attached to something!"))) + if player_api.player_attached[target] then + minetest.chat_send_player( + target, + C("#FF0000", S("[tpr] You can't accept the teleport request since you're attached to something!")) + ) return end if player_api.player_attached[name] or archtec.physics_locked(player) then - minetest.chat_send_player(name, C("#FF0000", S("[tpr] @1 tried to accept the teleport request but you are attached to something!", target))) - minetest.chat_send_player(target, C("#FF0000", S("[tpr] @1 is currently attached to something. You can't accept the teleport request!", name))) + minetest.chat_send_player( + name, + C("#FF0000", S("[tpr] @1 tried to accept the teleport request but you are attached to something!", target)) + ) + minetest.chat_send_player( + target, + C("#FF0000", S("[tpr] @1 is currently attached to something. You can't accept the teleport request!", name)) + ) return end local pos = find_safe_pos(target_obj:get_pos()) if not pos then - minetest.chat_send_player(name, C("#FF0000", S("[tpr] @1 tried to accept the teleport request but isn't at a safe spot!", target))) - minetest.chat_send_player(target, C("#FF0000", S("[tpr] You can't accept the teleport request because you aren't at a safe spot!"))) + minetest.chat_send_player( + name, + C("#FF0000", S("[tpr] @1 tried to accept the teleport request but isn't at a safe spot!", target)) + ) + minetest.chat_send_player( + target, + C("#FF0000", S("[tpr] You can't accept the teleport request because you aren't at a safe spot!")) + ) return end @@ -115,7 +156,18 @@ function archtec_teleport.tpr_accept(name, target) -- name gets teleported; targ minetest.chat_send_player(target, C("#FF8800", S("[tpr] You accepted @1's request to teleport to you.", name))) player:set_pos(pos) - minetest.log("action", "[archtec_teleport] '" .. target .. "' accepted a tpr by '" .. name .. "' ('" .. name .. "' gets teleported to '" .. target .. "')") + minetest.log( + "action", + "[archtec_teleport] '" + .. target + .. "' accepted a tpr by '" + .. name + .. "' ('" + .. name + .. "' gets teleported to '" + .. target + .. "')" + ) archtec_teleport.tpr[target] = nil end @@ -129,32 +181,67 @@ function archtec_teleport.tp2me_accept(name, target) -- name nothing; target /ok end if player_api.player_attached[target] or archtec.physics_locked(target_obj) then - minetest.chat_send_player(target, C("#FF0000", S("[tp2me] You can't accept the teleport request since you're attached to something!"))) + minetest.chat_send_player( + target, + C("#FF0000", S("[tp2me] You can't accept the teleport request since you're attached to something!")) + ) return end if player_api.player_attached[name] or archtec.physics_locked(player) then - minetest.chat_send_player(name, C("#FF0000", S("[tp2me] @1 tried to accept the teleport request but you are attached to something!", target))) - minetest.chat_send_player(target, C("#FF0000", S("[tp2me] @1 is currently attached to something. You can't accept the teleport request!", name))) + minetest.chat_send_player( + name, + C( + "#FF0000", + S("[tp2me] @1 tried to accept the teleport request but you are attached to something!", target) + ) + ) + minetest.chat_send_player( + target, + C( + "#FF0000", + S("[tp2me] @1 is currently attached to something. You can't accept the teleport request!", name) + ) + ) return end local pos = find_safe_pos(player:get_pos()) if not pos then - minetest.chat_send_player(name, C("#FF0000", S("[tp2me] @1 tried to accept the teleport request but you aren't at a safe spot!", target))) - minetest.chat_send_player(target, C("#FF0000", S("[tp2me] You can't accept the teleport request because @1 isn't at a safe spot!", name))) + minetest.chat_send_player( + name, + C("#FF0000", S("[tp2me] @1 tried to accept the teleport request but you aren't at a safe spot!", target)) + ) + minetest.chat_send_player( + target, + C("#FF0000", S("[tp2me] You can't accept the teleport request because @1 isn't at a safe spot!", name)) + ) return end minetest.sound_play("archtec_teleport_warp", {to_player = name, gain = 0.5}, true) minetest.sound_play("archtec_teleport_warp", {to_player = target, gain = 0.5}, true) - minetest.chat_send_player(name, C("#FF8800", S("[tp2me] @1 accepted your request to teleport them to you.", target))) + minetest.chat_send_player( + name, + C("#FF8800", S("[tp2me] @1 accepted your request to teleport them to you.", target)) + ) minetest.chat_send_player(target, C("#FF8800", S("[tp2me] You accepted @1's request to teleport to them.", name))) target_obj:set_pos(pos) - minetest.log("action", "[archtec_teleport] '" .. target .. "' accepted a tp2me by '" .. name .. "' ('" .. target .. "' gets teleported to '" .. name .. "')") + minetest.log( + "action", + "[archtec_teleport] '" + .. target + .. "' accepted a tp2me by '" + .. name + .. "' ('" + .. target + .. "' gets teleported to '" + .. name + .. "')" + ) archtec_teleport.tp2me[target] = nil end @@ -188,17 +275,23 @@ minetest.register_chatcommand("tpr", { end if archtec_teleport.tpr[target] then - minetest.chat_send_player(name, C("#FF0000", S("[tpr] Sorry, there's already a teleport request for @1 running!", target))) + minetest.chat_send_player( + name, + C("#FF0000", S("[tpr] Sorry, there's already a teleport request for @1 running!", target)) + ) return end if player_api.player_attached[name] or archtec.physics_locked(minetest.get_player_by_name(name)) then - minetest.chat_send_player(name, C("#FF0000", S("[tpr] You are attached so something, can't create teleport request!"))) + minetest.chat_send_player( + name, + C("#FF0000", S("[tpr] You are attached so something, can't create teleport request!")) + ) return end archtec_teleport.tpr_create(name, target) - end + end, }) minetest.register_chatcommand("tp2me", { @@ -230,17 +323,23 @@ minetest.register_chatcommand("tp2me", { end if archtec_teleport.tp2me[target] then - minetest.chat_send_player(name, C("#FF0000", S("[tp2me] Sorry, there's already a teleport request for @1 running!", target))) + minetest.chat_send_player( + name, + C("#FF0000", S("[tp2me] Sorry, there's already a teleport request for @1 running!", target)) + ) return end if player_api.player_attached[name] or archtec.physics_locked(minetest.get_player_by_name(name)) then - minetest.chat_send_player(name, C("#FF0000", S("[tp2me] You are attached so something, can't create teleport request!"))) + minetest.chat_send_player( + name, + C("#FF0000", S("[tp2me] You are attached so something, can't create teleport request!")) + ) return end archtec_teleport.tp2me_create(name, target) - end + end, }) minetest.register_chatcommand("ok", { @@ -250,7 +349,10 @@ minetest.register_chatcommand("ok", { minetest.log("action", "[/ok] executed by '" .. name .. "'") if not archtec_teleport.tpr[name] and not archtec_teleport.tp2me[name] then - minetest.chat_send_player(name, C("#FF0000", S("[tpr] There is currently no teleport request which you could accept!"))) + minetest.chat_send_player( + name, + C("#FF0000", S("[tpr] There is currently no teleport request which you could accept!")) + ) return end @@ -259,5 +361,5 @@ minetest.register_chatcommand("ok", { elseif archtec_teleport.tp2me[name] then archtec_teleport.tp2me_accept(archtec_teleport.tp2me[name].name, name) end - end -}) \ No newline at end of file + end, +}) diff --git a/archtec_votes/init.lua b/archtec_votes/init.lua index ea81768..10bdb33 100644 --- a/archtec_votes/init.lua +++ b/archtec_votes/init.lua @@ -2,4 +2,4 @@ local modpath = minetest.get_modpath("archtec_votes") dofile(modpath .. "/vote_api.lua") dofile(modpath .. "/vote_kick.lua") -dofile(modpath .. "/vote_day_night.lua") \ No newline at end of file +dofile(modpath .. "/vote_day_night.lua") diff --git a/archtec_votes/vote_api.lua b/archtec_votes/vote_api.lua index e484231..3a4315e 100644 --- a/archtec_votes/vote_api.lua +++ b/archtec_votes/vote_api.lua @@ -15,7 +15,10 @@ function archtec_votes.new_vote(creator, voteset) end function archtec_votes.start_vote(voteset, creator) - minetest.log("action", "[archtec_votes] " .. creator .. " started a vote: " .. voteset.description .. " (" .. voteset.help .. ")") + minetest.log( + "action", + "[archtec_votes] " .. creator .. " started a vote: " .. voteset.description .. " (" .. voteset.help .. ")" + ) archtec_votes.active = voteset voteset.vote_id = vote_id @@ -33,7 +36,9 @@ function archtec_votes.start_vote(voteset, creator) end) end - minetest.chat_send_all(creator .. " started a vote: " .. voteset.description .. C("#999", " (" .. voteset.help .. ")")) + minetest.chat_send_all( + creator .. " started a vote: " .. voteset.description .. C("#999", " (" .. voteset.help .. ")") + ) -- Handle autovotes if voteset.description == "Make day" then @@ -126,7 +131,7 @@ minetest.register_chatcommand("vote_clear", { archtec_votes.active = nil minetest.chat_send_all(C("#FF0000", name .. " canceled active vote!")) minetest.log("action", "[archtec_votes] " .. name .. " canceled active vote") - end + end, }) -- Vote /y and /n functions @@ -169,13 +174,13 @@ end minetest.register_chatcommand("yes", { description = "Vote yes", privs = {interact = true}, - func = vote_yes + func = vote_yes, }) archtec.register_chatcommand_alias("y", "yes") minetest.register_chatcommand("no", { description = "Vote no", privs = {interact = true}, - func = vote_no + func = vote_no, }) archtec.register_chatcommand_alias("n", "no") diff --git a/archtec_votes/vote_day_night.lua b/archtec_votes/vote_day_night.lua index 770d13e..56dbc0f 100644 --- a/archtec_votes/vote_day_night.lua +++ b/archtec_votes/vote_day_night.lua @@ -26,9 +26,15 @@ minetest.register_chatcommand("vote_day", { elseif archtec_playerdata.get(name, "free_votes") < free_votes then archtec_playerdata.mod(name, "free_votes", 1) local counter = free_votes - archtec_playerdata.get(name, "free_votes") - minetest.chat_send_player(name, C("#00BD00", S("Used one of your free votes, remaning free votes: @1.", counter))) + minetest.chat_send_player( + name, + C("#00BD00", S("Used one of your free votes, remaning free votes: @1.", counter)) + ) else - minetest.chat_send_player(name, C("#FF0000", S("To start a vote you must have 3 etherium dust in your inventory!"))) + minetest.chat_send_player( + name, + C("#FF0000", S("To start a vote you must have 3 etherium dust in your inventory!")) + ) return end @@ -41,22 +47,38 @@ minetest.register_chatcommand("vote_day", { on_result = function(self, result, results) if result == "yes" then - minetest.chat_send_all("Vote passed, " .. C("#00BD00", #results.yes) .. " to " .. C("#FF0000", #results.no) .. ", Time will be set to day.") + minetest.chat_send_all( + "Vote passed, " + .. C("#00BD00", #results.yes) + .. " to " + .. C("#FF0000", #results.no) + .. ", Time will be set to day." + ) minetest.set_timeofday(0.23) -- same as beds else - minetest.chat_send_all("Vote failed, " .. C("#00BD00", #results.yes) .. " to " .. C("#FF0000", #results.no) .. ", Time won't be set to day.") + minetest.chat_send_all( + "Vote failed, " + .. C("#00BD00", #results.yes) + .. " to " + .. C("#FF0000", #results.no) + .. ", Time won't be set to day." + ) end end, on_vote = function(self, name_voter, value) if value == "yes" then - minetest.chat_send_all(name_voter .. " voted " .. C("#00BD00", "YES") .. " to " .. self.description .. ".") + minetest.chat_send_all( + name_voter .. " voted " .. C("#00BD00", "YES") .. " to " .. self.description .. "." + ) else - minetest.chat_send_all(name_voter .. " voted " .. C("#FF0000", "NO") .. " to " .. self.description .. ".") + minetest.chat_send_all( + name_voter .. " voted " .. C("#FF0000", "NO") .. " to " .. self.description .. "." + ) end - end + end, }) - end + end, }) archtec.register_chatcommand_alias("vd", "vote_day") @@ -77,9 +99,15 @@ minetest.register_chatcommand("vote_night", { elseif archtec_playerdata.get(name, "free_votes") < free_votes then archtec_playerdata.mod(name, "free_votes", 1) local counter = free_votes - archtec_playerdata.get(name, "free_votes") - minetest.chat_send_player(name, C("#00BD00", S("Used one of your free votes, remaning free votes: @1!", counter))) + minetest.chat_send_player( + name, + C("#00BD00", S("Used one of your free votes, remaning free votes: @1!", counter)) + ) else - minetest.chat_send_player(name, C("#FF0000", S("To start a vote you must have 3 etherium dust in your inventory."))) + minetest.chat_send_player( + name, + C("#FF0000", S("To start a vote you must have 3 etherium dust in your inventory.")) + ) return end @@ -92,21 +120,37 @@ minetest.register_chatcommand("vote_night", { on_result = function(self, result, results) if result == "yes" then - minetest.chat_send_all("Vote passed, " .. C("#00BD00", #results.yes) .. " to " .. C("#FF0000", #results.no) .. ", Time will be set to night.") + minetest.chat_send_all( + "Vote passed, " + .. C("#00BD00", #results.yes) + .. " to " + .. C("#FF0000", #results.no) + .. ", Time will be set to night." + ) minetest.set_timeofday(0) else - minetest.chat_send_all("Vote failed, " .. C("#00BD00", #results.yes) .. " to " .. C("#FF0000", #results.no) .. ", Time won't be set to night.") + minetest.chat_send_all( + "Vote failed, " + .. C("#00BD00", #results.yes) + .. " to " + .. C("#FF0000", #results.no) + .. ", Time won't be set to night." + ) end end, on_vote = function(self, name_voter, value) if value == "yes" then - minetest.chat_send_all(name_voter .. " voted " .. C("#00BD00", "YES") .. " to " .. self.description .. ".") + minetest.chat_send_all( + name_voter .. " voted " .. C("#00BD00", "YES") .. " to " .. self.description .. "." + ) else - minetest.chat_send_all(name_voter .. " voted " .. C("#FF0000", "NO") .. " to " .. self.description .. ".") + minetest.chat_send_all( + name_voter .. " voted " .. C("#FF0000", "NO") .. " to " .. self.description .. "." + ) end - end + end, }) - end + end, }) -archtec.register_chatcommand_alias("vn", "vote_night") \ No newline at end of file +archtec.register_chatcommand_alias("vn", "vote_night") diff --git a/archtec_votes/vote_kick.lua b/archtec_votes/vote_kick.lua index edfd2d1..f30462a 100644 --- a/archtec_votes/vote_kick.lua +++ b/archtec_votes/vote_kick.lua @@ -1,7 +1,9 @@ -- vote_kick local pending = {} local S = minetest.get_translator(minetest.get_current_modname()) -local FS = function(...) return minetest.formspec_escape(S(...)) end +local FS = function(...) + return minetest.formspec_escape(S(...)) +end local C = minetest.colorize local function run_vote(name, param) @@ -26,24 +28,60 @@ local function run_vote(name, param) end if result == "yes" then - minetest.chat_send_all("Vote passed, " .. minetest.colorize("#00BD00", #results.yes) .. " to " .. minetest.colorize("#FF0000", #results.no) .. ", " .. self.name .. " will be kicked.") - archtec_matterbridge.send(":warning: Vote passed, " .. #results.yes .. " to " .. #results.no .. ", " .. self.name .. " will be kicked.") + minetest.chat_send_all( + "Vote passed, " + .. minetest.colorize("#00BD00", #results.yes) + .. " to " + .. minetest.colorize("#FF0000", #results.no) + .. ", " + .. self.name + .. " will be kicked." + ) + archtec_matterbridge.send( + ":warning: Vote passed, " + .. #results.yes + .. " to " + .. #results.no + .. ", " + .. self.name + .. " will be kicked." + ) xban.ban_player(self.name, "/vote_kick", os.time() + 3600, "vote-kicked") else - minetest.chat_send_all("Vote failed, " .. minetest.colorize("#00BD00", #results.yes) .. " to " .. minetest.colorize("#FF0000", #results.no) .. ", " .. self.name .. " remains ingame.") - archtec_matterbridge.send(":warning: Vote failed, " .. #results.yes .. " to " .. #results.no .. ", " .. self.name .. " remains ingame.") + minetest.chat_send_all( + "Vote failed, " + .. minetest.colorize("#00BD00", #results.yes) + .. " to " + .. minetest.colorize("#FF0000", #results.no) + .. ", " + .. self.name + .. " remains ingame." + ) + archtec_matterbridge.send( + ":warning: Vote failed, " + .. #results.yes + .. " to " + .. #results.no + .. ", " + .. self.name + .. " remains ingame." + ) end end, on_vote = function(self, name_voter, value) if value == "yes" then - minetest.chat_send_all(name_voter .. " voted " .. minetest.colorize("#00BD00", "YES") .. " to " .. self.description .. ".") + minetest.chat_send_all( + name_voter .. " voted " .. minetest.colorize("#00BD00", "YES") .. " to " .. self.description .. "." + ) archtec_matterbridge.send(":green_square: **" .. name_voter .. "** voted YES") else - minetest.chat_send_all(name_voter .. " voted " .. minetest.colorize("#FF0000", "NO") .. " to " .. self.description .. ".") + minetest.chat_send_all( + name_voter .. " voted " .. minetest.colorize("#FF0000", "NO") .. " to " .. self.description .. "." + ) archtec_matterbridge.send(":red_square: **" .. name_voter .. "** voted NO") end - end + end, }) end @@ -51,7 +89,7 @@ minetest.register_chatcommand("vote_kick", { params = "", description = "Vote kick someone. Warning: Abusing '/vote_kick' will result in a ban for you", privs = { - interact = true + interact = true, }, func = function(name, param) local target = archtec.get_and_trim(param) @@ -85,11 +123,13 @@ minetest.register_chatcommand("vote_kick", { ]] pending[name] = target minetest.show_formspec(name, "archtec_votes:kick", formspec) - end + end, }) minetest.register_on_player_receive_fields(function(player, formname, fields) - if formname ~= "archtec_votes:kick" then return end + if formname ~= "archtec_votes:kick" then + return + end local name = player:get_player_name() if fields.abort then minetest.close_formspec(name, "archtec_votes:kick") diff --git a/chatplus/init.lua b/chatplus/init.lua index cc6defa..493fd93 100644 --- a/chatplus/init.lua +++ b/chatplus/init.lua @@ -19,7 +19,10 @@ minetest.register_on_chat_message(function(name, message) -- 7msg typo check if message:sub(1, 4) == "7msg" then - minetest.chat_send_player(name, minetest.colorize("#FF0000", S("[chatplus] Anti leak detection blocked this message!"))) + minetest.chat_send_player( + name, + minetest.colorize("#FF0000", S("[chatplus] Anti leak detection blocked this message!")) + ) minetest.log("action", "CHAT: <" .. name .. "> " .. message .. " (blocked by anti leak detection)") return true end @@ -50,14 +53,20 @@ minetest.register_on_chat_message(function(name, message) return true end if msg == "" then - minetest.chat_send_player(name, minetest.colorize("#FF0000", S("[chatplus] Don't forget to add a message!"))) + minetest.chat_send_player( + name, + minetest.colorize("#FF0000", S("[chatplus] Don't forget to add a message!")) + ) return true end if archtec_chat.channels[cname] and archtec_chat.channels[cname].users[name] then channel = cname message = msg else - minetest.chat_send_player(name, minetest.colorize("#FF0000", S("[chatplus] #@1 does not exist or you aren't a channel member!", cname))) + minetest.chat_send_player( + name, + minetest.colorize("#FF0000", S("[chatplus] #@1 does not exist or you aren't a channel member!", cname)) + ) return true end @@ -68,7 +77,10 @@ minetest.register_on_chat_message(function(name, message) -- No channel available if not channel then - minetest.chat_send_player(name, minetest.colorize("#FF0000", S("[chatplus] You aren't in any channel! (try '/c j main')"))) + minetest.chat_send_player( + name, + minetest.colorize("#FF0000", S("[chatplus] You aren't in any channel! (try '/c j main')")) + ) return true end @@ -116,7 +128,10 @@ local function private_message(name, param) return end minetest.chat_send_player(name, C(msg_chat_color_name, S("To") .. " " .. to .. ": ") .. C(msg_chat_color_text, msg)) - minetest.chat_send_player(to, C(msg_chat_color_name, S("From") .. " " .. name .. ": ") .. C(msg_chat_color_text, msg)) + minetest.chat_send_player( + to, + C(msg_chat_color_name, S("From") .. " " .. name .. ": ") .. C(msg_chat_color_text, msg) + ) minetest.log("action", "MSG: from <" .. name .. "> to <" .. to .. "> " .. msg) minetest.sound_play("chatplus_incoming_msg", {to_player = to}, true) last_msg_name[name] = to @@ -126,7 +141,10 @@ minetest.register_chatcommand("m", { description = S("Send a private message to the same person you sent your last message to."), func = function(name, param) if last_msg_name[name] == nil then - minetest.chat_send_player(name, C("#FF0000", S("[msg] Can't use this command. Use '/msg ' first!"))) + minetest.chat_send_player( + name, + C("#FF0000", S("[msg] Can't use this command. Use '/msg ' first!")) + ) return end if not archtec.is_online(last_msg_name[name]) then @@ -134,7 +152,7 @@ minetest.register_chatcommand("m", { return end private_message(name, last_msg_name[name] .. " " .. param) - end + end, }) minetest.unregister_chatcommand("msg") diff --git a/stamina/init.lua b/stamina/init.lua index a69f1a2..42051f2 100644 --- a/stamina/init.lua +++ b/stamina/init.lua @@ -16,7 +16,7 @@ archtec_stamina.settings = { heal_lvl = 12, -- minimum saturation needed for healing starve = 1, -- amount of HP a player loses per archtec_stamina.health_tick starve_lvl = 3, -- maximum stamina needed for starving - visual_max = 20 -- hunger points + visual_max = 20, -- hunger points } local settings = archtec_stamina.settings @@ -27,10 +27,7 @@ local attribute = { } local function is_player(player) - return ( - minetest.is_player(player) and - not player.is_fake_player - ) + return (minetest.is_player(player) and not player.is_fake_player) end local function set_player_meta(player, key, value) @@ -64,11 +61,7 @@ end function archtec_stamina.set_saturation(player, level) set_player_meta(player, attribute.saturation, level) - player:hud_change( - get_hud_id(player), - "number", - math.min(settings.visual_max, level) - ) + player:hud_change(get_hud_id(player), "number", math.min(settings.visual_max, level)) end function archtec_stamina.update_saturation(player, level) @@ -79,7 +72,7 @@ function archtec_stamina.update_saturation(player, level) end -- players without interact priv cannot eat - if old < settings.heal_lvl and not minetest.check_player_privs(player, {interact=true}) then + if old < settings.heal_lvl and not minetest.check_player_privs(player, {interact = true}) then return end @@ -186,7 +179,13 @@ local function health_tick() local hp = player:get_hp() or 20 local saturation = archtec_stamina.get_saturation(player) or 20 - if saturation > settings.heal_lvl and hp > 0 and hp < 20 and air > 0 and not archtec_stamina.is_poisoned(player) then + if + saturation > settings.heal_lvl + and hp > 0 + and hp < 20 + and air > 0 + and not archtec_stamina.is_poisoned(player) + then player:set_hp(hp + settings.heal, {type = "set_hp", cause = "stamina:heal"}) archtec_stamina.exhaust_player(player, settings.exhaust_lvl, archtec_stamina.exhaustion_reasons.heal) elseif saturation < settings.starve_lvl and hp > 0 then -- or damage player by 1 hp if saturation is < 2 (of 20) @@ -235,11 +234,16 @@ function minetest.do_item_eat(hp_change, replace_with_item, itemstack, player, p local itemname = itemstack:get_name() if replace_with_item then - archtec_stamina.log("action", "%s eats %s for %s stamina, replace with %s", - player:get_player_name(), itemname, hp_change, replace_with_item) + archtec_stamina.log( + "action", + "%s eats %s for %s stamina, replace with %s", + player:get_player_name(), + itemname, + hp_change, + replace_with_item + ) else - archtec_stamina.log("action", "%s eats %s for %s stamina", - player:get_player_name(), itemname, hp_change) + archtec_stamina.log("action", "%s eats %s for %s stamina", player:get_player_name(), itemname, hp_change) end minetest.sound_play("archtec_stamina_eat", {object = player, pos = player:get_pos(), max_hear_distance = 16}, true) diff --git a/techage_addon/init.lua b/techage_addon/init.lua index cfe8f92..11e7a90 100644 --- a/techage_addon/init.lua +++ b/techage_addon/init.lua @@ -9,7 +9,7 @@ minetest.register_node("techage_addon:dry_ice", { groups = {cracky = 3, slippery = 3, not_in_creative_inventory = 1}, sounds = default.node_sound_ice_defaults(), damage_per_second = 3, - drop = "techage_addon:dry_ice_cri" + drop = "techage_addon:dry_ice_cri", }) minetest.register_alias("techage_cobble_generator:dry_ice", "techage_addon:dry_ice") @@ -22,7 +22,7 @@ minetest.register_craftitem("techage_addon:dry_ice_cri", { local leftover = minetest.item_place(itemstack, placer, pointed_thing) leftover:set_name("techage_addon:dry_ice_cri") return leftover - end + end, }) minetest.register_alias("techage_cobble_generator:dry_ice_cri", "techage_addon:dry_ice_cri") @@ -34,14 +34,18 @@ minetest.register_craftitem("techage_addon:diamond_powder", { minetest.register_alias("techage_cobble_generator:diamond_powder", "techage_addon:diamond_powder") -- Add to techage -techage.add_rinser_recipe({input = "techage:sieved_gravel", output = "techage_addon:diamond_powder", probability = 300}) +techage.add_rinser_recipe({ + input = "techage:sieved_gravel", + output = "techage_addon:diamond_powder", + probability = 300, +}) techage.recipes.add("ta4_doser", { output = "techage_addon:dry_ice_cri 1", input = { "techage_addon:diamond_powder 5", "techage:water 3", - } + }, }) -- Cool lava ABM @@ -61,5 +65,5 @@ minetest.register_abm({ if math.random(1, 4) == 1 then minetest.sound_play("default_cool_lava", {pos = pos, max_hear_distance = 16, gain = 0.2}, true) end - end + end, })