From d294ddbda12a5c84caedff160e8306a6fb24d4e5 Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Sun, 4 May 2025 13:17:16 +0100 Subject: [PATCH] change minetest. to core. --- admin.lua | 62 ++++++++++++------------- chest.lua | 66 +++++++++++++------------- doors.lua | 122 ++++++++++++++++++++++++------------------------ hud.lua | 16 +++---- init.lua | 136 +++++++++++++++++++++++++++--------------------------- pvp.lua | 20 ++++---- tool.lua | 46 +++++++++--------- 7 files changed, 234 insertions(+), 234 deletions(-) diff --git a/admin.lua b/admin.lua index cabd0c1..cc548c1 100644 --- a/admin.lua +++ b/admin.lua @@ -1,13 +1,13 @@ -- translation and default name vars -local S = minetest.get_translator("protector") +local S = core.get_translator("protector") local removal_names = "" local replace_names = "" -- remove protection command -minetest.register_chatcommand("protector_remove", { +core.register_chatcommand("protector_remove", { params = S(""), description = S("Remove Protectors around players (separate names with spaces)"), privs = {server = true}, @@ -16,7 +16,7 @@ minetest.register_chatcommand("protector_remove", { if param == "-" then - minetest.chat_send_player(name, S("Name List Reset")) + core.chat_send_player(name, S("Name List Reset")) removal_names = "" ; return end @@ -25,14 +25,14 @@ minetest.register_chatcommand("protector_remove", { removal_names = param end - minetest.chat_send_player(name, + core.chat_send_player(name, S("Protector Names to remove: @1", removal_names)) end }) -- replace protection command -minetest.register_chatcommand("protector_replace", { +core.register_chatcommand("protector_replace", { params = S(" "), description = S("Replace Protector Owner with name provided"), privs = {server = true}, @@ -42,7 +42,7 @@ minetest.register_chatcommand("protector_replace", { -- reset list to empty if param == "-" then - minetest.chat_send_player(name, S("Name List Reset")) + core.chat_send_player(name, S("Name List Reset")) replace_names = "" ; return end @@ -53,11 +53,11 @@ minetest.register_chatcommand("protector_replace", { local names = param:split(" ") ; if not names[2] then return end if names[2] ~= string.match(names[2], "[%w_-]+") then - minetest.chat_send_player(name, S("Invalid player name!")) ; return + core.chat_send_player(name, S("Invalid player name!")) ; return end if names[2]:len() > 25 then - minetest.chat_send_player(name, S("Player name too long")) ; return + core.chat_send_player(name, S("Player name too long")) ; return end replace_names = param @@ -68,7 +68,7 @@ minetest.register_chatcommand("protector_replace", { local names = replace_names:split(" ") - minetest.chat_send_player(name, S("Replacing Protector name @1 with @2", + core.chat_send_player(name, S("Replacing Protector name @1 with @2", names[1] or "", names[2] or "")) end end @@ -76,7 +76,7 @@ minetest.register_chatcommand("protector_replace", { -- Abm to remove or replace protectors within active player area -minetest.register_abm({ +core.register_abm({ nodenames = {"protector:protect", "protector:protect2", "protector:protect_hidden"}, interval = 5, chance = 1, @@ -86,7 +86,7 @@ minetest.register_abm({ if removal_names == "" and replace_names == "" then return end - local meta = minetest.get_meta(pos) ; if not meta then return end + local meta = core.get_meta(pos) ; if not meta then return end local owner = meta:get_string("owner") if removal_names ~= "" then @@ -96,7 +96,7 @@ minetest.register_abm({ for _, n in pairs(names) do if n == owner then - minetest.set_node(pos, {name = "air"}) ; return + core.set_node(pos, {name = "air"}) ; return end end end @@ -118,18 +118,18 @@ minetest.register_abm({ local r = protector.radius -minetest.register_chatcommand("protector_show_area", { +core.register_chatcommand("protector_show_area", { params = "", description = S("Show protected areas of your nearby protectors"), privs = {}, func = function(name, param) - local player = minetest.get_player_by_name(name) + local player = core.get_player_by_name(name) local pos = player:get_pos() -- find the protector nodes - local pos = minetest.find_nodes_in_area( + local pos = core.find_nodes_in_area( {x = pos.x - r, y = pos.y - r, z = pos.z - r}, {x = pos.x + r, y = pos.y + r, z = pos.z + r}, {"protector:protect", "protector:protect2", "protector:protect_hidden"}) @@ -139,12 +139,12 @@ minetest.register_chatcommand("protector_show_area", { -- show a maximum of 5 protected areas only for n = 1, math.min(#pos, 5) do - meta = minetest.get_meta(pos[n]) + meta = core.get_meta(pos[n]) owner = meta:get_string("owner") or "" if owner == name - or minetest.check_player_privs(name, {protection_bypass = true}) then - minetest.add_entity(pos[n], "protector:display") + or core.check_player_privs(name, {protection_bypass = true}) then + core.add_entity(pos[n], "protector:display") end end end @@ -152,7 +152,7 @@ minetest.register_chatcommand("protector_show_area", { -- ability to hide protection blocks (borrowed from doors mod :) -minetest.register_node("protector:protect_hidden", { +core.register_node("protector:protect_hidden", { description = "Hidden Protector", drawtype = "airlike", paramtype = "light", @@ -176,14 +176,14 @@ minetest.register_node("protector:protect_hidden", { -- make own protectors visible in area -minetest.register_chatcommand("protector_show", { +core.register_chatcommand("protector_show", { params = "", description = S("Show your nearby protection blocks"), privs = {interact = true}, func = function(name, param) - local player = minetest.get_player_by_name(name) + local player = core.get_player_by_name(name) if not player then return false, S("Player not found.") @@ -191,7 +191,7 @@ minetest.register_chatcommand("protector_show", { local pos = player:get_pos() - local a = minetest.find_nodes_in_area( + local a = core.find_nodes_in_area( {x = pos.x - r, y = pos.y - r, z = pos.z - r}, {x = pos.x + r, y = pos.y + r, z = pos.z + r}, {"protector:protect_hidden"}) @@ -200,12 +200,12 @@ minetest.register_chatcommand("protector_show", { for _, row in pairs(a) do - meta = minetest.get_meta(row) + meta = core.get_meta(row) owner = meta:get_string("owner") or "" if owner == name - or minetest.check_player_privs(name, {protection_bypass = true}) then - minetest.swap_node(row, {name = "protector:protect"}) + or core.check_player_privs(name, {protection_bypass = true}) then + core.swap_node(row, {name = "protector:protect"}) end end end @@ -213,14 +213,14 @@ minetest.register_chatcommand("protector_show", { -- make own protectors invisible in area -minetest.register_chatcommand("protector_hide", { +core.register_chatcommand("protector_hide", { params = "", description = S("Hide your nearby protection blocks"), privs = {interact = true}, func = function(name, param) - local player = minetest.get_player_by_name(name) + local player = core.get_player_by_name(name) if not player then return false, S("Player not found.") @@ -228,7 +228,7 @@ minetest.register_chatcommand("protector_hide", { local pos = player:get_pos() - local a = minetest.find_nodes_in_area( + local a = core.find_nodes_in_area( {x = pos.x - r, y = pos.y - r, z = pos.z - r}, {x = pos.x + r, y = pos.y + r, z = pos.z + r}, {"protector:protect", "protector:protect2"}) @@ -237,12 +237,12 @@ minetest.register_chatcommand("protector_hide", { for _, row in pairs(a) do - meta = minetest.get_meta(row) + meta = core.get_meta(row) owner = meta:get_string("owner") or "" if owner == name - or minetest.check_player_privs(name, {protection_bypass = true}) then - minetest.swap_node(row, {name = "protector:protect_hidden"}) + or core.check_player_privs(name, {protection_bypass = true}) then + core.swap_node(row, {name = "protector:protect_hidden"}) end end end diff --git a/chest.lua b/chest.lua index d59ee55..df1181a 100644 --- a/chest.lua +++ b/chest.lua @@ -1,23 +1,23 @@ -- translation -local S = minetest.get_translator("protector") -local F = minetest.formspec_escape +local S = core.get_translator("protector") +local F = core.formspec_escape -- MineClone support -local mcl = minetest.get_modpath("mcl_core") -local mcf = minetest.get_modpath("mcl_formspec") +local mcl = core.get_modpath("mcl_core") +local mcf = core.get_modpath("mcl_formspec") -- Are crafts enabled? -local protector_crafts = minetest.settings:get_bool("protector_crafts") ~= false +local protector_crafts = core.settings:get_bool("protector_crafts") ~= false -- Protected Chest local chest_size = mcl and (9 * 3) or (8 * 4) -minetest.register_node("protector:chest", { +core.register_node("protector:chest", { description = S("Protected Chest"), tiles = { "default_chest_top.png", "default_chest_top.png", @@ -32,7 +32,7 @@ minetest.register_node("protector:chest", { on_construct = function(pos) - local meta = minetest.get_meta(pos) + local meta = core.get_meta(pos) local inv = meta:get_inventory() meta:set_string("infotext", S("Protected Chest")) @@ -42,12 +42,12 @@ minetest.register_node("protector:chest", { can_dig = function(pos,player) - local meta = minetest.get_meta(pos) + local meta = core.get_meta(pos) local inv = meta:get_inventory() if inv:is_empty("main") then - if not minetest.is_protected(pos, player:get_player_name()) then + if not core.is_protected(pos, player:get_player_name()) then return true end end @@ -55,26 +55,26 @@ minetest.register_node("protector:chest", { on_metadata_inventory_put = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name() - .. " moves stuff to protected chest at " .. minetest.pos_to_string(pos)) + core.log("action", player:get_player_name() + .. " moves stuff to protected chest at " .. core.pos_to_string(pos)) end, on_metadata_inventory_take = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name() - .. " takes stuff from protected chest at " .. minetest.pos_to_string(pos)) + core.log("action", player:get_player_name() + .. " takes stuff from protected chest at " .. core.pos_to_string(pos)) end, on_metadata_inventory_move = function( pos, from_list, from_index, to_list, to_index, count, player) - minetest.log("action", player:get_player_name() - .. " moves stuff inside protected chest at " .. minetest.pos_to_string(pos)) + core.log("action", player:get_player_name() + .. " moves stuff inside protected chest at " .. core.pos_to_string(pos)) end, allow_metadata_inventory_put = function(pos, listname, index, stack, player) - if minetest.is_protected(pos, player:get_player_name()) then + if core.is_protected(pos, player:get_player_name()) then return 0 end @@ -83,7 +83,7 @@ minetest.register_node("protector:chest", { allow_metadata_inventory_take = function(pos, listname, index, stack, player) - if minetest.is_protected(pos, player:get_player_name()) then + if core.is_protected(pos, player:get_player_name()) then return 0 end @@ -93,7 +93,7 @@ minetest.register_node("protector:chest", { allow_metadata_inventory_move = function( pos, from_list, from_index, to_list, to_index, count, player) - if minetest.is_protected(pos, player:get_player_name()) then + if core.is_protected(pos, player:get_player_name()) then return 0 end @@ -102,9 +102,9 @@ minetest.register_node("protector:chest", { on_rightclick = function(pos, node, clicker) - if minetest.is_protected(pos, clicker:get_player_name()) then return end + if core.is_protected(pos, clicker:get_player_name()) then return end - local meta = minetest.get_meta(pos) ; if not meta then return end + local meta = core.get_meta(pos) ; if not meta then return end local spos = pos.x .. "," .. pos.y .. "," ..pos.z local formspec @@ -113,14 +113,14 @@ minetest.register_node("protector:chest", { if mcl and mcf then formspec = "size[9,8.75]" - .. "label[0,0;" .. minetest.formspec_escape( - minetest.colorize("#313131", "Protected Chest")) .. "]" + .. "label[0,0;" .. core.formspec_escape( + core.colorize("#313131", "Protected Chest")) .. "]" .. "list[nodemeta:" .. spos .. ";main;0,0.5;9,3;]" .. mcl_formspec.get_itemslot_bg(0,0.5,9,3) .. "image_button[3.0,3.5;1.05,0.8;protector_up_icon.png;protect_up;]" .. "image_button[4.0,3.5;1.05,0.8;protector_down_icon.png;protect_down;]" - .. "label[0,4.0;" .. minetest.formspec_escape( - minetest.colorize("#313131", "Inventory")) .. "]" + .. "label[0,4.0;" .. core.formspec_escape( + core.colorize("#313131", "Inventory")) .. "]" .. "list[current_player;main;0,4.5;9,3;9]" .. mcl_formspec.get_itemslot_bg(0,4.5,9,3) .. "list[current_player;main;0,7.74;9,1;]" @@ -148,8 +148,8 @@ minetest.register_node("protector:chest", { .. "listring[current_player;main]" end - minetest.show_formspec(clicker:get_player_name(), - "protector:chest_" .. minetest.pos_to_string(pos), formspec) + core.show_formspec(clicker:get_player_name(), + "protector:chest_" .. core.pos_to_string(pos), formspec) end, on_blast = function() end @@ -182,16 +182,16 @@ end -- Protected Chest formspec buttons -minetest.register_on_player_receive_fields(function(player, formname, fields) +core.register_on_player_receive_fields(function(player, formname, fields) if string.sub(formname, 0, 16) ~= "protector:chest_" then return end local pos_s = string.sub(formname, 17) - local pos = minetest.string_to_pos(pos_s) + local pos = core.string_to_pos(pos_s) - if minetest.is_protected(pos, player:get_player_name()) then return end + if core.is_protected(pos, player:get_player_name()) then return end - local meta = minetest.get_meta(pos) ; if not meta then return end + local meta = core.get_meta(pos) ; if not meta then return end local chest_inv = meta:get_inventory() ; if not chest_inv then return end local player_inv = player:get_inventory() @@ -231,12 +231,12 @@ if protector_crafts then if mcl then - minetest.register_craft({ + core.register_craft({ output = "protector:chest", recipe = { {"mcl_chests:chest", "mcl_core:gold_ingot"} } }) else - minetest.register_craft({ + core.register_craft({ output = "protector:chest", recipe = { {"group:wood", "group:wood", "group:wood"}, @@ -245,7 +245,7 @@ if protector_crafts then } }) - minetest.register_craft({ + core.register_craft({ output = "protector:chest", recipe = { {"default:chest", "default:copper_ingot"} } }) diff --git a/doors.lua b/doors.lua index 7cc3ffd..5c75178 100644 --- a/doors.lua +++ b/doors.lua @@ -1,15 +1,15 @@ -- doors code from an old client re-used -local S = minetest.get_translator("protector") +local S = core.get_translator("protector") -- MineClone support -local mcl = minetest.get_modpath("mcl_core") +local mcl = core.get_modpath("mcl_core") -- Are crafts enabled? -local protector_crafts = minetest.settings:get_bool("protector_crafts") ~= false +local protector_crafts = core.settings:get_bool("protector_crafts") ~= false -- Registers a door @@ -26,7 +26,7 @@ local function register_door(name, def) def.selection_box_bottom = box def.selection_box_top = box - minetest.register_craftitem(name, { + core.register_craftitem(name, { description = def.description, inventory_image = def.inventory_image, @@ -35,11 +35,11 @@ local function register_door(name, def) if pointed_thing.type ~= "node" then return itemstack end local ptu = pointed_thing.under - local nu = minetest.get_node(ptu) + local nu = core.get_node(ptu) - if minetest.registered_nodes[nu.name] - and minetest.registered_nodes[nu.name].on_rightclick then - return minetest.registered_nodes[nu.name].on_rightclick( + if core.registered_nodes[nu.name] + and core.registered_nodes[nu.name].on_rightclick then + return core.registered_nodes[nu.name].on_rightclick( ptu, nu, placer, itemstack) end @@ -48,19 +48,19 @@ local function register_door(name, def) pt2.y = pt2.y + 1 - if not minetest.registered_nodes[minetest.get_node(pt).name].buildable_to - or not minetest.registered_nodes[minetest.get_node(pt2).name].buildable_to + if not core.registered_nodes[core.get_node(pt).name].buildable_to + or not core.registered_nodes[core.get_node(pt2).name].buildable_to or not placer or not placer:is_player() then return itemstack end - if minetest.is_protected(pt, placer:get_player_name()) - or minetest.is_protected(pt2, placer:get_player_name()) then - minetest.record_protection_violation(pt, placer:get_player_name()) + if core.is_protected(pt, placer:get_player_name()) + or core.is_protected(pt2, placer:get_player_name()) then + core.record_protection_violation(pt, placer:get_player_name()) return itemstack end - local p2 = minetest.dir_to_facedir(placer:get_look_dir()) + local p2 = core.dir_to_facedir(placer:get_look_dir()) local pt3 = {x = pt.x, y = pt.y, z = pt.z} if p2 == 0 then pt3.x = pt3.x - 1 @@ -69,22 +69,22 @@ local function register_door(name, def) elseif p2 == 3 then pt3.z = pt3.z - 1 end - if minetest.get_item_group(minetest.get_node(pt3).name, "prot_door") == 0 then - minetest.set_node(pt, {name = name .. "_b_1", param2 = p2}) - minetest.set_node(pt2, {name = name .. "_t_1", param2 = p2}) + if core.get_item_group(core.get_node(pt3).name, "prot_door") == 0 then + core.set_node(pt, {name = name .. "_b_1", param2 = p2}) + core.set_node(pt2, {name = name .. "_t_1", param2 = p2}) else - minetest.set_node(pt, {name = name .. "_b_2", param2 = p2}) - minetest.set_node(pt2, {name = name .. "_t_2", param2 = p2}) + core.set_node(pt, {name = name .. "_b_2", param2 = p2}) + core.set_node(pt2, {name = name .. "_t_2", param2 = p2}) - minetest.get_meta(pt):set_int("right", 1) - minetest.get_meta(pt2):set_int("right", 1) + core.get_meta(pt):set_int("right", 1) + core.get_meta(pt2):set_int("right", 1) end - if not minetest.settings:get_bool("creative_mode") then + if not core.settings:get_bool("creative_mode") then itemstack:take_item() end - minetest.sound_play(def.sounds.place, {pos = pt2}, true) + core.sound_play(def.sounds.place, {pos = pt2}, true) return itemstack end @@ -95,10 +95,10 @@ local function register_door(name, def) local function after_dig_node(pos, name, digger) - local node = minetest.get_node(pos) + local node = core.get_node(pos) if node.name == name then - minetest.node_dig(pos, node, digger) + core.node_dig(pos, node, digger) end end @@ -106,19 +106,19 @@ local function register_door(name, def) pos.y = pos.y + dir - if minetest.get_node(pos).name ~= check_name then return end + if core.get_node(pos).name ~= check_name then return end - local p2 = minetest.get_node(pos).param2 + local p2 = core.get_node(pos).param2 p2 = params[p2 + 1] - minetest.swap_node(pos, {name = replace_dir, param2 = p2}) + core.swap_node(pos, {name = replace_dir, param2 = p2}) pos.y = pos.y - dir - minetest.swap_node(pos, {name = replace, param2=p2}) + core.swap_node(pos, {name = replace, param2=p2}) - minetest.sound_play(def.open_sound, + core.sound_play(def.open_sound, {pos = pos, gain = 0.3, max_hear_distance = 10}, true) end @@ -128,29 +128,29 @@ local function register_door(name, def) pos.y = pos.y + dir - if minetest.get_node(pos).name ~= check_name then return false end + if core.get_node(pos).name ~= check_name then return false end - if minetest.is_protected(pos, user:get_player_name()) then - minetest.record_protection_violation(pos, user:get_player_name()) + if core.is_protected(pos, user:get_player_name()) then + core.record_protection_violation(pos, user:get_player_name()) return false end - local node2 = minetest.get_node(pos) + local node2 = core.get_node(pos) node2.param2 = (node2.param2 + 1) % 4 - minetest.swap_node(pos, node2) + core.swap_node(pos, node2) pos.y = pos.y - dir node.param2 = (node.param2 + 1) % 4 - minetest.swap_node(pos, node) + core.swap_node(pos, node) return true end - minetest.register_node(name .. "_b_1", { + core.register_node(name .. "_b_1", { tiles = {tb[2], tb[2], tb[2], tb[2], tb[1], tb[1] .. "^[transformfx"}, paramtype = "light", paramtype2 = "facedir", @@ -172,7 +172,7 @@ local function register_door(name, def) on_rightclick = function(pos, node, clicker) - if not minetest.is_protected(pos, clicker:get_player_name()) then + if not core.is_protected(pos, clicker:get_player_name()) then on_rightclick(pos, 1, name .. "_t_1", name .. "_b_2", name .. "_t_2", {1,2,3,0}) end @@ -187,7 +187,7 @@ local function register_door(name, def) on_blast = function() end }) - minetest.register_node(name .. "_t_1", { + core.register_node(name .. "_t_1", { tiles = {tt[2], tt[2], tt[2], tt[2], tt[1], tt[1] .. "^[transformfx"}, paramtype = "light", paramtype2 = "facedir", @@ -208,7 +208,7 @@ local function register_door(name, def) end, on_rightclick = function(pos, node, clicker) - if not minetest.is_protected(pos, clicker:get_player_name()) then + if not core.is_protected(pos, clicker:get_player_name()) then on_rightclick(pos, -1, name .. "_b_1", name .. "_t_2", name .. "_b_2", {1,2,3,0}) end @@ -223,7 +223,7 @@ local function register_door(name, def) on_blast = function() end }) - minetest.register_node(name .. "_b_2", { + core.register_node(name .. "_b_2", { tiles = {tb[2], tb[2], tb[2], tb[2], tb[1] .. "^[transformfx", tb[1]}, paramtype = "light", paramtype2 = "facedir", @@ -244,7 +244,7 @@ local function register_door(name, def) end, on_rightclick = function(pos, node, clicker) - if not minetest.is_protected(pos, clicker:get_player_name()) then + if not core.is_protected(pos, clicker:get_player_name()) then on_rightclick(pos, 1, name .. "_t_2", name .. "_b_1", name .. "_t_1", {3,0,1,2}) end @@ -259,7 +259,7 @@ local function register_door(name, def) on_blast = function() end }) - minetest.register_node(name .. "_t_2", { + core.register_node(name .. "_t_2", { tiles = {tt[2], tt[2], tt[2], tt[2], tt[1] .. "^[transformfx", tt[1]}, paramtype = "light", paramtype2 = "facedir", @@ -280,7 +280,7 @@ local function register_door(name, def) end, on_rightclick = function(pos, node, clicker) - if not minetest.is_protected(pos, clicker:get_player_name()) then + if not core.is_protected(pos, clicker:get_player_name()) then on_rightclick(pos, -1, name .. "_b_2", name .. "_t_1", name .. "_b_1", {3,0,1,2}) end @@ -317,12 +317,12 @@ if protector_crafts then if mcl then - minetest.register_craft({ + core.register_craft({ output = name, recipe = { {"mcl_doors:wooden_door", "mcl_core:gold_ingot"} } }) else - minetest.register_craft({ + core.register_craft({ output = name, recipe = { {"group:wood", "group:wood"}, @@ -331,7 +331,7 @@ if protector_crafts then } }) - minetest.register_craft({ + core.register_craft({ output = name, recipe = { {"doors:door_wood", "default:copper_ingot"} } }) @@ -360,12 +360,12 @@ if protector_crafts then if mcl then - minetest.register_craft({ + core.register_craft({ output = name, recipe = { {"mcl_doors:iron_door", "mcl_core:gold_ingot"} } }) else - minetest.register_craft({ + core.register_craft({ output = name, recipe = { {"default:steel_ingot", "default:steel_ingot"}, @@ -374,7 +374,7 @@ if protector_crafts then } }) - minetest.register_craft({ + core.register_craft({ output = name, recipe = { {"doors:door_steel", "default:copper_ingot"} } }) @@ -390,14 +390,14 @@ local function register_trapdoor(name, def) def.on_rightclick = function (pos, node, clicker, itemstack, pointed_thing) - if minetest.is_protected(pos, clicker:get_player_name()) then return end + if core.is_protected(pos, clicker:get_player_name()) then return end local newname = node.name == name_closed and name_opened or name_closed - minetest.sound_play(def.open_sound, + core.sound_play(def.open_sound, {pos = pos, gain = 0.3, max_hear_distance = 10}, true) - minetest.swap_node(pos, + core.swap_node(pos, {name = newname, param1 = node.param1, param2 = node.param2}) end @@ -435,8 +435,8 @@ local function register_trapdoor(name, def) def_opened.drop = name_closed def_opened.groups.not_in_creative_inventory = 1 - minetest.register_node(name_opened, def_opened) - minetest.register_node(name_closed, def_closed) + core.register_node(name_opened, def_opened) + core.register_node(name_closed, def_closed) end -- Protected Wooden Trapdoor @@ -458,12 +458,12 @@ if protector_crafts then if mcl then - minetest.register_craft({ + core.register_craft({ output = "protector:trapdoor", recipe = { {"mcl_doors:trapdoor", "mcl_core:gold_ingot"} } }) else - minetest.register_craft({ + core.register_craft({ output = "protector:trapdoor 2", recipe = { {"group:wood", "default:copper_ingot", "group:wood"}, @@ -471,7 +471,7 @@ if protector_crafts then } }) - minetest.register_craft({ + core.register_craft({ output = "protector:trapdoor", recipe = { {"doors:trapdoor", "default:copper_ingot"} } }) @@ -500,12 +500,12 @@ if protector_crafts then if mcl then - minetest.register_craft({ + core.register_craft({ output = "protector:trapdoor_steel", recipe = { {"mcl_doors:iron_trapdoor", "mcl_core:gold_ingot"} } }) else - minetest.register_craft({ + core.register_craft({ output = "protector:trapdoor_steel", recipe = { {"default:copper_ingot", "default:steel_ingot"}, @@ -513,7 +513,7 @@ if protector_crafts then } }) - minetest.register_craft({ + core.register_craft({ output = "protector:trapdoor_steel", recipe = { {"doors:trapdoor_steel", "default:copper_ingot"} } }) diff --git a/hud.lua b/hud.lua index c6a1d6c..1c8da00 100644 --- a/hud.lua +++ b/hud.lua @@ -1,19 +1,19 @@ -- translation and protector radius -local S = minetest.get_translator("protector") +local S = core.get_translator("protector") local radius = protector.radius -- hud settings local hud = {} local hud_timer = 0 -local hud_interval = (tonumber(minetest.settings:get("protector_hud_interval")) or 4) -local hud_style = minetest.has_feature("hud_def_type_field") +local hud_interval = (tonumber(core.settings:get("protector_hud_interval")) or 4) +local hud_style = core.has_feature("hud_def_type_field") if hud_interval > 0 then -minetest.register_globalstep(function(dtime) +core.register_globalstep(function(dtime) hud_timer = hud_timer + dtime @@ -21,13 +21,13 @@ minetest.register_globalstep(function(dtime) hud_timer = 0 - for _, player in pairs(minetest.get_connected_players()) do + for _, player in pairs(core.get_connected_players()) do local name = player:get_player_name() local pos = vector.round(player:get_pos()) local hud_text = "" - local protectors = minetest.find_nodes_in_area( + local protectors = core.find_nodes_in_area( {x = pos.x - radius , y = pos.y - radius , z = pos.z - radius}, {x = pos.x + radius , y = pos.y + radius , z = pos.z + radius}, {"protector:protect","protector:protect2", "protector:protect_hidden"}) @@ -35,7 +35,7 @@ minetest.register_globalstep(function(dtime) if #protectors > 0 then local npos = protectors[1] - local meta = minetest.get_meta(npos) + local meta = core.get_meta(npos) local nodeowner = meta:get_string("owner") local members = meta:get_string("members"):split(" ") @@ -75,7 +75,7 @@ minetest.register_globalstep(function(dtime) end end) -minetest.register_on_leaveplayer(function(player) +core.register_on_leaveplayer(function(player) hud[player:get_player_name()] = nil end) diff --git a/init.lua b/init.lua index 8e75fc1..a281bba 100644 --- a/init.lua +++ b/init.lua @@ -1,7 +1,7 @@ -- default support (for use with MineClone2 and other [games] -if not minetest.global_exists("default") then +if not core.global_exists("default") then default = { node_sound_stone_defaults = function(table) return {} end, @@ -11,7 +11,7 @@ if not minetest.global_exists("default") then } end -if minetest.get_modpath("mcl_sounds") then +if core.get_modpath("mcl_sounds") then default.node_sound_stone_defaults = mcl_sounds.node_sound_stone_defaults default.node_sound_wood_defaults = mcl_sounds.node_sound_wood_defaults default.node_sound_metal_defaults = mcl_sounds.node_sound_metal_defaults @@ -19,16 +19,16 @@ end -- modpath, formspec helper and translator -local MP = minetest.get_modpath(minetest.get_current_modname()) -local F = minetest.formspec_escape -local S = minetest.get_translator("protector") +local MP = core.get_modpath(core.get_current_modname()) +local F = core.formspec_escape +local S = core.get_translator("protector") -- global table protector = { mod = "redo", max_shares = 12, - radius = tonumber(minetest.settings:get("protector_radius")) or 5 + radius = tonumber(core.settings:get("protector_radius")) or 5 } -- radius limiter (minetest cannot handle node volume of more than 4096000) @@ -37,7 +37,7 @@ if protector.radius > 30 then protector.radius = 30 end -- playerfactions check -local factions_available = minetest.global_exists("factions") +local factions_available = core.global_exists("factions") if factions_available then protector.max_shares = 8 end @@ -47,17 +47,17 @@ local math_floor, math_pi = math.floor, math.pi -- settings -local protector_flip = minetest.settings:get_bool("protector_flip") or false -local protector_hurt = tonumber(minetest.settings:get("protector_hurt")) or 0 -local protector_spawn = tonumber(minetest.settings:get("protector_spawn") - or minetest.settings:get("protector_pvp_spawn")) or 0 -local protector_show = tonumber(minetest.settings:get("protector_show_interval")) or 5 -local protector_recipe = minetest.settings:get_bool("protector_recipe") ~= false -local protector_msg = minetest.settings:get_bool("protector_msg") ~= false +local protector_flip = core.settings:get_bool("protector_flip") or false +local protector_hurt = tonumber(core.settings:get("protector_hurt")) or 0 +local protector_spawn = tonumber(core.settings:get("protector_spawn") + or core.settings:get("protector_pvp_spawn")) or 0 +local protector_show = tonumber(core.settings:get("protector_show_interval")) or 5 +local protector_recipe = core.settings:get_bool("protector_recipe") ~= false +local protector_msg = core.settings:get_bool("protector_msg") ~= false -- get static spawn position -local statspawn = minetest.string_to_pos(minetest.settings:get("static_spawnpoint")) +local statspawn = core.string_to_pos(core.settings:get("static_spawnpoint")) or {x = 0, y = 2, z = 0} -- return list of members as a table @@ -254,7 +254,7 @@ local function show_msg(player_name, msg) -- if messages disabled or no player name provided if protector_msg == false or not player_name or player_name == "" then return end - minetest.chat_send_player(player_name, msg) + core.chat_send_player(player_name, msg) end -- Infolevel: @@ -269,7 +269,7 @@ function protector.can_dig(r, pos, digger, onlyowner, infolevel) -- protector_bypass privileged users can override protection if infolevel == 1 - and minetest.check_player_privs(digger, {protection_bypass = true}) then + and core.check_player_privs(digger, {protection_bypass = true}) then return true end @@ -280,13 +280,13 @@ function protector.can_dig(r, pos, digger, onlyowner, infolevel) if inside_spawn(pos, protector_spawn) then show_msg(digger, S("Spawn @1 has been protected up to a @2 block radius.", - minetest.pos_to_string(statspawn), protector_spawn)) + core.pos_to_string(statspawn), protector_spawn)) return false end -- find the protector nodes - local pos = minetest.find_nodes_in_area( + local pos = core.find_nodes_in_area( {x = pos.x - r, y = pos.y - r, z = pos.z - r}, {x = pos.x + r, y = pos.y + r, z = pos.z + r}, {"protector:protect", "protector:protect2", "protector:protect_hidden"}) @@ -295,7 +295,7 @@ function protector.can_dig(r, pos, digger, onlyowner, infolevel) for n = 1, #pos do - meta = minetest.get_meta(pos[n]) + meta = core.get_meta(pos[n]) owner = meta:get_string("owner") or "" members = meta:get_string("members") or "" @@ -314,14 +314,14 @@ function protector.can_dig(r, pos, digger, onlyowner, infolevel) -- when using protector as tool, show protector information if infolevel == 2 then - minetest.chat_send_player(digger, + core.chat_send_player(digger, S("This area is owned by @1", owner) .. ".") - minetest.chat_send_player(digger, - S("Protection located at: @1", minetest.pos_to_string(pos[n]))) + core.chat_send_player(digger, + S("Protection located at: @1", core.pos_to_string(pos[n]))) if members ~= "" then - minetest.chat_send_player(digger, S("Members: @1.", members)) + core.chat_send_player(digger, S("Members: @1.", members)) end return false @@ -333,10 +333,10 @@ function protector.can_dig(r, pos, digger, onlyowner, infolevel) if infolevel == 2 then if #pos < 1 then - minetest.chat_send_player(digger, S("This area is not protected.")) + core.chat_send_player(digger, S("This area is not protected.")) end - minetest.chat_send_player(digger, S("You can build here.")) + core.chat_send_player(digger, S("You can build here.")) end return true @@ -344,9 +344,9 @@ end -- add protector hurt and flip to protection violation function -minetest.register_on_protection_violation(function(pos, name) +core.register_on_protection_violation(function(pos, name) - local player = minetest.get_player_by_name(name) + local player = core.get_player_by_name(name) if player and player:is_player() then @@ -354,7 +354,7 @@ minetest.register_on_protection_violation(function(pos, name) if protector_hurt > 0 and player:get_hp() > 0 then -- This delay fixes item duplication bug (thanks luk3yx) - minetest.after(0.1, function(player) + core.after(0.1, function(player) player:set_hp(player:get_hp() - protector_hurt) end, player) end @@ -386,11 +386,11 @@ end) -- backup old is_protected function -local old_is_protected = minetest.is_protected +local old_is_protected = core.is_protected -- check for protected area, return true if protected and digger isn't on list -function minetest.is_protected(pos, digger) +function core.is_protected(pos, digger) digger = digger or "" -- nil check @@ -415,9 +415,9 @@ local function check_overlap(itemstack, placer, pointed_thing) -- make sure protector doesn't overlap onto protected spawn area if inside_spawn(pos, protector_spawn + protector.radius) then - minetest.chat_send_player(name, + core.chat_send_player(name, S("Spawn @1 has been protected up to a @2 block radius.", - minetest.pos_to_string(statspawn), protector_spawn)) + core.pos_to_string(statspawn), protector_spawn)) return itemstack end @@ -425,20 +425,20 @@ local function check_overlap(itemstack, placer, pointed_thing) -- make sure protector doesn't overlap any other player's area if not protector.can_dig(protector.radius * 2, pos, name, true, 3) then - minetest.chat_send_player(name, + core.chat_send_player(name, S("Overlaps into above players protected area")) return itemstack end - return minetest.item_place(itemstack, placer, pointed_thing) + return core.item_place(itemstack, placer, pointed_thing) end -- remove protector display entities local function del_display(pos) - local objects = minetest.get_objects_inside_radius(pos, 0.5) + local objects = core.get_objects_inside_radius(pos, 0.5) for _, v in ipairs(objects) do @@ -456,7 +456,7 @@ local player_pos = {} local stone_tex = "default_stone.png" -if minetest.get_modpath("nc_terrain") then +if core.get_modpath("nc_terrain") then stone_tex = "nc_terrain_stone.png" end @@ -483,7 +483,7 @@ local def = { after_place_node = function(pos, placer) - local meta = minetest.get_meta(pos) + local meta = core.get_meta(pos) meta:set_string("owner", placer:get_player_name() or "") meta:set_string("members", "") @@ -501,22 +501,22 @@ local def = { on_rightclick = function(pos, node, clicker, itemstack) - local meta = minetest.get_meta(pos) + local meta = core.get_meta(pos) local name = clicker:get_player_name() if meta and protector.can_dig(1, pos, name, true, 1) then player_pos[name] = pos - minetest.show_formspec(name, "protector:node", protector_formspec(meta)) + core.show_formspec(name, "protector:node", protector_formspec(meta)) end end, on_punch = function(pos, node, puncher) - if minetest.is_protected(pos, puncher:get_player_name()) then return end + if core.is_protected(pos, puncher:get_player_name()) then return end - minetest.add_entity(pos, "protector:display") + core.add_entity(pos, "protector:display") end, can_dig = function(pos, player) @@ -531,7 +531,7 @@ local def = { -- protection node -minetest.register_node("protector:protect", table.copy(def)) +core.register_node("protector:protect", table.copy(def)) -- default recipe and alternative for MineClone2 @@ -540,12 +540,12 @@ if protector_recipe then local item_gold = "default:gold_ingot" local item_stone = "default:stone" - if minetest.get_modpath("mcl_core") then + if core.get_modpath("mcl_core") then item_gold = "mcl_core:gold_ingot" item_stone = "mcl_core:stone" end - minetest.register_craft({ + core.register_craft({ output = "protector:protect", recipe = { {item_stone, item_stone, item_stone}, @@ -573,21 +573,21 @@ def.node_box = { } def.selection_box = {type = "wallmounted"} -minetest.register_node("protector:protect2", table.copy(def)) +core.register_node("protector:protect2", table.copy(def)) -- recipes to switch between protectors -minetest.register_craft({ +core.register_craft({ output = "protector:protect", recipe = {{"protector:protect2"}} }) -minetest.register_craft({ +core.register_craft({ output = "protector:protect2", recipe = {{"protector:protect"}} }) -- check formspec buttons or when name entered -minetest.register_on_player_receive_fields(function(player, formname, fields) +core.register_on_player_receive_fields(function(player, formname, fields) if formname ~= "protector:node" then return end @@ -611,14 +611,14 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end -- are we adding member to a protection node ? (csm protection) - local nod = minetest.get_node(pos).name + local nod = core.get_node(pos).name if nod ~= "protector:protect" and nod ~= "protector:protect2" then player_pos[name] = nil return end - local meta = minetest.get_meta(pos) ; if not meta then return end + local meta = core.get_meta(pos) ; if not meta then return end -- add faction members if factions_available and fields.faction_members ~= nil then @@ -643,12 +643,12 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end end - minetest.show_formspec(name, formname, protector_formspec(meta)) + core.show_formspec(name, formname, protector_formspec(meta)) end) -- display entity shown when protector node is punched -minetest.register_entity("protector:display", { +core.register_entity("protector:display", { initial_properties = { physical = false, @@ -676,7 +676,7 @@ minetest.register_entity("protector:display", { local r = protector.radius -minetest.register_node("protector:display_node", { +core.register_node("protector:display_node", { tiles = {"protector_display.png"}, use_texture_alpha = "clip", walkable = false, @@ -709,13 +709,13 @@ dofile(MP .. "/admin.lua") dofile(MP .. "/tool.lua") dofile(MP .. "/hud.lua") -if minetest.get_modpath("lucky_block") then +if core.get_modpath("lucky_block") then dofile(MP .. "/lucky_block.lua") end -- stop mesecon pistons from pushing protectors -if minetest.get_modpath("mesecons_mvps") then +if core.get_modpath("mesecons_mvps") then mesecon.register_mvps_stopper("protector:protect") mesecon.register_mvps_stopper("protector:protect2") mesecon.register_mvps_stopper("protector:protect_hidden") @@ -724,7 +724,7 @@ end -- player command to add member names to local protection -minetest.register_chatcommand("protector_add_member", { +core.register_chatcommand("protector_add_member", { params = "", description = S("Add member names to local protection"), privs = {interact = true}, @@ -734,11 +734,11 @@ minetest.register_chatcommand("protector_add_member", { if param == "" then return end local to_add = param:split(" ") - local player = minetest.get_player_by_name(name) + local player = core.get_player_by_name(name) local pos = player:get_pos() -- find the protector nodes - local pos = minetest.find_nodes_in_area( + local pos = core.find_nodes_in_area( {x = pos.x - r, y = pos.y - r, z = pos.z - r}, {x = pos.x + r, y = pos.y + r, z = pos.z + r}, {"protector:protect", "protector:protect2", "protector:protect_hidden"}) @@ -747,17 +747,17 @@ minetest.register_chatcommand("protector_add_member", { for n = 1, #pos do - meta = minetest.get_meta(pos[n]) + meta = core.get_meta(pos[n]) owner = meta:get_string("owner") or "" if owner == name - or minetest.check_player_privs(name, {protection_bypass = true}) then + or core.check_player_privs(name, {protection_bypass = true}) then for m = 1, #to_add do add_member(meta, to_add[m]) end - minetest.add_entity(pos[n], "protector:display") + core.add_entity(pos[n], "protector:display") end end end @@ -765,7 +765,7 @@ minetest.register_chatcommand("protector_add_member", { -- player command to remove member names from local protection -minetest.register_chatcommand("protector_del_member", { +core.register_chatcommand("protector_del_member", { params = "", description = S("Remove member names from local protection"), privs = {interact = true}, @@ -775,11 +775,11 @@ minetest.register_chatcommand("protector_del_member", { if param == "" then return end local to_del = param:split(" ") - local player = minetest.get_player_by_name(name) + local player = core.get_player_by_name(name) local pos = player:get_pos() -- find the protector nodes - local pos = minetest.find_nodes_in_area( + local pos = core.find_nodes_in_area( {x = pos.x - r, y = pos.y - r, z = pos.z - r}, {x = pos.x + r, y = pos.y + r, z = pos.z + r}, {"protector:protect", "protector:protect2", "protector:protect_hidden"}) @@ -788,17 +788,17 @@ minetest.register_chatcommand("protector_del_member", { for n = 1, #pos do - meta = minetest.get_meta(pos[n]) + meta = core.get_meta(pos[n]) owner = meta:get_string("owner") or "" if owner == name - or minetest.check_player_privs(name, {protection_bypass = true}) then + or core.check_player_privs(name, {protection_bypass = true}) then for m = 1, #to_del do del_member(meta, to_del[m]) end - minetest.add_entity(pos[n], "protector:display") + core.add_entity(pos[n], "protector:display") end end end diff --git a/pvp.lua b/pvp.lua index 2af4bd7..5d22250 100644 --- a/pvp.lua +++ b/pvp.lua @@ -1,26 +1,26 @@ -- get static spawn position -local statspawn = minetest.string_to_pos(minetest.settings:get("static_spawnpoint")) +local statspawn = core.string_to_pos(core.settings:get("static_spawnpoint")) or {x = 0, y = 2, z = 0} -- is spawn protected -local protector_spawn = tonumber(minetest.settings:get("protector_spawn") - or minetest.settings:get("protector_pvp_spawn")) or 0 +local protector_spawn = tonumber(core.settings:get("protector_spawn") + or core.settings:get("protector_pvp_spawn")) or 0 -- is night-only pvp enabled -local protector_night_pvp = minetest.settings:get_bool("protector_night_pvp") +local protector_night_pvp = core.settings:get_bool("protector_night_pvp") -- disables PVP in your own protected areas -if minetest.settings:get_bool("enable_pvp") -and minetest.settings:get_bool("protector_pvp") then +if core.settings:get_bool("enable_pvp") +and core.settings:get_bool("protector_pvp") then - if minetest.register_on_punchplayer then + if core.register_on_punchplayer then - minetest.register_on_punchplayer(function(player, hitter, + core.register_on_punchplayer(function(player, hitter, time_from_last_punch, tool_capabilities, dir, damage) if not player or not hitter then @@ -46,7 +46,7 @@ and minetest.settings:get_bool("protector_pvp") then if protector_night_pvp then -- get time of day - local tod = minetest.get_timeofday() or 0 + local tod = core.get_timeofday() or 0 if tod > 0.2 and tod < 0.8 then -- @@ -56,7 +56,7 @@ and minetest.settings:get_bool("protector_pvp") then end -- is player being punched inside a protected area ? - if minetest.is_protected(pos, hitter:get_player_name()) then + if core.is_protected(pos, hitter:get_player_name()) then return true end diff --git a/tool.lua b/tool.lua index 68d290e..113f143 100644 --- a/tool.lua +++ b/tool.lua @@ -1,7 +1,7 @@ -- protector placement tool (thanks to Shara for code and idea) -local S = minetest.get_translator("protector") +local S = core.get_translator("protector") -- get protection radius @@ -9,7 +9,7 @@ local r = protector.radius -- protector placement tool -minetest.register_craftitem("protector:tool", { +core.register_craftitem("protector:tool", { description = S("Protector Placer Tool (stand near protector, face direction and use)"), inventory_image = "protector_tool.png", stack_max = 1, @@ -20,7 +20,7 @@ minetest.register_craftitem("protector:tool", { -- check for protector near player (2 block radius) local pos = user:get_pos() - local pp = minetest.find_nodes_in_area( + local pp = core.find_nodes_in_area( vector.subtract(pos, 2), vector.add(pos, 2), {"protector:protect", "protector:protect2", "protector:protect_hidden"}) @@ -29,11 +29,11 @@ minetest.register_craftitem("protector:tool", { pos = pp[1] -- take position of first protector found -- get members on protector - local meta = minetest.get_meta(pos) + local meta = core.get_meta(pos) local members = meta:get_string("members") or "" -- get direction player is facing - local dir = minetest.dir_to_facedir( user:get_look_dir() ) + local dir = core.dir_to_facedir( user:get_look_dir() ) local vec = {x = 0, y = 0, z = 0} local gap = (r * 2) + 1 local pit = user:get_look_vertical() @@ -55,26 +55,26 @@ minetest.register_craftitem("protector:tool", { -- does placing a protector overlap existing area if not protector.can_dig(r * 2, pos, user:get_player_name(), true, 3) then - minetest.chat_send_player(name, + core.chat_send_player(name, S("Overlaps into above players protected area")) return end -- does a protector already exist ? - if #minetest.find_nodes_in_area(vector.subtract(pos, 1), vector.add(pos, 1), + if #core.find_nodes_in_area(vector.subtract(pos, 1), vector.add(pos, 1), {"protector:protect", "protector:protect2", "protector:protect_hidden"}) > 0 then - minetest.chat_send_player(name, S("Protector already in place!")) + core.chat_send_player(name, S("Protector already in place!")) return end -- do not place protector out of map bounds or replace bedrock - if #minetest.find_nodes_in_area(pos, pos, {"ignore", "mcl_core:bedrock"}) > 0 then + if #core.find_nodes_in_area(pos, pos, {"ignore", "mcl_core:bedrock"}) > 0 then - minetest.chat_send_player(name, S("Out of bounds!")) + core.chat_send_player(name, S("Out of bounds!")) return end @@ -86,7 +86,7 @@ minetest.register_craftitem("protector:tool", { if not inv:contains_item("main", "protector:protect") and not inv:contains_item("main", "protector:protect2") then - minetest.chat_send_player(name, + core.chat_send_player(name, S("No protectors available to place!")) return @@ -107,29 +107,29 @@ minetest.register_craftitem("protector:tool", { end -- do not replace containers with inventory space - local inv = minetest.get_inventory({type = "node", pos = pos}) + local inv = core.get_inventory({type = "node", pos = pos}) if inv then - minetest.chat_send_player(name, + core.chat_send_player(name, S("Cannot place protector, container at @1", - minetest.pos_to_string(pos))) + core.pos_to_string(pos))) return end -- protection check for other mods like Areas - if minetest.is_protected(pos, name) then + if core.is_protected(pos, name) then - minetest.chat_send_player(name, + core.chat_send_player(name, S("Cannot place protector, already protected at @1", - minetest.pos_to_string(pos))) + core.pos_to_string(pos))) return end -- place protector - minetest.set_node(pos, {name = nod, param2 = 1}) + core.set_node(pos, {name = nod, param2 = 1}) -- set protector metadata - local meta = minetest.get_meta(pos) + local meta = core.get_meta(pos) meta:set_string("owner", name) meta:set_string("infotext", "Protection (owned by " .. name .. ")") @@ -141,8 +141,8 @@ minetest.register_craftitem("protector:tool", { meta:set_string("members", "") end - minetest.chat_send_player(name, - S("Protector placed at @1", minetest.pos_to_string(pos))) + core.chat_send_player(name, + S("Protector placed at @1", core.pos_to_string(pos))) end }) @@ -150,11 +150,11 @@ minetest.register_craftitem("protector:tool", { local df = "default:steel_ingot" -if minetest.get_modpath("mcl_core") then +if core.get_modpath("mcl_core") then df = "mcl_core:iron_ingot" end -minetest.register_craft({ +core.register_craft({ output = "protector:tool", recipe = { {df, df, df},