forked from minetest-mods/mesecons
Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
3c9055c723 |
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
@ -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.10.0', mtg: true }
|
||||
- { image: 'ghcr.io/minetest/minetest:5.9.0', mtg: true }
|
||||
steps:
|
||||
- uses: actions/checkout@main
|
||||
|
||||
|
@ -15,7 +15,6 @@ ignore = {
|
||||
max_line_length = 200
|
||||
|
||||
read_globals = {
|
||||
"core",
|
||||
"default",
|
||||
"digiline",
|
||||
"doors",
|
||||
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons
|
||||
|
||||
### oldwires.lua ###
|
||||
Mesecons=Мезеконы
|
@ -1,5 +0,0 @@
|
||||
# textdomain: mesecons
|
||||
|
||||
### oldwires.lua ###
|
||||
Mesecons=Месекони
|
||||
Mod that implements a ton of items related to digital circuitry.=Мод, який реалізує масу елементів, пов’язаних із цифровою схемою.
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_blinkyplant
|
||||
|
||||
### init.lua ###
|
||||
Blinky Plant=Мигающий цветок
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_blinkyplant
|
||||
|
||||
### init.lua ###
|
||||
Blinky Plant=Миготлива квітка
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_button
|
||||
|
||||
### init.lua ###
|
||||
Button=Кнопка
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_button
|
||||
|
||||
### init.lua ###
|
||||
Button=Кнопка
|
@ -1,5 +1,4 @@
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
local param_maxlen = mesecon.setting("commandblock_param_maxlen", 10000)
|
||||
|
||||
minetest.register_chatcommand("say", {
|
||||
params = "<text>",
|
||||
@ -49,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",
|
||||
"size[9,5]" ..
|
||||
"invsize[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]")
|
||||
@ -157,11 +156,6 @@ 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 "
|
||||
|
@ -1,7 +0,0 @@
|
||||
# textdomain: mesecons_commandblock
|
||||
|
||||
### init.lua ###
|
||||
Say <text> as the server=Сказать <текст> от имени сервера
|
||||
Say <text> to <name> privately=Сказать <текст> игроку <имя> в личном сообщении
|
||||
Set health of <name> to <value> hitpoints=Установить здоровье игрока <имя> на <значение> хитпоинтов
|
||||
Command Block=Комадный блок
|
@ -1,7 +0,0 @@
|
||||
# textdomain: mesecons_commandblock
|
||||
|
||||
### init.lua ###
|
||||
Say <text> as the server=Сказати <текст> від імені сервера
|
||||
Say <text> to <name> privately=Сказати <текст> гравцю <ім'я> в приватному повідомленні
|
||||
Set health of <name> to <value> hitpoints=Встановити здоров'я гравця <ім'я> на <значення> ХП
|
||||
Command Block=Командний блок
|
@ -1,5 +0,0 @@
|
||||
# textdomain: mesecons_delayer
|
||||
|
||||
### init.lua ###
|
||||
Delayer=Элемент задержки
|
||||
You hacker you=Ти хакер, ти
|
@ -1,5 +0,0 @@
|
||||
# textdomain: mesecons_delayer
|
||||
|
||||
### init.lua ###
|
||||
Delayer=Затримувач
|
||||
You hacker you=Ти хакер, ти
|
@ -66,8 +66,7 @@ local object_detector_digiline = {
|
||||
effector = {
|
||||
action = function(pos, _, channel, msg)
|
||||
local meta = minetest.get_meta(pos)
|
||||
if channel == meta:get_string("digiline_channel") and
|
||||
(type(msg) == "string" or type(msg) == "number") then
|
||||
if channel == meta:get_string("digiline_channel") then
|
||||
meta:set_string("scanname", msg)
|
||||
object_detector_make_formspec(pos)
|
||||
end
|
||||
@ -111,7 +110,6 @@ minetest.register_node("mesecons_detector:object_detector_on", {
|
||||
on_blast = mesecon.on_blastnode,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("mesecons_luacontroller") then
|
||||
minetest.register_craft({
|
||||
output = 'mesecons_detector:object_detector_off',
|
||||
recipe = {
|
||||
@ -120,7 +118,6 @@ if minetest.get_modpath("mesecons_luacontroller") then
|
||||
{"mesecons_gamecompat:steel_ingot", "group:mesecon_conductor_craftable", "mesecons_gamecompat:steel_ingot"},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mesecons_detector:object_detector_off',
|
||||
@ -289,7 +286,6 @@ minetest.register_node("mesecons_detector:node_detector_on", {
|
||||
on_blast = mesecon.on_blastnode,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("mesecons_luacontroller") then
|
||||
minetest.register_craft({
|
||||
output = 'mesecons_detector:node_detector_off',
|
||||
recipe = {
|
||||
@ -298,7 +294,6 @@ if minetest.get_modpath("mesecons_luacontroller") then
|
||||
{"mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot"},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mesecons_detector:node_detector_off',
|
||||
|
@ -1,5 +0,0 @@
|
||||
# textdomain: mesecons_detector
|
||||
|
||||
### init.lua ###
|
||||
Player Detector=Детектор игрока
|
||||
Node Detector=Детектор блока
|
@ -1,5 +0,0 @@
|
||||
# textdomain: mesecons_detector
|
||||
|
||||
### init.lua ###
|
||||
Player Detector=Детектор гравця
|
||||
Node Detector=Детектор блоку
|
@ -1,3 +1,2 @@
|
||||
name = mesecons_detector
|
||||
depends = mesecons, mesecons_gamecompat, mesecons_materials
|
||||
optional_depends = mesecons_luacontroller
|
||||
|
@ -132,6 +132,7 @@ local function meseconify_trapdoor(name)
|
||||
end
|
||||
|
||||
minetest.register_on_mods_loaded(function()
|
||||
if doors.registered_doors ~= nil then -- registered_doors is not always available
|
||||
for k,_ in pairs(doors.registered_doors) do
|
||||
if k:find("_a$") then
|
||||
meseconify_door(k:sub(1,-3))
|
||||
@ -142,4 +143,5 @@ minetest.register_on_mods_loaded(function()
|
||||
meseconify_trapdoor(k)
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
3
mesecons_doors/mod.conf
Normal file
3
mesecons_doors/mod.conf
Normal file
@ -0,0 +1,3 @@
|
||||
name = mesecons_doors
|
||||
depends = mesecons, doors
|
||||
optional_depends = xpanes
|
@ -3,6 +3,4 @@ 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");
|
||||
if core.registered_nodes["mesecons_gamecompat:mese"] then
|
||||
dofile(minetest.get_modpath("mesecons_extrawires").."/mesewire.lua");
|
||||
end
|
||||
|
@ -1,20 +0,0 @@
|
||||
# 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=Вертикальный мезекон
|
@ -1,20 +0,0 @@
|
||||
# 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=Вертикальний месекон
|
@ -40,8 +40,6 @@ 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
|
||||
@ -98,7 +96,6 @@ 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},
|
||||
@ -133,7 +130,6 @@ 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 = {
|
||||
@ -166,7 +162,6 @@ 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 = {
|
||||
|
@ -1,7 +0,0 @@
|
||||
# textdomain: mesecons_fpga
|
||||
|
||||
### init.lua ###
|
||||
FPGA=ПЛИС
|
||||
|
||||
### tool.lua ###
|
||||
FPGA Programmer=ПЛИС-программер
|
@ -1,7 +0,0 @@
|
||||
# textdomain: mesecons_fpga
|
||||
|
||||
### init.lua ###
|
||||
FPGA=ПКВМ
|
||||
|
||||
### tool.lua ###
|
||||
FPGA Programmer=ПКВМ-программер
|
@ -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", "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: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: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:ironblock")
|
||||
minetest.register_alias("mesecons_gamecompat:steelblock", "mcl_core:steelblock")
|
||||
minetest.register_alias("mesecons_gamecompat:torch", "mcl_torches:torch")
|
||||
|
||||
if minetest.get_modpath("mcl_dyes") then
|
||||
@ -41,48 +41,3 @@ end
|
||||
-- Textures
|
||||
|
||||
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"}}
|
||||
})
|
||||
core.register_craft({
|
||||
output = "mcl_redstone:redstone",
|
||||
recipe = {{"mesecons:wire_00000000_off"}}
|
||||
})
|
@ -48,26 +48,28 @@ 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
|
||||
|
@ -14,11 +14,7 @@ if minetest.get_modpath("default") then
|
||||
dofile(minetest.get_modpath("mesecons_gamecompat").."/compat_mtg.lua")
|
||||
end
|
||||
|
||||
if minetest.get_modpath("mcl_redstone") then
|
||||
if minetest.get_modpath("mcl_core") then
|
||||
minetest.log("info", "Mesecons: detected MineClonia Game for game compatibility")
|
||||
dofile(minetest.get_modpath("mesecons_gamecompat").."/compat_mcla.lua")
|
||||
end
|
||||
|
||||
if minetest.get_modpath("doors") then
|
||||
dofile(minetest.get_modpath("mesecons_gamecompat").."/doors.lua")
|
||||
dofile(minetest.get_modpath("mesecons_gamecompat").."/compat_mcl.lua")
|
||||
end
|
||||
|
@ -1,3 +1,3 @@
|
||||
name = mesecons_gamecompat
|
||||
depends = mesecons
|
||||
optional_depends = fire, default, dye, mesecons_mvps, tnt, doors, beds, mcl_fire, mcl_core, mcl_dye, mcl_tnt
|
||||
optional_depends = fire, default, dye, mesecons_mvps, tnt, mcl_fire, mcl_core, mcl_dye, mcl_tnt
|
||||
|
@ -1,5 +1,3 @@
|
||||
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 }
|
||||
@ -148,38 +146,38 @@ end
|
||||
|
||||
register_gate("diode", 1, function (input) return input end,
|
||||
{{"mesecons:mesecon", "mesecons_torch:mesecon_torch_on", "mesecons_torch:mesecon_torch_on"}},
|
||||
S("Diode"))
|
||||
"Diode")
|
||||
|
||||
register_gate("not", 1, function (input) return not input end,
|
||||
{{"mesecons:mesecon", "mesecons_torch:mesecon_torch_on", "mesecons:mesecon"}},
|
||||
S("NOT Gate"))
|
||||
"NOT Gate")
|
||||
|
||||
register_gate("and", 2, function (val1, val2) return val1 and val2 end,
|
||||
{{"mesecons:mesecon", "", ""},
|
||||
{"", "mesecons_materials:silicon", "mesecons:mesecon"},
|
||||
{"mesecons:mesecon", "", ""}},
|
||||
S("AND Gate"))
|
||||
"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", "", ""}},
|
||||
S("NAND Gate"))
|
||||
"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", "", ""}},
|
||||
S("XOR Gate"))
|
||||
"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", "", ""}},
|
||||
S("NOR Gate"))
|
||||
"NOR Gate")
|
||||
|
||||
register_gate("or", 2, function (val1, val2) return (val1 or val2) end,
|
||||
{{"mesecons:mesecon", "", ""},
|
||||
{"", "mesecons:mesecon", "mesecons:mesecon"},
|
||||
{"mesecons:mesecon", "", ""}},
|
||||
S("OR Gate"))
|
||||
"OR Gate")
|
||||
|
@ -1,8 +0,0 @@
|
||||
# textdomain: mesecons_gates
|
||||
Diode=Диод
|
||||
NOT Gate=НЕ-шлюз
|
||||
AND Gate=И-шлюз
|
||||
NAND Gate=NAND-шлюз
|
||||
XOR Gate=XOR-шлюз
|
||||
NOR Gate=NOR-шлюз
|
||||
OR Gate=ИЛИ-шлюз
|
@ -1,8 +0,0 @@
|
||||
# textdomain: mesecons_gates
|
||||
Diode=Діод
|
||||
NOT Gate=NOT перехідник
|
||||
AND Gate=AND перехідник
|
||||
NAND Gate=NAND перехідник
|
||||
XOR Gate=XOR перехідник
|
||||
NOR Gate=NOR перехідник
|
||||
OR Gate=OR перехідник
|
@ -1,8 +0,0 @@
|
||||
# textdomain: mesecons_gates
|
||||
Diode=
|
||||
NOT Gate=
|
||||
AND Gate=
|
||||
NAND Gate=
|
||||
XOR Gate=
|
||||
NOR Gate=
|
||||
OR Gate=
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_hydroturbine
|
||||
|
||||
### init.lua ###
|
||||
Water Turbine=Гидротурбина
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_hydroturbine
|
||||
|
||||
### init.lua ###
|
||||
Water Turbine=Гідротурбіна
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_insulated
|
||||
|
||||
### init.lua ###
|
||||
Straight Insulated Mesecon=Прямой изолированный мезекон
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_insulated
|
||||
|
||||
### init.lua ###
|
||||
Straight Insulated Mesecon=Прямий ізольований месекон
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_lamp
|
||||
|
||||
### init.lua ###
|
||||
Mesecon Lamp=Мезеконовая лампа
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_lamp
|
||||
|
||||
### init.lua ###
|
||||
Mesecon Lamp=Месеконова лампа
|
@ -1,15 +0,0 @@
|
||||
# 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=Фиолетовый светящийся камень
|
@ -1,15 +0,0 @@
|
||||
# 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=Фіолетовий світловий камінь
|
@ -509,7 +509,6 @@ 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,
|
||||
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_luacontroller
|
||||
|
||||
### init.lua ###
|
||||
Luacontroller=Lua-контроллер
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_luacontroller
|
||||
|
||||
### init.lua ###
|
||||
Luacontroller=Lua-контролер
|
@ -1,6 +0,0 @@
|
||||
# textdomain: mesecons_materials
|
||||
|
||||
### init.lua ###
|
||||
Glue=Клей
|
||||
Fiber=Волокно
|
||||
Silicon=Кремний
|
@ -1,6 +0,0 @@
|
||||
# textdomain: mesecons_materials
|
||||
|
||||
### init.lua ###
|
||||
Glue=Клей
|
||||
Fiber=Волокно
|
||||
Silicon=Кремній
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_microcontroller
|
||||
|
||||
### init.lua ###
|
||||
Microcontroller=Микроконтроллер
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_microcontroller
|
||||
|
||||
### init.lua ###
|
||||
Microcontroller=Мікроконтролер
|
@ -1,7 +0,0 @@
|
||||
# textdomain: mesecons_movestones
|
||||
|
||||
### init.lua ###
|
||||
Movestone=Ходовой камень
|
||||
Sticky Movestone=Липкий ходовой камень
|
||||
Vertical Movestone=Вертикальный ходовой камень
|
||||
Vertical Sticky Movestone=Вертикальный липкий ходовой камень
|
@ -1,7 +0,0 @@
|
||||
# textdomain: mesecons_movestones
|
||||
|
||||
### init.lua ###
|
||||
Movestone=Ходовий камінь
|
||||
Sticky Movestone=Липкий ходовий камінь
|
||||
Vertical Movestone=Вертикальний ходовий камінь
|
||||
Vertical Sticky Movestone=Вертикальний липкий ходовий камінь
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_noteblock
|
||||
|
||||
### init.lua ###
|
||||
Noteblock=Нотный блок
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_noteblock
|
||||
|
||||
### init.lua ###
|
||||
Noteblock=Нотний блок
|
@ -115,13 +115,27 @@ 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)
|
||||
node.param2 = core.dir_to_facedir(placer:get_look_dir(), true)
|
||||
if pitch > 55 then
|
||||
node.param2 = orientations[node.param2][1]
|
||||
elseif pitch < -55 then
|
||||
node.param2 = orientations[node.param2][2]
|
||||
else
|
||||
return
|
||||
end
|
||||
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)
|
||||
|
@ -1,9 +0,0 @@
|
||||
# textdomain: mesecons_pistons
|
||||
|
||||
### init.lua ###
|
||||
Piston=Поршень
|
||||
Activated Piston Base=Основание активированного поршня
|
||||
Piston Pusher=Толкающая часть поршня
|
||||
Sticky Piston=Липкий поршень
|
||||
Activated Sticky Piston Base=Основание активированного липкого поршня
|
||||
Sticky Piston Pusher=Толкающая часть липкого поршня
|
@ -1,9 +0,0 @@
|
||||
# textdomain: mesecons_pistons
|
||||
|
||||
### init.lua ###
|
||||
Piston=Поршень
|
||||
Activated Piston Base=Основа активованого поршня
|
||||
Piston Pusher=Штовхаюча частина поршня
|
||||
Sticky Piston=Липкий поршень
|
||||
Activated Sticky Piston Base=Основа активованого липкого поршня
|
||||
Sticky Piston Pusher=Штовхаюча частина липкого поршня
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_powerplant
|
||||
|
||||
### init.lua ###
|
||||
Power Plant=Энергоцветок
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_powerplant
|
||||
|
||||
### init.lua ###
|
||||
Power Plant=Енергоквітка
|
@ -1,5 +0,0 @@
|
||||
# textdomain: mesecons_pressureplates
|
||||
|
||||
### init.lua ###
|
||||
Wooden Pressure Plate=Деревянная нажимная пластина
|
||||
Stone Pressure Plate=Каменная нажимная пластина
|
@ -1,5 +0,0 @@
|
||||
# textdomain: mesecons_pressureplates
|
||||
|
||||
### init.lua ###
|
||||
Wooden Pressure Plate=Дерев'яна натискна плита
|
||||
Stone Pressure Plate=Кам'яна натискна плита
|
@ -1,5 +0,0 @@
|
||||
# textdomain: mesecons_random
|
||||
|
||||
### init.lua ###
|
||||
Removestone=Исчезающий камень
|
||||
Ghoststone=Призрачный камень
|
@ -1,5 +0,0 @@
|
||||
# textdomain: mesecons_random
|
||||
|
||||
### init.lua ###
|
||||
Removestone=Зникаючий камінь
|
||||
Ghoststone=Примарний камінь
|
@ -30,8 +30,6 @@ 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",
|
||||
@ -100,7 +98,6 @@ 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 = {
|
||||
@ -146,7 +143,6 @@ 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 = {
|
||||
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_solarpanel
|
||||
|
||||
### init.lua ###
|
||||
Solar Panel=Солнечная панель
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_solarpanel
|
||||
|
||||
### init.lua ###
|
||||
Solar Panel=Сонячна панель
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_stickyblocks
|
||||
|
||||
### init.lua ###
|
||||
Sticky Block=Липкий блок
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_stickyblocks
|
||||
|
||||
### init.lua ###
|
||||
Sticky Block=Липкий блок
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_switch
|
||||
|
||||
### init.lua ###
|
||||
Switch=Выключатель
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_switch
|
||||
|
||||
### init.lua ###
|
||||
Switch=Перемикач
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_torch
|
||||
|
||||
### init.lua ###
|
||||
Mesecon Torch=Мезе-факел
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_torch
|
||||
|
||||
### init.lua ###
|
||||
Mesecon Torch=Месескип
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_walllever
|
||||
|
||||
### init.lua ###
|
||||
Lever=Рычаг
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_walllever
|
||||
|
||||
### init.lua ###
|
||||
Lever=Важіль
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_wires
|
||||
|
||||
### init.lua ###
|
||||
Mesecon=Мезекон
|
@ -1,4 +0,0 @@
|
||||
# textdomain: mesecons_wires
|
||||
|
||||
### init.lua ###
|
||||
Mesecon=Месекон
|
@ -1,5 +1,3 @@
|
||||
name = mesecons
|
||||
description = Mod that implements a ton of items related to digital circuitry.
|
||||
min_minetest_version = 5.0
|
||||
author = Jeija
|
||||
title = Mesecons
|
||||
|
@ -11,11 +11,6 @@ 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
|
||||
|
Reference in New Issue
Block a user