mirror of
https://github.com/minetest-mods/mesecons.git
synced 2025-02-04 12:10:17 +01:00
Add MT 5.0.0 translation support
This commit is contained in:
parent
1a9704f184
commit
f5df3bb5ed
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_blinkyplant")
|
||||||
|
|
||||||
-- The BLINKY_PLANT
|
-- The BLINKY_PLANT
|
||||||
|
|
||||||
local toggle_timer = function (pos)
|
local toggle_timer = function (pos)
|
||||||
@ -20,7 +22,7 @@ local on_timer = function (pos)
|
|||||||
end
|
end
|
||||||
|
|
||||||
mesecon.register_node("mesecons_blinkyplant:blinky_plant", {
|
mesecon.register_node("mesecons_blinkyplant:blinky_plant", {
|
||||||
description="Blinky Plant",
|
description=S("Blinky Plant"),
|
||||||
drawtype = "plantlike",
|
drawtype = "plantlike",
|
||||||
inventory_image = "jeija_blinky_plant_off.png",
|
inventory_image = "jeija_blinky_plant_off.png",
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_button")
|
||||||
|
|
||||||
-- WALL BUTTON
|
-- WALL BUTTON
|
||||||
-- A button that when pressed emits power for 1 second
|
-- A button that when pressed emits power for 1 second
|
||||||
-- and then turns off again
|
-- and then turns off again
|
||||||
@ -42,7 +44,7 @@ minetest.register_node("mesecons_button:button_off", {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
groups = {dig_immediate=2, mesecon_needs_receiver = 1},
|
groups = {dig_immediate=2, mesecon_needs_receiver = 1},
|
||||||
description = "Button",
|
description = S("Button"),
|
||||||
on_rightclick = function (pos, node)
|
on_rightclick = function (pos, node)
|
||||||
minetest.swap_node(pos, {name = "mesecons_button:button_on", param2=node.param2})
|
minetest.swap_node(pos, {name = "mesecons_button:button_on", param2=node.param2})
|
||||||
mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
|
mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
|
||||||
@ -88,7 +90,7 @@ minetest.register_node("mesecons_button:button_on", {
|
|||||||
},
|
},
|
||||||
groups = {dig_immediate=2, not_in_creative_inventory=1, mesecon_needs_receiver = 1},
|
groups = {dig_immediate=2, not_in_creative_inventory=1, mesecon_needs_receiver = 1},
|
||||||
drop = 'mesecons_button:button_off',
|
drop = 'mesecons_button:button_off',
|
||||||
description = "Button",
|
description = S("Button"),
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = default.node_sound_stone_defaults(),
|
||||||
mesecons = {receptor = {
|
mesecons = {receptor = {
|
||||||
state = mesecon.state.on,
|
state = mesecon.state.on,
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_commandblock")
|
||||||
|
local F = minetest.formspec_escape
|
||||||
|
|
||||||
minetest.register_chatcommand("say", {
|
minetest.register_chatcommand("say", {
|
||||||
params = "<text>",
|
params = S("<text>"),
|
||||||
description = "Say <text> as the server",
|
description = S("Say <text> as the server"),
|
||||||
privs = {server=true},
|
privs = {server=true},
|
||||||
func = function(name, param)
|
func = function(name, param)
|
||||||
minetest.chat_send_all(name .. ": " .. param)
|
minetest.chat_send_all(name .. ": " .. param)
|
||||||
@ -8,36 +11,36 @@ minetest.register_chatcommand("say", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_chatcommand("tell", {
|
minetest.register_chatcommand("tell", {
|
||||||
params = "<name> <text>",
|
params = S("<name> <text>"),
|
||||||
description = "Say <text> to <name> privately",
|
description = S("Say <text> to <name> privately"),
|
||||||
func = function(name, param)
|
func = function(name, param)
|
||||||
local found, _, target, message = param:find("^([^%s]+)%s+(.*)$")
|
local found, _, target, message = param:find("^([^%s]+)%s+(.*)$")
|
||||||
if found == nil then
|
if found == nil then
|
||||||
minetest.chat_send_player(name, "Invalid usage: " .. param)
|
minetest.chat_send_player(name, S("Invalid usage: @1", param))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if not minetest.get_player_by_name(target) then
|
if not minetest.get_player_by_name(target) then
|
||||||
minetest.chat_send_player(name, "Invalid target: " .. target)
|
minetest.chat_send_player(name, S("Invalid target: @1", target))
|
||||||
end
|
end
|
||||||
minetest.chat_send_player(target, name .. " whispers: " .. message, false)
|
minetest.chat_send_player(target, S("@1 whispers: @2", name, message), false)
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_chatcommand("hp", {
|
minetest.register_chatcommand("hp", {
|
||||||
params = "<name> <value>",
|
params = S("<name> <value>"),
|
||||||
description = "Set health of <name> to <value> hitpoints",
|
description = S("Set health of <name> to <value> hitpoints"),
|
||||||
privs = {ban=true},
|
privs = {ban=true},
|
||||||
func = function(name, param)
|
func = function(name, param)
|
||||||
local found, _, target, value = param:find("^([^%s]+)%s+(%d+)$")
|
local found, _, target, value = param:find("^([^%s]+)%s+(%d+)$")
|
||||||
if found == nil then
|
if found == nil then
|
||||||
minetest.chat_send_player(name, "Invalid usage: " .. param)
|
minetest.chat_send_player(name, S("Invalid usage: @1", param))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local player = minetest.get_player_by_name(target)
|
local player = minetest.get_player_by_name(target)
|
||||||
if player then
|
if player then
|
||||||
player:set_hp(value)
|
player:set_hp(value)
|
||||||
else
|
else
|
||||||
minetest.chat_send_player(name, "Invalid target: " .. target)
|
minetest.chat_send_player(name, S("Invalid target: @1", target))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
@ -46,18 +49,19 @@ local function initialize_data(meta)
|
|||||||
local commands = minetest.formspec_escape(meta:get_string("commands"))
|
local commands = minetest.formspec_escape(meta:get_string("commands"))
|
||||||
meta:set_string("formspec",
|
meta:set_string("formspec",
|
||||||
"invsize[9,5;]" ..
|
"invsize[9,5;]" ..
|
||||||
"textarea[0.5,0.5;8.5,4;commands;Commands;"..commands.."]" ..
|
"textarea[0.5,0.5;8.5,4;commands;"..F(S("Commands"))..";"..commands.."]" ..
|
||||||
"label[1,3.8;@nearest, @farthest, and @random are replaced by the respective player names]" ..
|
"label[1,3.8;"..F(S("@nearest, @farthest, and @random are replaced by the respective player names"))"]" ..
|
||||||
"button_exit[3.3,4.5;2,1;submit;Submit]")
|
"button_exit[3.3,4.5;2,1;submit;"..F(S("Submit")).."]")
|
||||||
local owner = meta:get_string("owner")
|
local owner = meta:get_string("owner")
|
||||||
|
local ownstr = ""
|
||||||
if owner == "" then
|
if owner == "" then
|
||||||
owner = "not owned"
|
ownstr = S("(not owned)")
|
||||||
else
|
else
|
||||||
owner = "owned by " .. owner
|
ownstr = S("(owned by @1)", owner)
|
||||||
end
|
end
|
||||||
meta:set_string("infotext", "Command Block\n" ..
|
meta:set_string("infotext", S("Command Block").."\n" ..
|
||||||
"(" .. owner .. ")\n" ..
|
ownstr .. "\n" ..
|
||||||
"Commands: "..commands)
|
S("Commands: @1", commands))
|
||||||
end
|
end
|
||||||
|
|
||||||
local function construct(pos)
|
local function construct(pos)
|
||||||
@ -150,15 +154,15 @@ local function commandblock_action_on(pos, node)
|
|||||||
end
|
end
|
||||||
local cmddef = minetest.chatcommands[cmd]
|
local cmddef = minetest.chatcommands[cmd]
|
||||||
if not cmddef then
|
if not cmddef then
|
||||||
minetest.chat_send_player(owner, "The command "..cmd.." does not exist")
|
minetest.chat_send_player(owner, S("The command @1 does not exist", cmd))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local has_privs, missing_privs = minetest.check_player_privs(owner, cmddef.privs)
|
local has_privs, missing_privs = minetest.check_player_privs(owner, cmddef.privs)
|
||||||
if not has_privs then
|
if not has_privs then
|
||||||
minetest.chat_send_player(owner, "You don't have permission "
|
minetest.chat_send_player(owner,
|
||||||
.."to run "..cmd
|
S("You don't have permission to run @1 (missing privileges: @2)",
|
||||||
.." (missing privileges: "
|
cmd,
|
||||||
..table.concat(missing_privs, ", ")..")")
|
table.concat(missing_privs, ", ")))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
cmddef.func(owner, param)
|
cmddef.func(owner, param)
|
||||||
@ -178,7 +182,7 @@ local function can_dig(pos, player)
|
|||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_node("mesecons_commandblock:commandblock_off", {
|
minetest.register_node("mesecons_commandblock:commandblock_off", {
|
||||||
description = "Command Block",
|
description = S("Command Block"),
|
||||||
tiles = {"jeija_commandblock_off.png"},
|
tiles = {"jeija_commandblock_off.png"},
|
||||||
inventory_image = minetest.inventorycube("jeija_commandblock_off.png"),
|
inventory_image = minetest.inventorycube("jeija_commandblock_off.png"),
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_delayer")
|
||||||
|
|
||||||
-- Function that get the input/output rules of the delayer
|
-- Function that get the input/output rules of the delayer
|
||||||
local delayer_get_output_rules = function(node)
|
local delayer_get_output_rules = function(node)
|
||||||
local rules = {{x = 0, y = 0, z = 1}}
|
local rules = {{x = 0, y = 0, z = 1}}
|
||||||
@ -62,7 +64,7 @@ local boxes = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
minetest.register_node("mesecons_delayer:delayer_off_"..tostring(i), {
|
minetest.register_node("mesecons_delayer:delayer_off_"..tostring(i), {
|
||||||
description = "Delayer",
|
description = S("Delayer"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
"mesecons_delayer_off_"..tostring(i)..".png",
|
"mesecons_delayer_off_"..tostring(i)..".png",
|
||||||
@ -120,7 +122,7 @@ minetest.register_node("mesecons_delayer:delayer_off_"..tostring(i), {
|
|||||||
|
|
||||||
|
|
||||||
minetest.register_node("mesecons_delayer:delayer_on_"..tostring(i), {
|
minetest.register_node("mesecons_delayer:delayer_on_"..tostring(i), {
|
||||||
description = "You hacker you",
|
description = S("You hacker you"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
"mesecons_delayer_on_"..tostring(i)..".png",
|
"mesecons_delayer_on_"..tostring(i)..".png",
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_detector")
|
||||||
|
local F = minetest.formspec_escape
|
||||||
|
|
||||||
local GET_COMMAND = "GET"
|
local GET_COMMAND = "GET"
|
||||||
|
|
||||||
-- Object detector
|
-- Object detector
|
||||||
@ -7,9 +10,9 @@ local GET_COMMAND = "GET"
|
|||||||
local function object_detector_make_formspec(pos)
|
local function object_detector_make_formspec(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
meta:set_string("formspec", "size[9,2.5]" ..
|
meta:set_string("formspec", "size[9,2.5]" ..
|
||||||
"field[0.3, 0;9,2;scanname;Name of player to scan for (empty for any):;${scanname}]"..
|
"field[0.3, 0;9,2;scanname;"..F(S("Name of player to scan for (empty for any):"))..";${scanname}]"..
|
||||||
"field[0.3,1.5;4,2;digiline_channel;Digiline Channel (optional):;${digiline_channel}]"..
|
"field[0.3,1.5;4,2;digiline_channel;"..F(S("Digiline Channel (optional):"))..";${digiline_channel}]"..
|
||||||
"button_exit[7,0.75;2,3;;Save]")
|
"button_exit[7,0.75;2,3;;"..F(S("Save")).."]")
|
||||||
end
|
end
|
||||||
|
|
||||||
local function object_detector_on_receive_fields(pos, formname, fields, sender)
|
local function object_detector_on_receive_fields(pos, formname, fields, sender)
|
||||||
@ -69,7 +72,7 @@ minetest.register_node("mesecons_detector:object_detector_off", {
|
|||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
walkable = true,
|
walkable = true,
|
||||||
groups = {cracky=3},
|
groups = {cracky=3},
|
||||||
description="Player Detector",
|
description=S("Player Detector"),
|
||||||
mesecons = {receptor = {
|
mesecons = {receptor = {
|
||||||
state = mesecon.state.off,
|
state = mesecon.state.off,
|
||||||
rules = mesecon.rules.pplate
|
rules = mesecon.rules.pplate
|
||||||
@ -262,7 +265,7 @@ minetest.register_node("mesecons_detector:node_detector_off", {
|
|||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
walkable = true,
|
walkable = true,
|
||||||
groups = {cracky=3},
|
groups = {cracky=3},
|
||||||
description="Node Detector",
|
description=S("Node Detector"),
|
||||||
mesecons = {receptor = {
|
mesecons = {receptor = {
|
||||||
state = mesecon.state.off
|
state = mesecon.state.off
|
||||||
}},
|
}},
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_extrawires")
|
||||||
local screwdriver_exists = minetest.global_exists("screwdriver")
|
local screwdriver_exists = minetest.global_exists("screwdriver")
|
||||||
|
|
||||||
local corner_nodebox = {
|
local corner_nodebox = {
|
||||||
@ -56,7 +57,7 @@ minetest.register_node("mesecons_extrawires:corner_on", {
|
|||||||
|
|
||||||
minetest.register_node("mesecons_extrawires:corner_off", {
|
minetest.register_node("mesecons_extrawires:corner_off", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Insulated Mesecon Corner",
|
description = S("Insulated Mesecon Corner"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"jeija_insulated_wire_curved_tb_off.png",
|
"jeija_insulated_wire_curved_tb_off.png",
|
||||||
"jeija_insulated_wire_curved_tb_off.png^[transformR270",
|
"jeija_insulated_wire_curved_tb_off.png^[transformR270",
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_extrawires")
|
||||||
|
|
||||||
local function crossover_get_rules(node)
|
local function crossover_get_rules(node)
|
||||||
return {
|
return {
|
||||||
{--first wire
|
{--first wire
|
||||||
@ -19,7 +21,7 @@ local crossover_states = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
minetest.register_node("mesecons_extrawires:crossover_off", {
|
minetest.register_node("mesecons_extrawires:crossover_off", {
|
||||||
description = "Insulated Mesecon Crossover",
|
description = S("Insulated Mesecon Crossover"),
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "mesecons_extrawires_crossover.b3d",
|
mesh = "mesecons_extrawires_crossover.b3d",
|
||||||
tiles = {
|
tiles = {
|
||||||
@ -45,7 +47,7 @@ minetest.register_node("mesecons_extrawires:crossover_off", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mesecons_extrawires:crossover_01", {
|
minetest.register_node("mesecons_extrawires:crossover_01", {
|
||||||
description = "You hacker you!",
|
description = S("You hacker you!"),
|
||||||
drop = "mesecons_extrawires:crossover_off",
|
drop = "mesecons_extrawires:crossover_off",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "mesecons_extrawires_crossover.b3d",
|
mesh = "mesecons_extrawires_crossover.b3d",
|
||||||
@ -72,7 +74,7 @@ minetest.register_node("mesecons_extrawires:crossover_01", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mesecons_extrawires:crossover_10", {
|
minetest.register_node("mesecons_extrawires:crossover_10", {
|
||||||
description = "You hacker you!",
|
description = S("You hacker you!"),
|
||||||
drop = "mesecons_extrawires:crossover_off",
|
drop = "mesecons_extrawires:crossover_off",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "mesecons_extrawires_crossover.b3d",
|
mesh = "mesecons_extrawires_crossover.b3d",
|
||||||
@ -99,7 +101,7 @@ minetest.register_node("mesecons_extrawires:crossover_10", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mesecons_extrawires:crossover_on", {
|
minetest.register_node("mesecons_extrawires:crossover_on", {
|
||||||
description = "You hacker you!",
|
description = S("You hacker you!"),
|
||||||
drop = "mesecons_extrawires:crossover_off",
|
drop = "mesecons_extrawires:crossover_off",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "mesecons_extrawires_crossover.b3d",
|
mesh = "mesecons_extrawires_crossover.b3d",
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_extrawires")
|
||||||
|
|
||||||
local screwdriver_exists = minetest.global_exists("screwdriver")
|
local screwdriver_exists = minetest.global_exists("screwdriver")
|
||||||
|
|
||||||
local tjunction_nodebox = {
|
local tjunction_nodebox = {
|
||||||
@ -57,7 +59,7 @@ minetest.register_node("mesecons_extrawires:tjunction_on", {
|
|||||||
|
|
||||||
minetest.register_node("mesecons_extrawires:tjunction_off", {
|
minetest.register_node("mesecons_extrawires:tjunction_off", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Insulated Mesecon T-junction",
|
description = S("Insulated Mesecon T-junction"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"jeija_insulated_wire_tjunction_tb_off.png",
|
"jeija_insulated_wire_tjunction_tb_off.png",
|
||||||
"jeija_insulated_wire_tjunction_tb_off.png^[transformR180",
|
"jeija_insulated_wire_tjunction_tb_off.png^[transformR180",
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_extrawires")
|
||||||
|
|
||||||
local vertical_box = {
|
local vertical_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {-1/16, -8/16, -1/16, 1/16, 8/16, 1/16}
|
fixed = {-1/16, -8/16, -1/16, 1/16, 8/16, 1/16}
|
||||||
@ -77,7 +79,7 @@ end
|
|||||||
|
|
||||||
-- Vertical wire
|
-- Vertical wire
|
||||||
mesecon.register_node("mesecons_extrawires:vertical", {
|
mesecon.register_node("mesecons_extrawires:vertical", {
|
||||||
description = "Vertical Mesecon",
|
description = S("Vertical Mesecon"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
walkable = false,
|
walkable = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@ -110,7 +112,7 @@ mesecon.register_node("mesecons_extrawires:vertical", {
|
|||||||
|
|
||||||
-- Vertical wire top
|
-- Vertical wire top
|
||||||
mesecon.register_node("mesecons_extrawires:vertical_top", {
|
mesecon.register_node("mesecons_extrawires:vertical_top", {
|
||||||
description = "Vertical mesecon",
|
description = S("Vertical mesecon"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
walkable = false,
|
walkable = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@ -142,7 +144,7 @@ mesecon.register_node("mesecons_extrawires:vertical_top", {
|
|||||||
|
|
||||||
-- Vertical wire bottom
|
-- Vertical wire bottom
|
||||||
mesecon.register_node("mesecons_extrawires:vertical_bottom", {
|
mesecon.register_node("mesecons_extrawires:vertical_bottom", {
|
||||||
description = "Vertical mesecon",
|
description = S("Vertical mesecon"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
walkable = false,
|
walkable = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_fpga")
|
||||||
|
|
||||||
local plg = {}
|
local plg = {}
|
||||||
plg.rules = {}
|
plg.rules = {}
|
||||||
|
|
||||||
@ -58,7 +60,7 @@ plg.register_nodes = function(template)
|
|||||||
end
|
end
|
||||||
|
|
||||||
plg.register_nodes({
|
plg.register_nodes({
|
||||||
description = "FPGA",
|
description = S("FPGA"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
"", -- replaced later
|
"", -- replaced later
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_gates")
|
||||||
|
|
||||||
local nodebox = {
|
local nodebox = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {{-8/16, -8/16, -8/16, 8/16, -7/16, 8/16 }},
|
fixed = {{-8/16, -8/16, -8/16, 8/16, -7/16, 8/16 }},
|
||||||
@ -57,7 +59,10 @@ end
|
|||||||
local function register_gate(name, inputnumber, assess, recipe, description)
|
local function register_gate(name, inputnumber, assess, recipe, description)
|
||||||
local get_inputrules = inputnumber == 2 and gate_get_input_rules_twoinputs or
|
local get_inputrules = inputnumber == 2 and gate_get_input_rules_twoinputs or
|
||||||
gate_get_input_rules_oneinput
|
gate_get_input_rules_oneinput
|
||||||
description = "Logic Gate: "..name
|
|
||||||
|
if not description then
|
||||||
|
description = S("Logic Gate: @1", name)
|
||||||
|
end
|
||||||
|
|
||||||
local basename = "mesecons_gates:"..name
|
local basename = "mesecons_gates:"..name
|
||||||
mesecon.register_node(basename, {
|
mesecon.register_node(basename, {
|
||||||
@ -106,38 +111,38 @@ end
|
|||||||
|
|
||||||
register_gate("diode", 1, function (input) return input end,
|
register_gate("diode", 1, function (input) return input end,
|
||||||
{{"mesecons:mesecon", "mesecons_torch:mesecon_torch_on", "mesecons_torch:mesecon_torch_on"}},
|
{{"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,
|
register_gate("not", 1, function (input) return not input end,
|
||||||
{{"mesecons:mesecon", "mesecons_torch:mesecon_torch_on", "mesecons:mesecon"}},
|
{{"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,
|
register_gate("and", 2, function (val1, val2) return val1 and val2 end,
|
||||||
{{"mesecons:mesecon", "", ""},
|
{{"mesecons:mesecon", "", ""},
|
||||||
{"", "mesecons_materials:silicon", "mesecons:mesecon"},
|
{"", "mesecons_materials:silicon", "mesecons:mesecon"},
|
||||||
{"mesecons:mesecon", "", ""}},
|
{"mesecons:mesecon", "", ""}},
|
||||||
"AND Gate")
|
S("AND Gate"))
|
||||||
|
|
||||||
register_gate("nand", 2, function (val1, val2) return not (val1 and val2) end,
|
register_gate("nand", 2, function (val1, val2) return not (val1 and val2) end,
|
||||||
{{"mesecons:mesecon", "", ""},
|
{{"mesecons:mesecon", "", ""},
|
||||||
{"", "mesecons_materials:silicon", "mesecons_torch:mesecon_torch_on"},
|
{"", "mesecons_materials:silicon", "mesecons_torch:mesecon_torch_on"},
|
||||||
{"mesecons:mesecon", "", ""}},
|
{"mesecons:mesecon", "", ""}},
|
||||||
"NAND Gate")
|
S("NAND Gate"))
|
||||||
|
|
||||||
register_gate("xor", 2, function (val1, val2) return (val1 or val2) and not (val1 and val2) end,
|
register_gate("xor", 2, function (val1, val2) return (val1 or val2) and not (val1 and val2) end,
|
||||||
{{"mesecons:mesecon", "", ""},
|
{{"mesecons:mesecon", "", ""},
|
||||||
{"", "mesecons_materials:silicon", "mesecons_materials:silicon"},
|
{"", "mesecons_materials:silicon", "mesecons_materials:silicon"},
|
||||||
{"mesecons:mesecon", "", ""}},
|
{"mesecons:mesecon", "", ""}},
|
||||||
"XOR Gate")
|
S("XOR Gate"))
|
||||||
|
|
||||||
register_gate("nor", 2, function (val1, val2) return not (val1 or val2) end,
|
register_gate("nor", 2, function (val1, val2) return not (val1 or val2) end,
|
||||||
{{"mesecons:mesecon", "", ""},
|
{{"mesecons:mesecon", "", ""},
|
||||||
{"", "mesecons:mesecon", "mesecons_torch:mesecon_torch_on"},
|
{"", "mesecons:mesecon", "mesecons_torch:mesecon_torch_on"},
|
||||||
{"mesecons:mesecon", "", ""}},
|
{"mesecons:mesecon", "", ""}},
|
||||||
"NOR Gate")
|
S("NOR Gate"))
|
||||||
|
|
||||||
register_gate("or", 2, function (val1, val2) return (val1 or val2) end,
|
register_gate("or", 2, function (val1, val2) return (val1 or val2) end,
|
||||||
{{"mesecons:mesecon", "", ""},
|
{{"mesecons:mesecon", "", ""},
|
||||||
{"", "mesecons:mesecon", "mesecons:mesecon"},
|
{"", "mesecons:mesecon", "mesecons:mesecon"},
|
||||||
{"mesecons:mesecon", "", ""}},
|
{"mesecons:mesecon", "", ""}},
|
||||||
"OR Gate")
|
S("OR Gate"))
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_hydroturbine")
|
||||||
|
|
||||||
-- HYDRO_TURBINE
|
-- HYDRO_TURBINE
|
||||||
-- Water turbine:
|
-- Water turbine:
|
||||||
-- Active if flowing >water< above it
|
-- Active if flowing >water< above it
|
||||||
@ -16,7 +18,7 @@ minetest.register_node("mesecons_hydroturbine:hydro_turbine_off", {
|
|||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
wield_scale = {x=0.75, y=0.75, z=0.75},
|
wield_scale = {x=0.75, y=0.75, z=0.75},
|
||||||
groups = {dig_immediate=2},
|
groups = {dig_immediate=2},
|
||||||
description="Water Turbine",
|
description=S("Water Turbine"),
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
selection_box = {
|
selection_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
@ -45,7 +47,7 @@ minetest.register_node("mesecons_hydroturbine:hydro_turbine_on", {
|
|||||||
inventory_image = "jeija_hydro_turbine_inv.png",
|
inventory_image = "jeija_hydro_turbine_inv.png",
|
||||||
drop = "mesecons_hydroturbine:hydro_turbine_off 1",
|
drop = "mesecons_hydroturbine:hydro_turbine_off 1",
|
||||||
groups = {dig_immediate=2,not_in_creative_inventory=1},
|
groups = {dig_immediate=2,not_in_creative_inventory=1},
|
||||||
description="Water Turbine",
|
description=S("Water Turbine"),
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
selection_box = {
|
selection_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_hydroturbine")
|
||||||
|
|
||||||
local screwdriver_exists = minetest.global_exists("screwdriver")
|
local screwdriver_exists = minetest.global_exists("screwdriver")
|
||||||
|
|
||||||
local function insulated_wire_get_rules(node)
|
local function insulated_wire_get_rules(node)
|
||||||
@ -11,7 +13,7 @@ end
|
|||||||
|
|
||||||
minetest.register_node("mesecons_insulated:insulated_on", {
|
minetest.register_node("mesecons_insulated:insulated_on", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Straight Insulated Mesecon",
|
description = S("Straight Insulated Mesecon"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"jeija_insulated_wire_sides_on.png",
|
"jeija_insulated_wire_sides_on.png",
|
||||||
"jeija_insulated_wire_sides_on.png",
|
"jeija_insulated_wire_sides_on.png",
|
||||||
@ -48,7 +50,7 @@ minetest.register_node("mesecons_insulated:insulated_on", {
|
|||||||
|
|
||||||
minetest.register_node("mesecons_insulated:insulated_off", {
|
minetest.register_node("mesecons_insulated:insulated_off", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Straight Insulated Mesecon",
|
description = S("Straight Insulated Mesecon"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"jeija_insulated_wire_sides_off.png",
|
"jeija_insulated_wire_sides_off.png",
|
||||||
"jeija_insulated_wire_sides_off.png",
|
"jeija_insulated_wire_sides_off.png",
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_lamp")
|
||||||
|
|
||||||
-- MESELAMPS
|
-- MESELAMPS
|
||||||
-- A lamp is "is an electrical device used to create artificial light" (wikipedia)
|
-- A lamp is "is an electrical device used to create artificial light" (wikipedia)
|
||||||
-- guess what?
|
-- guess what?
|
||||||
@ -46,7 +48,7 @@ minetest.register_node("mesecons_lamp:lamp_off", {
|
|||||||
node_box = mesecon_lamp_box,
|
node_box = mesecon_lamp_box,
|
||||||
selection_box = mesecon_lamp_box,
|
selection_box = mesecon_lamp_box,
|
||||||
groups = {dig_immediate=3, mesecon_receptor_off = 1, mesecon_effector_off = 1},
|
groups = {dig_immediate=3, mesecon_receptor_off = 1, mesecon_effector_off = 1},
|
||||||
description = "Mesecon Lamp",
|
description = S("Mesecon Lamp"),
|
||||||
sounds = default.node_sound_glass_defaults(),
|
sounds = default.node_sound_glass_defaults(),
|
||||||
mesecons = {effector = {
|
mesecons = {effector = {
|
||||||
action_on = function (pos, node)
|
action_on = function (pos, node)
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_lightstone")
|
||||||
|
|
||||||
local lightstone_rules = {
|
local lightstone_rules = {
|
||||||
{x=0, y=0, z=-1},
|
{x=0, y=0, z=-1},
|
||||||
{x=1, y=0, z=0},
|
{x=1, y=0, z=0},
|
||||||
@ -16,7 +18,7 @@ local lightstone_rules = {
|
|||||||
|
|
||||||
function mesecon.lightstone_add(name, base_item, texture_off, texture_on, desc)
|
function mesecon.lightstone_add(name, base_item, texture_off, texture_on, desc)
|
||||||
if not desc then
|
if not desc then
|
||||||
desc = name .. " Lightstone"
|
desc = S("Lightstone (@1)", name)
|
||||||
end
|
end
|
||||||
minetest.register_node("mesecons_lightstone:lightstone_" .. name .. "_off", {
|
minetest.register_node("mesecons_lightstone:lightstone_" .. name .. "_off", {
|
||||||
tiles = {texture_off},
|
tiles = {texture_off},
|
||||||
@ -59,15 +61,15 @@ function mesecon.lightstone_add(name, base_item, texture_off, texture_on, desc)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
mesecon.lightstone_add("red", "dye:red", "jeija_lightstone_red_off.png", "jeija_lightstone_red_on.png", "Red Lightstone")
|
mesecon.lightstone_add("red", "dye:red", "jeija_lightstone_red_off.png", "jeija_lightstone_red_on.png", S("Red Lightstone"))
|
||||||
mesecon.lightstone_add("green", "dye:green", "jeija_lightstone_green_off.png", "jeija_lightstone_green_on.png", "Green Lightstone")
|
mesecon.lightstone_add("green", "dye:green", "jeija_lightstone_green_off.png", "jeija_lightstone_green_on.png", S("Green Lightstone"))
|
||||||
mesecon.lightstone_add("blue", "dye:blue", "jeija_lightstone_blue_off.png", "jeija_lightstone_blue_on.png", "Blue Lightstone")
|
mesecon.lightstone_add("blue", "dye:blue", "jeija_lightstone_blue_off.png", "jeija_lightstone_blue_on.png", S("Blue Lightstone"))
|
||||||
mesecon.lightstone_add("gray", "dye:grey", "jeija_lightstone_gray_off.png", "jeija_lightstone_gray_on.png", "Grey Lightstone")
|
mesecon.lightstone_add("gray", "dye:grey", "jeija_lightstone_gray_off.png", "jeija_lightstone_gray_on.png", S("Grey Lightstone"))
|
||||||
mesecon.lightstone_add("darkgray", "dye:dark_grey", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_darkgray_on.png", "Dark Grey Lightstone")
|
mesecon.lightstone_add("darkgray", "dye:dark_grey", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_darkgray_on.png", S("Dark Grey Lightstone"))
|
||||||
mesecon.lightstone_add("yellow", "dye:yellow", "jeija_lightstone_yellow_off.png", "jeija_lightstone_yellow_on.png", "Yellow Lightstone")
|
mesecon.lightstone_add("yellow", "dye:yellow", "jeija_lightstone_yellow_off.png", "jeija_lightstone_yellow_on.png", S("Yellow Lightstone"))
|
||||||
mesecon.lightstone_add("orange", "dye:orange", "jeija_lightstone_orange_off.png", "jeija_lightstone_orange_on.png", "Orange Lightstone")
|
mesecon.lightstone_add("orange", "dye:orange", "jeija_lightstone_orange_off.png", "jeija_lightstone_orange_on.png", S("Orange Lightstone"))
|
||||||
mesecon.lightstone_add("white", "dye:white", "jeija_lightstone_white_off.png", "jeija_lightstone_white_on.png", "White Lightstone")
|
mesecon.lightstone_add("white", "dye:white", "jeija_lightstone_white_off.png", "jeija_lightstone_white_on.png", S("White Lightstone"))
|
||||||
mesecon.lightstone_add("pink", "dye:pink", "jeija_lightstone_pink_off.png", "jeija_lightstone_pink_on.png", "Pink Lightstone")
|
mesecon.lightstone_add("pink", "dye:pink", "jeija_lightstone_pink_off.png", "jeija_lightstone_pink_on.png", S("Pink Lightstone"))
|
||||||
mesecon.lightstone_add("magenta", "dye:magenta", "jeija_lightstone_magenta_off.png", "jeija_lightstone_magenta_on.png", "Magenta Lightstone")
|
mesecon.lightstone_add("magenta", "dye:magenta", "jeija_lightstone_magenta_off.png", "jeija_lightstone_magenta_on.png", S("Magenta Lightstone"))
|
||||||
mesecon.lightstone_add("cyan", "dye:cyan", "jeija_lightstone_cyan_off.png", "jeija_lightstone_cyan_on.png", "Cyan Lightstone")
|
mesecon.lightstone_add("cyan", "dye:cyan", "jeija_lightstone_cyan_off.png", "jeija_lightstone_cyan_on.png", S("Cyan Lightstone"))
|
||||||
mesecon.lightstone_add("violet", "dye:violet", "jeija_lightstone_violet_off.png", "jeija_lightstone_violet_on.png", "Violet Lightstone")
|
mesecon.lightstone_add("violet", "dye:violet", "jeija_lightstone_violet_off.png", "jeija_lightstone_violet_on.png", S("Violet Lightstone"))
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_luacontroller")
|
||||||
|
|
||||||
-- ______
|
-- ______
|
||||||
-- |
|
-- |
|
||||||
-- |
|
-- |
|
||||||
@ -632,9 +634,11 @@ local function reset_formspec(meta, code, errmsg)
|
|||||||
code = minetest.formspec_escape(code or "")
|
code = minetest.formspec_escape(code or "")
|
||||||
errmsg = minetest.formspec_escape(tostring(errmsg or ""))
|
errmsg = minetest.formspec_escape(tostring(errmsg or ""))
|
||||||
meta:set_string("formspec", "size[12,10]"
|
meta:set_string("formspec", "size[12,10]"
|
||||||
|
-- FIXME: The background includes untranslatable English text
|
||||||
.."background[-0.2,-0.25;12.4,10.75;jeija_luac_background.png]"
|
.."background[-0.2,-0.25;12.4,10.75;jeija_luac_background.png]"
|
||||||
.."label[0.1,8.3;"..errmsg.."]"
|
.."label[0.1,8.3;"..errmsg.."]"
|
||||||
.."textarea[0.2,0.2;12.2,9.5;code;;"..code.."]"
|
.."textarea[0.2,0.2;12.2,9.5;code;;"..code.."]"
|
||||||
|
-- FIXME: This image include untranslatable English text
|
||||||
.."image_button[4.75,8.75;2.5,1;jeija_luac_runbutton.png;program;]"
|
.."image_button[4.75,8.75;2.5,1;jeija_luac_runbutton.png;program;]"
|
||||||
.."image_button_exit[11.72,-0.25;0.425,0.4;jeija_close_window.png;exit;]"
|
.."image_button_exit[11.72,-0.25;0.425,0.4;jeija_close_window.png;exit;]"
|
||||||
)
|
)
|
||||||
@ -807,7 +811,7 @@ for d = 0, 1 do
|
|||||||
}
|
}
|
||||||
|
|
||||||
minetest.register_node(node_name, {
|
minetest.register_node(node_name, {
|
||||||
description = "Luacontroller",
|
description = S("Luacontroller"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
top,
|
top,
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_materials")
|
||||||
|
|
||||||
-- Glue and fiber
|
-- Glue and fiber
|
||||||
minetest.register_craftitem("mesecons_materials:glue", {
|
minetest.register_craftitem("mesecons_materials:glue", {
|
||||||
image = "mesecons_glue.png",
|
image = "mesecons_glue.png",
|
||||||
on_place_on_ground = minetest.craftitem_place_item,
|
on_place_on_ground = minetest.craftitem_place_item,
|
||||||
description="Glue",
|
description=S("Glue"),
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mesecons_materials:fiber", {
|
minetest.register_craftitem("mesecons_materials:fiber", {
|
||||||
image = "mesecons_fiber.png",
|
image = "mesecons_fiber.png",
|
||||||
on_place_on_ground = minetest.craftitem_place_item,
|
on_place_on_ground = minetest.craftitem_place_item,
|
||||||
description="Fiber",
|
description=S("Fiber"),
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
@ -29,7 +31,7 @@ minetest.register_craft({
|
|||||||
minetest.register_craftitem("mesecons_materials:silicon", {
|
minetest.register_craftitem("mesecons_materials:silicon", {
|
||||||
image = "mesecons_silicon.png",
|
image = "mesecons_silicon.png",
|
||||||
on_place_on_ground = minetest.craftitem_place_item,
|
on_place_on_ground = minetest.craftitem_place_item,
|
||||||
description="Silicon",
|
description=S("Silicon"),
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_microcontroller")
|
||||||
|
local F = minetest.formspec_escape
|
||||||
|
|
||||||
local EEPROM_SIZE = 255
|
local EEPROM_SIZE = 255
|
||||||
|
|
||||||
local microc_rules = {}
|
local microc_rules = {}
|
||||||
@ -56,7 +59,7 @@ if nodename ~= "mesecons_microcontroller:microcontroller0000" then
|
|||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_node(nodename, {
|
minetest.register_node(nodename, {
|
||||||
description = "Microcontroller",
|
description = S("Microcontroller"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
top,
|
top,
|
||||||
@ -89,15 +92,15 @@ minetest.register_node(nodename, {
|
|||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
meta:set_string("code", "")
|
meta:set_string("code", "")
|
||||||
meta:set_string("formspec", "size[9,2.5]"..
|
meta:set_string("formspec", "size[9,2.5]"..
|
||||||
"field[0.256,-0.2;9,2;code;Code:;]"..
|
"field[0.256,-0.2;9,2;code;"..F(S("Code:"))..";]"..
|
||||||
"button[0 ,0.2;1.5,3;band;AND]"..
|
"button[0 ,0.2;1.5,3;band;"..F(S("AND")).."]"..
|
||||||
"button[1.5,0.2;1.5,3;bxor;XOR]"..
|
"button[1.5,0.2;1.5,3;bxor;"..F(S("XOR")).."]"..
|
||||||
"button[3 ,0.2;1.5,3;bnot;NOT]"..
|
"button[3 ,0.2;1.5,3;bnot;"..F(S("NOT")).."]"..
|
||||||
"button[4.5,0.2;1.5,3;bnand;NAND]"..
|
"button[4.5,0.2;1.5,3;bnand;"..F(S("NAND")).."]"..
|
||||||
"button[6 ,0.2;1.5,3;btflop;T-Flop]"..
|
"button[6 ,0.2;1.5,3;btflop;"..F(S("T-Flop")).."]"..
|
||||||
"button[7.5,0.2;1.5,3;brsflop;RS-Flop]"..
|
"button[7.5,0.2;1.5,3;brsflop;"..F(S("RS-Flop")).."]"..
|
||||||
"button_exit[3.5,1;2,3;program;Program]")
|
"button_exit[3.5,1;2,3;program;"..F(S("Program")).."]")
|
||||||
meta:set_string("infotext", "Unprogrammed Microcontroller")
|
meta:set_string("infotext", S("Unprogrammed Microcontroller"))
|
||||||
local r = ""
|
local r = ""
|
||||||
for i=1, EEPROM_SIZE+1 do r=r.."0" end --Generate a string with EEPROM_SIZE*"0"
|
for i=1, EEPROM_SIZE+1 do r=r.."0" end --Generate a string with EEPROM_SIZE*"0"
|
||||||
meta:set_string("eeprom", r)
|
meta:set_string("eeprom", r)
|
||||||
@ -127,15 +130,15 @@ minetest.register_node(nodename, {
|
|||||||
|
|
||||||
meta:set_string("code", fields.code)
|
meta:set_string("code", fields.code)
|
||||||
meta:set_string("formspec", "size[9,2.5]"..
|
meta:set_string("formspec", "size[9,2.5]"..
|
||||||
"field[0.256,-0.2;9,2;code;Code:;"..minetest.formspec_escape(fields.code).."]"..
|
"field[0.256,-0.2;9,2;code;"..F(S("Code:"))..";"..minetest.formspec_escape(fields.code).."]"..
|
||||||
"button[0 ,0.2;1.5,3;band;AND]"..
|
"button[0 ,0.2;1.5,3;band;"..F(S("AND")).."]"..
|
||||||
"button[1.5,0.2;1.5,3;bxor;XOR]"..
|
"button[1.5,0.2;1.5,3;bxor;"..F(S("XOR")).."]"..
|
||||||
"button[3 ,0.2;1.5,3;bnot;NOT]"..
|
"button[3 ,0.2;1.5,3;bnot;"..F(S("NOT")).."]"..
|
||||||
"button[4.5,0.2;1.5,3;bnand;NAND]"..
|
"button[4.5,0.2;1.5,3;bnand;"..F(S("NAND")).."]"..
|
||||||
"button[6 ,0.2;1.5,3;btflop;T-Flop]"..
|
"button[6 ,0.2;1.5,3;btflop;"..F(S("T-Flop")).."]"..
|
||||||
"button[7.5,0.2;1.5,3;brsflop;RS-Flop]"..
|
"button[7.5,0.2;1.5,3;brsflop;"..F(S("RS-Flop")).."]"..
|
||||||
"button_exit[3.5,1;2,3;program;Program]")
|
"button_exit[3.5,1;2,3;program;"..F(S("Program")).."]")
|
||||||
meta:set_string("infotext", "Programmed Microcontroller")
|
meta:set_string("infotext", S("Programmed Microcontroller"))
|
||||||
yc.reset (pos)
|
yc.reset (pos)
|
||||||
yc.update(pos)
|
yc.update(pos)
|
||||||
end,
|
end,
|
||||||
@ -199,9 +202,9 @@ yc.update = function(pos)
|
|||||||
code = string.gsub(code, " ", "") --Remove all spaces
|
code = string.gsub(code, " ", "") --Remove all spaces
|
||||||
code = string.gsub(code, " ", "") --Remove all tabs
|
code = string.gsub(code, " ", "") --Remove all tabs
|
||||||
if yc.parsecode(code, pos) == nil then
|
if yc.parsecode(code, pos) == nil then
|
||||||
meta:set_string("infotext", "Code not valid!\n"..code)
|
meta:set_string("infotext", S("Code not valid!").."\n"..code)
|
||||||
else
|
else
|
||||||
meta:set_string("infotext", "Working Microcontroller\n"..code)
|
meta:set_string("infotext", S("Working Microcontroller").."\n"..code)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -467,12 +470,12 @@ yc.command_after_execute = function(params)
|
|||||||
local meta = minetest.get_meta(params.pos)
|
local meta = minetest.get_meta(params.pos)
|
||||||
if meta:get_int("afterid") == params.afterid then --make sure the node has not been changed
|
if meta:get_int("afterid") == params.afterid then --make sure the node has not been changed
|
||||||
if yc.parsecode(params.code, params.pos) == nil then
|
if yc.parsecode(params.code, params.pos) == nil then
|
||||||
meta:set_string("infotext", "Code in after() not valid!")
|
meta:set_string("infotext", S("Code in after() not valid!"))
|
||||||
else
|
else
|
||||||
if code ~= nil then
|
if code ~= nil then
|
||||||
meta:set_string("infotext", "Working Microcontroller\n"..code)
|
meta:set_string("infotext", S("Working Microcontroller").."\n"..code)
|
||||||
else
|
else
|
||||||
meta:set_string("infotext", "Working Microcontroller")
|
meta:set_string("infotext", S("Working Microcontroller"))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_movestone")
|
||||||
|
|
||||||
-- MOVESTONE
|
-- MOVESTONE
|
||||||
-- Non-sticky:
|
-- Non-sticky:
|
||||||
-- Moves along mesecon lines
|
-- Moves along mesecon lines
|
||||||
@ -109,7 +111,7 @@ mesecon.register_movestone("mesecons_movestones:movestone", {
|
|||||||
"jeija_movestone_arrows.png",
|
"jeija_movestone_arrows.png",
|
||||||
},
|
},
|
||||||
groups = {cracky = 3},
|
groups = {cracky = 3},
|
||||||
description = "Movestone",
|
description = S("Movestone"),
|
||||||
sounds = default.node_sound_stone_defaults()
|
sounds = default.node_sound_stone_defaults()
|
||||||
}, false, false)
|
}, false, false)
|
||||||
|
|
||||||
@ -123,7 +125,7 @@ mesecon.register_movestone("mesecons_movestones:sticky_movestone", {
|
|||||||
"jeija_sticky_movestone.png",
|
"jeija_sticky_movestone.png",
|
||||||
},
|
},
|
||||||
groups = {cracky = 3},
|
groups = {cracky = 3},
|
||||||
description = "Sticky Movestone",
|
description = S("Sticky Movestone"),
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = default.node_sound_stone_defaults(),
|
||||||
}, true, false)
|
}, true, false)
|
||||||
|
|
||||||
@ -137,7 +139,7 @@ mesecon.register_movestone("mesecons_movestones:movestone_vertical", {
|
|||||||
"jeija_movestone_arrows.png^[transformR90",
|
"jeija_movestone_arrows.png^[transformR90",
|
||||||
},
|
},
|
||||||
groups = {cracky = 3},
|
groups = {cracky = 3},
|
||||||
description = "Vertical Movestone",
|
description = S("Vertical Movestone"),
|
||||||
sounds = default.node_sound_stone_defaults()
|
sounds = default.node_sound_stone_defaults()
|
||||||
}, false, true)
|
}, false, true)
|
||||||
|
|
||||||
@ -151,7 +153,7 @@ mesecon.register_movestone("mesecons_movestones:sticky_movestone_vertical", {
|
|||||||
"jeija_movestone_arrows.png^[transformR90",
|
"jeija_movestone_arrows.png^[transformR90",
|
||||||
},
|
},
|
||||||
groups = {cracky = 3},
|
groups = {cracky = 3},
|
||||||
description = "Vertical Sticky Movestone",
|
description = S("Vertical Sticky Movestone"),
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = default.node_sound_stone_defaults(),
|
||||||
}, true, true)
|
}, true, true)
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_noteblock")
|
||||||
|
|
||||||
minetest.register_node("mesecons_noteblock:noteblock", {
|
minetest.register_node("mesecons_noteblock:noteblock", {
|
||||||
description = "Noteblock",
|
description = S("Noteblock"),
|
||||||
tiles = {"mesecons_noteblock.png"},
|
tiles = {"mesecons_noteblock.png"},
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2},
|
groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2},
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_pistons")
|
||||||
|
|
||||||
local specs = {
|
local specs = {
|
||||||
normal = {
|
normal = {
|
||||||
offname = "mesecons_pistons:piston_normal_off",
|
offname = "mesecons_pistons:piston_normal_off",
|
||||||
@ -261,7 +263,7 @@ local piston_on_box = {
|
|||||||
-- Normal (non-sticky) Pistons:
|
-- Normal (non-sticky) Pistons:
|
||||||
-- offstate
|
-- offstate
|
||||||
minetest.register_node("mesecons_pistons:piston_normal_off", {
|
minetest.register_node("mesecons_pistons:piston_normal_off", {
|
||||||
description = "Piston",
|
description = S("Piston"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"mesecons_piston_top.png",
|
"mesecons_piston_top.png",
|
||||||
"mesecons_piston_bottom.png",
|
"mesecons_piston_bottom.png",
|
||||||
@ -285,7 +287,7 @@ minetest.register_node("mesecons_pistons:piston_normal_off", {
|
|||||||
|
|
||||||
-- onstate
|
-- onstate
|
||||||
minetest.register_node("mesecons_pistons:piston_normal_on", {
|
minetest.register_node("mesecons_pistons:piston_normal_on", {
|
||||||
description = "Activated Piston Base",
|
description = S("Activated Piston Base"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
"mesecons_piston_top.png",
|
"mesecons_piston_top.png",
|
||||||
@ -314,7 +316,7 @@ minetest.register_node("mesecons_pistons:piston_normal_on", {
|
|||||||
|
|
||||||
-- pusher
|
-- pusher
|
||||||
minetest.register_node("mesecons_pistons:piston_pusher_normal", {
|
minetest.register_node("mesecons_pistons:piston_pusher_normal", {
|
||||||
description = "Piston Pusher",
|
description = S("Piston Pusher"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
"mesecons_piston_pusher_top.png",
|
"mesecons_piston_pusher_top.png",
|
||||||
@ -339,7 +341,7 @@ minetest.register_node("mesecons_pistons:piston_pusher_normal", {
|
|||||||
-- Sticky ones
|
-- Sticky ones
|
||||||
-- offstate
|
-- offstate
|
||||||
minetest.register_node("mesecons_pistons:piston_sticky_off", {
|
minetest.register_node("mesecons_pistons:piston_sticky_off", {
|
||||||
description = "Sticky Piston",
|
description = S("Sticky Piston"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"mesecons_piston_top.png",
|
"mesecons_piston_top.png",
|
||||||
"mesecons_piston_bottom.png",
|
"mesecons_piston_bottom.png",
|
||||||
@ -363,7 +365,7 @@ minetest.register_node("mesecons_pistons:piston_sticky_off", {
|
|||||||
|
|
||||||
-- onstate
|
-- onstate
|
||||||
minetest.register_node("mesecons_pistons:piston_sticky_on", {
|
minetest.register_node("mesecons_pistons:piston_sticky_on", {
|
||||||
description = "Activated Sticky Piston Base",
|
description = S("Activated Sticky Piston Base"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
"mesecons_piston_top.png",
|
"mesecons_piston_top.png",
|
||||||
@ -392,7 +394,7 @@ minetest.register_node("mesecons_pistons:piston_sticky_on", {
|
|||||||
|
|
||||||
-- pusher
|
-- pusher
|
||||||
minetest.register_node("mesecons_pistons:piston_pusher_sticky", {
|
minetest.register_node("mesecons_pistons:piston_pusher_sticky", {
|
||||||
description = "Sticky Piston Pusher",
|
description = S("Sticky Piston Pusher"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
"mesecons_piston_pusher_top.png",
|
"mesecons_piston_pusher_top.png",
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_powerplant")
|
||||||
|
|
||||||
-- The POWER_PLANT
|
-- The POWER_PLANT
|
||||||
-- Just emits power. always.
|
-- Just emits power. always.
|
||||||
|
|
||||||
@ -11,7 +13,7 @@ minetest.register_node("mesecons_powerplant:power_plant", {
|
|||||||
walkable = false,
|
walkable = false,
|
||||||
groups = {dig_immediate=3, mesecon = 2},
|
groups = {dig_immediate=3, mesecon = 2},
|
||||||
light_source = minetest.LIGHT_MAX-9,
|
light_source = minetest.LIGHT_MAX-9,
|
||||||
description="Power Plant",
|
description=S("Power Plant"),
|
||||||
selection_box = {
|
selection_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {-0.3, -0.5, -0.3, 0.3, -0.5+0.7, 0.3},
|
fixed = {-0.3, -0.5, -0.3, 0.3, -0.5+0.7, 0.3},
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_pressureplates")
|
||||||
|
|
||||||
local pp_box_off = {
|
local pp_box_off = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = { -7/16, -8/16, -7/16, 7/16, -7/16, 7/16 },
|
fixed = { -7/16, -8/16, -7/16, 7/16, -7/16, 7/16 },
|
||||||
@ -89,7 +91,7 @@ end
|
|||||||
|
|
||||||
mesecon.register_pressure_plate(
|
mesecon.register_pressure_plate(
|
||||||
"mesecons_pressureplates:pressure_plate_wood",
|
"mesecons_pressureplates:pressure_plate_wood",
|
||||||
"Wooden Pressure Plate",
|
S("Wooden Pressure Plate"),
|
||||||
{"jeija_pressure_plate_wood_off.png","jeija_pressure_plate_wood_off.png","jeija_pressure_plate_wood_off_edges.png"},
|
{"jeija_pressure_plate_wood_off.png","jeija_pressure_plate_wood_off.png","jeija_pressure_plate_wood_off_edges.png"},
|
||||||
{"jeija_pressure_plate_wood_on.png","jeija_pressure_plate_wood_on.png","jeija_pressure_plate_wood_on_edges.png"},
|
{"jeija_pressure_plate_wood_on.png","jeija_pressure_plate_wood_on.png","jeija_pressure_plate_wood_on_edges.png"},
|
||||||
"jeija_pressure_plate_wood_wield.png",
|
"jeija_pressure_plate_wood_wield.png",
|
||||||
@ -100,7 +102,7 @@ mesecon.register_pressure_plate(
|
|||||||
|
|
||||||
mesecon.register_pressure_plate(
|
mesecon.register_pressure_plate(
|
||||||
"mesecons_pressureplates:pressure_plate_stone",
|
"mesecons_pressureplates:pressure_plate_stone",
|
||||||
"Stone Pressure Plate",
|
S("Stone Pressure Plate"),
|
||||||
{"jeija_pressure_plate_stone_off.png","jeija_pressure_plate_stone_off.png","jeija_pressure_plate_stone_off_edges.png"},
|
{"jeija_pressure_plate_stone_off.png","jeija_pressure_plate_stone_off.png","jeija_pressure_plate_stone_off_edges.png"},
|
||||||
{"jeija_pressure_plate_stone_on.png","jeija_pressure_plate_stone_on.png","jeija_pressure_plate_stone_on_edges.png"},
|
{"jeija_pressure_plate_stone_on.png","jeija_pressure_plate_stone_on.png","jeija_pressure_plate_stone_on_edges.png"},
|
||||||
"jeija_pressure_plate_stone_wield.png",
|
"jeija_pressure_plate_stone_wield.png",
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_random")
|
||||||
|
|
||||||
-- REMOVESTONE
|
-- REMOVESTONE
|
||||||
|
|
||||||
minetest.register_node("mesecons_random:removestone", {
|
minetest.register_node("mesecons_random:removestone", {
|
||||||
@ -5,7 +7,7 @@ minetest.register_node("mesecons_random:removestone", {
|
|||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
inventory_image = minetest.inventorycube("jeija_removestone_inv.png"),
|
inventory_image = minetest.inventorycube("jeija_removestone_inv.png"),
|
||||||
groups = {cracky=3},
|
groups = {cracky=3},
|
||||||
description="Removestone",
|
description=S("Removestone"),
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = default.node_sound_stone_defaults(),
|
||||||
mesecons = {effector = {
|
mesecons = {effector = {
|
||||||
action_on = function (pos, node)
|
action_on = function (pos, node)
|
||||||
@ -29,7 +31,7 @@ minetest.register_craft({
|
|||||||
-- GHOSTSTONE
|
-- GHOSTSTONE
|
||||||
|
|
||||||
minetest.register_node("mesecons_random:ghoststone", {
|
minetest.register_node("mesecons_random:ghoststone", {
|
||||||
description="Ghoststone",
|
description=S("Ghoststone"),
|
||||||
tiles = {"jeija_ghoststone.png"},
|
tiles = {"jeija_ghoststone.png"},
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
inventory_image = minetest.inventorycube("jeija_ghoststone_inv.png"),
|
inventory_image = minetest.inventorycube("jeija_ghoststone_inv.png"),
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_solarpanel")
|
||||||
|
|
||||||
-- Solar Panel
|
-- Solar Panel
|
||||||
minetest.register_node("mesecons_solarpanel:solar_panel_on", {
|
minetest.register_node("mesecons_solarpanel:solar_panel_on", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
@ -53,7 +55,7 @@ minetest.register_node("mesecons_solarpanel:solar_panel_off", {
|
|||||||
wall_side = { -8/16, -7/16, -7/16, -7/16, 7/16, 7/16 },
|
wall_side = { -8/16, -7/16, -7/16, -7/16, 7/16, 7/16 },
|
||||||
},
|
},
|
||||||
groups = {dig_immediate=3},
|
groups = {dig_immediate=3},
|
||||||
description = "Solar Panel",
|
description = S("Solar Panel"),
|
||||||
sounds = default.node_sound_glass_defaults(),
|
sounds = default.node_sound_glass_defaults(),
|
||||||
mesecons = {receptor = {
|
mesecons = {receptor = {
|
||||||
state = mesecon.state.off,
|
state = mesecon.state.off,
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_stickyblocks")
|
||||||
|
|
||||||
-- Sticky blocks can be used together with pistons or movestones to push / pull
|
-- Sticky blocks can be used together with pistons or movestones to push / pull
|
||||||
-- structures that are "glued" together using sticky blocks
|
-- structures that are "glued" together using sticky blocks
|
||||||
|
|
||||||
-- All sides sticky block
|
-- All sides sticky block
|
||||||
minetest.register_node("mesecons_stickyblocks:sticky_block_all", {
|
minetest.register_node("mesecons_stickyblocks:sticky_block_all", {
|
||||||
-- TODO: Rename to “All-Faces Sticky Block” when other sticky blocks become available
|
-- TODO: Rename to “All-Faces Sticky Block” when other sticky blocks become available
|
||||||
description = "Sticky Block",
|
description = S("Sticky Block"),
|
||||||
tiles = {"mesecons_stickyblocks_sticky.png"},
|
tiles = {"mesecons_stickyblocks_sticky.png"},
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
groups = {choppy=3, oddly_breakable_by_hand=2},
|
groups = {choppy=3, oddly_breakable_by_hand=2},
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_switch")
|
||||||
|
|
||||||
-- mesecons_switch
|
-- mesecons_switch
|
||||||
|
|
||||||
mesecon.register_node("mesecons_switch:mesecon_switch", {
|
mesecon.register_node("mesecons_switch:mesecon_switch", {
|
||||||
paramtype2="facedir",
|
paramtype2="facedir",
|
||||||
description="Switch",
|
description=S("Switch"),
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = default.node_sound_stone_defaults(),
|
||||||
on_rightclick = function (pos, node)
|
on_rightclick = function (pos, node)
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_torch")
|
||||||
|
|
||||||
--MESECON TORCHES
|
--MESECON TORCHES
|
||||||
|
|
||||||
local rotate_torch_rules = function (rules, param2)
|
local rotate_torch_rules = function (rules, param2)
|
||||||
@ -81,7 +83,7 @@ minetest.register_node("mesecons_torch:mesecon_torch_on", {
|
|||||||
selection_box = torch_selectionbox,
|
selection_box = torch_selectionbox,
|
||||||
groups = {dig_immediate=3},
|
groups = {dig_immediate=3},
|
||||||
light_source = minetest.LIGHT_MAX-5,
|
light_source = minetest.LIGHT_MAX-5,
|
||||||
description="Mesecon Torch",
|
description=S("Mesecon Torch"),
|
||||||
sounds = default.node_sound_defaults(),
|
sounds = default.node_sound_defaults(),
|
||||||
mesecons = {receptor = {
|
mesecons = {receptor = {
|
||||||
state = mesecon.state.on,
|
state = mesecon.state.on,
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_walllever")
|
||||||
|
|
||||||
-- WALL LEVER
|
-- WALL LEVER
|
||||||
-- Basically a switch that can be attached to a wall
|
-- Basically a switch that can be attached to a wall
|
||||||
-- Powers the block 2 nodes behind (using a receiver)
|
-- Powers the block 2 nodes behind (using a receiver)
|
||||||
mesecon.register_node("mesecons_walllever:wall_lever", {
|
mesecon.register_node("mesecons_walllever:wall_lever", {
|
||||||
description="Lever",
|
description=S("Lever"),
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
inventory_image = "jeija_wall_lever_inv.png",
|
inventory_image = "jeija_wall_lever_inv.png",
|
||||||
wield_image = "jeija_wall_lever_inv.png",
|
wield_image = "jeija_wall_lever_inv.png",
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("mesecons_wires")
|
||||||
|
|
||||||
-- naming scheme: wire:(xp)(zp)(xm)(zm)(xpyp)(zpyp)(xmyp)(zmyp)_on/off
|
-- naming scheme: wire:(xp)(zp)(xm)(zm)(xpyp)(zpyp)(xmyp)(zmyp)_on/off
|
||||||
-- where x= x direction, z= z direction, y= y direction, p = +1, m = -1, e.g. xpym = {x=1, y=-1, z=0}
|
-- where x= x direction, z= z direction, y= y direction, p = +1, m = -1, e.g. xpym = {x=1, y=-1, z=0}
|
||||||
-- The (xp)/(zpyp)/.. statements shall be replaced by either 0 or 1
|
-- The (xp)/(zpyp)/.. statements shall be replaced by either 0 or 1
|
||||||
@ -202,7 +204,7 @@ local function register_wires()
|
|||||||
end
|
end
|
||||||
|
|
||||||
mesecon.register_node(":mesecons:wire_"..nodeid, {
|
mesecon.register_node(":mesecons:wire_"..nodeid, {
|
||||||
description = "Mesecon",
|
description = S("Mesecon"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
inventory_image = "mesecons_wire_inv.png",
|
inventory_image = "mesecons_wire_inv.png",
|
||||||
wield_image = "mesecons_wire_inv.png",
|
wield_image = "mesecons_wire_inv.png",
|
||||||
|
Loading…
Reference in New Issue
Block a user