From ac83dead50bfb59c564c8e52e2bffa8e84d225bc Mon Sep 17 00:00:00 2001 From: sfan5 Date: Tue, 8 Oct 2024 20:30:26 +0200 Subject: [PATCH 01/17] mesecons_doors: Don't modify doors that are already mesecon-enabled --- mesecons_doors/init.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mesecons_doors/init.lua b/mesecons_doors/init.lua index 18f5d3a..420029a 100644 --- a/mesecons_doors/init.lua +++ b/mesecons_doors/init.lua @@ -22,6 +22,11 @@ end local function meseconify_door(name) if minetest.registered_items[name .. "_b_1"] then -- old style double-node doors + if minetest.registered_items[name .. "_b_1"].mesecons then + minetest.log("info", "[mesecons_doors] Not touching door " .. name) + return + end + local function toggle_state1 (pos) on_rightclick(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0}) end @@ -47,6 +52,10 @@ local function meseconify_door(name) }) elseif minetest.registered_items[name .. "_a"] then -- new style mesh node based doors + if minetest.registered_items[name .. "_a"].mesecons then + minetest.log("info", "[mesecons_doors] Not touching door " .. name) + return + end local override = { mesecons = {effector = { action_on = function(pos) From b46c589a38c98b4fe84716922dbabb21841bca67 Mon Sep 17 00:00:00 2001 From: mruncreative <67873653+mruncreative@users.noreply.github.com> Date: Wed, 16 Oct 2024 00:27:20 +0200 Subject: [PATCH 02/17] Support doors and trapdoors from mods (#683) * Support doors and trapdoors from mods Removed hardcoded door names and instead now use the API of the door mod to meseconify all doors and trapdoors that have been registered after the mods are finished loading. * indentation as described by sfan5 --- mesecons_doors/init.lua | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/mesecons_doors/init.lua b/mesecons_doors/init.lua index 420029a..8b6b33c 100644 --- a/mesecons_doors/init.lua +++ b/mesecons_doors/init.lua @@ -82,15 +82,6 @@ local function meseconify_door(name) end end -local doors_list = { - "doors:door_wood", - "doors:door_steel", - "doors:door_glass", - "doors:door_obsidian_glass", - "xpanes:door_steel_bar", -} -for i=1,#doors_list do meseconify_door(doors_list[i]) end - -- Trapdoor local function trapdoor_switch(name) return function(pos, node) @@ -140,9 +131,15 @@ local function meseconify_trapdoor(name) end end -local trapdoors_list = { - "doors:trapdoor", - "doors:trapdoor_steel", - "xpanes:trapdoor_steel_bar" -} -for i=1,#trapdoors_list do meseconify_trapdoor(trapdoors_list[i]) end +minetest.register_on_mods_loaded(function() + for k,_ in pairs(doors.registered_doors) do + if k:find("_a$") then + meseconify_door(k:sub(1,-3)) + end + end + for k,_ in pairs(doors.registered_trapdoors) do + if not k:find("_open$") then + meseconify_trapdoor(k) + end + end +end) From 31b56063a044677f96fd00275a7eccabd4a63f43 Mon Sep 17 00:00:00 2001 From: tour <129965577+a-tour-ist@users.noreply.github.com> Date: Fri, 15 Nov 2024 11:04:14 +0100 Subject: [PATCH 03/17] commandblock: replace deprecated formspec element "invsize" --- mesecons_commandblock/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mesecons_commandblock/init.lua b/mesecons_commandblock/init.lua index 63fa702..fd1c7d2 100644 --- a/mesecons_commandblock/init.lua +++ b/mesecons_commandblock/init.lua @@ -48,7 +48,7 @@ minetest.register_chatcommand("hp", { local function initialize_data(meta) local commands = minetest.formspec_escape(meta:get_string("commands")) meta:set_string("formspec", - "invsize[9,5;]" .. + "size[9,5]" .. "textarea[0.5,0.5;8.5,4;commands;Commands;"..commands.."]" .. "label[1,3.8;@nearest, @farthest, and @random are replaced by the respective player names]" .. "button_exit[3.3,4.5;2,1;submit;Submit]") From 5c820891460fd28166f821e3c17240bc4e6f9c1e Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Fri, 6 Dec 2024 18:50:44 +0100 Subject: [PATCH 04/17] Detector: Ignore unexpected digiline data types --- mesecons_detector/init.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mesecons_detector/init.lua b/mesecons_detector/init.lua index a8d0300..2653174 100644 --- a/mesecons_detector/init.lua +++ b/mesecons_detector/init.lua @@ -66,7 +66,8 @@ local object_detector_digiline = { effector = { action = function(pos, _, channel, msg) local meta = minetest.get_meta(pos) - if channel == meta:get_string("digiline_channel") then + if channel == meta:get_string("digiline_channel") and + (type(msg) == "string" or type(msg) == "number") then meta:set_string("scanname", msg) object_detector_make_formspec(pos) end From d547f5fe43eac4ea85cc1df8b54e9aacc14156f4 Mon Sep 17 00:00:00 2001 From: Darin <54958995+Darin755@users.noreply.github.com> Date: Sat, 7 Dec 2024 14:53:20 +0000 Subject: [PATCH 05/17] Added sha256 function to lua controller (#690) --- mesecons_luacontroller/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/mesecons_luacontroller/init.lua b/mesecons_luacontroller/init.lua index 90516c0..9e2d3c8 100644 --- a/mesecons_luacontroller/init.lua +++ b/mesecons_luacontroller/init.lua @@ -509,6 +509,7 @@ local function create_environment(pos, mem, event, itbl, send_warning) print = safe_print, interrupt = get_interrupt(pos, itbl, send_warning), digiline_send = get_digiline_send(pos, itbl, send_warning), + sha256sum = minetest.sha256, string = { byte = string.byte, char = string.char, From 5883a0ce65f0ee2c62cfa9372c93d933bba835ee Mon Sep 17 00:00:00 2001 From: sfan5 Date: Tue, 10 Dec 2024 15:17:41 +0100 Subject: [PATCH 06/17] Change test workflow to Luanti 5.10 --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 300025e..6124b53 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,7 @@ jobs: matrix: cfg: - { image: 'registry.gitlab.com/minetest/minetest/server:5.0.1', mtg: false } - - { image: 'ghcr.io/minetest/minetest:5.9.0', mtg: true } + - { image: 'ghcr.io/minetest/minetest:5.10.0', mtg: true } steps: - uses: actions/checkout@main From 8051129f8230405aa2267f8b69db9c47f135c547 Mon Sep 17 00:00:00 2001 From: randomei Date: Fri, 20 Dec 2024 00:03:34 +0300 Subject: [PATCH 07/17] Russian translation, gates localization (#692) --- mesecons/locale/mesecons.ru.tr | 4 ++++ .../locale/mesecons_blinkyplant.ru.tr | 4 ++++ mesecons_button/locale/mesecons_button.ru.tr | 4 ++++ .../locale/mesecons_commandblock.ru.tr | 7 +++++++ .../locale/mesecons_delayer.ru.tr | 5 +++++ .../locale/mesecons_detector.ru.tr | 5 +++++ .../locale/mesecons_extrawires.ru.tr | 20 +++++++++++++++++++ mesecons_fpga/locale/mesecons_fpga.ru.tr | 7 +++++++ mesecons_gates/init.lua | 16 ++++++++------- mesecons_gates/locale/mesecons_gates.ru.tr | 8 ++++++++ mesecons_gates/locale/template.txt | 8 ++++++++ .../locale/mesecons_hydroturbine.ru.tr | 4 ++++ .../locale/mesecons_insulated.ru.tr | 4 ++++ mesecons_lamp/locale/mesecons_lamp.ru.tr | 4 ++++ .../locale/mesecons_lightstone.ru.tr | 15 ++++++++++++++ .../locale/mesecons_luacontroller.ru.tr | 4 ++++ .../locale/mesecons_materials.ru.tr | 6 ++++++ .../locale/mesecons_microcontroller.ru.tr | 4 ++++ .../locale/mesecons_movestones.ru.tr | 7 +++++++ .../locale/mesecons_noteblock.ru.tr | 4 ++++ .../locale/mesecons_pistons.ru.tr | 9 +++++++++ .../locale/mesecons_powerplant.ru.tr | 4 ++++ .../locale/mesecons_pressureplates.ru.tr | 5 +++++ mesecons_random/locale/mesecons_random.ru.tr | 5 +++++ .../locale/mesecons_solarpanel.ru.tr | 4 ++++ .../locale/mesecons_stickyblocks.ru.tr | 4 ++++ mesecons_switch/locale/mesecons_switch.ru.tr | 4 ++++ mesecons_torch/locale/mesecons_torch.ru.tr | 4 ++++ .../locale/mesecons_walllever.ru.tr | 4 ++++ mesecons_wires/locale/mesecons_wires.ru.tr | 4 ++++ 30 files changed, 180 insertions(+), 7 deletions(-) create mode 100644 mesecons/locale/mesecons.ru.tr create mode 100644 mesecons_blinkyplant/locale/mesecons_blinkyplant.ru.tr create mode 100644 mesecons_button/locale/mesecons_button.ru.tr create mode 100644 mesecons_commandblock/locale/mesecons_commandblock.ru.tr create mode 100644 mesecons_delayer/locale/mesecons_delayer.ru.tr create mode 100644 mesecons_detector/locale/mesecons_detector.ru.tr create mode 100644 mesecons_extrawires/locale/mesecons_extrawires.ru.tr create mode 100644 mesecons_fpga/locale/mesecons_fpga.ru.tr create mode 100644 mesecons_gates/locale/mesecons_gates.ru.tr create mode 100644 mesecons_gates/locale/template.txt create mode 100644 mesecons_hydroturbine/locale/mesecons_hydroturbine.ru.tr create mode 100644 mesecons_insulated/locale/mesecons_insulated.ru.tr create mode 100644 mesecons_lamp/locale/mesecons_lamp.ru.tr create mode 100644 mesecons_lightstone/locale/mesecons_lightstone.ru.tr create mode 100644 mesecons_luacontroller/locale/mesecons_luacontroller.ru.tr create mode 100644 mesecons_materials/locale/mesecons_materials.ru.tr create mode 100644 mesecons_microcontroller/locale/mesecons_microcontroller.ru.tr create mode 100644 mesecons_movestones/locale/mesecons_movestones.ru.tr create mode 100644 mesecons_noteblock/locale/mesecons_noteblock.ru.tr create mode 100644 mesecons_pistons/locale/mesecons_pistons.ru.tr create mode 100644 mesecons_powerplant/locale/mesecons_powerplant.ru.tr create mode 100644 mesecons_pressureplates/locale/mesecons_pressureplates.ru.tr create mode 100644 mesecons_random/locale/mesecons_random.ru.tr create mode 100644 mesecons_solarpanel/locale/mesecons_solarpanel.ru.tr create mode 100644 mesecons_stickyblocks/locale/mesecons_stickyblocks.ru.tr create mode 100644 mesecons_switch/locale/mesecons_switch.ru.tr create mode 100644 mesecons_torch/locale/mesecons_torch.ru.tr create mode 100644 mesecons_walllever/locale/mesecons_walllever.ru.tr create mode 100644 mesecons_wires/locale/mesecons_wires.ru.tr diff --git a/mesecons/locale/mesecons.ru.tr b/mesecons/locale/mesecons.ru.tr new file mode 100644 index 0000000..787f7d8 --- /dev/null +++ b/mesecons/locale/mesecons.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons + +### oldwires.lua ### +Mesecons=Мезеконы diff --git a/mesecons_blinkyplant/locale/mesecons_blinkyplant.ru.tr b/mesecons_blinkyplant/locale/mesecons_blinkyplant.ru.tr new file mode 100644 index 0000000..6f25295 --- /dev/null +++ b/mesecons_blinkyplant/locale/mesecons_blinkyplant.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_blinkyplant + +### init.lua ### +Blinky Plant=Мигающий цветок diff --git a/mesecons_button/locale/mesecons_button.ru.tr b/mesecons_button/locale/mesecons_button.ru.tr new file mode 100644 index 0000000..036723d --- /dev/null +++ b/mesecons_button/locale/mesecons_button.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_button + +### init.lua ### +Button=Кнопка diff --git a/mesecons_commandblock/locale/mesecons_commandblock.ru.tr b/mesecons_commandblock/locale/mesecons_commandblock.ru.tr new file mode 100644 index 0000000..64122e4 --- /dev/null +++ b/mesecons_commandblock/locale/mesecons_commandblock.ru.tr @@ -0,0 +1,7 @@ +# textdomain: mesecons_commandblock + +### init.lua ### +Say as the server=Сказать <текст> от имени сервера +Say to privately=Сказать <текст> игроку <имя> в личном сообщении +Set health of to hitpoints=Установить здоровье игрока <имя> на <значение> хитпоинтов +Command Block=Комадный блок diff --git a/mesecons_delayer/locale/mesecons_delayer.ru.tr b/mesecons_delayer/locale/mesecons_delayer.ru.tr new file mode 100644 index 0000000..53ab893 --- /dev/null +++ b/mesecons_delayer/locale/mesecons_delayer.ru.tr @@ -0,0 +1,5 @@ +# textdomain: mesecons_delayer + +### init.lua ### +Delayer=Элемент задержки +You hacker you=Ти хакер, ти diff --git a/mesecons_detector/locale/mesecons_detector.ru.tr b/mesecons_detector/locale/mesecons_detector.ru.tr new file mode 100644 index 0000000..3b19412 --- /dev/null +++ b/mesecons_detector/locale/mesecons_detector.ru.tr @@ -0,0 +1,5 @@ +# textdomain: mesecons_detector + +### init.lua ### +Player Detector=Детектор игрока +Node Detector=Детектор блока diff --git a/mesecons_extrawires/locale/mesecons_extrawires.ru.tr b/mesecons_extrawires/locale/mesecons_extrawires.ru.tr new file mode 100644 index 0000000..3826f94 --- /dev/null +++ b/mesecons_extrawires/locale/mesecons_extrawires.ru.tr @@ -0,0 +1,20 @@ +# textdomain: mesecons_extrawires + +### corner.lua ### +Insulated Mesecon Corner=Изолированный мезекон (угол) + +### crossover.lua ### +Insulated Mesecon Crossover=Изолированный мезекон (перекрестие) +You hacker you!=Ти хакер ти! + +### doublecorner.lua ### +Insulated Mesecon Double Corner=Изолированный мезекон (двойной угол) + +### mesewire.lua ### +Mese Wire=Мезе-провод + +### tjunction.lua ### +Insulated Mesecon T-junction=Изолированный мезекон (Т-соединение) + +### vertical.lua ### +Vertical Mesecon=Вертикальный мезекон diff --git a/mesecons_fpga/locale/mesecons_fpga.ru.tr b/mesecons_fpga/locale/mesecons_fpga.ru.tr new file mode 100644 index 0000000..b3f5dfe --- /dev/null +++ b/mesecons_fpga/locale/mesecons_fpga.ru.tr @@ -0,0 +1,7 @@ +# textdomain: mesecons_fpga + +### init.lua ### +FPGA=ПЛИС + +### tool.lua ### +FPGA Programmer=ПЛИС-программер diff --git a/mesecons_gates/init.lua b/mesecons_gates/init.lua index 7e21f2f..0bb334f 100644 --- a/mesecons_gates/init.lua +++ b/mesecons_gates/init.lua @@ -1,3 +1,5 @@ +local S = minetest.get_translator(minetest.get_current_modname()) + local selection_box = { type = "fixed", fixed = { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 } @@ -146,38 +148,38 @@ end register_gate("diode", 1, function (input) return input end, {{"mesecons:mesecon", "mesecons_torch:mesecon_torch_on", "mesecons_torch:mesecon_torch_on"}}, - "Diode") + S("Diode")) register_gate("not", 1, function (input) return not input end, {{"mesecons:mesecon", "mesecons_torch:mesecon_torch_on", "mesecons:mesecon"}}, - "NOT Gate") + S("NOT Gate")) register_gate("and", 2, function (val1, val2) return val1 and val2 end, {{"mesecons:mesecon", "", ""}, {"", "mesecons_materials:silicon", "mesecons:mesecon"}, {"mesecons:mesecon", "", ""}}, - "AND Gate") + S("AND Gate")) register_gate("nand", 2, function (val1, val2) return not (val1 and val2) end, {{"mesecons:mesecon", "", ""}, {"", "mesecons_materials:silicon", "mesecons_torch:mesecon_torch_on"}, {"mesecons:mesecon", "", ""}}, - "NAND Gate") + S("NAND Gate")) register_gate("xor", 2, function (val1, val2) return (val1 or val2) and not (val1 and val2) end, {{"mesecons:mesecon", "", ""}, {"", "mesecons_materials:silicon", "mesecons_materials:silicon"}, {"mesecons:mesecon", "", ""}}, - "XOR Gate") + S("XOR Gate")) register_gate("nor", 2, function (val1, val2) return not (val1 or val2) end, {{"mesecons:mesecon", "", ""}, {"", "mesecons:mesecon", "mesecons_torch:mesecon_torch_on"}, {"mesecons:mesecon", "", ""}}, - "NOR Gate") + S("NOR Gate")) register_gate("or", 2, function (val1, val2) return (val1 or val2) end, {{"mesecons:mesecon", "", ""}, {"", "mesecons:mesecon", "mesecons:mesecon"}, {"mesecons:mesecon", "", ""}}, - "OR Gate") + S("OR Gate")) diff --git a/mesecons_gates/locale/mesecons_gates.ru.tr b/mesecons_gates/locale/mesecons_gates.ru.tr new file mode 100644 index 0000000..a218782 --- /dev/null +++ b/mesecons_gates/locale/mesecons_gates.ru.tr @@ -0,0 +1,8 @@ +# textdomain: mesecons_gates +Diode=Диод +NOT Gate=НЕ-шлюз +AND Gate=И-шлюз +NAND Gate=NAND-шлюз +XOR Gate=XOR-шлюз +NOR Gate=NOR-шлюз +OR Gate=ИЛИ-шлюз diff --git a/mesecons_gates/locale/template.txt b/mesecons_gates/locale/template.txt new file mode 100644 index 0000000..899b139 --- /dev/null +++ b/mesecons_gates/locale/template.txt @@ -0,0 +1,8 @@ +# textdomain: mesecons_gates +Diode= +NOT Gate= +AND Gate= +NAND Gate= +XOR Gate= +NOR Gate= +OR Gate= diff --git a/mesecons_hydroturbine/locale/mesecons_hydroturbine.ru.tr b/mesecons_hydroturbine/locale/mesecons_hydroturbine.ru.tr new file mode 100644 index 0000000..4055834 --- /dev/null +++ b/mesecons_hydroturbine/locale/mesecons_hydroturbine.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_hydroturbine + +### init.lua ### +Water Turbine=Гидротурбина diff --git a/mesecons_insulated/locale/mesecons_insulated.ru.tr b/mesecons_insulated/locale/mesecons_insulated.ru.tr new file mode 100644 index 0000000..9ba1004 --- /dev/null +++ b/mesecons_insulated/locale/mesecons_insulated.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_insulated + +### init.lua ### +Straight Insulated Mesecon=Прямой изолированный мезекон diff --git a/mesecons_lamp/locale/mesecons_lamp.ru.tr b/mesecons_lamp/locale/mesecons_lamp.ru.tr new file mode 100644 index 0000000..7280307 --- /dev/null +++ b/mesecons_lamp/locale/mesecons_lamp.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_lamp + +### init.lua ### +Mesecon Lamp=Мезеконовая лампа diff --git a/mesecons_lightstone/locale/mesecons_lightstone.ru.tr b/mesecons_lightstone/locale/mesecons_lightstone.ru.tr new file mode 100644 index 0000000..3867c7d --- /dev/null +++ b/mesecons_lightstone/locale/mesecons_lightstone.ru.tr @@ -0,0 +1,15 @@ +# textdomain: mesecons_lightstone + +### init.lua ### +Red Lightstone=Красный светящийся камень +Green Lightstone=Зеленый светящийся камень +Blue Lightstone=Синий светящийся камень +Grey Lightstone=Серый светящийся камень +Dark Grey Lightstone=Темно-серый светящийся камень +Yellow Lightstone=Желтый светящийся камень +Orange Lightstone=Оранжевый светящийся камень +White Lightstone=Белый светящийся камень +Pink Lightstone=Розовый светящийся камень +Magenta Lightstone=Пурпурный светящийся камень +Cyan Lightstone=Голубой светящийся камень +Violet Lightstone=Фиолетовый светящийся камень diff --git a/mesecons_luacontroller/locale/mesecons_luacontroller.ru.tr b/mesecons_luacontroller/locale/mesecons_luacontroller.ru.tr new file mode 100644 index 0000000..4924cd2 --- /dev/null +++ b/mesecons_luacontroller/locale/mesecons_luacontroller.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_luacontroller + +### init.lua ### +Luacontroller=Lua-контроллер diff --git a/mesecons_materials/locale/mesecons_materials.ru.tr b/mesecons_materials/locale/mesecons_materials.ru.tr new file mode 100644 index 0000000..b418fe0 --- /dev/null +++ b/mesecons_materials/locale/mesecons_materials.ru.tr @@ -0,0 +1,6 @@ +# textdomain: mesecons_materials + +### init.lua ### +Glue=Клей +Fiber=Волокно +Silicon=Кремний diff --git a/mesecons_microcontroller/locale/mesecons_microcontroller.ru.tr b/mesecons_microcontroller/locale/mesecons_microcontroller.ru.tr new file mode 100644 index 0000000..0a6fdbb --- /dev/null +++ b/mesecons_microcontroller/locale/mesecons_microcontroller.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_microcontroller + +### init.lua ### +Microcontroller=Микроконтроллер diff --git a/mesecons_movestones/locale/mesecons_movestones.ru.tr b/mesecons_movestones/locale/mesecons_movestones.ru.tr new file mode 100644 index 0000000..3fd8065 --- /dev/null +++ b/mesecons_movestones/locale/mesecons_movestones.ru.tr @@ -0,0 +1,7 @@ +# textdomain: mesecons_movestones + +### init.lua ### +Movestone=Ходовой камень +Sticky Movestone=Липкий ходовой камень +Vertical Movestone=Вертикальный ходовой камень +Vertical Sticky Movestone=Вертикальный липкий ходовой камень diff --git a/mesecons_noteblock/locale/mesecons_noteblock.ru.tr b/mesecons_noteblock/locale/mesecons_noteblock.ru.tr new file mode 100644 index 0000000..29960ee --- /dev/null +++ b/mesecons_noteblock/locale/mesecons_noteblock.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_noteblock + +### init.lua ### +Noteblock=Нотный блок diff --git a/mesecons_pistons/locale/mesecons_pistons.ru.tr b/mesecons_pistons/locale/mesecons_pistons.ru.tr new file mode 100644 index 0000000..4748e51 --- /dev/null +++ b/mesecons_pistons/locale/mesecons_pistons.ru.tr @@ -0,0 +1,9 @@ +# textdomain: mesecons_pistons + +### init.lua ### +Piston=Поршень +Activated Piston Base=Основание активированного поршня +Piston Pusher=Толкающая часть поршня +Sticky Piston=Липкий поршень +Activated Sticky Piston Base=Основание активированного липкого поршня +Sticky Piston Pusher=Толкающая часть липкого поршня diff --git a/mesecons_powerplant/locale/mesecons_powerplant.ru.tr b/mesecons_powerplant/locale/mesecons_powerplant.ru.tr new file mode 100644 index 0000000..8d6c21d --- /dev/null +++ b/mesecons_powerplant/locale/mesecons_powerplant.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_powerplant + +### init.lua ### +Power Plant=Энергоцветок diff --git a/mesecons_pressureplates/locale/mesecons_pressureplates.ru.tr b/mesecons_pressureplates/locale/mesecons_pressureplates.ru.tr new file mode 100644 index 0000000..f1e26fa --- /dev/null +++ b/mesecons_pressureplates/locale/mesecons_pressureplates.ru.tr @@ -0,0 +1,5 @@ +# textdomain: mesecons_pressureplates + +### init.lua ### +Wooden Pressure Plate=Деревянная нажимная пластина +Stone Pressure Plate=Каменная нажимная пластина diff --git a/mesecons_random/locale/mesecons_random.ru.tr b/mesecons_random/locale/mesecons_random.ru.tr new file mode 100644 index 0000000..416760b --- /dev/null +++ b/mesecons_random/locale/mesecons_random.ru.tr @@ -0,0 +1,5 @@ +# textdomain: mesecons_random + +### init.lua ### +Removestone=Исчезающий камень +Ghoststone=Призрачный камень diff --git a/mesecons_solarpanel/locale/mesecons_solarpanel.ru.tr b/mesecons_solarpanel/locale/mesecons_solarpanel.ru.tr new file mode 100644 index 0000000..7e14ed3 --- /dev/null +++ b/mesecons_solarpanel/locale/mesecons_solarpanel.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_solarpanel + +### init.lua ### +Solar Panel=Солнечная панель diff --git a/mesecons_stickyblocks/locale/mesecons_stickyblocks.ru.tr b/mesecons_stickyblocks/locale/mesecons_stickyblocks.ru.tr new file mode 100644 index 0000000..e484686 --- /dev/null +++ b/mesecons_stickyblocks/locale/mesecons_stickyblocks.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_stickyblocks + +### init.lua ### +Sticky Block=Липкий блок diff --git a/mesecons_switch/locale/mesecons_switch.ru.tr b/mesecons_switch/locale/mesecons_switch.ru.tr new file mode 100644 index 0000000..8f45ccd --- /dev/null +++ b/mesecons_switch/locale/mesecons_switch.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_switch + +### init.lua ### +Switch=Выключатель diff --git a/mesecons_torch/locale/mesecons_torch.ru.tr b/mesecons_torch/locale/mesecons_torch.ru.tr new file mode 100644 index 0000000..d5bceaf --- /dev/null +++ b/mesecons_torch/locale/mesecons_torch.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_torch + +### init.lua ### +Mesecon Torch=Мезе-факел diff --git a/mesecons_walllever/locale/mesecons_walllever.ru.tr b/mesecons_walllever/locale/mesecons_walllever.ru.tr new file mode 100644 index 0000000..b308bea --- /dev/null +++ b/mesecons_walllever/locale/mesecons_walllever.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_walllever + +### init.lua ### +Lever=Рычаг diff --git a/mesecons_wires/locale/mesecons_wires.ru.tr b/mesecons_wires/locale/mesecons_wires.ru.tr new file mode 100644 index 0000000..dcd5c1e --- /dev/null +++ b/mesecons_wires/locale/mesecons_wires.ru.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_wires + +### init.lua ### +Mesecon=Мезекон From 320ec9354482fd574381202a801efa3aaa09e003 Mon Sep 17 00:00:00 2001 From: luk3yx Date: Mon, 23 Dec 2024 07:08:44 +1300 Subject: [PATCH 08/17] Limit chatcommand parameter length in command blocks (#695) --- mesecons_commandblock/init.lua | 6 ++++++ settingtypes.txt | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/mesecons_commandblock/init.lua b/mesecons_commandblock/init.lua index fd1c7d2..853f16c 100644 --- a/mesecons_commandblock/init.lua +++ b/mesecons_commandblock/init.lua @@ -1,4 +1,5 @@ local S = minetest.get_translator(minetest.get_current_modname()) +local param_maxlen = mesecon.setting("commandblock_param_maxlen", 10000) minetest.register_chatcommand("say", { params = "", @@ -156,6 +157,11 @@ local function commandblock_action_on(pos, node) minetest.chat_send_player(owner, "The command "..cmd.." does not exist") return end + if #param > param_maxlen then + minetest.chat_send_player(owner, "Command parameters are limited to max. " .. + param_maxlen .. " bytes.") + return + end local has_privs, missing_privs = minetest.check_player_privs(owner, cmddef.privs) if not has_privs then minetest.chat_send_player(owner, "You don't have permission " diff --git a/settingtypes.txt b/settingtypes.txt index 688baf2..455c90a 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -11,6 +11,11 @@ mesecon.cooldown_granularity (Cooldown step length) float 0.5 0.0 1.0 mesecon.blinky_plant_interval (Plant blinking interval) int 3 1 5 +[mesecons_commandblock] + +mesecon.commandblock_param_maxlen (Maximum command parameter length) int 10000 100 1000000 + + [mesecons_detector] mesecon.detector_radius (Player detector scanning radius) int 6 3 16 From dd073d2e83ef09475812a94f426c543ff89ae623 Mon Sep 17 00:00:00 2001 From: "Maksym H." Date: Sat, 28 Dec 2024 15:23:18 +0100 Subject: [PATCH 09/17] Add missing `use_texture_alpha` (#697) --- mesecons_extrawires/vertical.lua | 5 +++++ mesecons_receiver/init.lua | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/mesecons_extrawires/vertical.lua b/mesecons_extrawires/vertical.lua index 636bb37..925bee3 100644 --- a/mesecons_extrawires/vertical.lua +++ b/mesecons_extrawires/vertical.lua @@ -40,6 +40,8 @@ local bottom_rules = { {x=0, y=2, z=0} -- receive power from pressure plate / detector / ... 2 nodes above } +local use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or nil + local function is_vertical_conductor(nodename) local def = minetest.registered_nodes[nodename] return def and def.is_vertical_conductor @@ -96,6 +98,7 @@ mesecon.register_node("mesecons_extrawires:vertical", { after_place_node = vertical_update, after_dig_node = vertical_update, sounds = mesecon.node_sound.default, + use_texture_alpha = use_texture_alpha, },{ tiles = {"mesecons_wire_off.png"}, groups = {dig_immediate=3}, @@ -130,6 +133,7 @@ mesecon.register_node("mesecons_extrawires:vertical_top", { after_place_node = vertical_update, after_dig_node = vertical_update, sounds = mesecon.node_sound.default, + use_texture_alpha = use_texture_alpha, },{ tiles = {"mesecons_wire_off.png"}, mesecons = {conductor = { @@ -162,6 +166,7 @@ mesecon.register_node("mesecons_extrawires:vertical_bottom", { after_place_node = vertical_update, after_dig_node = vertical_update, sounds = mesecon.node_sound.default, + use_texture_alpha = use_texture_alpha, },{ tiles = {"mesecons_wire_off.png"}, mesecons = {conductor = { diff --git a/mesecons_receiver/init.lua b/mesecons_receiver/init.lua index 8d30b33..6b67fd2 100644 --- a/mesecons_receiver/init.lua +++ b/mesecons_receiver/init.lua @@ -30,6 +30,8 @@ local receiver_get_rules = mesecon.horiz_rules_getter({ {x = 0, y = 0, z = -2}, }) +local use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or nil + mesecon.register_node("mesecons_receiver:receiver", { drawtype = "nodebox", paramtype = "light", @@ -98,6 +100,7 @@ mesecon.register_node("mesecons_receiver:receiver_up", { groups = {dig_immediate = 3, not_in_creative_inventory = 1}, drop = "mesecons:wire_00000000_off", sounds = mesecon.node_sound.default, + use_texture_alpha = use_texture_alpha, }, { tiles = {"mesecons_wire_off.png"}, mesecons = {conductor = { @@ -143,6 +146,7 @@ mesecon.register_node("mesecons_receiver:receiver_down", { groups = {dig_immediate = 3, not_in_creative_inventory = 1}, drop = "mesecons:wire_00000000_off", sounds = mesecon.node_sound.default, + use_texture_alpha = use_texture_alpha, }, { tiles = {"mesecons_wire_off.png"}, mesecons = {conductor = { From 1f9e86c3da08acb9e63e07c980a19097f6a125e2 Mon Sep 17 00:00:00 2001 From: "Maksym H." Date: Thu, 2 Jan 2025 10:19:16 +0100 Subject: [PATCH 10/17] Make the detector recipe from luacontroller optional (#696) --- mesecons_detector/init.lua | 36 ++++++++++++++++++++---------------- mesecons_detector/mod.conf | 1 + 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/mesecons_detector/init.lua b/mesecons_detector/init.lua index 2653174..354f3dc 100644 --- a/mesecons_detector/init.lua +++ b/mesecons_detector/init.lua @@ -111,14 +111,16 @@ minetest.register_node("mesecons_detector:object_detector_on", { on_blast = mesecon.on_blastnode, }) -minetest.register_craft({ - output = 'mesecons_detector:object_detector_off', - recipe = { - {"mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot"}, - {"mesecons_gamecompat:steel_ingot", "mesecons_luacontroller:luacontroller0000", "mesecons_gamecompat:steel_ingot"}, - {"mesecons_gamecompat:steel_ingot", "group:mesecon_conductor_craftable", "mesecons_gamecompat:steel_ingot"}, - } -}) +if minetest.get_modpath("mesecons_luacontroller") then + minetest.register_craft({ + output = 'mesecons_detector:object_detector_off', + recipe = { + {"mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot"}, + {"mesecons_gamecompat:steel_ingot", "mesecons_luacontroller:luacontroller0000", "mesecons_gamecompat:steel_ingot"}, + {"mesecons_gamecompat:steel_ingot", "group:mesecon_conductor_craftable", "mesecons_gamecompat:steel_ingot"}, + } + }) +end minetest.register_craft({ output = 'mesecons_detector:object_detector_off', @@ -287,14 +289,16 @@ minetest.register_node("mesecons_detector:node_detector_on", { on_blast = mesecon.on_blastnode, }) -minetest.register_craft({ - output = 'mesecons_detector:node_detector_off', - recipe = { - {"mesecons_gamecompat:steel_ingot", "group:mesecon_conductor_craftable", "mesecons_gamecompat:steel_ingot"}, - {"mesecons_gamecompat:steel_ingot", "mesecons_luacontroller:luacontroller0000", "mesecons_gamecompat:steel_ingot"}, - {"mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot"}, - } -}) +if minetest.get_modpath("mesecons_luacontroller") then + minetest.register_craft({ + output = 'mesecons_detector:node_detector_off', + recipe = { + {"mesecons_gamecompat:steel_ingot", "group:mesecon_conductor_craftable", "mesecons_gamecompat:steel_ingot"}, + {"mesecons_gamecompat:steel_ingot", "mesecons_luacontroller:luacontroller0000", "mesecons_gamecompat:steel_ingot"}, + {"mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot"}, + } + }) +end minetest.register_craft({ output = 'mesecons_detector:node_detector_off', diff --git a/mesecons_detector/mod.conf b/mesecons_detector/mod.conf index 6d5a0e6..ee5611b 100644 --- a/mesecons_detector/mod.conf +++ b/mesecons_detector/mod.conf @@ -1,2 +1,3 @@ name = mesecons_detector depends = mesecons, mesecons_gamecompat, mesecons_materials +optional_depends = mesecons_luacontroller From 4eeab8f6f55b622ed1f1f21ce88a3febd7118db0 Mon Sep 17 00:00:00 2001 From: blut Date: Wed, 29 Jan 2025 11:32:31 +0100 Subject: [PATCH 11/17] mesecons_gamecompat: Automatically register mvps stoppers - registered doors - registered beds - metal trapdoors --- mesecons_gamecompat/compat_mtg.lua | 30 ++++++++++++++---------------- mesecons_gamecompat/mod.conf | 2 +- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/mesecons_gamecompat/compat_mtg.lua b/mesecons_gamecompat/compat_mtg.lua index e658880..15a0abe 100644 --- a/mesecons_gamecompat/compat_mtg.lua +++ b/mesecons_gamecompat/compat_mtg.lua @@ -48,28 +48,26 @@ if minetest.get_modpath("mesecons_mvps") then for _, name in ipairs({ "default:chest_locked", "default:chest_locked_open", - "doors:door_steel_b_1", -- old style doors - "doors:door_steel_b_2", -- - "doors:door_steel_t_1", -- - "doors:door_steel_t_2", -- - "doors:door_steel_a", -- new style doors - "doors:door_steel_b", -- - "doors:door_steel_c", -- - "doors:door_steel_d", -- "doors:hidden", "doors:trapdoor_steel", "doors:trapdoor_steel_open", - "beds:bed_bottom", - "beds:bed_top", - "beds:fancy_bed_bottom", - "beds:fancy_bed_top", - "xpanes:door_steel_bar_a", - "xpanes:door_steel_bar_b", - "xpanes:door_steel_bar_c", - "xpanes:door_steel_bar_d", "xpanes:trapdoor_steel_bar", "xpanes:trapdoor_steel_bar_open", }) do mesecon.register_mvps_stopper(name) end + core.register_on_mods_loaded(function() + if minetest.get_modpath("doors") then + for k,_ in pairs(doors.registered_doors) do + mesecon.register_mvps_stopper(k) + end + end + if minetest.get_modpath("beds") then + for _,v in pairs(core.registered_nodes) do + if v.groups and v.groups.bed then + mesecon.register_mvps_stopper(v.name) + end + end + end + end) end diff --git a/mesecons_gamecompat/mod.conf b/mesecons_gamecompat/mod.conf index 997f41f..fa3da1e 100644 --- a/mesecons_gamecompat/mod.conf +++ b/mesecons_gamecompat/mod.conf @@ -1,3 +1,3 @@ name = mesecons_gamecompat depends = mesecons -optional_depends = fire, default, dye, mesecons_mvps, tnt, mcl_fire, mcl_core, mcl_dye, mcl_tnt +optional_depends = fire, default, dye, mesecons_mvps, tnt, doors, beds, mcl_fire, mcl_core, mcl_dye, mcl_tnt From 28467fc3cbb40230843b3a5028e0b3b604102c28 Mon Sep 17 00:00:00 2001 From: blut Date: Wed, 29 Jan 2025 13:22:10 +0100 Subject: [PATCH 12/17] Move mesecons_doors to mesecons_gamecompat --- mesecons_doors/mod.conf | 3 --- mesecons_doors/init.lua => mesecons_gamecompat/doors.lua | 0 mesecons_gamecompat/init.lua | 4 ++++ 3 files changed, 4 insertions(+), 3 deletions(-) delete mode 100644 mesecons_doors/mod.conf rename mesecons_doors/init.lua => mesecons_gamecompat/doors.lua (100%) diff --git a/mesecons_doors/mod.conf b/mesecons_doors/mod.conf deleted file mode 100644 index 4daab34..0000000 --- a/mesecons_doors/mod.conf +++ /dev/null @@ -1,3 +0,0 @@ -name = mesecons_doors -depends = mesecons, doors -optional_depends = xpanes diff --git a/mesecons_doors/init.lua b/mesecons_gamecompat/doors.lua similarity index 100% rename from mesecons_doors/init.lua rename to mesecons_gamecompat/doors.lua diff --git a/mesecons_gamecompat/init.lua b/mesecons_gamecompat/init.lua index 95c088e..2af155d 100644 --- a/mesecons_gamecompat/init.lua +++ b/mesecons_gamecompat/init.lua @@ -18,3 +18,7 @@ if minetest.get_modpath("mcl_core") then minetest.log("info", "Mesecons: detected MineClonia Game for game compatibility") dofile(minetest.get_modpath("mesecons_gamecompat").."/compat_mcl.lua") end + +if minetest.get_modpath("doors") then + dofile(minetest.get_modpath("mesecons_gamecompat").."/doors.lua") +end From 55359c7a0bded79913542369418d384ff7f5bcc3 Mon Sep 17 00:00:00 2001 From: blut Date: Wed, 29 Jan 2025 13:34:27 +0100 Subject: [PATCH 13/17] mesecons_extrawires: Fix Mineclonia compatibility --- mesecons_extrawires/init.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mesecons_extrawires/init.lua b/mesecons_extrawires/init.lua index 02dc1a6..bed0e65 100644 --- a/mesecons_extrawires/init.lua +++ b/mesecons_extrawires/init.lua @@ -3,4 +3,6 @@ dofile(minetest.get_modpath("mesecons_extrawires").."/tjunction.lua"); dofile(minetest.get_modpath("mesecons_extrawires").."/corner.lua"); dofile(minetest.get_modpath("mesecons_extrawires").."/doublecorner.lua"); dofile(minetest.get_modpath("mesecons_extrawires").."/vertical.lua"); -dofile(minetest.get_modpath("mesecons_extrawires").."/mesewire.lua"); +if core.registered_nodes["mesecons_gamecompat:mese"] then + dofile(minetest.get_modpath("mesecons_extrawires").."/mesewire.lua"); +end From 786094ec065ea2603c273e54869a23f53760af3c Mon Sep 17 00:00:00 2001 From: blut Date: Wed, 29 Jan 2025 14:54:56 +0100 Subject: [PATCH 14/17] mesecons_pistons: Fix impercise placement orientation Piston placement used to be finicky and not map correctly to the viewing angle --- .luacheckrc | 1 + mesecons_pistons/init.lua | 16 +--------------- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/.luacheckrc b/.luacheckrc index d079c76..6612dda 100644 --- a/.luacheckrc +++ b/.luacheckrc @@ -15,6 +15,7 @@ ignore = { max_line_length = 200 read_globals = { + "core", "default", "digiline", "doors", diff --git a/mesecons_pistons/init.lua b/mesecons_pistons/init.lua index 274258e..052a5dc 100644 --- a/mesecons_pistons/init.lua +++ b/mesecons_pistons/init.lua @@ -115,27 +115,13 @@ local function piston_off(pos, node) end end -local orientations = { - [0] = { 4, 8}, - {13, 17}, - {10, 6}, - {20, 15}, -} - local function piston_orientate(pos, placer) mesecon.mvps_set_owner(pos, placer) if not placer then return end - local pitch = math.deg(placer:get_look_vertical()) local node = minetest.get_node(pos) - if pitch > 55 then - node.param2 = orientations[node.param2][1] - elseif pitch < -55 then - node.param2 = orientations[node.param2][2] - else - return - end + node.param2 = core.dir_to_facedir(placer:get_look_dir(), true) minetest.swap_node(pos, node) -- minetest.after, because on_placenode for unoriented piston must be processed first minetest.after(0, mesecon.on_placenode, pos, node) From 93751a90140a5833fb52b36e5373a64fffb5fafd Mon Sep 17 00:00:00 2001 From: blut Date: Mon, 3 Feb 2025 14:17:15 +0100 Subject: [PATCH 15/17] mesecons_gamecompat: Add redstone <--> mesecon wire crafting recipes --- mesecons_gamecompat/{compat_mcl.lua => compat_mcla.lua} | 9 +++++++++ mesecons_gamecompat/init.lua | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) rename mesecons_gamecompat/{compat_mcl.lua => compat_mcla.lua} (90%) diff --git a/mesecons_gamecompat/compat_mcl.lua b/mesecons_gamecompat/compat_mcla.lua similarity index 90% rename from mesecons_gamecompat/compat_mcl.lua rename to mesecons_gamecompat/compat_mcla.lua index 10e1a8a..0d1b315 100644 --- a/mesecons_gamecompat/compat_mcl.lua +++ b/mesecons_gamecompat/compat_mcla.lua @@ -41,3 +41,12 @@ end -- Textures mesecon.texture.steel_block = "default_steel_block.png" + +core.register_craft({ + output = "mesecons:wire_00000000_off", + recipe = {{"mcl_redstone:redstone"}} +}) +core.register_craft({ + output = "mcl_redstone:redstone", + recipe = {{"mesecons:wire_00000000_off"}} +}) diff --git a/mesecons_gamecompat/init.lua b/mesecons_gamecompat/init.lua index 2af155d..c8734ba 100644 --- a/mesecons_gamecompat/init.lua +++ b/mesecons_gamecompat/init.lua @@ -14,9 +14,9 @@ if minetest.get_modpath("default") then dofile(minetest.get_modpath("mesecons_gamecompat").."/compat_mtg.lua") end -if minetest.get_modpath("mcl_core") then +if minetest.get_modpath("mcl_redstone") then minetest.log("info", "Mesecons: detected MineClonia Game for game compatibility") - dofile(minetest.get_modpath("mesecons_gamecompat").."/compat_mcl.lua") + dofile(minetest.get_modpath("mesecons_gamecompat").."/compat_mcla.lua") end if minetest.get_modpath("doors") then From a0580f9f20fd63eba87c0b64eb381164c0a3d6aa Mon Sep 17 00:00:00 2001 From: blut Date: Mon, 3 Feb 2025 14:32:10 +0100 Subject: [PATCH 16/17] mesecons_gamecompat: Fix Mineclonia support Fix node aliases Synchronize unmovable_by_piston (node group) Synchronize _mcl_pistons_unmovable (entity definition) Use mcl_redstone_torch:redstoneblock (doesn't seem to interfere with the redstone functionality) Automatic bed and door mvps stopper registration --- mesecons_gamecompat/compat_mcla.lua | 44 ++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/mesecons_gamecompat/compat_mcla.lua b/mesecons_gamecompat/compat_mcla.lua index 0d1b315..384dbc6 100644 --- a/mesecons_gamecompat/compat_mcla.lua +++ b/mesecons_gamecompat/compat_mcla.lua @@ -7,13 +7,13 @@ minetest.register_alias("mesecons_gamecompat:coalblock", "mcl_core:coalblock") minetest.register_alias("mesecons_gamecompat:cobble", "mcl_core:cobble") minetest.register_alias("mesecons_gamecompat:glass", "mcl_core:glass") minetest.register_alias("mesecons_gamecompat:lava_source", "mcl_core:lava_source") -minetest.register_alias("mesecons_gamecompat:mese", "mesecons:redstoneblock") -minetest.register_alias("mesecons_gamecompat:mese_crystal", "mesecoms:redstone") -minetest.register_alias("mesecons_gamecompat:mese_crystal_fragment", "mesecons:redstone") +minetest.register_alias("mesecons_gamecompat:mese", "mcl_redstone_torch:redstoneblock") +minetest.register_alias("mesecons_gamecompat:mese_crystal", "mcl_redstone:redstone") +minetest.register_alias("mesecons_gamecompat:mese_crystal_fragment", "mcl_redstone:redstone") minetest.register_alias("mesecons_gamecompat:obsidian_glass", "mcl_core:glass") minetest.register_alias("mesecons_gamecompat:stone", "mcl_core:stone") minetest.register_alias("mesecons_gamecompat:steel_ingot", "mcl_core:iron_ingot") -minetest.register_alias("mesecons_gamecompat:steelblock", "mcl_core:steelblock") +minetest.register_alias("mesecons_gamecompat:steelblock", "mcl_core:ironblock") minetest.register_alias("mesecons_gamecompat:torch", "mcl_torches:torch") if minetest.get_modpath("mcl_dyes") then @@ -42,6 +42,42 @@ end mesecon.texture.steel_block = "default_steel_block.png" +if minetest.get_modpath("mesecons_mvps") then + for k,v in pairs(core.registered_nodes) do + local is_stopper = mesecon.mvps_stoppers[k] + if v.groups and v.groups.unmovable_by_piston then + mesecon.register_mvps_stopper(k) + end + if is_stopper then + local groups = table.copy(v.groups or {}) + groups.unmovable_by_piston = 1 + v.groups = groups + core.register_node(":"..k, v) + end + end + for k,v in pairs(core.registered_entities) do + local is_unmov = mesecon.mvps_unmov[k] + if v._mcl_pistons_unmovable then + mesecon.register_mvps_unmov(k) + end + if is_unmov then + v._mcl_pistons_unmovable = true + core.register_entity(":"..k, v) + end + end + + core.register_on_mods_loaded(function() + for _,v in pairs(core.registered_nodes) do + if v.groups and v.groups.bed then + mesecon.register_mvps_stopper(v.name) + end + if v.groups and v.groups.door then + mesecon.register_mvps_stopper(v.name) + end + end + end) +end + core.register_craft({ output = "mesecons:wire_00000000_off", recipe = {{"mcl_redstone:redstone"}} From 4bd59137a2b2304eaa88c13dcfca4b62a759e33a Mon Sep 17 00:00:00 2001 From: TarasArt <153999158+FromKaniv@users.noreply.github.com> Date: Sat, 15 Mar 2025 14:46:27 +0200 Subject: [PATCH 17/17] Add Ukrainian localization (#703) --- mesecons/locale/mesecons.uk.tr | 5 +++++ .../locale/mesecons_blinkyplant.uk.tr | 4 ++++ mesecons_button/locale/mesecons_button.uk.tr | 4 ++++ .../locale/mesecons_commandblock.uk.tr | 7 +++++++ .../locale/mesecons_delayer.uk.tr | 5 +++++ .../locale/mesecons_detector.uk.tr | 5 +++++ .../locale/mesecons_extrawires.uk.tr | 20 +++++++++++++++++++ mesecons_fpga/locale/mesecons_fpga.uk.tr | 7 +++++++ mesecons_gates/locale/mesecons_gates.uk.tr | 8 ++++++++ .../locale/mesecons_hydroturbine.uk.tr | 4 ++++ .../locale/mesecons_insulated.uk.tr | 4 ++++ mesecons_lamp/locale/mesecons_lamp.uk.tr | 4 ++++ .../locale/mesecons_lightstone.uk.tr | 15 ++++++++++++++ .../locale/mesecons_luacontroller.uk.tr | 4 ++++ .../locale/mesecons_materials.uk.tr | 6 ++++++ .../locale/mesecons_microcontroller.uk.tr | 4 ++++ .../locale/mesecons_movestones.uk.tr | 7 +++++++ .../locale/mesecons_noteblock.uk.tr | 4 ++++ .../locale/mesecons_pistons.uk.tr | 9 +++++++++ .../locale/mesecons_powerplant.uk.tr | 4 ++++ .../locale/mesecons_pressureplates.uk.tr | 5 +++++ mesecons_random/locale/mesecons_random.uk.tr | 5 +++++ .../locale/mesecons_solarpanel.uk.tr | 4 ++++ .../locale/mesecons_stickyblocks.uk.tr | 4 ++++ mesecons_switch/locale/mesecons_switch.uk.tr | 4 ++++ mesecons_torch/locale/mesecons_torch.uk.tr | 4 ++++ .../locale/mesecons_walllever.uk.tr | 4 ++++ mesecons_wires/locale/mesecons_wires.uk.tr | 4 ++++ modpack.conf | 2 ++ 29 files changed, 166 insertions(+) create mode 100644 mesecons/locale/mesecons.uk.tr create mode 100644 mesecons_blinkyplant/locale/mesecons_blinkyplant.uk.tr create mode 100644 mesecons_button/locale/mesecons_button.uk.tr create mode 100644 mesecons_commandblock/locale/mesecons_commandblock.uk.tr create mode 100644 mesecons_delayer/locale/mesecons_delayer.uk.tr create mode 100644 mesecons_detector/locale/mesecons_detector.uk.tr create mode 100644 mesecons_extrawires/locale/mesecons_extrawires.uk.tr create mode 100644 mesecons_fpga/locale/mesecons_fpga.uk.tr create mode 100644 mesecons_gates/locale/mesecons_gates.uk.tr create mode 100644 mesecons_hydroturbine/locale/mesecons_hydroturbine.uk.tr create mode 100644 mesecons_insulated/locale/mesecons_insulated.uk.tr create mode 100644 mesecons_lamp/locale/mesecons_lamp.uk.tr create mode 100644 mesecons_lightstone/locale/mesecons_lightstone.uk.tr create mode 100644 mesecons_luacontroller/locale/mesecons_luacontroller.uk.tr create mode 100644 mesecons_materials/locale/mesecons_materials.uk.tr create mode 100644 mesecons_microcontroller/locale/mesecons_microcontroller.uk.tr create mode 100644 mesecons_movestones/locale/mesecons_movestones.uk.tr create mode 100644 mesecons_noteblock/locale/mesecons_noteblock.uk.tr create mode 100644 mesecons_pistons/locale/mesecons_pistons.uk.tr create mode 100644 mesecons_powerplant/locale/mesecons_powerplant.uk.tr create mode 100644 mesecons_pressureplates/locale/mesecons_pressureplates.uk.tr create mode 100644 mesecons_random/locale/mesecons_random.uk.tr create mode 100644 mesecons_solarpanel/locale/mesecons_solarpanel.uk.tr create mode 100644 mesecons_stickyblocks/locale/mesecons_stickyblocks.uk.tr create mode 100644 mesecons_switch/locale/mesecons_switch.uk.tr create mode 100644 mesecons_torch/locale/mesecons_torch.uk.tr create mode 100644 mesecons_walllever/locale/mesecons_walllever.uk.tr create mode 100644 mesecons_wires/locale/mesecons_wires.uk.tr diff --git a/mesecons/locale/mesecons.uk.tr b/mesecons/locale/mesecons.uk.tr new file mode 100644 index 0000000..8d49577 --- /dev/null +++ b/mesecons/locale/mesecons.uk.tr @@ -0,0 +1,5 @@ +# textdomain: mesecons + +### oldwires.lua ### +Mesecons=Месекони +Mod that implements a ton of items related to digital circuitry.=Мод, який реалізує масу елементів, пов’язаних із цифровою схемою. diff --git a/mesecons_blinkyplant/locale/mesecons_blinkyplant.uk.tr b/mesecons_blinkyplant/locale/mesecons_blinkyplant.uk.tr new file mode 100644 index 0000000..ffe12f5 --- /dev/null +++ b/mesecons_blinkyplant/locale/mesecons_blinkyplant.uk.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_blinkyplant + +### init.lua ### +Blinky Plant=Миготлива квітка diff --git a/mesecons_button/locale/mesecons_button.uk.tr b/mesecons_button/locale/mesecons_button.uk.tr new file mode 100644 index 0000000..036723d --- /dev/null +++ b/mesecons_button/locale/mesecons_button.uk.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_button + +### init.lua ### +Button=Кнопка diff --git a/mesecons_commandblock/locale/mesecons_commandblock.uk.tr b/mesecons_commandblock/locale/mesecons_commandblock.uk.tr new file mode 100644 index 0000000..1af4842 --- /dev/null +++ b/mesecons_commandblock/locale/mesecons_commandblock.uk.tr @@ -0,0 +1,7 @@ +# textdomain: mesecons_commandblock + +### init.lua ### +Say as the server=Сказати <текст> від імені сервера +Say to privately=Сказати <текст> гравцю <ім'я> в приватному повідомленні +Set health of to hitpoints=Встановити здоров'я гравця <ім'я> на <значення> ХП +Command Block=Командний блок diff --git a/mesecons_delayer/locale/mesecons_delayer.uk.tr b/mesecons_delayer/locale/mesecons_delayer.uk.tr new file mode 100644 index 0000000..c262bcc --- /dev/null +++ b/mesecons_delayer/locale/mesecons_delayer.uk.tr @@ -0,0 +1,5 @@ +# textdomain: mesecons_delayer + +### init.lua ### +Delayer=Затримувач +You hacker you=Ти хакер, ти diff --git a/mesecons_detector/locale/mesecons_detector.uk.tr b/mesecons_detector/locale/mesecons_detector.uk.tr new file mode 100644 index 0000000..9f8d58d --- /dev/null +++ b/mesecons_detector/locale/mesecons_detector.uk.tr @@ -0,0 +1,5 @@ +# textdomain: mesecons_detector + +### init.lua ### +Player Detector=Детектор гравця +Node Detector=Детектор блоку diff --git a/mesecons_extrawires/locale/mesecons_extrawires.uk.tr b/mesecons_extrawires/locale/mesecons_extrawires.uk.tr new file mode 100644 index 0000000..3a3daa7 --- /dev/null +++ b/mesecons_extrawires/locale/mesecons_extrawires.uk.tr @@ -0,0 +1,20 @@ +# textdomain: mesecons_extrawires + +### corner.lua ### +Insulated Mesecon Corner=Ізольований месекон (кут) + +### crossover.lua ### +Insulated Mesecon Crossover=Ізольований месекон (перехрестя) +You hacker you!=Ти хакер ти! + +### doublecorner.lua ### +Insulated Mesecon Double Corner=Ізольований месекон (подвійний кут) + +### mesewire.lua ### +Mese Wire=Месе-дріт + +### tjunction.lua ### +Insulated Mesecon T-junction=Ізольований месекон (T-з'єднання) + +### vertical.lua ### +Vertical Mesecon=Вертикальний месекон diff --git a/mesecons_fpga/locale/mesecons_fpga.uk.tr b/mesecons_fpga/locale/mesecons_fpga.uk.tr new file mode 100644 index 0000000..9509413 --- /dev/null +++ b/mesecons_fpga/locale/mesecons_fpga.uk.tr @@ -0,0 +1,7 @@ +# textdomain: mesecons_fpga + +### init.lua ### +FPGA=ПКВМ + +### tool.lua ### +FPGA Programmer=ПКВМ-программер diff --git a/mesecons_gates/locale/mesecons_gates.uk.tr b/mesecons_gates/locale/mesecons_gates.uk.tr new file mode 100644 index 0000000..46b1682 --- /dev/null +++ b/mesecons_gates/locale/mesecons_gates.uk.tr @@ -0,0 +1,8 @@ +# textdomain: mesecons_gates +Diode=Діод +NOT Gate=NOT перехідник +AND Gate=AND перехідник +NAND Gate=NAND перехідник +XOR Gate=XOR перехідник +NOR Gate=NOR перехідник +OR Gate=OR перехідник diff --git a/mesecons_hydroturbine/locale/mesecons_hydroturbine.uk.tr b/mesecons_hydroturbine/locale/mesecons_hydroturbine.uk.tr new file mode 100644 index 0000000..00cde3e --- /dev/null +++ b/mesecons_hydroturbine/locale/mesecons_hydroturbine.uk.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_hydroturbine + +### init.lua ### +Water Turbine=Гідротурбіна diff --git a/mesecons_insulated/locale/mesecons_insulated.uk.tr b/mesecons_insulated/locale/mesecons_insulated.uk.tr new file mode 100644 index 0000000..83d4a21 --- /dev/null +++ b/mesecons_insulated/locale/mesecons_insulated.uk.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_insulated + +### init.lua ### +Straight Insulated Mesecon=Прямий ізольований месекон diff --git a/mesecons_lamp/locale/mesecons_lamp.uk.tr b/mesecons_lamp/locale/mesecons_lamp.uk.tr new file mode 100644 index 0000000..a7e7652 --- /dev/null +++ b/mesecons_lamp/locale/mesecons_lamp.uk.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_lamp + +### init.lua ### +Mesecon Lamp=Месеконова лампа diff --git a/mesecons_lightstone/locale/mesecons_lightstone.uk.tr b/mesecons_lightstone/locale/mesecons_lightstone.uk.tr new file mode 100644 index 0000000..5ebe462 --- /dev/null +++ b/mesecons_lightstone/locale/mesecons_lightstone.uk.tr @@ -0,0 +1,15 @@ +# textdomain: mesecons_lightstone + +### init.lua ### +Red Lightstone=Червоний світловий камінь +Green Lightstone=Зелений світловий камінь +Blue Lightstone=Синій світловий камінь +Grey Lightstone=Сірий світловий камінь +Dark Grey Lightstone=Темно-сірий світловий камінь +Yellow Lightstone=Жовтий світловий камінь +Orange Lightstone=Оранжевий світловий камінь +White Lightstone=Білий світловий камінь +Pink Lightstone=Рожевий світловий камінь +Magenta Lightstone=Пурпуровий світловий камінь +Cyan Lightstone=Блакитний світловий камінь +Violet Lightstone=Фіолетовий світловий камінь diff --git a/mesecons_luacontroller/locale/mesecons_luacontroller.uk.tr b/mesecons_luacontroller/locale/mesecons_luacontroller.uk.tr new file mode 100644 index 0000000..67f40d0 --- /dev/null +++ b/mesecons_luacontroller/locale/mesecons_luacontroller.uk.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_luacontroller + +### init.lua ### +Luacontroller=Lua-контролер diff --git a/mesecons_materials/locale/mesecons_materials.uk.tr b/mesecons_materials/locale/mesecons_materials.uk.tr new file mode 100644 index 0000000..e5fa75c --- /dev/null +++ b/mesecons_materials/locale/mesecons_materials.uk.tr @@ -0,0 +1,6 @@ +# textdomain: mesecons_materials + +### init.lua ### +Glue=Клей +Fiber=Волокно +Silicon=Кремній diff --git a/mesecons_microcontroller/locale/mesecons_microcontroller.uk.tr b/mesecons_microcontroller/locale/mesecons_microcontroller.uk.tr new file mode 100644 index 0000000..4e7978e --- /dev/null +++ b/mesecons_microcontroller/locale/mesecons_microcontroller.uk.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_microcontroller + +### init.lua ### +Microcontroller=Мікроконтролер diff --git a/mesecons_movestones/locale/mesecons_movestones.uk.tr b/mesecons_movestones/locale/mesecons_movestones.uk.tr new file mode 100644 index 0000000..e5e7784 --- /dev/null +++ b/mesecons_movestones/locale/mesecons_movestones.uk.tr @@ -0,0 +1,7 @@ +# textdomain: mesecons_movestones + +### init.lua ### +Movestone=Ходовий камінь +Sticky Movestone=Липкий ходовий камінь +Vertical Movestone=Вертикальний ходовий камінь +Vertical Sticky Movestone=Вертикальний липкий ходовий камінь diff --git a/mesecons_noteblock/locale/mesecons_noteblock.uk.tr b/mesecons_noteblock/locale/mesecons_noteblock.uk.tr new file mode 100644 index 0000000..bc2faec --- /dev/null +++ b/mesecons_noteblock/locale/mesecons_noteblock.uk.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_noteblock + +### init.lua ### +Noteblock=Нотний блок diff --git a/mesecons_pistons/locale/mesecons_pistons.uk.tr b/mesecons_pistons/locale/mesecons_pistons.uk.tr new file mode 100644 index 0000000..bcd2630 --- /dev/null +++ b/mesecons_pistons/locale/mesecons_pistons.uk.tr @@ -0,0 +1,9 @@ +# textdomain: mesecons_pistons + +### init.lua ### +Piston=Поршень +Activated Piston Base=Основа активованого поршня +Piston Pusher=Штовхаюча частина поршня +Sticky Piston=Липкий поршень +Activated Sticky Piston Base=Основа активованого липкого поршня +Sticky Piston Pusher=Штовхаюча частина липкого поршня diff --git a/mesecons_powerplant/locale/mesecons_powerplant.uk.tr b/mesecons_powerplant/locale/mesecons_powerplant.uk.tr new file mode 100644 index 0000000..db6c297 --- /dev/null +++ b/mesecons_powerplant/locale/mesecons_powerplant.uk.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_powerplant + +### init.lua ### +Power Plant=Енергоквітка diff --git a/mesecons_pressureplates/locale/mesecons_pressureplates.uk.tr b/mesecons_pressureplates/locale/mesecons_pressureplates.uk.tr new file mode 100644 index 0000000..ad7cd32 --- /dev/null +++ b/mesecons_pressureplates/locale/mesecons_pressureplates.uk.tr @@ -0,0 +1,5 @@ +# textdomain: mesecons_pressureplates + +### init.lua ### +Wooden Pressure Plate=Дерев'яна натискна плита +Stone Pressure Plate=Кам'яна натискна плита diff --git a/mesecons_random/locale/mesecons_random.uk.tr b/mesecons_random/locale/mesecons_random.uk.tr new file mode 100644 index 0000000..f014b64 --- /dev/null +++ b/mesecons_random/locale/mesecons_random.uk.tr @@ -0,0 +1,5 @@ +# textdomain: mesecons_random + +### init.lua ### +Removestone=Зникаючий камінь +Ghoststone=Примарний камінь diff --git a/mesecons_solarpanel/locale/mesecons_solarpanel.uk.tr b/mesecons_solarpanel/locale/mesecons_solarpanel.uk.tr new file mode 100644 index 0000000..944fb73 --- /dev/null +++ b/mesecons_solarpanel/locale/mesecons_solarpanel.uk.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_solarpanel + +### init.lua ### +Solar Panel=Сонячна панель diff --git a/mesecons_stickyblocks/locale/mesecons_stickyblocks.uk.tr b/mesecons_stickyblocks/locale/mesecons_stickyblocks.uk.tr new file mode 100644 index 0000000..e484686 --- /dev/null +++ b/mesecons_stickyblocks/locale/mesecons_stickyblocks.uk.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_stickyblocks + +### init.lua ### +Sticky Block=Липкий блок diff --git a/mesecons_switch/locale/mesecons_switch.uk.tr b/mesecons_switch/locale/mesecons_switch.uk.tr new file mode 100644 index 0000000..9623de3 --- /dev/null +++ b/mesecons_switch/locale/mesecons_switch.uk.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_switch + +### init.lua ### +Switch=Перемикач diff --git a/mesecons_torch/locale/mesecons_torch.uk.tr b/mesecons_torch/locale/mesecons_torch.uk.tr new file mode 100644 index 0000000..b64578c --- /dev/null +++ b/mesecons_torch/locale/mesecons_torch.uk.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_torch + +### init.lua ### +Mesecon Torch=Месескип diff --git a/mesecons_walllever/locale/mesecons_walllever.uk.tr b/mesecons_walllever/locale/mesecons_walllever.uk.tr new file mode 100644 index 0000000..502dbe6 --- /dev/null +++ b/mesecons_walllever/locale/mesecons_walllever.uk.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_walllever + +### init.lua ### +Lever=Важіль diff --git a/mesecons_wires/locale/mesecons_wires.uk.tr b/mesecons_wires/locale/mesecons_wires.uk.tr new file mode 100644 index 0000000..ed58fa5 --- /dev/null +++ b/mesecons_wires/locale/mesecons_wires.uk.tr @@ -0,0 +1,4 @@ +# textdomain: mesecons_wires + +### init.lua ### +Mesecon=Месекон diff --git a/modpack.conf b/modpack.conf index 2878aae..3cab8e4 100644 --- a/modpack.conf +++ b/modpack.conf @@ -1,3 +1,5 @@ name = mesecons description = Mod that implements a ton of items related to digital circuitry. min_minetest_version = 5.0 +author = Jeija +title = Mesecons