mirror of
https://github.com/minetest-mods/technic.git
synced 2025-06-30 23:30:38 +02:00
Add support for translations via intllib
This commit is contained in:
@ -9,6 +9,8 @@
|
||||
local forcefield_power_drain = 10
|
||||
local forcefield_step_interval = 1
|
||||
|
||||
local S = technic.getter
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'technic:forcefield_emitter_off',
|
||||
recipe = {
|
||||
@ -62,8 +64,8 @@ end
|
||||
|
||||
local get_forcefield_formspec = function(range)
|
||||
return "size[3,1.5]"..
|
||||
"field[1,0.5;2,1;range;Range;"..range.."]"..
|
||||
"button[0,1;3,1;toggle;Enable/Disable]"
|
||||
"field[1,0.5;2,1;range;"..S("Range")..";"..range.."]"..
|
||||
"button[0,1;3,1;toggle;"..S("Enable/Disable").."]"
|
||||
end
|
||||
|
||||
local forcefield_receive_fields = function(pos, formname, fields, sender)
|
||||
@ -103,7 +105,7 @@ local mesecons = {
|
||||
}
|
||||
|
||||
minetest.register_node("technic:forcefield_emitter_off", {
|
||||
description = "Forcefield emitter",
|
||||
description = S("Forcefield Emitter"),
|
||||
tiles = {"technic_forcefield_emitter_off.png"},
|
||||
groups = {cracky = 1},
|
||||
on_receive_fields = forcefield_receive_fields,
|
||||
@ -114,13 +116,13 @@ minetest.register_node("technic:forcefield_emitter_off", {
|
||||
meta:set_int("range", 10)
|
||||
meta:set_int("enabled", 0)
|
||||
meta:set_string("formspec", get_forcefield_formspec(10))
|
||||
meta:set_string("infotext", "Forcefield emitter");
|
||||
meta:set_string("infotext", S("Forcefield Emitter"))
|
||||
end,
|
||||
mesecons = mesecons
|
||||
})
|
||||
|
||||
minetest.register_node("technic:forcefield_emitter_on", {
|
||||
description = "Forcefield emitter on (you hacker you)",
|
||||
description = S("Forcefield Emitter"),
|
||||
tiles = {"technic_forcefield_emitter_on.png"},
|
||||
groups = {cracky = 1, not_in_creative_inventory=1},
|
||||
drop = "technic:forcefield_emitter_off",
|
||||
@ -138,7 +140,7 @@ minetest.register_node("technic:forcefield_emitter_on", {
|
||||
})
|
||||
|
||||
minetest.register_node("technic:forcefield", {
|
||||
description = "Forcefield (you hacker you)",
|
||||
description = S("Forcefield"),
|
||||
sunlight_propagates = true,
|
||||
drawtype = "glasslike",
|
||||
groups = {not_in_creative_inventory=1, unbreakable=1},
|
||||
@ -164,6 +166,7 @@ minetest.register_abm({
|
||||
local eu_input = meta:get_int("HV_EU_input")
|
||||
local eu_demand = meta:get_int("HV_EU_demand")
|
||||
local enabled = meta:get_int("enabled")
|
||||
local machine_name = S("Forcefield Emitter")
|
||||
-- Power off automatically if no longer connected to a switching station
|
||||
technic.switching_station_timeout_count(pos, "HV")
|
||||
|
||||
@ -176,11 +179,11 @@ minetest.register_abm({
|
||||
meta:set_int("HV_EU_demand", 0)
|
||||
update_forcefield(pos, meta:get_int("range"), false)
|
||||
hacky_swap_node(pos, "technic:forcefield_emitter_off")
|
||||
meta:set_string("infotext", "Forcefield Generator Disabled")
|
||||
meta:set_string("infotext", S("%s Disabled"):format(machine_name))
|
||||
return
|
||||
end
|
||||
elseif eu_input < power_requirement then
|
||||
meta:set_string("infotext", "Forcefield Generator Unpowered")
|
||||
meta:set_string("infotext", S("%s Unpowered"):format(machine_name))
|
||||
if node.name == "technic:forcefield_emitter_on" then
|
||||
update_forcefield(pos, meta:get_int("range"), false)
|
||||
hacky_swap_node(pos, "technic:forcefield_emitter_off")
|
||||
@ -188,7 +191,7 @@ minetest.register_abm({
|
||||
elseif eu_input >= power_requirement then
|
||||
if node.name == "technic:forcefield_emitter_off" then
|
||||
hacky_swap_node(pos, "technic:forcefield_emitter_on")
|
||||
meta:set_string("infotext", "Forcefield Generator Active")
|
||||
meta:set_string("infotext", S("%s Active"):format(machine_name))
|
||||
end
|
||||
update_forcefield(pos, meta:get_int("range"), true)
|
||||
end
|
||||
|
@ -10,6 +10,7 @@ local burn_ticks = 7 * 24 * 60 * 60 -- (seconds).
|
||||
local power_supply = 100000 -- EUs
|
||||
local fuel_type = "technic:uranium_fuel" -- The reactor burns this stuff
|
||||
|
||||
local S = technic.getter
|
||||
|
||||
-- FIXME: recipe must make more sense like a rod recepticle, steam chamber, HV generator?
|
||||
minetest.register_craft({
|
||||
@ -23,7 +24,7 @@ minetest.register_craft({
|
||||
|
||||
local generator_formspec =
|
||||
"invsize[8,9;]"..
|
||||
"label[0,0;Nuclear Reactor Rod Compartment]"..
|
||||
"label[0,0;"..S("Nuclear Reactor Rod Compartment").."]"..
|
||||
"list[current_name;src;2,1;3,2;]"..
|
||||
"list[current_player;main;0,5;8,4;]"
|
||||
|
||||
@ -48,7 +49,7 @@ local nodebox = {
|
||||
}
|
||||
|
||||
minetest.register_node("technic:hv_nuclear_reactor_core", {
|
||||
description = "Nuclear Reactor",
|
||||
description = S("Nuclear Reactor Core"),
|
||||
tiles = {"technic_hv_nuclear_reactor_core.png", "technic_hv_nuclear_reactor_core.png",
|
||||
"technic_hv_nuclear_reactor_core.png", "technic_hv_nuclear_reactor_core.png",
|
||||
"technic_hv_nuclear_reactor_core.png", "technic_hv_nuclear_reactor_core.png"},
|
||||
@ -64,7 +65,7 @@ minetest.register_node("technic:hv_nuclear_reactor_core", {
|
||||
},
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("infotext", "Nuclear Reactor Core")
|
||||
meta:set_string("infotext", S("Nuclear Reactor Core"))
|
||||
meta:set_int("HV_EU_supply", 0)
|
||||
-- Signal to the switching station that this device burns some
|
||||
-- sort of fuel and needs special handling
|
||||
@ -74,12 +75,12 @@ minetest.register_node("technic:hv_nuclear_reactor_core", {
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("src", 6)
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
can_dig = function(pos, player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
if not inv:is_empty("src") then
|
||||
minetest.chat_send_player(player:get_player_name(),
|
||||
"Machine cannot be removed because it is not empty");
|
||||
S("Machine cannot be removed because it is not empty"))
|
||||
return false
|
||||
else
|
||||
return true
|
||||
@ -88,7 +89,6 @@ minetest.register_node("technic:hv_nuclear_reactor_core", {
|
||||
})
|
||||
|
||||
minetest.register_node("technic:hv_nuclear_reactor_core_active", {
|
||||
description = "HV Uranium Reactor",
|
||||
tiles = {"technic_hv_nuclear_reactor_core.png", "technic_hv_nuclear_reactor_core.png",
|
||||
"technic_hv_nuclear_reactor_core.png", "technic_hv_nuclear_reactor_core.png",
|
||||
"technic_hv_nuclear_reactor_core.png", "technic_hv_nuclear_reactor_core.png"},
|
||||
@ -103,12 +103,12 @@ minetest.register_node("technic:hv_nuclear_reactor_core_active", {
|
||||
type = "fixed",
|
||||
fixed = nodebox
|
||||
},
|
||||
can_dig = function(pos,player)
|
||||
can_dig = function(pos, player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
if not inv:is_empty("src") then
|
||||
minetest.chat_send_player(player:get_player_name(),
|
||||
"Machine cannot be removed because it is not empty");
|
||||
S("Machine cannot be removed because it is not empty"))
|
||||
return false
|
||||
else
|
||||
return true
|
||||
@ -208,6 +208,7 @@ minetest.register_abm({
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local machine_name = S("Nuclear Reactor Core")
|
||||
local burn_time = meta:get_int("burn_time") or 0
|
||||
|
||||
if burn_time >= burn_ticks or burn_time == 0 then
|
||||
@ -238,7 +239,7 @@ minetest.register_abm({
|
||||
end
|
||||
meta:set_int("HV_EU_supply", 0)
|
||||
meta:set_int("burn_time", 0)
|
||||
meta:set_string("infotext", "Nuclear Reactor Core (idle)")
|
||||
meta:set_string("infotext", S("%s Idle"):format(machine_name))
|
||||
hacky_swap_node(pos, "technic:hv_nuclear_reactor_core")
|
||||
elseif burn_time > 0 then
|
||||
damage_nearby_players(pos)
|
||||
@ -248,7 +249,7 @@ minetest.register_abm({
|
||||
burn_time = burn_time + 1
|
||||
meta:set_int("burn_time", burn_time)
|
||||
local percent = math.floor(burn_time / burn_ticks * 100)
|
||||
meta:set_string("infotext", "Nuclear Reactor Core ("..percent.."%)")
|
||||
meta:set_string("infotext", machine_name.." ("..percent.."%)")
|
||||
meta:set_int("HV_EU_supply", power_supply)
|
||||
end
|
||||
end
|
||||
|
@ -1,4 +1,6 @@
|
||||
|
||||
local S = technic.getter
|
||||
|
||||
minetest.register_craft({
|
||||
recipe = {
|
||||
{"default:steelblock", "pipeworks:filter", "default:steelblock"},
|
||||
@ -13,7 +15,7 @@ local quarry_max_depth = 100
|
||||
local function get_quarry_formspec(size)
|
||||
return "size[3,1.5]"..
|
||||
"field[1,0.5;2,1;size;Radius;"..size.."]"..
|
||||
"button[0,1;3,1;toggle;Enable/Disable]"
|
||||
"button[0,1;3,1;toggle;"..S("Enable/Disable").."]"
|
||||
end
|
||||
|
||||
local function quarry_receive_fields(pos, formname, fields, sender)
|
||||
@ -134,7 +136,7 @@ local function send_items(items, pos, node)
|
||||
end
|
||||
|
||||
minetest.register_node("technic:quarry", {
|
||||
description = "Quarry",
|
||||
description = S("Quarry"),
|
||||
tiles = {"default_steel_block.png", "default_steel_block.png",
|
||||
"default_steel_block.png", "default_steel_block.png",
|
||||
"default_steel_block.png^default_tool_mesepick.png", "default_steel_block.png"},
|
||||
@ -146,7 +148,7 @@ minetest.register_node("technic:quarry", {
|
||||
on_construct = function(pos)
|
||||
local size = 4
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("infotext", "Quarry")
|
||||
meta:set_string("infotext", S("Quarry"))
|
||||
meta:set_string("formspec", get_quarry_formspec(4))
|
||||
meta:set_int("size", size)
|
||||
meta:set_int("dig_y", pos.y)
|
||||
@ -171,25 +173,26 @@ minetest.register_abm({
|
||||
local demand = 10000
|
||||
local center = get_quarry_center(pos, size)
|
||||
local dig_y = meta:get_int("dig_y")
|
||||
local machine_name = S("Quarry")
|
||||
|
||||
technic.switching_station_timeout_count(pos, "HV")
|
||||
|
||||
if meta:get_int("enabled") == 0 then
|
||||
meta:set_string("infotext", "Quarry Disabled")
|
||||
meta:set_string("infotext", S("%s Disabled"):format(machine_name))
|
||||
meta:set_int("HV_EU_demand", 0)
|
||||
return
|
||||
end
|
||||
|
||||
if eu_input < demand then
|
||||
meta:set_string("infotext", "Quarry Unpowered")
|
||||
meta:set_string("infotext", S("%s Unpowered"):format(machine_name))
|
||||
elseif eu_input >= demand then
|
||||
meta:set_string("infotext", "Quarry Active")
|
||||
meta:set_string("infotext", S("%s Active"):format(machine_name))
|
||||
|
||||
local items = quarry_dig(pos, center, size)
|
||||
send_items(items, pos, node)
|
||||
|
||||
if dig_y < pos.y - quarry_max_depth then
|
||||
meta:set_string("infotext", "Quarry Finished")
|
||||
meta:set_string("infotext", S("%s Finished"):format(machine_name))
|
||||
end
|
||||
end
|
||||
meta:set_int("HV_EU_demand", demand)
|
||||
|
Reference in New Issue
Block a user