switched from internal doc strings to md file based documentation

translation strings added
door block bugfix
player detector bugfix
This commit is contained in:
Joachim Stolberg 2019-09-26 22:32:37 +02:00
parent fbf8207a68
commit 77a7417cf4
90 changed files with 2354 additions and 1350 deletions

View File

@ -407,16 +407,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta2", "autocrafter",
S("TA2 Autocrafter"),
S("The Autocrafter allows the automated crafting of items based on configured recipes.@n"..
"It can craft one item every two seconds.@n"..
"Needs axle power: 4"),
"techage:ta2_autocrafter_pas")
techage.register_entry_page("ta3m", "autocrafter",
S("TA3 Autocrafter"),
S("The Autocrafter allows the automated crafting of items based on configured recipes.@n"..
"It can craft two items every two seconds.@n"..
"Needs electrical power: 6"),
"techage:ta3_autocrafter_pas")

View File

@ -15,7 +15,7 @@
local S = techage.S local S = techage.S
minetest.register_node("techage:blackhole", { minetest.register_node("techage:blackhole", {
description = S("Techage Black Hole"), description = S("TechAge Black Hole"),
tiles = { tiles = {
-- up, down, right, left, back, front -- up, down, right, left, back, front
"techage_filling_ta2.png^techage_frame_ta2.png", "techage_filling_ta2.png^techage_frame_ta2.png",
@ -30,7 +30,7 @@ minetest.register_node("techage:blackhole", {
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local node = minetest.get_node(pos) local node = minetest.get_node(pos)
meta:set_int("push_dir", techage.side_to_indir("L", node.param2)) meta:set_int("push_dir", techage.side_to_indir("L", node.param2))
meta:set_string("infotext", S("Techage Black Hole (let items disappear)")) meta:set_string("infotext", S("TechAge Black Hole (let items disappear)"))
end, end,
on_rotate = screwdriver.disallow, on_rotate = screwdriver.disallow,
@ -61,8 +61,3 @@ techage.register_node({"techage:blackhole"}, {
end, end,
}) })
techage.register_entry_page("ta", "blackhole",
S("Techage Black Hole"),
S("The Techage Black Hole Block let items disappear. If your machine produces to much or unneeded items, push them into the Black Hole."),
"techage:blackhole")

View File

@ -282,18 +282,3 @@ minetest.register_craft({
recipe = {"techage:chest_ta2", "techage:tubeS", "techage:vacuum_tube"} recipe = {"techage:chest_ta2", "techage:tubeS", "techage:vacuum_tube"}
}) })
local help = S("The Protected Chest is useful in protected areas (by means of any protection mod).@n"..
"Only players with interaction rights on that position can take/put item from/to the chest.@n"..
"The Chest supports commands to read the last player action (player-name, take/put, item-name) "..
"and the chest state ('empty', 'loaded', 'full').@n"..
"The chest returns 'loaded' when it is not empty and not full, "..
"'full' is returned, when no empty stack is available.@n")
techage.register_entry_page("ta2", "chest",
S("TA2 Protected Chest"),
S("The Protected Chest is useful in protected areas (by means of any protection mod).@n"..
"Only players with interaction rights on that position can take/put item from/to the chest."),
"techage:chest_ta2")
techage.register_entry_page("ta3m", "chest",
S("TA3 Protected Chest"), help, "techage:chest_ta3")

View File

@ -502,19 +502,3 @@ minetest.register_craft({
}, },
}) })
local help = S("The Distributor works as filter and pusher. It allows to divide and distribute incoming items into the 4 output ports. "..
"The channels can be switched on/off and individually configured with up to 6 item types. "..
"The filter passes the configured items and restrains all others. "..
"Unconfigured but activated filters are used for items, which do not fit to all other filters. "..
"If the Distributor cant push an item into a block with an inventory (such as a chest) because that inventory is full, "..
"but there is one open and unconfigured output, it will use this output port.")
techage.register_entry_page("ta2", "distributor",
S("TA2 Distributor"),
help..S("@nThe Distributor tries to push 4 items every 2 seconds."),
"techage:ta2_distributor_pas")
techage.register_entry_page("ta3m", "distributor",
S("TA3 Distributor"),
help..S("@nThe Distributor tries to push 12 items every 2 seconds."),
"techage:ta3_distributor_pas")

View File

@ -312,19 +312,4 @@ if minetest.global_exists("unified_inventory") then
}) })
end end
techage.register_entry_page("ta2", "electronic_fab",
S("TA2 Electronic Fab"),
S("Used to produce Vacuum Pipes, needed for TA3 machines.@n"..
"The fab produces 1 item every 6 seconds.@n"..
"It needs 8 units axle power"),
"techage:ta2_electronic_fab_pas")
techage.register_entry_page("ta3m", "electronic_fab",
S("TA3 Electronic Fab"),
S("Used to produce WLAN Chips, needed for TA4 machines.@n"..
"The fab produces 1 item every 6 seconds.@n"..
"It needs 12 units electrical power."),
"techage:ta3_electronic_fab_pas")

View File

@ -201,14 +201,3 @@ minetest.register_on_leaveplayer(function(player)
end end
end) end)
techage.register_entry_page("ta", "forceload",
S("Techage Forceload Block"),
S("The Forceload Block keeps the corresponding area loaded and the machines operational "..
"as far as the player is logged in. If the player leaves the game, all areas will be unloaded.@n"..
"The maximum number of Forceload Blocks per player is configurable (default 20).@n"..
"The loaded area per block is a cube with 16 m side length (according to a Minetest area block). "..
"Punching the block makes the area visible and invisible again."),
"techage:forceload")

View File

@ -231,10 +231,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta3m", "funnel",
S("TA3 Funnel"),
S("The Funnel collects dropped items and stores them in its inventory.@n"..
"Items are sucked up when they are dropped on top of the funnel block.@n"..
"The scan radius is 1 m."),
"techage:ta3_funnel")

View File

@ -340,26 +340,3 @@ minetest.register_lbm({
techage.add_rinser_recipe({input="techage:sieved_gravel", output="techage:usmium_nuggets", probability=40}) techage.add_rinser_recipe({input="techage:sieved_gravel", output="techage:usmium_nuggets", probability=40})
techage.add_rinser_recipe({input="techage:sieved_gravel", output="default:copper_lump", probability=20}) techage.add_rinser_recipe({input="techage:sieved_gravel", output="default:copper_lump", probability=20})
local Tube = "techage_tube_knee.png"
local Tube2 = "techage_tube_knee.png^[transformR270"
local Rinser = "techage_filling_ta2.png^techage_appl_rinser.png^techage_frame_ta2.png"
local Hopper = "techage_hopper.png"
local Glass = "default_glass.png"
local Water = "default_water.png"
local Chest = "default_chest_lock.png"
local Dirt = "default_dirt.png"
local Images = {
{false, false, false, false, false, false, false, false},
{false, Glass, false, false, false, false, Water, Glass},
{false, Chest, Hopper, Tube, Rinser, Tube2, Glass, Glass},
}
techage.register_entry_page("ta2", "rinser",
S("TA2 Gravel Rinser"),
S("Used to wash Sieved Gravel to get Usmium Nuggets. The block has to be placed under flowing water. "..
"The washed-out nuggets must be sucked in with a Hopper.@nFor the plant you need a chest, "..
"the Hopper, the Rinser with tube support and a frame around the flowing water (see plan).@n"..
"Hint: You can test the Rinser with some sticks that are washed out immediately.@n"..
"It needs 3 units axle power"),
nil, Images)

View File

@ -241,20 +241,6 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta2", "gravelsieve",
S("TA2 Gravel Sieve"),
S("To sieve Gravel and Basalt Gravel to get ores. Use a Grinder to make Gravel from Cobblestone.@n"..
"It can sieve one item every four seconds.@n"..
"It needs 3 units axle power."),
"techage:ta2_gravelsieve_pas")
techage.register_entry_page("ta3m", "gravelsieve",
S("TA3 Gravel Sieve"),
S("To sieve Gravel and Basalt Gravel to get ores. Use a Grinder to make Gravel from Cobblestone.@n"..
"It can sieve two items every four seconds.@n"..
"It needs 4 units electrical power."),
"techage:ta3_gravelsieve_pas")
if minetest.global_exists("unified_inventory") then if minetest.global_exists("unified_inventory") then
unified_inventory.register_craft_type("ta2_gravelsieve", { unified_inventory.register_craft_type("ta2_gravelsieve", {
description = S("TA2 Gravel Sieve"), description = S("TA2 Gravel Sieve"),

View File

@ -293,18 +293,4 @@ techage.add_grinder_recipe({input="default:pine_tree", output="default:pine_need
techage.add_grinder_recipe({input="default:acacia_tree", output="default:acacia_leaves 8"}) techage.add_grinder_recipe({input="default:acacia_tree", output="default:acacia_leaves 8"})
techage.add_grinder_recipe({input="default:aspen_tree", output="default:aspen_leaves 8"}) techage.add_grinder_recipe({input="default:aspen_tree", output="default:aspen_leaves 8"})
techage.register_entry_page("ta2", "grinder",
S("TA2 Grinder"),
S("The Grinder grinds all kinds of cobblestone to gravel, gravel to sand, sand to clay, wood to leaves, and more.@n"..
"It can grind one item every four seconds.@n"..
"It needs 4 units axle power."),
"techage:ta2_grinder_pas")
techage.register_entry_page("ta3m", "grinder",
S("TA3 Grinder"),
S("The Grinder grinds all kinds of cobblestone to gravel, gravel to sand, sand to clay, wood to leaves, and more.@n"..
"It can grind two items every four seconds.@n"..
"It needs 6 units electrical power."),
"techage:ta3_grinder_pas")

View File

@ -221,19 +221,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta2", "liquidsampler",
S("TA2 Liquid Sampler"),
S("The Liquid Sampler is used to collect water or other bucket registered liquids.@n"..
"The Liquid Sampler has to be placed into water/liquids and need empty buckets@n"..
"to operate. The Liquid Sampler takes 1 bucket water every 8 seconds.@n"..
"It needs 3 units axle power, supplied from the top."),
"techage:ta2_liquidsampler_pas")
techage.register_entry_page("ta3m", "liquidsampler",
S("TA3 Liquid Sampler"),
S("The Liquid Sampler is used to collect water or other bucket registered liquids.@n"..
"The Liquid Sampler has to be placed into water/liquids and need empty buckets@n"..
"to operate. The Liquid Sampler takes 2 buckets water every 8 seconds.@n"..
"It needs 5 units electrical power, supplied from the top."),
"techage:ta3_liquidsampler_pas")

View File

@ -163,24 +163,4 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta2", "pusher",
S("TA2 Pusher"),
S("The Pusher is a pulling/pushing block, moving items from one inventory block to another (e.g. chests). "..
"Start the Pusher with a right-click. It shows the state 'running' as infotext. "..
"The Pusher moves items from left to right (IN to OUT).@n"..
"If the source chest is empty, the Pusher goes into 'standby' state for some seconds. If the destination "..
"chest is full, the Pusher goes into 'blocked' state.@n"..
"The TA2 Pusher moves two items every 2 seconds."),
"techage:ta2_pusher_pas")
techage.register_entry_page("ta3m", "pusher",
S("TA3 Pusher"),
S("The Pusher is a pulling/pushing block, moving items from one inventory block to another (e.g. chests). "..
"Start the Pusher with a right-click. It shows the state 'running' as infotext. "..
"The Pusher moves items from left to right (IN to OUT).@n"..
"If the source chest is empty, the Pusher goes into 'standby' state for some seconds. If the destination "..
"chest is full, the Pusher goes into 'blocked' state.@n"..
"The TA3 Pusher moves 6 items every 2 seconds."),
"techage:ta3_pusher_pas")

View File

@ -1,249 +0,0 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
GPL v3
See LICENSE.txt for more information
Construction Guide
]]--
local S = techage.S
local Categories = {} -- ordered list of chapters
local EntryOrders = {} -- ordered entry lists of categories
local HelpPages = {} -- help data as key/value table
local formspec_context = {}
local DUMMY = {
name = "unknown",
text = "unknown",
item_name = "-",
images = "none"
}
-- formspec list of entries
local function entries_as_string(player_name)
local category = formspec_context[player_name].category or Categories[1]
local tbl = {}
for _,cat in ipairs(Categories) do
if cat == category and not formspec_context[player_name].close_tree then
tbl[#tbl+1] = minetest.formspec_escape("V "..HelpPages[cat][cat].name)
for _,item in ipairs(EntryOrders[category]) do
if item ~= cat then
local name = item
if HelpPages[category][item] then
name = HelpPages[category][item].name
end
tbl[#tbl+1] = minetest.formspec_escape(" +- "..name)
end
end
else
tbl[#tbl+1] = minetest.formspec_escape("> "..HelpPages[cat][cat].name)
end
end
formspec_context[player_name].list_len = #tbl
return table.concat(tbl, ",") or ""
end
-- Translate given index into a HelpPage category and key
local function get_ref(player_name)
local category = formspec_context[player_name].category or Categories[1]
local index = formspec_context[player_name].index or 1
index = techage.range(index, 1, formspec_context[player_name].list_len or 1)
local offs = 0
for idx1,cat in ipairs(Categories) do
if idx1 + offs == index then
formspec_context[player_name].category = cat
formspec_context[player_name].index = idx1
return cat, cat -- category
end
if cat == category and not formspec_context[player_name].close_tree then
for idx2,item in ipairs(EntryOrders[category]) do
if idx1 + idx2 - 1 == index then
formspec_context[player_name].category = cat
formspec_context[player_name].index = index
return cat, item -- no category
end
end
offs = #EntryOrders[category] - 1
end
end
-- return any entry by default
formspec_context[player_name].category = Categories[1]
return Categories[1], Categories[1]
end
local function tooltip(item)
if type(item) == "table" then
local img, name = item[1], item[2]
local ndef = minetest.registered_nodes[name]
if ndef and ndef.description then
return img, minetest.formspec_escape(ndef.description)
end
return img
end
return item
end
-- formspec images
local function plan(images)
local tbl = {}
if images == "none" then return "label[1,3;"..S("No plan available") end
for y=1,#images do
for x=1,#images[1] do
local item = images[y][x] or false
if item ~= false then
local img, tooltip = tooltip(item)
local x_offs, y_offs = (x-1) * 0.9, (y-1) * 0.9 + 0.8
if string.find(img, ":") then
tbl[#tbl+1] = "item_image["..x_offs..","..y_offs..";1,1;"..img.."]"
else
tbl[#tbl+1] = "image["..x_offs..","..y_offs..";1,1;"..img.."]"
end
if tooltip then
tbl[#tbl+1] = "tooltip["..x_offs..","..y_offs..";1,1;"..tooltip..";#0C3D32;#FFFFFF]"
end
end
end
end
return table.concat(tbl)
end
local function formspec_help(player_name)
local bttn
local cat, key = get_ref(player_name)
local hdef = HelpPages[cat][key] or DUMMY
local index = formspec_context[player_name].index or 1
local box = "box[9.5,0.9;1,1.1;#BBBBBB]"
if hdef.item_name == "-" then
bttn = ""
elseif hdef.item_name == "plan" then
bttn = "button[9.6,1;1,1;plan;"..S("Plan").."]"
else
bttn = box.."item_image[9.6,1;1,1;"..hdef.item_name.."]"
end
return "size[11,9]"..
default.gui_bg..
default.gui_bg_img..
default.gui_slots..
"item_image[9.6,0;1,1;techage:construction_board]"..
bttn..
"table[0.1,0;9,4;page;"..entries_as_string(player_name)..";"..index.."]"..
"textarea[0.3,4.7;11,5.3;help;"..S("Help")..":;"..hdef.text.."]"..
"box[0,4.75;10.775,4.45;#000000]"
end
local function formspec_plan(player_name)
local cat, key = get_ref(player_name)
local hdef = HelpPages[cat][key] or DUMMY
return "size[11,9]"..
default.gui_bg..
default.gui_bg_img..
default.gui_slots..
"label[0,0;"..hdef.name..":]"..
"button[10,0;1,0.8;back;<<]"..
plan(hdef.images)
end
local board_box = {
type = "wallmounted",
--wall_top = {-8/16, 15/32, -6/16, 8/16, 8/16, 6/16},
--wall_bottom = {-8/16, 15/32, -6/16, 8/16, 8/16, 6/16},
wall_side = {-16/32, -11/32, -16/32, -15/32, 6/16, 8/16},
}
minetest.register_node("techage:construction_board", {
description = S("TA Construction Board"),
inventory_image = 'techage_constr_plan_inv.png',
tiles = {"techage_constr_plan.png"},
drawtype = "nodebox",
node_box = board_box,
selection_box = board_box,
after_place_node = function(pos, placer, itemstack)
local meta = minetest.get_meta(pos)
local player_name = placer:get_player_name()
formspec_context[player_name] = formspec_context[player_name] or {}
meta:set_string("formspec", formspec_help(player_name))
end,
on_receive_fields = function(pos, formname, fields, player)
local player_name = player:get_player_name()
if minetest.is_protected(pos, player_name) then
return
end
local meta = minetest.get_meta(pos)
formspec_context[player_name] = formspec_context[player_name] or {}
if fields.plan then
meta:set_string("formspec", formspec_plan(player_name))
elseif fields.back then
meta:set_string("formspec", formspec_help(player_name))
elseif fields.page then
local evt = minetest.explode_table_event(fields.page)
if evt.type == "CHG" then
local idx = tonumber(evt.row)
idx = techage.range(idx, 1, formspec_context[player_name].list_len or 1)
-- unfold/close the tree
if formspec_context[player_name].index == idx then
formspec_context[player_name].close_tree = not formspec_context[player_name].close_tree
end
formspec_context[player_name].index = idx
meta:set_string("formspec", formspec_help(player_name))
end
end
end,
paramtype2 = "wallmounted",
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_craft({
output = "techage:construction_board",
recipe = {
{"default:stick", "default:stick", "default:stick"},
{"default:paper", "default:paper", "default:paper"},
{"default:paper", "default:paper", "default:paper"},
},
})
function techage.register_entry_page(category, entry, name, text, item_name, images)
if HelpPages[category] then
HelpPages[category][entry] = {
name = name,
text = text,
item_name = item_name or "plan",
images = images or "none"
}
else
minetest.log("error", "[techage] help category '"..category.."' does not exist!")
end
end
function techage.register_category_page(category, name, text, item_name, entry_order, images)
Categories[#Categories + 1] = category
HelpPages[category] = {}
techage.register_entry_page(category, category, name, text, item_name, images or "none")
table.insert(entry_order, 1, category)
EntryOrders[category] = entry_order
end
function techage.register_help_page(name, text, item_name, images)
end
function techage.register_chap_page(name, text, item_name)
end

93
basis/manual.lua Normal file
View File

@ -0,0 +1,93 @@
techage.manual_DE = {}
techage.manual_DE.aTitel = {
"1,SaferLua Controller with Periphery",
"2,SaferLua Controller",
"3,Central Server",
"3,SaferLua Controller Terminal",
}
techage.manual_DE.aText = {
"",
"The SaferLua Controller is a small computer programmable in Lua to control your machinery.\n"..
"In contrast to the SmartLine Controller this controller allows to implement larger and smarter control and monitoring tasks.\n"..
"\n"..
"The controller can be programmed in SaferLua a subset of Lua for safe and secure Lua programs the Minetest server.\n"..
"\n",
"The Server node can be placed everywhere. It can also be used for communication purposes between several Controllers.\n"..
"The Server has a form to enter valid usernames for server access.\n"..
"\n"..
"The controller has a menu form with the following tabs:\n"..
"\n"..
" - the 'init' tab for the initialization code block\n"..
" - the 'func' tab for the Lua functions\n"..
" - the 'loop' tab for the main code block\n"..
" - the 'outp' tab for debugging outputs via '$print()'\n"..
" - the 'notes' tab for your code snippets or other notes\n"..
" - the 'help' tab with information to the available commands\n"..
"\n"..
"\n"..
"The controller needs battery power to work.\n"..
"\n",
"The Terminal is used to send command strings to the controller.\n"..
"In turn\\, the controller can send text strings to the terminal.\n"..
"The Terminal has a help system for internal commands. Its supports the following commands:\n"..
"\n"..
" - 'clear' = clear the screen\n"..
" - 'help' = output this message\n"..
" - 'pub' = switch terminal to public use (everybody can enter commands)\n"..
" - 'priv' = switch terminal to private use (only the owner can enter commands)\n"..
" - 'send <num> on/off' = send on/off event to e. g. lamps (for testing purposes)\n"..
" - 'msg <num> <text>' = send a text message to another Controller (for testing purposes)\n"..
"\n"..
"\n",
}
techage.manual_DE.aItemName = {
"",
"",
"",
"",
}
techage.manual_DE.aPlanTable = {
"",
"",
"",
"",
}

View File

@ -183,13 +183,6 @@ techage.register_node({"techage:ta3_akku"}, {
end, end,
}) })
techage.register_entry_page("ta3ps", "akku",
S("TA3 Akku Box"),
S("Used to store electrical energy. Charged in about 10 min, provides energy for 10 min.@n"..
"It take and deliver up to 10 units electrical power."),
"techage:ta3_akku")
minetest.register_craft({ minetest.register_craft({
output = "techage:ta3_akku", output = "techage:ta3_akku",
recipe = { recipe = {

View File

@ -64,8 +64,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta3ps", "coalboiler_base",
S("TA3 Boiler Base"),
S("Part of the Power Station. Has to be placed on top of the TA3 Power Station Firebox and filled with water.@n"..
"(see TA3 Power Station)"),
"techage:coalboiler_base")

View File

@ -296,8 +296,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta3ps", "coalboiler_top",
S("TA3 Boiler Top"),
S("Part of the Power Station. Has to be placed on top of TA3 Power Station Boiler Base.@n"..
"(see TA3 Power Station)"),
"techage:coalboiler_top")

View File

@ -133,9 +133,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta3ps", "cooler",
S("TA3 Cooler"),
S("Part of the Power Station. Has to be placed in the steam circulation after the Turbine.@n"..
"(see TA3 Power Station)"),
"techage:cooler")

View File

@ -220,9 +220,3 @@ techage.register_node({"techage:generator", "techage:generator_on"}, {
end, end,
}) })
techage.register_entry_page("ta3ps", "generator",
S("TA3 Generator"),
S("Part of the Power Station. Has to be placed side by side with the TA3 Turbine. "..
"Connect the Generator with your TA3 machines by means of Electric Cables and Junction Boxes@n"..
"(see TA3 Power Station)"),
"techage:generator")

View File

@ -125,7 +125,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta3ps", "ta3_power_terminal",
S("TA3 Power Terminal"),
S("Terminal for power network information. Has to be placed in front of an Electric Junction Box."),
"techage:ta3_power_terminal")

View File

@ -170,12 +170,6 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta3ps", "turbine",
S("TA3 Turbine"),
S("Part of the Power Station. Has to be placed side by side with the TA3 Generator.@n"..
"(see TA3 Power Station)"),
"techage:turbine")
minetest.register_lbm({ minetest.register_lbm({
label = "[techage] Turbine sound", label = "[techage] Turbine sound",
name = "techage:power_station", name = "techage:power_station",

View File

@ -1,25 +0,0 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
GPL v3
See LICENSE.txt for more information
Main module for the in-game documentation
]]--
local S = techage.S
techage.register_category_page("techage", "Tech Age",
S("Tech Age is a technic mod with four technic stages.@n@n"..
"Iron Age (TA1): Use tools like coal pile, coal burner, gravel sieve, hammer and hopper to obtain the necessary metals and ores to further machines and tools for TA2@n@n"..
"Steam Age (TA2): Build a steam engine with drive axles to run first simple machines.@n@n"..
"Oil Age (TA3): Drill and pump oil, build your transport routes with Minecarts and power and control TA3 machines and lamps with electrical energy.@n@n"..
"Future Age (TA4): Build regenerative power plants and intelligent machines, travel at high speed and use other future technologies."),
"techage:ta4_wlanchip",
{}
)

156
doc/guide.lua Normal file
View File

@ -0,0 +1,156 @@
--[[
]]--
local S = techage.S
local aTitel = techage.manual_DE.aTitel
local aText = techage.manual_DE.aText
local aItemName = techage.manual_DE.aItemName -- item identifier as key
local aPlanTable = techage.manual_DE.aPlanTable -- plan identifier as key
local tItems = techage.Items -- k/v table with item definitions
local tPlans = techage.ConstructionPlans -- k/v table with plan definitions
local function tooltip(item)
if type(item) == "table" then
local img, name = item[1], item[2]
local ndef = minetest.registered_nodes[name]
if ndef and ndef.description then
return img, minetest.formspec_escape(ndef.description)
end
return img
end
return item
end
-- formspec images
local function plan(images)
local tbl = {}
if images == "none" then return "label[1,3;"..S("No plan available") end
for y=1,#images do
for x=1,#images[1] do
local item = images[y][x] or false
if item ~= false then
local img, tooltip = tooltip(item)
local x_offs, y_offs = (x-1) * 0.9, (y-1) * 0.9 + 0.8
if string.find(img, ":") then
tbl[#tbl+1] = "item_image["..x_offs..","..y_offs..";1,1;"..img.."]"
else
tbl[#tbl+1] = "image["..x_offs..","..y_offs..";1,1;"..img.."]"
end
if tooltip then
tbl[#tbl+1] = "tooltip["..x_offs..","..y_offs..";1,1;"..tooltip..";#0C3D32;#FFFFFF]"
end
end
end
end
return table.concat(tbl)
end
local function formspec_help(meta)
local bttn
local idx = meta:get_int("index")
local box = "box[9.5,0.9;1,1.1;#BBBBBB]"
if aPlanTable[idx] ~= "" then
bttn = "button[9.6,1;1,1;plan;"..S("Plan").."]"
elseif aItemName[idx] ~= "" then
local item = tItems[aItemName[idx]] or ""
bttn = box.."item_image[9.6,1;1,1;"..item.."]"
else
bttn = ""
end
return "size[11,9]"..
default.gui_bg..
default.gui_bg_img..
default.gui_slots..
"item_image[9.6,0;1,1;techage:construction_board]"..
bttn..
"style_type[textarea;textcolor=#AAAAAA]"..
"textarea[0.3,4.7;11,5.3;;"..(aText[idx] or "")..";]"..
--"textarea[0.3,4.7;11,5.3;;\027(c@#0000ff)Text \027(c@#00ff00)Text2;]"..
--"textarea[0.3,4.7;11,5.3;;"..tostring(text)..";]"..
"box[0,4.75;10.775,4.45;#000000]"..
"tablecolumns[tree,width=1;text,width=10,align=inline]"..
"tableoptions[opendepth=2]"..
"table[0.1,0;9,4;page;"..table.concat(aTitel, ",")..";"..idx.."]"
end
local function formspec_plan(meta)
local idx = meta:get_int("index")
local images = tPlans[aPlanTable[idx]] or "none"
local titel = string.sub(aTitel[idx], 3) or "unknown"
return "size[11,9]"..
default.gui_bg..
default.gui_bg_img..
default.gui_slots..
"label[0,0;"..titel..":]"..
"button[10,0;1,0.8;back;<<]"..
plan(images)
end
local board_box = {
type = "wallmounted",
--wall_top = {-8/16, 15/32, -6/16, 8/16, 8/16, 6/16},
--wall_bottom = {-8/16, 15/32, -6/16, 8/16, 8/16, 6/16},
wall_side = {-16/32, -11/32, -16/32, -15/32, 6/16, 8/16},
}
minetest.register_node("techage:construction_board", {
description = S("TA Construction Board"),
inventory_image = 'techage_constr_plan_inv.png',
tiles = {"techage_constr_plan.png"},
drawtype = "nodebox",
node_box = board_box,
selection_box = board_box,
after_place_node = function(pos, placer, itemstack)
local meta = minetest.get_meta(pos)
meta:set_int("index", 1)
meta:set_string("formspec", formspec_help(meta))
end,
on_receive_fields = function(pos, formname, fields, player)
local player_name = player:get_player_name()
if minetest.is_protected(pos, player_name) then
return
end
print(dump(fields))
local meta = minetest.get_meta(pos)
if fields.plan then
meta:set_string("formspec", formspec_plan(meta))
elseif fields.back then
meta:set_string("formspec", formspec_help(meta))
elseif fields.page then
local evt = minetest.explode_table_event(fields.page)
if evt.type == "CHG" then
local idx = tonumber(evt.row)
meta:set_int("index", idx)
meta:set_string("formspec", formspec_help(meta))
end
end
print(dump(formspec_help(meta)))
end,
paramtype2 = "wallmounted",
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_craft({
output = "techage:construction_board",
recipe = {
{"default:stick", "default:stick", "default:stick"},
{"default:paper", "default:paper", "default:paper"},
{"default:paper", "default:paper", "default:paper"},
},
})

39
doc/items.lua Normal file
View File

@ -0,0 +1,39 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
GPL v3
See LICENSE.txt for more information
TA Items Table
]]--
techage.Items = {
iron = "techage:iron_ingot",
charcoal = "techage:charcoal",
lighter = "techage:lighter",
ta1_gravelsieve = "techage:sieve3",
hammer = "techage:hammer_bronze",
meridium = "techage:meridium_ingot",
ta1_hopper = "techage:hopper_ta1",
wlanchip = "techage:ta4_wlanchip",
tube = "techage:tubeS",
ta2_firebox = "techage:firebox",
ta2_boiler = "techage:boiler2",
ta2_cylinder = "techage:cylinder",
ta2_flywheel = "techage:flywheel",
ta2_steampipe = "techage:steam_pipeS",
ta2_distributor = "techage:ta2_distributor_pas",
ta2_pusher = "techage:ta2_pusher_pas",
ta2_gravelrinser = "techage:ta2_rinser_pas",
ta2_grinder = "techage:ta2_grinder_pas",
ta2_autocrafter = "techage:ta2_autocrafter_pas",
ta2_electronicfab = "techage:ta2_electronic_fab_pas",
ta2_gravelsieve = "techage:ta2_gravelsieve_pas",
ta2_liquidsampler = "techage:ta2_liquidsampler_pas",
ta2_rinser = "techage:ta2_rinser_pas",
}

339
doc/manual_DE.lua Normal file
View File

@ -0,0 +1,339 @@
techage.manual_DE = {}
techage.manual_DE.aTitel = {
"1,Tech Age Mod",
"2,Hinweise",
"1,TA1: Eisenzeitalter",
"2,Köhler",
"2,Kohlebrenner",
"2,Erze und Werkzeuge",
"3,Hammer",
"3,Kiessieb",
"3,Trichter",
"3,Kies sieben mit dem Trichter",
"3,Meridium",
"1,TA2: Dampfzeitalter",
"2,Dampfmaschine",
"3,TA2 Feuerbox",
"3,TA2 Boiler",
"3,TA2 Zylinder",
"3,TA2 Schwungrad",
"3,TA2 Dampfleitungen",
"2,Items schieben und sortieren",
"3,Röhren",
"3,TA2 Schieber",
"3,TA2 Verteiler",
"2,Kieswaschanlage",
"3,TA2 Kiesspüler",
"2,Stein mahlen und sieben",
"3,TA2 Mühle",
"3,TA2 Kiessieb",
"2,Items produzieren",
"3,TA2 Autocrafter",
"3,TA2 Elektronikfabrik",
"3, ",
}
techage.manual_DE.aText = {
"Tech Age ist eine Technik-Mod mit 4 Entwicklungsstufen:\n"..
"\n"..
"TA1: Eisenzeitalter (Iron Age) \n"..
"Benutze Werkzeuge und Hilfsmittel wie Köhler\\, Kohlebrenner\\, Kiessieb\\, Hammer\\, Hopper um notwendige Erze und Metalle zu schürfen und zu verarbeiten.\n"..
"\n"..
"TA2: Dampfzeitalter (Steam Age)\n"..
"Baue eine Dampfmaschine mit Antriebsachsen und betreibe damit deine ersten Maschinen zur Verarbeitung von Erzen.\n"..
"\n"..
"TA3: Ölzeitalter (Oil Age)\n"..
"Suche und fördere Öl\\, baute Schienenwege zur Ölbeförderung. Ein Kraftwerk liefert den notwendigen Strom für deine Maschinen. Elektrisches Licht erhellt deine Industrieanlagen.\n"..
"\n"..
"TA4: Zukunft (Future Age)\n"..
"Regenerative Energiequellen wie Wind\\, Sonne und Biokraft helfen dir\\, das Ölzeitalter zu verlassen. Mit modernen Technologien und intelligenten Maschinen machst du dich auf in die Zukunft.\n"..
"\n"..
"\n"..
"\n",
"Diese Dokumentation ist sowohl \"ingame\" als auch im Netz als HTML-Seiten verfügbar.\n"..
"\n"..
"TODO links.\n"..
"\n"..
"Die Konstruktionspläne für den Aufbau der Maschinen sind nur ingame verfügbar.\n"..
"\n"..
"Du musst von vorne beginnen. Nur mit den Items aus TA1 kannst du TA2 Blöcke herstellen\\, für TA3 benötigst du die Ergebnisse aus TA2\\, usw.\n"..
"\n"..
"In TA2 laufen die Maschinen nur mit Antriebsachsen.\n"..
"\n"..
"Ab TA3 laufen die Maschinen mit Strom und besitzen eine Kommunikationsschnittstelle zur Fernsteuerung.\n"..
"\n"..
"Mit TA4 kommen weitere Stromquellen dazu\\, aber auch höhere logistische Herausforderungen (Stromtrassen\\, Item Transport).\n"..
"\n",
"In TA1 geht es darum\\, mit einfachen Werkzeugen und Gerätschaften ausreichend Erze zu schürfen und Holzkohle herzustellen\\, so dass damit TA2 Maschinen hergestellt und betrieben werden können.\n"..
"\n"..
"Natürlich muss es für ein Eisenzeitalter auch Eisen geben und nicht nur Stahl (steel)\\, wie in \"Minetest Game\". Daher wurden einige Rezepte geändert\\, so dass zuerst Eisen hergestellt werden muss und erst später dann Stahl.\n"..
"\n"..
"\n"..
"\n",
"Den Köhler brauchst du\\, um Holzkohle herzustellen. Holzkohle wird für den Brenner\\, aber auch bspw. in TA2 für die Dampfmaschine benötigt.\n"..
"\n"..
"Bauanleitung (siehe auch Plan):\n"..
"\n"..
" - Baue eine 5x5 große Fläche aus Erde (dirt)\n"..
" - Platziere in die Mitte einen Anzünder (lighter)\n"..
" - Baue aus Holz (wood) einen 3x3x3 größen Würfel darüber\n"..
" - Überdecke alles mit einer Schicht Erde zu einem 5x5x5 großen Würfel\n"..
" - Lasse ein Loch zum Anzünder\n"..
" - Zünde den Anzünder an und verschließe das Loch sofort mit jeweils einem Block Holz und Erde\n"..
" - Wenn du alles richtig gemacht hast\\, beginnt der Köhler nach wenigen Sekunden an zu rauchen\n"..
" - Öffne den Köhler erst\\, wenn der Rauch verschwunden ist (ca. 20 min)\n"..
"\n"..
"Dann kannst du die 9 Holzkohleblöcke entnehmen und den Köhler erneut füllen.\n"..
"\n"..
"\n"..
"\n",
"Den Kohlebrenner benötigst du bspw. um Eisen und andere Erze im Schmelztiegel zu schmelzen. Es gibt verschiedene Rezepte\\, welche verschiedene Temperaturen benötigen. Je höher der Turm\\, um so heißer ist die Flamme. Eine Höhe von 11 Blöcken über der Bodenplatte ist für alle Rezepte\\, ein Brenner mit dieser Höhe benötigt aber auch mehr Holzkohle.\n"..
"\n"..
"Bauanleitung (siehe auch Plan):\n"..
"\n"..
" - Baue einen Turm aus Stein (cobble) mit einer 3x3 Grundfläche (7-11 Blöcke hoch)\n"..
" - Lasse unten ein Loch an einer Seite offen\n"..
" - Lege einen Anzünder (lighter) hinein\n"..
" - Fülle den Turm von oben bis zum Rand mit Holzkohle\n"..
" - Zünde den Anzünder durch das Loch an\n"..
" - Platziere den Schmelztiegel in die Flamme über dem Turm\neinen Block über der Flamme)\n"..
" - Um den Brenner anzuhalten\\, schließe das Loch vorübergehend bspw. mit einem Erdblock.\n"..
"\n"..
"Der Schmelztiegel hat ein eigenes Menü mit Rezepten und ein Inventar\\, wo du die Erze hinein tun musst.\n"..
"\n"..
"\n"..
"\n",
"TA1 hat seine eigenen Werkzeuge wie Hammer und Kiessieb\\, aber auch bereits eine Maschine zur Automatisierung\\, den TA1 Trichter (hopper).\n"..
"\n"..
"\n"..
"\n",
"Mit dem TA1 Hammer kann Stein (stone) in einer Mine\\, aber auch Steine (cobble) zu Kies (gravel) geklopft werden. Der Hammer ist in verschiedenen Ausführungen und damit verschiedenen Eigenschaften verfügbar: Bronze\\, Stahl\\, Mese und Diamant.\n"..
"\n"..
"\n"..
"\n",
"Mit dem Kiessieb können Erze aus dem Kies gesiebt werden. Dazu mit dem Kies (gravel) auf das Sieb klicken. Das gesiebte Kies und die Erze fallen unten heraus.\n"..
"\n"..
"Um hier nicht stundenlang am Sieb zu stehen\\, kann das Sieben mit dem Trichter (hopper) automatisiert werden.\n"..
"\n"..
"\n"..
"\n",
"Der Trichter saugt Gegenstände (items) von oben ein und gibt diese nach rechts weiter. Beim Platzieren des Trichters muss daher auf die Ausgaberichtung geachtet werden.\n"..
"\n"..
"Der Trichter kann auch Items aus Kisten (chest) ziehen\\, sofern die Kiste auf dem Trichter steht. \n"..
"\n"..
"Der Trichter kann auch Items in Kisten legen\\, sofern die Kiste neben dem Trichter steht.\n"..
"\n"..
"\n"..
"\n",
"Mit Hilfe von zwei Kisten\\, zwei Trichtern und einem Kiessieb kann der Siebevorgang automatisiert werden. Der Plan rechts zeigt den Aufbau.\n"..
"\n"..
"Bei den Kisten darauf achten\\, dass es die \"chest_locked\" ist\\, sonst klaut dir jemand die wertvollen Erze aus der Kiste unten.\n"..
"\n"..
"\n"..
"\n",
"TA1 hat seine eigene Metalllegierung Meridium. Meridium Ingots können mit dem Kohlebrenner aus Stahl und Mesesplitter hergestellt werden. Meridium leuchtet im Dunkeln. Auch Werkzeuge aus Meridium leuchten und sind daher im Untertagebau sehr hilfreich.\n"..
"\n"..
"\n"..
"\n",
"In TA2 geht es darum\\, erste Maschinen zur Verarbeitung von Erzen zu bauen und zu betreiben. Einige Maschinen müssen dazu über Antriebsachsen angetrieben werden. Dazu musst du eine Dampfmaschine bauen und diese mit Kohle oder Holzkohle anheizen.\n"..
"\n"..
"In TA2 steht auch ein Kiesspüler zur Verfügung\\, mit dem seltene Erze wie Usmium Nuggets ausgewaschen werden können. Diese Nuggets wirst du später für weitere Rezepte brauchen.\n"..
"\n",
"Die Dampfmaschine besteht aus mehreren Blöcken und muss wie im Plan rechts abgebildet\\, zusammen gebaut werden. Dazu werden die Blöcke TA2 Feuerbox\\, TA2 Boiler oben\\, TA2 Boiler unten\\, TA2 Zylinder\\, TA2 Schwungrad und Dampfleitungen benötigt.\n"..
"\n"..
"Zusätzlich werden Antriebsachsen sowie Getriebeboxen für Richtungswechsel benötigt. Das Schwungrad muss über die Antriebsachsen mit allen Maschinen verbunden werden\\, die angetrieben werden müssen.\n"..
"\n"..
"Bei allen Blöcken beim Setzen immer auch die Ausrichtung achten:\n"..
"\n"..
" - Zylinder links\\, Schwungrad rechts daneben\n"..
" - Dampfleitungen anschließen\\, wo ein entsprechendes Loch ist\n"..
" - Antriebsachse beim Schwungrad nur rechts\n"..
" - bei allen Maschinen kann die Antriebsachse an allen Seiten angeschlossen werden\\, welche nicht durch andere Funktionen belegt wird\\, wie bspw. die IN und OUT Löcher bei Mühle und Sieb.\n"..
"\n"..
"Der Boiler muss mit Wasser gefüllt werden. Dazu bis zu 4 Eimer Wasser in den Boiler füllen.\n"..
"\n"..
"Die Feuerbox muss mit Kohle oder Holzkohle gefüllt werden.\n"..
"\n"..
"Wenn das Wasser heiß ist\\, kann das Ventil am Boiler geöffnet und anschließend die Dampfmaschine am Schwungrad gestartet werden.\n"..
"\n"..
"Die Dampfmaschine leistet 25 ku\\, kann damit mehrere Maschinen gleichzeitig antreiben.\n"..
"\n"..
"\n"..
"\n",
"Teil der Dampfmaschine. \n"..
"\n"..
"Die Feuerbox muss mit Kohle oder Holzkohle gefüllt werden. Die Brenndauer ist abhängig von der Leistung\\, die von der Dampfmaschine angefordert wird. Unter Volllast brennt Kohle 32 s und Holzkohle 96 s.\n"..
"\n"..
"\n"..
"\n",
"Teil der Dampfmaschine. Muss mit Wasser gefüllt werden. Wem kein Wasser mehr vorhanden ist oder die Temperatur zu weit absinkt\\, schaltet sich der Boiler ab.\n"..
"\n"..
"\n"..
"\n",
"Teil der Dampfmaschine.\n"..
"\n"..
"\n"..
"\n",
"Antriebsteil der Dampfmaschine. Das Schwungrad muss über Antriebsachsen mit den Maschinen verbunden werden. \n"..
"\n"..
"\n"..
"\n",
"Teil der Dampfmaschine. Der Boiler muss mit dem Zylinder über die Dampfleitungen (steam pipes) verbunden werden. Die Dampfleitung besitzt keine Abzweigungen\\, die maximale Länge beträgt 12 m (Blöcke).\n"..
"\n"..
"\n"..
"\n",
"Um Gegenstände (Items) von einer Verarbeitungsstation zur nächsten weiter zu transportieren\\, werden Schieber und Röhren verwendet. Siehe Plan.\n"..
"\n"..
"\n"..
"\n",
"Zwei Maschinen können mit Hilfe eines Schiebers und einer Röhre (tube) verbunden werden. Röhren besitzen keine Abzweigungen. Die maximale Länge beträgt 200 m (Blöcke).\n"..
"\n"..
"Röhren können alternativ mit Hilfe der Shift-Taste platziert werden. Dies erlaubt bspw. Röhren parallel zu verlegen\\, ohne dass diese sich unbeabsichtigt verbinden.\n"..
"\n"..
"Die Transportkapazität einer Röhre ist unbegrenzt und nur durch die Schieber begrenzt.\n"..
"\n"..
"\n"..
"\n",
"Ein Schieber ist in der Lage\\, Items aus Kisten oder Maschinen zu ziehen und in andere Kisten oder Maschinen zu schieben. Oder anders gesagt: Zwischen zwei Blöcken mit Inventar muss ein und genau ein Schieber sein. Mehrere Schieber in Reihe sind nicht möglich.\n"..
"\n"..
"Ein Schieber geht in den Zustand \"standby\"\\, wenn der keine Items zum Schieben hat. Ist der Ausgang blockiert oder das Inventory des Empfängers voll\\, so geht der Schieber in den Zustand \"blocked\". Aus beiden Zuständen kommt der Schieber nach einigen Sekunden selbsttätig wieder raus\\, sofern sich die Situation geändert hat.\n"..
"\n"..
"Der Verarbeitungsleistung eines TA2 Schiebers beträgt 2 Items alle 2 s.\n"..
"\n"..
"\n"..
"\n",
"Der Verteiler ist in der Lage\\, die Items aus seinem Inventar sortieren in bis zu vier Richtungen weiter zu transportieren. Dazu muss der Verteiler entsprechend konfiguriert werden. \n"..
"\n"..
"Der Verteiler besitzt dazu ein Menü mit 4 Filter mit unterschiedlichen Farben\\, entsprechend den 4 Ausgängen. Soll ein Ausgang genutzt werden\\, so muss der entsprechende Filter über die \"on\" Checkbox aktiviert werden. Alle Items\\, die für diesen Filter konfiguriert sind\\, werden über den zugeordneten Ausgang ausgegeben. Wird ein Filter aktiviert\\, ohne das Items konfiguriert werden\\, so sprechen wir hier von einem \"nicht-konfigurierten\"\\, offenen Ausgang.\n"..
"\n"..
"Für einen nicht-konfigurierten Ausgang gibt es zwei Betriebsarten:\n"..
"\n"..
"1) Alle Items ausgeben\\, die an keine anderen Ausgängen ausgegeben werden können\\, auch wenn diese blockiert sind.\n"..
"\n"..
"2) Nur die Items ausgeben\\, die für keinen anderen Filter konfiguriert wurden.\n"..
"\n"..
"Im ersten Fall werden immer alle Items weitergeleitet und der Verteiler läuft nicht voll. Im zweiten Fall werden Items zurückgehalten und der Verteiler kann voll laufen und in der Folge blockieren.\n"..
"\n"..
"Einstellbar ist die Betriebsart ist über die \">>|\" Checkbox (an => Betriebsart 2)\n"..
"\n"..
"Wird nur ein Ausgang aktiviert und mit mehreren Items konfiguriert\\, so kann die 1:1 Checkbox angeklickt werden. In diesem Falle werden Items streng gemäß der Filtereinstellung weitergegeben. Fehlt ein Item in der Reihenfolge\\, blockiert der Verteiler. Damit lassen sich andere Maschinen wie bspw. der Autocrafter exakt gemäß dem eingestellten Rezept bestücken.\n"..
"\n"..
"Der Verarbeitungsleistung eines TA2 Verteilers beträgt 4 Items alle 2 s\\, wobei der Verteiler dabei versucht\\, die 4 Items auf die offenen Ausgänge zu verteilen.\n"..
"\n"..
"\n"..
"\n",
"Die Kieswaschanlage ist eine komplexere Maschine mit dem Ziel\\, Usmium Nuggets aus gesiebtem Kies auszuwaschen. Für den Aufbau wird ein TA2 Kiesspüler mit Achsenantrieb\\, ein Trichter\\, eine Kiste\\, sowie fließendes Wasser benötigt. \n"..
"\n"..
"Aufbau von links nach rechts (siehe auch Plan):\n"..
"\n"..
" - Ein Erdblock\\, darauf die Wasserquelle\\, umgeben auf 3 Seiten von bspw. Glasblöcken\n"..
" - daneben den Kiesspüler\\, ggf. mit Röhrenanschlüssen für den Kies An- und Abtransport\n"..
" - dann den Trichter mit Kiste\n"..
"\n"..
"Das Ganze umgeben von weiteren Glasblöcken\\, so dass das Wasser über den Kiesspüler und den Trichter fließt und ausgespielten Nuggets vom Trichter wieder eingesammelt werden können.\n"..
"\n"..
"\n"..
"\n",
"Der Kiesspüler ist in der Lade\\, aus bereits gesiebtem Kies die Erze Usmium und Kupfer auszuspülen\\, sofern dieser von Wasser überspült wird.\n"..
"\n"..
"Ob der Kiesspüler korrekt arbeitet\\, kann mit Hilfe von Stöcken (sticks) getestet werden\\, wenn diese in das Inventar des Kiesspülers getan werden. Diese müssen einzeln ausgespült und vom Trichter eingefangen werden.\n"..
"\n"..
"Die Verarbeitungsleistung ist ein Kies Item alle 2 s. Der Kiesspüler benötigt 3 ku Energie.\n"..
"\n"..
"\n"..
"\n",
"Das Mahlen und Siebe von Gestein dient zur Gewinnung von Erzen. Gesiebtes Kies kann aber auch anderweitig genutzt werden. Mühle und Sieb müssen angetrieben und damit in der Nähe einer Dampfmaschine aufgebaut werden.\n"..
"\n"..
"\n"..
"\n",
"Die Mühle ist in der Lage\\, verschiedenes Gestein\\, aber auch Holz und andere Items zu mahlen.\n"..
"\n"..
"Die Verarbeitungsleistung ist ein Item alle 2 s. Die Mühle benötigt 4 ku Energie.\n"..
"\n"..
"\n"..
"\n",
"Das Kiessieb ist in der Lage\\, Kies zu sieben um Erze zu gewinnen. Als Ergebnis erhält man teilweise \"gesiebtes Kies\"\\, was nicht wieder gesiebt werden kann.\n"..
"\n"..
"Die Verarbeitungsleistung ist ein Item alle 2 s. Die Kiessieb benötigt 3 ku Energie.\n"..
"\n"..
"\n"..
"\n",
"Mit TA2 Maschinen können nicht nur Erze gewonnen\\, sondern auch Gegenstände hergestellt werden.\n"..
"\n",
"\n"..
"\n",
"\n"..
"\n",
" zur VerBaue eine Dampfmaschine mit Antriebsachsen und betreibe damit deine .\n"..
"\n",
}
techage.manual_DE.aItemName = {
"wlanchip",
"",
"iron",
"",
"",
"ta1_gravelsieve",
"hammer",
"ta1_gravelsieve",
"ta1_hopper",
"",
"meridium",
"",
"",
"ta2_firebox",
"ta2_boiler",
"ta2_cylinder",
"ta2_flywheel",
"ta2_steampipe",
"",
"tube",
"ta2_pusher",
"ta2_distributor",
"",
"ta2_rinser",
"ta2_grinder",
"ta2_grinder",
"ta2_gravelsieve",
"",
"ta2_autocrafter",
"ta2_electronicfab",
"",
}
techage.manual_DE.aPlanTable = {
"",
"",
"",
"coalpile",
"coalburner",
"",
"",
"",
"",
"hoppersieve",
"",
"",
"steamengine",
"",
"",
"",
"",
"",
"itemtransport",
"",
"",
"",
"gravelrinser",
"",
"",
"",
"",
"",
"",
"",
"",
}

178
doc/plans.lua Normal file
View File

@ -0,0 +1,178 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
GPL v3
See LICENSE.txt for more information
Constructioon Plans for TA machines
]]--
techage.ConstructionPlans = {}
--
-- TA1: Coal Pile
--
local DDIRT = {"default_dirt.png", "default:dirt"}
local DWOOD = {"default_wood.png" , "default:wood"}
local LIGTR = {"techage_lighter.png", "techage:lighter"}
techage.ConstructionPlans["coalpile"] = {
{DDIRT, DDIRT, DDIRT, DDIRT, DDIRT},
{DDIRT, DWOOD, DWOOD, DWOOD, DDIRT},
{DDIRT, DWOOD, DWOOD, DWOOD, DDIRT},
{DDIRT, DWOOD, LIGTR, DWOOD, DDIRT},
{DDIRT, DDIRT, DDIRT, DDIRT, DDIRT},
}
--
-- TA1: Coal Burner
--
local COBBL = {"default_cobble.png", "default:cobble"}
local CCOAL = {"techage_charcoal.png", "techage:charcoal"}
local MEPOT = {"default_cobble.png^techage_meltingpot.png", "techage:meltingpot"}
local FLAME = {"techage_flame.png", nil}
techage.ConstructionPlans["coalburner"] = {
{false, false, false, MEPOT, false},
{false, false, false, FLAME, false},
{false, false, COBBL, CCOAL, COBBL},
{false, false, COBBL, CCOAL, COBBL},
{false, false, COBBL, CCOAL, COBBL},
{false, false, COBBL, CCOAL, COBBL},
{false, false, false, LIGTR, COBBL},
{false, false, COBBL, COBBL, COBBL},
}
--
-- Hopper + Sieve
--
local CHEST = {"default_chest_lock.png", "default:chest_locked"}
local HOPPR = {"techage_hopper.png^[transformFX", "techage:hopper_ta1)"}
local SIEVE = {"techage_sieve_sieve_ta1.png", "techage:sieve3"}
techage.ConstructionPlans["hoppersieve"] = {
{false, false, false, false, false},
{false, false, false, false, false},
{false, CHEST, false, false, false},
{false, HOPPR, SIEVE, false, false},
{false, false, HOPPR, CHEST, false},
}
--
-- Steam Engine
--
local PK000 = {"techage_steam_knee.png", "techage:steam_pipeS"}
local PK090 = {"techage_steam_knee.png^[transformR90", "techage:steam_pipeS"}
local PK270 = {"techage_steam_knee.png^[transformR270", "techage:steam_pipeS"}
local PI000 = {"techage_steam_pipe.png", "techage:steam_pipeS"}
local PI090 = {'techage_steam_pipe.png^[transformR90', "techage:steam_pipeS"}
local BOIL1 = {"techage:boiler1", "techage:boiler1"}
local BOIL2 = {"techage:boiler2", "techage:boiler2"}
local FIBOX = {"techage_firebox.png^techage_appl_firehole.png^techage_frame_ta2.png", "techage:firebox"}
local CYLIN = {"techage_filling_ta2.png^techage_cylinder.png^techage_frame_ta2.png", "techage:cylinder"}
local FLYWH = {"techage_filling_ta2.png^techage_frame_ta2.png^techage_flywheel.png^[transformFX]", "techage:flywheel"}
techage.ConstructionPlans["steamengine"] = {
{false, false, false, false, false, false, false},
{false, false, false, false, false, false, false},
{false, false, PK000, PI000, PK270, false, false},
{false, false, BOIL2, false, PI090, false, false},
{false, false, BOIL1, false, PI090, false, false},
{false, false, FIBOX, false, PK090, CYLIN, FLYWH},
}
--
-- Item Transport
--
local PUSHR = {"techage_appl_pusher.png^techage_frame_ta2.png", "techage:ta2_pusher_pas"}
local TB000 = {"techage_tube_tube.png", "techage:tubeS"}
local GRIND = {"techage_filling_ta2.png^techage_appl_grinder2.png^techage_frame_ta2.png", "techage:ta2_grinder_pas"}
local DISTR = {"techage_filling_ta2.png^techage_frame_ta2.png^techage_appl_distri_blue.png", "techage:ta2_distributor_pas"}
local SIEV2 = {"techage_filling_ta2.png^techage_appl_sieve.png^techage_frame_ta2.png", "techage:ta2_gravelsieve_pas"}
techage.ConstructionPlans["itemtransport"] = {
{false, false, false, false, false, false, false, false, false, false, false},
{false},
{false},
{CHEST, PUSHR, TB000, GRIND, PUSHR, DISTR, TB000, SIEV2, PUSHR, TB000, CHEST},
}
--
-- Gravel Rinser
--
local RINSR = {"techage_filling_ta2.png^techage_appl_rinser.png^techage_frame_ta2.png", "techage:ta2_rinser_pas"}
local GLASS = {"default_glass.png", "default:glass"}
local WATER = {"default_water.png^default_glass.png", "default:water_source"}
local TK000 = {"techage_tube_knee.png", "techage:tubeS"}
local TK270 = {"techage_tube_knee.png^[transformR270", "techage:tubeS"}
techage.ConstructionPlans["gravelrinser"] = {
{false, false, false, false, false, false, false, false},
{false, GLASS, WATER, GLASS, GLASS, GLASS, GLASS, GLASS},
{false, DDIRT, DDIRT, TK000, RINSR, TK270, HOPPR, CHEST},
}
--local Tube = "techage_tube_knee.png"
--local Tube2 = "techage_tube_knee.png^[transformR270"
--local Rinser = "techage_filling_ta2.png^techage_appl_rinser.png^techage_frame_ta2.png"
--local Hopper = "techage_hopper.png"
--local Glass = "default_glass.png"
--local Water = "default_water.png"
--local Chest = "default_chest_lock.png"
--local Dirt = "default_dirt.png"
--local Images = {
--}
--
-- TA3 Industrial Furnace
--
local Cable = {"techage_electric_cable_inv.png", "techage:electric_cableS"}
local Tubes = {"techage_tube_tube.png", "techage:tubeS"}
local Pushr = {"techage_appl_pusher.png^techage_frame_ta3.png", "techage:ta3_pusher_pas"}
local Boost = {"techage_filling_ta3.png^techage_appl_compressor.png^[transformFX^techage_frame_ta3.png", "techage:ta3_booster"}
local Fibox = {"techage_concrete.png^techage_appl_firehole.png^techage_frame_ta3.png", "techage:furnace_firebox"}
local Furnc = {"techage_concrete.png^techage_appl_furnace.png^techage_frame_ta3.png", "ta3_furnace_pas"}
techage.ConstructionPlans["ta3_furnace"] = {
{false, false, false, false, false, false, false},
{Tubes, Pushr, Tubes, Furnc, Tubes, Pushr, Tube},
{false, Cable, Boost, Fibox, false, false, false},
}
--
-- Thermal Storage System
--
local CONCR = {"basic_materials_concrete_block.png", "basic_materials:concrete_block"}
local PIPEH = {"techage_gaspipe.png", "techage:ta4_pipeS"}
local PIPEV = {"techage_gaspipe.png^[transformR90", "techage:ta4_pipeS"}
local PN000 = {"techage_gaspipe_knee.png", "techage:ta4_pipeS"}
local PN090 = {"techage_gaspipe_knee.png^[transformR90", "techage:ta4_pipeS"}
local PN180 = {"techage_gaspipe_knee.png^[transformR180", "techage:ta4_pipeS"}
local PN270 = {"techage_gaspipe_knee.png^[transformR270", "techage:ta4_pipeS"}
local HEXR1 = {"techage_filling_ta4.png^techage_frameT_ta4.png^techage_appl_ribsT.png", "techage:heatexchanger3"}
local HEXR2 = {"techage_filling_ta4.png^techage_frameM_ta4.png^techage_appl_ribsB.png", "techage:heatexchanger2"}
local HEXR3 = {"techage_filling_ta4.png^techage_frameB_ta4.png^techage_appl_hole_electric.png", "techage:heatexchanger1"}
local TURBN = {"techage_filling_ta4.png^techage_appl_turbine.png^techage_frame_ta4.png", "techage:ta4_turbine"}
local GENER = {"techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_generator.png^[transformFX]", "techage:ta4_generator"}
local GRAVL = {"default_gravel.png", "default:gravel"}
local INLET = {"basic_materials_concrete_block.png^techage_gaspipe.png^[transformR90", "techage:ta4_pipe_inlet"}
local OGLAS = {"default_obsidian_glass.png", "default:obsidian_glass"}
techage.ConstructionPlans["storagesystem"] = {
{false, false, false, false, false, false, false, false, false, false, false},
{false, false, false, PN000, PIPEH, PIPEH, PN270, false, false, false, false},
{false, CONCR, CONCR, INLET, CONCR, CONCR, PIPEV, false, false, false, false},
{false, CONCR, GRAVL, GRAVL, GRAVL, CONCR, PN090, HEXR1, PIPEH, PN270, false},
{false, OGLAS, GRAVL, GRAVL, GRAVL, CONCR, false, HEXR2, false, PIPEV, false},
{false, CONCR, GRAVL, GRAVL, GRAVL, CONCR, PN000, HEXR3, PIPEH, TURBN, GENER},
{false, CONCR, CONCR, INLET, CONCR, CONCR, PIPEV, false, false, false, false},
{false, false, false, PN090, PIPEH, PIPEH, PN180, false, false, false, false},
}

View File

@ -1,29 +0,0 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
GPL v3
See LICENSE.txt for more information
Main module for the in-game TA1 documentation
]]--
local S = techage.S
techage.register_category_page("ta1", "Iron Age (TA1)",
S("Iron Age is the first level of the available four technic stages.@n"..
"The goal of TA1 is to collect and craft enough Iron Ingots@n"..
"to be able to build machines for stage 2 (TA2).@n"..
"1. You have to collect dirt and wood to build a Coal Pile.@n"..
" (The Coal Pile is needed to produce charcoal)@n"..
"2. Build a Coal Burner to melt iron to iron ingots.@n"..
"3. Craft a Gravel Sieve and collect gravel.@n"..
" (A Hammer can be used to smash cobble to gravel)@n"..
"4. Sieve the gravel to get the necessary ores or go mining."),
"techage:iron_ingot",
{"coalpile", "burner", "meltingpot", "lighter", "meridium", "iron", "hammer", "sieve", "hopper"}
)

View File

@ -1,26 +0,0 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
GPL v3
See LICENSE.txt for more information
Main module for the in-game TA1 documentation
]]--
local S = techage.S
techage.register_category_page("ta2", "Steam Age (TA2)",
S("Steam Age is the second level of the available four technic stages.@n"..
"The goal of TA2 is to build a coal powered stream engine with drive axles "..
"and machines to produce ores and vacuum tubes for the first electronic devices and machines in TA3."),
"techage:charcoal", {
"steam_engine", "boiler1", "boiler2", "cylinder", "flywheel",
"pusher", "distributor", "chest", "grinder", "gravelsieve", "autocrafter", "rinser",
"electronic_fab", "liquidsampler"}
)

View File

@ -1,114 +0,0 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
GPL v3
See LICENSE.txt for more information
Main module for the in-game TA1 documentation
]]--
local S = techage.S
techage.register_category_page("ta3",
S("Oil Age (TA3)"),
S("The Oil Age is the third level of the available technic stages. "..
"The goal of TA3 is to build Power Stations, drill for oil, and build "..
"machines to produce ores and chips for smart TA4 devices and machines."),
"techage:oil_source",
{"power", "times"}
)
techage.register_entry_page("ta3", "power",
S("Power Consumption"),
S("Power consumption and supply:@n"..
"- TA3 Power Station: 80 ku@n"..
"- TA3 Tiny Generator: 12 ku@n"..
"- TA3 Akku Box: 10 ku (in both dirs)@n"..
"- TA3 Oil Drill Box: 16 ku@n"..
"- TA3 Oil Pumpjack: 16 ku@n"..
"- TA3 Electronic Fab: 12 ku@n"..
"- TA3 Autocrafter: 6 ku@n"..
"- TA3 Grinder: 6 ku@n"..
"- TA3 Gravel Sieve: 4 ku@n"..
"- TA3 Booster: 3 ku@n"..
"- Lamps: 0.5 ku@n"..
"- TA4 Streetlamp Solar Cell: 1 ku@n"..
"@n"..
"- Signs Bot: 8 ku (while loading)"),
"techage:t3_source", nil)
techage.register_entry_page("ta3", "times",
S("Oil Burning Times"),
S("Burning times with one oil item for@n"..
"Stream Engine / Power Station / Tiny Generator:@n"..
"@n"..
"Power max./ku : 25 / 80 / 12@n"..
"Oil burn time/s : 32 / 20 / 100 @n"..
"@n"..
"burn time at power 2 : 400 / 800 / 600@n"..
"burn time at power 10 : 80 / 160 / 120@n"..
"burn time at power 20 : 40 / 80 / --"),
"techage:t3_source", nil)
local Images = {
{false, false, false, false, false, false, false},
{"techage_steam_knee.png", 'techage_steam_pipe.png', 'techage_steam_pipe.png',
'techage_steam_pipe.png', 'techage_steam_pipe.png', 'techage_steam_pipe.png', "techage_steam_knee.png^[transformR270"},
{'techage_steam_pipe.png^[transformR90', "techage:coalboiler_top", 'techage_steam_pipe.png',
'techage_steam_knee.png^[transformR270', 'techage_steam_knee.png',
"techage_filling_ta3.png^techage_frame_ta3.png^techage_cooler.png",
"techage_steam_knee.png^[transformR180"},
{"techage_steam_knee.png^[transformR90", "techage:coalboiler_base", false, 'techage_steam_pipe.png^[transformR90',
'techage_steam_pipe.png^[transformR90'},
{false, "techage:coalfirebox", false, "techage_steam_knee.png^[transformR90",
"techage_filling_ta3.png^techage_appl_turbine.png^techage_frame_ta3.png",
"techage_filling_ta3.png^techage_frame_ta3.png^techage_appl_generator.png"},
}
--techage.register_entry_page("ta3", "power_station",
techage.register_category_page("ta3ps",
S("TA3: Power Station"),
S("Build a Power Station according to the plan with TA3 Firebox, TA3 Boiler, Steam Pipes, Cooler, Turbine and Generator.@n"..
"- Heat the Firebox with coal/charcoal or oil@n"..
"- Fill the boiler with water (more than one bucket is needed)@n"..
"- Wait until the water is heated@n"..
"- Open the steam ventil@n"..
"- Connect the Generator with your machines by means of cables and junction boxes@n"..
"- Start the Generator"),
nil,
{"coalboiler_base", "coalboiler_top", "turbine", "generator", "cooler", "akku", "tiny_generator", "ta3_power_terminal"},
Images)
techage.register_category_page("ta3op",
S("TA3: Oil plants"),
S("In the TA3 age, oil (petroleum) serves as an almost infinite fuel. But oil is difficult "..
"and expensive to recover:@n"..
"1: Search for oil with the TA3 Oil Explorer@n"..
"2: Drill for oil with the TA3 Oil Drill Box (oil derrick)@n"..
"3: Recover the oil with the TA3 Oil Pumpjack@n"..
"4: A power station nearby provides the necessary @n"..
" electrical power for the derrick and pumpjack.@n"..
"5: Tubes or rails are used for oil transportation."),
"techage:oilexplorer",
{"oilexplorer", "drillbox", "pumpjack"}
)
techage.register_category_page("ta3m",
S("TA3: Machines"),
S("Collection of TA3 machines, some with eletrical power supply."),
"techage:ta3_autocrafter_pas",
{"pusher", "distributor", "chest", "grinder", "gravelsieve", "autocrafter", "electronic_fab",
"funnel", "liquidsampler"}
)
techage.register_category_page("ta3l",
S("TA3: Logic"),
S("Collection of TA3 logic blocks to control your machines."),
"techage:terminal2",
{"terminal", "button", "detector", "repeater", "logic", "node_detector", "player_detector", "cart_detector", "programmer"}
)

View File

@ -1,56 +0,0 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
GPL v3
See LICENSE.txt for more information
Main module for the in-game TA4documentation
]]--
local S = techage.S
techage.register_category_page("ta4",
S("Future Age (TA4)"),
S("The Future Age is the forth level of the available technic stages.@n"..
"The goal of TA4 is to operate your machines only with renewable energy.@n"..
"Build wind turbines, solar panel plants and biogas plants and use@n"..
"future technologies."),
"techage:ta4_wlanchip",
{}
)
local ROTOR = "techage_wind_turbine_inv.png"
local CANELLE = "techage_rotor.png"
local PILLAR = "techage:pillar"
local Images = {
{false, false, false, ROTOR, CANELLE, false, false},
{false, false, false, PILLAR, false, false, false},
{false, false, false, PILLAR, false, false, false},
{false, false, false, PILLAR, false, false, false},
{false, false, false, PILLAR, false, false, false},
{false, false, false, PILLAR, false, false, false},
{false, false, false, PILLAR, false, false, false},
{false, false, false, PILLAR, false, false, false},
}
--techage.register_entry_page("ta3", "power_station",
techage.register_category_page("ta4wt",
S("TA4: Wind Turbine"),
S("Build a Wind Turbine according to the plan with TA4 Wind Turbine, TA4 Wind Turbine Nacelle and@n"..
"a pillar by means of TA4 Pillar nodes (power cables have to be inside).@n"..
"Please note the following limitations:@n"..
"- pillar height between 10 and 19 m@n"..
"- can only be built offshore (20 m in all 4 directions is water)@n"..
"- more than 14 m to the next wind turbine@n"..
"- the wind blows only between 5 and 9 o'clock and between 17 and 21 o'clock"),
nil,
{},
Images)

View File

@ -1,32 +0,0 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
GPL v3
See LICENSE.txt for more information
Main module for the in-game TA1 documentation
]]--
local S = techage.S
techage.register_category_page("ta", "Further nodes and tools",
S("This is a collection of further nodes and tools which do not fit to the stages 1 to 4."),
"techage:end_wrench", {"end_wrench", "powerswitch", "trowel", "blackhole", "forceload", "doorblock", "gateblock"}
)
techage.register_entry_page("ta", "powerswitch",
S("TA Power Switch"),
S("To turn electrical power on/off.@n"..
"Has to be placed on a TA Power Switch Box."),
"techage:powerswitch")
techage.register_entry_page("ta", "trowel",
S("TechAge Trowel"),
S("Tool to hide and retrieve electrical wiring in walls and floors.@n"..
"The material for hiding the cables must be in the left stack of the first row in the player inventory."),
"techage:trowel")

View File

@ -152,8 +152,3 @@ techage.register_node({"techage:ta4_generator", "techage:ta4_generator_on"}, {
end, end,
}) })
techage.register_entry_page("ta4es", "ta4_generator",
S("TA4 Generator"),
S("Part of TA4 Energy Systems. Has to be placed side by side with the TA4 Turbine. "..
"Connect the Generator with your power network@n"),
"techage:ta4_generator")

View File

@ -362,13 +362,3 @@ minetest.register_craft({
}, },
}) })
--techage.register_entry_page("ta2", "boiler1",
-- S("TA2 Boiler Base"),
-- S("Part of the steam engine. Has to be placed on top of the Firebox and filled with water.@n"..
-- "(see Steam Engine)"), "techage:boiler1")
--techage.register_entry_page("ta2", "boiler2",
-- S("TA2 Boiler Top"),
-- S("Part of the steam engine. Has to be placed on top of TA2 Boiler Base.@n(see Steam Engine)"),
-- "techage:boiler2")

View File

@ -1,51 +0,0 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
GPL v3
See LICENSE.txt for more information
TA4 Energy Storage System Help
]]--
local S = techage.S
local CONCR = {"basic_materials_concrete_block.png", "basic_materials:concrete_block"}
local PIPEH = {"techage_gaspipe.png", "techage:ta4_pipeS"}
local PIPEV = {"techage_gaspipe.png^[transformR90", "techage:ta4_pipeS"}
local PN000 = {"techage_gaspipe_knee.png", "techage:ta4_pipeS"}
local PN090 = {"techage_gaspipe_knee.png^[transformR90", "techage:ta4_pipeS"}
local PN180 = {"techage_gaspipe_knee.png^[transformR180", "techage:ta4_pipeS"}
local PN270 = {"techage_gaspipe_knee.png^[transformR270", "techage:ta4_pipeS"}
local HEXR1 = {"techage_filling_ta4.png^techage_frameT_ta4.png^techage_appl_ribsT.png", "techage:heatexchanger3"}
local HEXR2 = {"techage_filling_ta4.png^techage_frameM_ta4.png^techage_appl_ribsB.png", "techage:heatexchanger2"}
local HEXR3 = {"techage_filling_ta4.png^techage_frameB_ta4.png^techage_appl_hole_electric.png", "techage:heatexchanger1"}
local TURBN = {"techage_filling_ta4.png^techage_appl_turbine.png^techage_frame_ta4.png", "techage:ta4_turbine"}
local GENER = {"techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_generator.png^[transformFX]", "techage:ta4_generator"}
local GRAVL = {"default_gravel.png", "default:gravel"}
local INLET = {"basic_materials_concrete_block.png^techage_gaspipe.png^[transformR90", "techage:ta4_pipe_inlet"}
local GLASS = {"default_obsidian_glass.png", "default:obsidian_glass"}
local Images = {
{false, false, false, false, false, false, false, false, false, false, false},
{false, false, false, PN000, PIPEH, PIPEH, PN270, false, false, false, false},
{false, CONCR, CONCR, INLET, CONCR, CONCR, PIPEV, false, false, false, false},
{false, CONCR, GRAVL, GRAVL, GRAVL, CONCR, PN090, HEXR1, PIPEH, PN270, false},
{false, GLASS, GRAVL, GRAVL, GRAVL, CONCR, false, HEXR2, false, PIPEV, false},
{false, CONCR, GRAVL, GRAVL, GRAVL, CONCR, PN000, HEXR3, PIPEH, TURBN, GENER},
{false, CONCR, CONCR, INLET, CONCR, CONCR, PIPEV, false, false, false, false},
{false, false, false, PN090, PIPEH, PIPEH, PN180, false, false, false, false},
}
techage.register_category_page("ta4es",
S("TA4: Energy Storage System"),
S("Build a Energy Storage System to the plan with TA4 Heat Exchanger, TA4 Turbine and TA4 Generator.@n"..
"- ..."),
nil,
{},
Images)

View File

@ -18,7 +18,7 @@ local M = minetest.get_meta
local S = techage.S local S = techage.S
minetest.register_node("techage:glow_gravel", { minetest.register_node("techage:glow_gravel", {
description = S("Techage Gravel"), description = S("TechAge Gravel"),
tiles = {{ tiles = {{
name = "techage_gravel4.png", name = "techage_gravel4.png",
animation = { animation = {

View File

@ -182,7 +182,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta4es", "turbine",
S("TA4 Turbine"),
S("Part of TA4 Energy Systems. Has to be placed side by side with the TA4 Generator.@n"),
"techage:ta4_turbine")

View File

@ -182,7 +182,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta3f", "booster",
S("TA3 Booster"),
S("Part of the TA3 Industrial Furnace and further machines. Used to increase the air/gas pressure."),
"techage:ta3_booster")

View File

@ -211,7 +211,3 @@ minetest.register_lbm({
end end
}) })
techage.register_entry_page("ta3f", "firebox",
S("TA3 Furnace Firebox"),
S("Part of the TA3 Industrial Furnace. Faster and more powerful than the standard furnace."),
"techage:furnace_firebox")

View File

@ -275,7 +275,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta3f", "furnace",
S("TA3 Furnace Top"),
S("Part of the TA3 Industrial Furnace. Faster and more powerful than the standard furnace."),
"techage:ta3_furnace_pas")

View File

@ -1,45 +0,0 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
GPL v3
See LICENSE.txt for more information
TA3 Furnace Help
]]--
local S = techage.S
local HelpText = S("Build the Furnace with TA3 Furnace Firebox, TA3 Furnace Top, "..
"and TA3 Booster according to the plan.@n"..
"- Heat the Firebox with coal/charcoal/oil@n"..
"- Power the Booster with electrical power.@n"..
"- Select one of the possible outputs@n"..
"- Connect the TA3 Furnace Top with your machines by means of tubes.@n"..
"- Start the Furnace")
local Cable = "techage_electric_cable_inv.png"
local Tube = "techage_tube_tube.png"
local Pusher = "techage_appl_pusher.png^techage_frame_ta3.png"
local Booster = "techage_filling_ta3.png^techage_appl_compressor.png^[transformFX^techage_frame_ta3.png"
local Firebox = "techage_concrete.png^techage_appl_firehole.png^techage_frame_ta3.png"
local Furnace = "techage_concrete.png^techage_appl_furnace.png^techage_frame_ta3.png"
local Images = {
{false, false, false, false, false, false, false},
{Tube, Pusher, Tube, Furnace, Tube, Pusher, Tube},
{false, Cable, Booster, Firebox, false, false, false},
}
techage.register_category_page("ta3f",
S("TA3 Industrial Furnace"),
HelpText,
nil,
{"firebox", "furnace", "booster"},
Images)

50
i18n.py
View File

@ -4,36 +4,68 @@
# Generate a template file for translation purposes # Generate a template file for translation purposes
import os, fnmatch, re import os, fnmatch, re, shutil
pattern = re.compile(r'[ \.=^\t]S\("(.+?)"\)', re.DOTALL) pattern_lua = re.compile(r'[ \.=^\t]S\("(.+?)"\)', re.DOTALL)
pattern_tr = re.compile(r'(.+?[^@])=(.+)')
def gen_template(templ_file, lkeyStrings): def gen_template(templ_file, lkeyStrings):
lOut = [] lOut = []
lkeyStrings = list(set(lkeyStrings))
lkeyStrings.sort() lkeyStrings.sort()
for s in lkeyStrings: for s in lkeyStrings:
lOut.append("%s=" % s) lOut.append("%s=" % s)
file(templ_file, "wt").write("\n".join(lOut)) file(templ_file, "wt").write("\n".join(lOut))
def read_strings(fname): def read_lua_file_strings(lua_file):
lOut = [] lOut = []
text = file(fname).read() text = file(lua_file).read()
for s in pattern.findall(text): for s in pattern_lua.findall(text):
s = re.sub(r'"\.\.\s+"', "", s) s = re.sub(r'"\.\.\s+"', "", s)
s = re.sub("@[^@=n]", "@@", s)
s = s.replace("\n", "@n")
s = s.replace("\\n", "@n")
s = s.replace("=", "@=")
lOut.append(s) lOut.append(s)
return lOut return lOut
def i18n(templ_file): def inport_tr_file(tr_file):
dOut = {}
for line in file(tr_file, "r").readlines():
s = line.strip()
if s == "" or s[0] == "#":
continue
match = pattern_tr.match(s)
if match:
dOut[match.group(1)] = match.group(2)
return dOut
def generate_template(templ_file):
lOut = [] lOut = []
for root, dirs, files in os.walk('./'): for root, dirs, files in os.walk('./'):
for name in files: for name in files:
if fnmatch.fnmatch(name, "*.lua"): if fnmatch.fnmatch(name, "*.lua"):
fname = os.path.join(root, name) fname = os.path.join(root, name)
found = read_strings(fname) found = read_lua_file_strings(fname)
print fname, len(found) print fname, len(found)
lOut.extend(found) lOut.extend(found)
lOut = list(set(lOut))
lOut.sort()
gen_template(templ_file, lOut) gen_template(templ_file, lOut)
return lOut
i18n("./locale/template.txt") def update_tr_file(lNew, mod_name, tr_file):
lOut = ["# textdomain: %s\n" % mod_name]
shutil.copyfile(tr_file, tr_file+".old")
dOld = inport_tr_file(tr_file)
for key in lNew:
val = dOld.get(key, "")
lOut.append("%s=%s" % (key, val))
lOut.append("##### not used anymore #####")
for key in dOld:
if key not in lNew:
lOut.append("%s=%s" % (key, dOld[key]))
file(tr_file, "w").write("\n".join(lOut))
data = generate_template("./locale/template.txt")
update_tr_file(data, "techage", "./locale/techage.de.tr")
print "Done.\n" print "Done.\n"

BIN
images/TES_5x5x5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 KiB

View File

@ -40,7 +40,6 @@ else
local MP = minetest.get_modpath("techage") local MP = minetest.get_modpath("techage")
dofile(MP.."/basis/lib.lua") -- helper functions dofile(MP.."/basis/lib.lua") -- helper functions
dofile(MP.."/basis/gravel_lib.lua") -- ore probability dofile(MP.."/basis/gravel_lib.lua") -- ore probability
dofile(MP.."/basis/guide.lua") -- construction guide
dofile(MP.."/basis/node_states.lua") -- state model dofile(MP.."/basis/node_states.lua") -- state model
dofile(MP.."/basis/tubes.lua") -- tubelib replacement dofile(MP.."/basis/tubes.lua") -- tubelib replacement
dofile(MP.."/basis/command.lua") -- tubelib replacement dofile(MP.."/basis/command.lua") -- tubelib replacement
@ -49,11 +48,11 @@ else
dofile(MP.."/basis/assemble.lua") dofile(MP.."/basis/assemble.lua")
-- Main doc -- Main doc
dofile(MP.."/doc/doc.lua") dofile(MP.."/doc/manual_DE.lua")
dofile(MP.."/doc/ta1_doc.lua") --dofile(MP.."/doc/manual_EN.lua")
dofile(MP.."/doc/ta2_doc.lua") dofile(MP.."/doc/plans.lua")
dofile(MP.."/doc/ta3_doc.lua") dofile(MP.."/doc/items.lua")
dofile(MP.."/doc/ta4_doc.lua") dofile(MP.."/doc/guide.lua") -- construction guides
-- Nodes1 -- Nodes1
dofile(MP.."/nodes/baborium.lua") dofile(MP.."/nodes/baborium.lua")
@ -91,7 +90,6 @@ else
end end
-- Steam Engine -- Steam Engine
dofile(MP.."/steam_engine/help.lua")
dofile(MP.."/steam_engine/firebox.lua") dofile(MP.."/steam_engine/firebox.lua")
dofile(MP.."/steam_engine/boiler.lua") dofile(MP.."/steam_engine/boiler.lua")
dofile(MP.."/steam_engine/cylinder.lua") dofile(MP.."/steam_engine/cylinder.lua")
@ -124,7 +122,6 @@ else
dofile(MP.."/coal_power_station/power_terminal.lua") dofile(MP.."/coal_power_station/power_terminal.lua")
-- Industrial Furnace -- Industrial Furnace
dofile(MP.."/furnace/help.lua")
dofile(MP.."/furnace/firebox.lua") dofile(MP.."/furnace/firebox.lua")
dofile(MP.."/furnace/cooking.lua") dofile(MP.."/furnace/cooking.lua")
dofile(MP.."/furnace/furnace_top.lua") dofile(MP.."/furnace/furnace_top.lua")
@ -132,7 +129,6 @@ else
dofile(MP.."/furnace/recipes.lua") dofile(MP.."/furnace/recipes.lua")
-- Tools -- Tools
dofile(MP.."/doc/ta_doc.lua")
dofile(MP.."/tools/trowel.lua") dofile(MP.."/tools/trowel.lua")
dofile(MP.."/tools/repairkit.lua") dofile(MP.."/tools/repairkit.lua")
dofile(MP.."/basic_machines/blackhole.lua") dofile(MP.."/basic_machines/blackhole.lua")
@ -199,6 +195,5 @@ else
dofile(MP.."/energy_storage/turbine.lua") dofile(MP.."/energy_storage/turbine.lua")
dofile(MP.."/energy_storage/inlet.lua") dofile(MP.."/energy_storage/inlet.lua")
dofile(MP.."/energy_storage/nodes.lua") dofile(MP.."/energy_storage/nodes.lua")
dofile(MP.."/energy_storage/help.lua")
end end

View File

@ -210,23 +210,3 @@ minetest.register_lbm({
end end
}) })
local PileHelp = S("Coal Pile to produce charcoal:@n"..
"- build a 5x5 block dirt base@n"..
"- place a lighter in the centre@n"..
"- build a 3x3x3 wood cube around@n"..
"- cover all with dirt to a 5x5x5 cube@n"..
"- keep a hole to the lighter@n"..
"- ignite the lighter and immediately@n"..
"- close the pile with one wood and one dirt@n"..
"- open the pile after the smoke disappeared@n"..
"(see plan)")
local PileImages = {
{"default_dirt.png", "default_dirt.png", "default_dirt.png", "default_dirt.png", "default_dirt.png"},
{"default_dirt.png", "default_wood.png", "default_wood.png", "default_wood.png", "default_dirt.png"},
{"default_dirt.png", "default_wood.png", "default_wood.png", "default_wood.png", "default_dirt.png"},
{"default_dirt.png", "default_wood.png", "techage_lighter.png", "default_wood.png", "default_dirt.png"},
{"default_dirt.png", "default_dirt.png", "default_dirt.png", "default_dirt.png", "default_dirt.png"},
}
techage.register_entry_page("ta1", "coalpile", "Coal Pile", PileHelp, nil, PileImages)

View File

@ -257,27 +257,3 @@ function techage.stop_burner(pos)
end end
local BurnerHelp = S("Coal Burner to heat the melting pot:@n"..
"- build cobble tower with a 3x3 footprint@n"..
"- more height means more flame heat@n"..
"- keep a hole open on one side@n"..
"- put a lighter in@n"..
"- fill the tower from the top with charcoal@n"..
"- ignite the lighter@n"..
"- place the pot in the flame, (one block above the tower)@n"..
"- to pause the burner, close the hole temporarily with e.g. dirt@n"..
"(see plan)")
local BurnerImages = {
{false, false, false, "default_cobble.png^techage_meltingpot.png", false},
{false, false, false, "techage_flame.png", false},
{false, false, "default_cobble.png", "techage_charcoal.png", "default_cobble.png"},
{false, false, "default_cobble.png", "techage_charcoal.png", "default_cobble.png"},
{false, false, "default_cobble.png", "techage_charcoal.png", "default_cobble.png"},
{false, false, "default_cobble.png", "techage_charcoal.png", "default_cobble.png"},
{false, false, false, "techage_lighter.png", "default_cobble.png"},
{false, false, "default_cobble.png", "default_cobble.png", "default_cobble.png"},
}
techage.register_entry_page("ta1", "burner", S("Coal Burner"), BurnerHelp, nil, BurnerImages)

View File

@ -192,9 +192,3 @@ minetest.register_craft({
minetest.register_alias("techage:sieve", "techage:sieve3") minetest.register_alias("techage:sieve", "techage:sieve3")
minetest.register_alias("techage:auto_sieve", "techage:auto_sieve3") minetest.register_alias("techage:auto_sieve", "techage:auto_sieve3")
techage.register_entry_page("ta1", "sieve",
S("TA1 Gravel Sieve"),
S("To sieve Gravel and Basalt Gravel to get ores. Punch the sieve with wielded gravel to start sieving. "..
"Sieving can be automated by means of the TA1 Hopper. Gravel can be found in caves or "..
"generated by means of a TA1 Hammer."),
"techage:sieve3")

View File

@ -186,6 +186,3 @@ minetest.register_craft({
} }
}) })
techage.register_entry_page("ta1", "hammer",
"TA1 xxx Hammer", [[Hammer to smash stone to gravel.
Available as Bronze, Steel, Mese, and Diamond Hammer.]], "techage:hammer_bronze")

View File

@ -150,9 +150,3 @@ techage.register_node({"techage:hopper_ta1"}, {
end, end,
}) })
techage.register_entry_page("ta1", "hopper",
S("TA1 Hopper"),
S("The Hopper collects dropped items and pushes them to the right side.@n"..
"Items are sucked up when they are dropped on top of the Hopper block.@n"..
"But the Hopper can also pull items out of chests or furnace blocks, if it is placed below."),
"techage:hopper_ta1")

View File

@ -88,7 +88,3 @@ minetest.register_craft({
} }
}) })
techage.register_entry_page("ta1", "lighter",
S("TA1 Lighter"),
S("lighter to ignite the Coal Burner and the Coal Pile."), "techage:lighter")

View File

@ -516,7 +516,3 @@ function techage.ironage_register_recipe(recipe)
end end
end end
techage.register_entry_page("ta1", "meltingpot",
S("TA1 Melting Pot"),
S("To melt ores and/or produce alloys. Place the pot on top of the Coal Burner."),
"techage:meltingpot")

View File

@ -124,7 +124,3 @@ techage.ironage_register_recipe({
time = 3, time = 3,
}) })
techage.register_entry_page("ta1", "meridium",
S("Meridium Ingot"),
S("A brilliant alloy for tools, which are used in the dark. Can be made with Coal Burner and TA3 Industrial Furnace."),
"techage:meridium_ingot")

View File

@ -95,7 +95,3 @@ if techage.modified_recipes_enabled then
}) })
end end
techage.register_entry_page("ta1", "iron",
S("TA1 Iron Ingot"),
S("Steel replacement for TA1. Needed for many tools. Can be made with the Coal Burner from iron lumps."),
"techage:iron_ingot")

View File

@ -1,31 +1,28 @@
# textdomain: techage # textdomain: techage
@nThe Distributor tries to push 12 items every 2 seconds.= Der Verteiler gibt bis zu 12 Gegenstände alle 2 s weiter. #### TA3 Terminal ####@n@nSend commands to your machines@nand output text messages from your@nmachines to the Terminal.@n@nCommand syntax:@n cmd <num> <cmnd>@n@nexample: cmd 181 on@n<num> is the number of the node to which the command is sent@n'on' is the command to turn machines/nodes on@nFurther commands can be retrieved by clicking on@nmachines/nodes with the Techage Info Tool.@n@nLocal commands:@n- clear @= clear screen@n- help @= this message@n- pub @= switch to public use@n- priv @= switch to private use@nTo program a user button with a command:@n set <button-num> <button-text> <command>@ne.g. 'set 1 ON cmd 123 on'@n=
@nThe Distributor tries to push 4 items every 2 seconds.= Der Verteiler gibt bis zu 4 Gegenstände alle 2 s weiter. Akkus=Akkus
Allow to dig/place Techage power lines nearby power poles=Erlaubt TODO
A brilliant alloy for tools, which are used in the dark. Can be made with Coal Burner and TA3 Industrial Furnace.=Eine leuchtende Legierung für Werkzeuge, welche im Dunkeln verwendet werden. Kann mit dem Kohlebrenner oder dem TA3 Industrieofen hergestellt werden.
Ash=Asche Ash=Asche
Autocrafter=Autocrafter Autocrafter=Autocrafter
Axle Power Source=Achsenkraftquelle Axle Power Source=Achsenkraftquelle
Baborium Ingot=Baboriumbarren
Build a Power Station according to the plan with TA3 Firebox, TA3 Boiler, Steam Pipes, Cooler, Turbine and Generator.@n- Heat the Firebox with coal/charcoal or oil@n- Fill the boiler with water (more than one bucket is needed)@n- Wait until the water is heated@n- Open the steam ventil@n- Connect the Generator with your machines by means of cables and junction boxes@n- Start the Generator=Baue ein Kraftwerk gemäß dem Plan mit TA3 Feuerbox, TA3 Kessel, Dampfröhren, Turbine und Generator.@n- Erhitze die Feuerbox mit Kohle/Holzkohle oder Öl@n- Fülle den Kessel mit Wasser (mehr als ein Eimer)@n- Warte bis das Wasser heiß ist@n- Öffne das Dampfventil@n- Verbinde den Generator mit deinen Maschinen mit Hilfe von Kabeln und Verbindungsdosen@n- Starte den Generator Baborium Lump=Baboriumklumpen
Baborium Ore=Baboriumerz
Build a steam engine according to the plan with TA2 Firebox, TA2 Boiler, Steam Pipes, TA2 Cylinder and TA2 Flywheel.@n- Heat the Firebox with coal/charcoal@n- Fill the boiler with water (more than one bucket is needed)@n- Wait until the water is heated@n- Open the steam ventil@n- Start the Flywheel@n- Connect the Flywheel with your machines by means of Axles and Gearboxes=Baue eine Dampfmaschine gemäß dem Plan mit TA2 Feuerbox, TA2 Kessel, Dampfröhren, TA2 Zylinder und TA2 Schwungrad.@n- Erhitze die Feuerbox mit Kohle/Holzkohle oder Öl@n- Fülle den Kessel mit Wasser (mehr als ein Eimer)@n- Warte bis das Wasser heiß ist@n- Öffne das Dampfventil@n- Starte das Schwungrad@n- Verbinde das Schwungrad mit deinen Maschinen mit Hilfe der Achsen und Achsgetriebeboxen. Basalt Cobble=Basaltpflaster
Basalt Glass=Basaltglas
Basalt Glass 2=Basaltglas 2
Basalt Glass Thin=Basaltglas dünn
Basalt Glass Thin 2=Basaltglas dünn 2
Basalt Glass Thin XL=Basaltglas dünn XL
Basalt Glass Thin XL 2=Basaltglas dünn XL 2
Basalt Gravel=Basaltkies
Basalt Stone=Basaltgestein
Basalt Stone Block=Basaltsteinblock
Basalt Stone Brick=Basaltsteinziegel
Biome=Biom
Block configured items for open ports=Blockiere konfigurierte Gegenstände für offene Ausgänge
Build derrick=Errichte Ölturm Build derrick=Errichte Ölturm
Build the Furnace with TA3 Furnace Firebox, TA3 Furnace Top, and TA3 Booster according to the plan.@n- Heat the Firebox with coal/charcoal/oil@n- Power the Booster with electrical power.@n- Select one of the possible outputs@n- Connect the TA3 Furnace Top with your machines by means of tubes.@n- Start the Furnace=Baue den Ofen mit Hilfe von Feuerbox, TA3 Ofenoberteil und TA3 Gebläse.@n- Fülle die Feuerbox mit Kohle/Holzkohle oder Öl@n- Versorge das Gebläse mit Strom@n- Wähle das Rezept im Ofen@n- Verbinde das Ofenoberteil mit deinen Maschinen mit Hilfe der Röhren.
Burning times with one oil item for@nStream Engine / Power Station / Tiny Generator:@n@nPower max. : 25 / 80 / 12@nOil burn time/s : 32 / 20 / 100 @n@nburn time at power 2 : 400 / 800 / 600@nburn time at power 10 : 80 / 160 / 120@nburn time at power 20 : 40 / 80 / --=Brennzeiten mit einer Öl-Einheit für@nDampfmaschine / Kraftwerk / Kleingenerator:@n@nKraft max. : 25 / 80 / 12@nÖlbrennzeit/s : 32 / 20 / 100 @n@nBrennzeit bei Kraft 2 : 400 / 800 / 600@nBrennzeit bei Kraft 10 : 80 / 160 / 120@nBrennzeit bei Kraft 20 : 40 / 80 / --
Coal Burner=Kohlebrenner
Coal Burner to heat the melting pot:@n- build cobble tower with a 3x3 footprint@n- more height means more flame heat@n- keep a hole open on one side@n- put a lighter in@n- fill the tower from the top with charcoal@n- ignite the lighter@n- place the pot in the flame, (one block above the tower)@n- to pause the burner, close the hole temporarily with e.g. dirt@n(see plan)=Kohlebrenner um den Schmelztiegel zu erhitzen:@n- Baue einen Cobblestone-Turm mit einer 3x3 Grundfläche@n- mehr Höhe bedeutet auch mehr Hitze@n- Lasse ein Loch an einer Seite offen@n- Lege einen Anzünder hinein@n- Fülle den Turm von oben mit Holzkohle@n- Zünde den Anzünder an@n- Platziere den Schmelztiegel in die Flamme (einen Block über den Turm)@nUm den Brenner anzuhalten, schließe das Loch vorübergehend bspw. mit einem Erdblock.@n(siehe Plan)
Coal Pile to produce charcoal:@n- build a 5x5 block dirt base@n- place a lighter in the centre@n- build a 3x3x3 wood cube around@n- cover all with dirt to a 5x5x5 cube@n- keep a hole to the lighter@n- ignite the lighter and immediately@n- close the pile with one wood and one dirt@n- open the pile after the smoke disappeared@n(see plan)=Köhler um Holzkohle herzustellen:@n- Baue eine 5x5 große Fläche aus Erde (dirt)@n- Platziere in die Mitte einen Anzünder@n- Baue aus Holz (wood) einen 3x3x3 größen Würfel darüber@n -Überdecke alles mit einer Schicht Erde zu einem 5x5x5 großen Würfel@n- Lasse ein Loch zum Anzünder@n- Zünde den Anzünder an und verschließe das Loch sofort mit jeweils einem Block Holz und Erde@n- Öffne den Köhler erst, wenn der Rauch verschwunden ist@n(siehe Plan)
Collection of TA3 machines, some with eletrical power supply.=Sammlung von TA3 Maschinen, einige mit Stromversorgung.
Compressed Gravel=Komprimiertes Kies Compressed Gravel=Komprimiertes Kies
Depth=Tiefe Depth=Tiefe
Dirt with Ash=Erde mit Asche Dirt with Ash=Erde mit Asche
@ -33,20 +30,21 @@ Distributor=Verteiler
Drill Bit=Bohrstange Drill Bit=Bohrstange
Ele Power Source=Ele Kraftquelle Ele Power Source=Ele Kraftquelle
Electronic Fab=Elektronikfabrik Electronic Fab=Elektronikfabrik
Enter=Eingeben
Error=Fehler
Flint and Iron=Flint and Iron Flint and Iron=Flint and Iron
Flowing Oil=Fließendes Öl Flowing Oil=Fließendes Öl
Force order of filter items=Erzwinge Reihenfolge
Furnace Top=Ofenoberteil Furnace Top=Ofenoberteil
Generators=Generatoren
Gravel Rinser=Kiesspüler Gravel Rinser=Kiesspüler
Gravel Sieve=Kiessieb Gravel Sieve=Kiessieb
Grinder=Mühle Grinder=Mühle
Grinding=Mahlen Grinding=Mahlen
Heat=Hitze Heat=Hitze
Help=Hilfe Insert destination node number(s)=Gebe Zielnummer(n) ein
Liquid Sampler=Flüssigkeitensammler
In the TA3 age, oil (petroleum) serves as an almost infinite fuel. But oil is difficult and expensive to recover:@n1: Search for oil with the TA3 Oil Explorer@n2: Drill for oil with the TA3 Oil Drill Box (oil derrick)@n3: Recover the oil with the TA3 Oil Pumpjack@n4: A power station nearby provides the necessary @n electrical power for the derrick and pumpjack.@n5: Tubes or rails are used for oil transportation.=Im TA3-Zeitalter dient Öl (Erdöl) als nahezu unbegrenzt zur Verfügung stehender Kraftstoff. Aber Öl zu fördern ist schwierig und aufwändig.@n1. Suche nach Öl mit dem Öl Sondierer.@n2. Bohre nach dem Öl mit dem Ölbohrer (Bohrturm).@n3. Fördere das Öl mit der Ölpumpe.@n4. Ein Kraftwerk in der Nähe sorgt für ausreichend elektrische Energie für Bohrer und Ölpumpe.@n5. Röhren oder Schienen dienen dem Öltransport. Machines=Maschinen
Iron Age is the first level of the available four technic stages.@nThe goal of TA1 is to collect and craft enough Iron Ingots@nto be able to build machines for stage 2 (TA2).@n1. You have to collect dirt and wood to build a Coal Pile.@n (The Coal Pile is needed to produce charcoal)@n2. Build a Coal Burner to melt iron to iron ingots.@n3. Craft a Gravel Sieve and collect gravel.@n (A Hammer can be used to smash cobble to gravel)@n4. Sieve the gravel to get the necessary ores or go mining.=Die Eisenzeit ist die erste Stufe (TA1) der verfügbaren 4 Entwicklungsstufen. Das Ziel von TA1 ist ausreichend Eisenbarren herzustellen, um Maschinen für die Stufe 2 (TA2) bauen zu können.@n1. Sammle Erde und Holz und baue einen Köhler zur Herstellung von Holzkohle.@n2. Baue einen Kohlebrenner um Eisenbarren aus Eisenerz herstellen zu können.@n3. Baue ein Kiessieb und sammle Kies@n (mit dem Hammer kann Stein zu Kies geschlagen werden).@n4. Siebe das Kies um Erze zu gewinnen oder betreibe Bergbau.
Melting Guide=Schmelzführer Melting Guide=Schmelzführer
Melting Pot active (heat@==Schmelztiegel aktiv (Hitze@= Melting Pot active (heat@==Schmelztiegel aktiv (Hitze@=
Melting Pot inactive (heat@==Schmelztiegel inaktiv (Hitze@= Melting Pot inactive (heat@==Schmelztiegel inaktiv (Hitze@=
@ -54,41 +52,161 @@ Melting Pot inactive (heat@=0)=Schmelztiegel inaktiv (Hitze@=0)
Menu=Menü Menu=Menü
Menu,Recipes=Menü,Rezepte Menu,Recipes=Menü,Rezepte
Meridium Axe=Meridium Axt Meridium Axe=Meridium Axt
Meridium Ingot=Meridium Barren
Meridium Pickaxe=Meridium Pickel Meridium Pickaxe=Meridium Pickel
Meridium Shovel=Meridium Schaufel Meridium Shovel=Meridium Schaufel
Meridium Sword=Meridium Schwert Meridium Sword=Meridium Schwert
Network Data=Netzwerkdaten
No plan available=Kein Plan verfügar No plan available=Kein Plan verfügar
Oil Age (TA3)=Ölzeitalter (TA3) No wind at this altitude!=Kein Wind auf dieser Höhe
Oil Burning Times=Brennzeiten Node owner=Blockbesitzer
Number nodes=Blocknummern
Oil Drill Box=Ölbohrkiste
Oil Pumpjack=Ölpumpe
Oil Source=Erdöl Oil Source=Erdöl
Oil amount:=Ölmenge: Oil amount:=Ölmenge:
Outp=Ergeb. Outp=Ergeb.
Part of the Power Station. Has to be placed in the steam circulation after the Turbine.@n(see TA3 Power Station)=Teil des Kraftwerks. Muss nach der Turbine in die Dampfleitung platziert werden.@n(siehe TA3 Kraftwerk)
Part of the Power Station. Has to be placed on top of TA3 Power Station Boiler Base.@n(see TA3 Power Station)=Teil des Kraftwerks. Muss auf die Kessel Basis platziert werden.@n(siehe TA3 Kraftwerk)
Part of the Power Station. Has to be placed on top of the TA3 Power Station Firebox and filled with water.@n(see TA3 Power Station)=Teil des Kraftwerks. Muss auf die Feuerbox platziert werden.@n(siehe TA3 Kraftwerk)
Part of the Power Station. Has to be placed side by side with the TA3 Generator.@n(see TA3 Power Station)=Teil des Kraftwerks. Muss neben den Generator platziert werden.@n(siehe TA3 Kraftwerk)
Part of the Power Station. Has to be placed side by side with the TA3 Turbine. Connect the Generator with your TA3 machines by means of Electric Cables and Junction Boxes@n(see TA3 Power Station)=Teil des Kraftwerks. Muss neben die Turbine platziert werden. Verbinde den Generator mit deinen Maschinen mit Hilfe der Kabel und Verbindungsdosen.@n(siehe TA3 Kraftwerk)
Part of the TA3 Industrial Furnace and further machines. Used to increase the air/gas pressure.=Teil des TA3 Industrieofens. Wird benötigt um den Luftdruck zu erhöhen.
Part of the TA3 Industrial Furnace. Faster and more powerful than the standard furnace.=Teil des TA3 Industrieofens. Schneller und besser als der Standard Ofen.
Part of the steam engine. Has to be placed on top of TA2 Boiler Base.@n(see Steam Engine)=Teil der Dampfmaschine. Muss auf die TA2 Kessel Basis gesetzt werden.@n(siehe Dampfmaschine)
Part of the steam engine. Has to be placed on top of the Firebox and filled with water.@n(see Steam Engine)=Teil der Dampfmaschine. Muss auf die Feuerbox gesetzt und mit Wasser gefüllt werden.@n(siehe Dampfmaschine)
Part of the steam engine. Has to be placed side by side with the TA2 Cylinder.@nUsed to turn on/off the steam engine. Connect the Flywheel with your TA2 machines by means of Axles and Gearboxes.@n(see Steam Engine)=Teil der Dampfmaschine. Muss neben den Zylinder platziert werden. Dient dazu, die Dampfmaschine ein- und auszuschalten. Verbinde das Schwungrad mit deinen TA2 Maschinen mit Hilfe der Achsen und Getriebeboxen.@n(siehe Dampfmaschine)
Part of the steam engine. Has to be placed side by side with the TA2 Flywheel.@n(see Steam Engine)=Teil der Dampfmaschine. Muss neben das Schwungrad platziert werden.@n(siehe Dampfmaschine)
Plan=Plan Plan=Plan
Position=Position
Position temperature=Positionstemperatur
Power=Energie Power=Energie
Power Consumption=Energieverbrauch
Power consumption and supply:@n- TA3 Power Station: 80@n- TA3 Tiny Generator: 12@n- TA3 Akku Box: 10 (in both dirs)@n- TA3 Oil Drill Box: 16@n- TA3 Oil Pumpjack: 16@n- TA3 Electronic Fab: 12@n- TA3 Autocrafter: 6@n- TA3 Grinder: 6@n- TA3 Gravel Sieve: 4@n- TA3 Booster: 3@n- Lamps: 0.5@n@n- Signs Bot: 8 (while loading)=Energiebereitstellung und Verbrauch:@n- TA3 Kraftwerk: 80@n- TA3 Kleingenerator: 12@n- TA3 Akku Box: 10 (in both dirs)@n- TA3 Ölbohrer: 16@n- TA3 Ölpumpe: 16@n- TA3 Electronik Fabrik: 12@n- TA3 Autocrafter: 6@n- TA3 Mühle: 6@n- TA3 Kiessieb: 4@n- TA3 Gebläse: 3@n- Lampen: 0.5@n@n- Signs Bot: 8 (beim Laden)
Pusher=Schieber Pusher=Schieber
Remove derrick=Entferne Ölturm Remove derrick=Entferne Ölturm
Rinsing=Waschen Rinsing=Waschen
Save=Speichern
Send signal if nodes have been:=Sende ein Signal falls Blöcke:
Sieved Basalt Gravel=Basaltkies gesiebt
Sieved Gravel=Gesiebtes Kies Sieved Gravel=Gesiebtes Kies
Small electrical power generator. Needs oil as fuel.@nIt provides 12 units electrical power@nOil burn time: 100s=Kleiner Stromgenerator. Benötigt Öl als Brennstoff@nLiefert 12 Einheiten Strom@nÖlbrenndauer: 100s
Steam Age is the second level of the available four technic stages.@nThe goal of TA2 is to build a coal powered stream engine with drive axles and machines to produce ores and vacuum tubes for the first electronic devices and machines in TA3.=Das Dampfzeitalter ist die 2. Entwicklungsstufe der 4 verfügbaren Technikzeitsalter.@nZiel ist es, eine Dampfmaschine mit Antriebsachsen zu bauen, um Erze zu gewinnen und Vakuumröhren für erste Elektronische Geräte und Maschinen in TA3 herstellen zu können.
Steam Engine=Dampfmaschine
Steam Power Source=Dampfenergiequelle Steam Power Source=Dampfenergiequelle
Steel replacement for TA1. Needed for many tools. Can be made with the Coal Burner from iron lumps.=Stahlersatz für TA1. Wird für viele Werkzeuge benötigt. Kann mit Hilfe des Kohlebrenners hergestellt werden. Store=Speichern
Switched to private use!=Zur privaten Nutzung umgeschaltet
Switched to public use!=Zur öffentlichen Nutzung umgeschaltet
Syntax error, try help=Syntax Fehler, nutze help
TA Ceiling Lamp=TA Deckenlampe
TA Construction Board=TA Konstruktionsplan
TA Electric Cable=TA Stromkabel
TA Electric Junction Box=TA Verteilerbox
TA Industrial Lamp 1=TA Industrielampe 1
TA Industrial Lamp 2=TA Industrielampe 2
TA Industrial Lamp 3=TA Industrielampe 3
TA Lamp=TA Lampe
TA Power Line=TA Stromleitung
TA Power Pole=TA Strommast
TA Power Pole Top (for up to 6 connections)=TA Strommastkopf (für bis zu 6 Verbindungen)
TA Power Pole Top 2 (for landlines)=TA Strommastkopf 2 (für Überlandleitungen)
TA Power Switch=TA Stromschalter
TA Power Switch Box=TA Stromschalterbox
TA Power Switch Small=TA Stromschalter klein
TA Street Lamp=TA Straßenlampe
TA1 Bronze Hammer (smash stone to gravel)=TA1 Bronzehammer (zerschlage Stein zu Kies)
TA1 Burning=TA1 Brennen
TA1 Charcoal=TA1 Holzkohle
TA1 Diamond Hammer (smash stone to gravel)=TA1 Diamanthammer (zerschlage Stein zu Kies)
TA1 Gravel Sieve=TA1 Kiessieb
TA1 Hopper=TA1 Trichter
TA1 Iron Ingot=TA1 Eisenbarren
TA1 Lighter=TA1 Anzünder
TA1 Melting=TA1 Schmelzen
TA1 Melting Pot=TA1 Schmelztiegel
TA1 Meridium Hammer (smash stone to gravel)=TA1 Meridiumhammer (zerschlage Stein zu Kies)
TA1 Mese Hammer (smash stone to gravel)=TA1 Mesehammer (zerschlage Stein zu Kies)
TA1 Steel Hammer (smash stone to gravel)=TA1 Stahlhammer (zerschlage Stein zu Kies)
TA2 Boiler Base=TA2 Boiler unten
TA2 Boiler Top=TA2 Boiler oben
TA2 Cylinder=TA2 Zylinder
TA2 Drive Axle=TA2 Antriebsachse
TA2 Ele Fab=TA2 E-Fabrik
TA2 Firebox=TA2 Feuerkiste
TA2 Flywheel=TA2 Schwungrad
TA2 Gearbox=TA2 Getriebeblock
TA2 Gravel Sieve=TA2 Kiessieb
TA2 Protected Chest=TA2 Gesicherte Kiste
TA2 Steam Pipe=TA2 Dampfleitung
TA3 Akku Box=TA3 Akku Block
TA3 Boiler Base=TA3 Boiler unten
TA3 Boiler Top=TA3 Boiler oben
TA3 Booster=TA3 Gebläse
TA3 Button/Switch=TA3 Taster/Schalter
TA3 Cart Detector=TA3 Wagen Detektor
TA3 Coal Power Station Firebox=TA3 Kohlekraftwerks-Feuerbox
TA3 Cooler=TA3 Kühler
TA3 Derrick=TA3 Bohrturm
TA3 Detector=TA3 Detektor
TA3 Drill Bit=TA3 Bohrgestänge
TA3 Ele Fab=TA3 E-Fabrik
TA3 Furnace Firebox=TA3 Ofen-Feuerkiste
TA3 Generator=TA3 Generator
TA3 Gravel Sieve=TA3 Kiessieb
TA3 Logic Block=TA3 Logikblock
TA3 Melting=TA3 Schmelzen
TA3 Node Detector=TA3 Block Detektor
TA3 Oil Explorer=TA3 Ölexplorer
TA3 Oil Storage=TA3 Öl Speicher
TA3 Player Detector=TA3 Spieler Detektor
TA3 Power Terminal=TA3 Strom Terminal
TA3 Protected Chest=TA3 Gesicherte Kiste
TA3 Repeater=TA3 Wiederholer
TA3 Sequencer=TA3 Sequenzer
TA3 Terminal=TA3 Terminal
TA3 Timer=TA3 Timer
TA3 Tiny Power Generator=TA3 Kleiner Stromgenerator
TA3 Turbine=TA3 Turbine
TA3 Vacuum Tube=TA3 Vakuumpumpe
TA4 Carbon Fiber=TA4 Kohlefaser
TA4 Derrick=TA4 Bohrturm
TA4 Epoxide Resin=TA4 Epoxidharz
TA4 Generator=TA4 Generator
TA4 Heat Exchanger=TA4 Wärmetauscher
TA4 Heat Exchanger 1=TA4 Wärmetauscher 1
TA4 Heat Exchanger 2=TA4 Wärmetauscher 2
TA4 Heat Exchanger 3=TA4 Wärmetauscher 3
TA4 Junction Pipe=TA4 Verbindungsrohr
TA4 Pillar=TA4 Säule
TA4 Pipe=TA4 Röhre
TA4 Pipe Inlet=TA4 Rohrzulauf
TA4 Protected Chest=TA4 Gesicherte Kiste
TA4 Rotor Blade=TA4 Rotorblatt
TA4 Silicon Wafer=TA4 Silizium-Wafer
TA4 Streetlamp Solar Cell=TA4 Straßenlampen-Solarzelle
TA4 Turbine=TA4 Turbine
TA4 WLAN Chip=TA4 WLAN Chip
TA4 Wind Turbine=TA4 Windkraftanlage
TA4 Wind Turbine Nacelle=TA4 Windkraftanlagengondel
TA4 Wind Turbine Signal Lamp=TA4 Windkraftanlagenlampe
TechAge Black Hole=TechAge Schwarzes Loch
TechAge Black Hole (let items disappear)=TechAge Schwarzes Loch (Gegenstände verschwinden)
TechAge Door Block=TechAge Türblock
TechAge Gate Block=TechAge Torblock
TechAge Gravel=TechAge Kies
TechAge Info Tool (use @= read status info)=TechAge Info Werkzeug
TechAge Programmer (right @= read number, left @= write numbers)=TechAge Programmer (rechts @= lese Nummer, links @= schreibe Nummern)
TechAge Repair Kit=TechAge Reparier Set
TechAge Signal Lamp=TechAge Signallampe
TechAge Signal Lamp (can be colored)=TechAge Signallampe (kann gefärbt werden)
TechAge Steel Mat=TechAge Stahlmatte
TechAge Trowel=TechAge Kelle
The wind turbines are too close together!=Die Windkraftanlagen stehen zu eng beisammen!
Time=Zeit
Update=Update
Usmium Nuggets=Usmium Nuggets
WLAN Chip=WLAN Chip
Wrong place for wind turbines!=Falscher Ort für Windkraftanlagen
[TA4 Wind Turbine]=[TA4 Windkraftanlage]
[TA] Area is protected!=[TA] Bereich ist geschützt
[TA] Derrick is being built!=[TA] Bohrturm wird errichtet
[TA] Derrick is being removed!=[TA] Bohrturm wird abgebaut
[TA] Not enough space!=[TA] Nicht ausreichend Platz!
[TechAge Programmer] Error: invalid numbers!=[TechAge Programmer] Fehler: ungültige Nummern!
[TechAge Programmer] Error: programmer not supported!=[TechAge Programmer] Fehler: Programmer wird nicht unterstützt!
[TechAge Programmer] Unknown node on=[TechAge Programmer] Unbekannter Block bei
[TechAge Programmer] foreign or unknown node!=[TechAge Programmer] Fremder oder unbekannter Block!
[TechAge Programmer] node programmed!=[TechAge Programmer] Nicht programmiert!
[TechAge Programmer] number=[TechAge Programmer] Nummer=
[TechAge Programmer] programmer reset=[TechAge Programmer] Programmer zurück gesetzt
accept=akzeptieren
added=hinzugefügt wird
added or removed=hinzugefügt oder entfernt wird
commands like: help=Kommandos wie: help
connected with=verbunden mit
removed=entfernt
stopped=gestoppt
##### not used anymore #####

View File

@ -1,18 +1,26 @@
@nThe Distributor tries to push 12 items every 2 seconds.= #### TA3 Terminal ####@n@nSend commands to your machines@nand output text messages from your@nmachines to the Terminal.@n@nCommand syntax:@n cmd <num> <cmnd>@n@nexample: cmd 181 on@n<num> is the number of the node to which the command is sent@n'on' is the command to turn machines/nodes on@nFurther commands can be retrieved by clicking on@nmachines/nodes with the Techage Info Tool.@n@nLocal commands:@n- clear @= clear screen@n- help @= this message@n- pub @= switch to public use@n- priv @= switch to private use@nTo program a user button with a command:@n set <button-num> <button-text> <command>@ne.g. 'set 1 ON cmd 123 on'@n=
@nThe Distributor tries to push 4 items every 2 seconds.= Akkus=
A brilliant alloy for tools, which are used in the dark. Can be made with Coal Burner and TA3 Industrial Furnace.= Allow to dig/place Techage power lines nearby power poles=
Ash= Ash=
Autocrafter= Autocrafter=
Axle Power Source= Axle Power Source=
Build a Power Station according to the plan with TA3 Firebox, TA3 Boiler, Steam Pipes, Cooler, Turbine and Generator.@n- Heat the Firebox with coal/charcoal or oil@n- Fill the boiler with water (more than one bucket is needed)@n- Wait until the water is heated@n- Open the steam ventil@n- Connect the Generator with your machines by means of cables and junction boxes@n- Start the Generator= Baborium Ingot=
Build a steam engine according to the plan with TA2 Firebox, TA2 Boiler, Steam Pipes, TA2 Cylinder and TA2 Flywheel.@n- Heat the Firebox with coal/charcoal@n- Fill the boiler with water (more than one bucket is needed)@n- Wait until the water is heated@n- Open the steam ventil@n- Start the Flywheel@n- Connect the Flywheel with your machines by means of Axles and Gearboxes= Baborium Lump=
Baborium Ore=
Basalt Cobble=
Basalt Glass=
Basalt Glass 2=
Basalt Glass Thin=
Basalt Glass Thin 2=
Basalt Glass Thin XL=
Basalt Glass Thin XL 2=
Basalt Gravel=
Basalt Stone=
Basalt Stone Block=
Basalt Stone Brick=
Biome=
Block configured items for open ports=
Build derrick= Build derrick=
Build the Furnace with TA3 Furnace Firebox, TA3 Furnace Top, and TA3 Booster according to the plan.@n- Heat the Firebox with coal/charcoal/oil@n- Power the Booster with electrical power.@n- Select one of the possible outputs@n- Connect the TA3 Furnace Top with your machines by means of tubes.@n- Start the Furnace=
Burning times with one oil item for@nStream Engine / Power Station / Tiny Generator:@n@nPower max. : 25 / 80 / 12@nOil burn time/s : 32 / 20 / 100 @n@nburn time at power 2 : 400 / 800 / 600@nburn time at power 10 : 80 / 160 / 120@nburn time at power 20 : 40 / 80 / --=
Coal Burner=
Coal Burner to heat the melting pot:@n- build a 3x3xN cobble tower@n- more height means more flame heat@n- keep a hole open on one side@n- put a lighter in@n- fill the tower from the top with charcoal@n- ignite the lighter@n- place the pot in the flame, (one block above the tower)@n- to pause the burner, close the hole temporarily with e.g. dirt@n(see plan)=
Coal Pile to produce charcoal:@n- build a 5x5 block dirt base@n- place a lighter in the centre@n- build a 3x3x3 wood cube around@n- cover all with dirt to a 5x5x5 cube@n- keep a hole to the lighter@n- ignite the lighter and immediately@n- close the pile with one wood and one dirt@n- open the pile after the smoke disappeared@n(see plan)=
Collection of TA3 machines, some with eletrical power supply.=
Compressed Gravel= Compressed Gravel=
Depth= Depth=
Dirt with Ash= Dirt with Ash=
@ -20,58 +28,57 @@ Distributor=
Drill Bit= Drill Bit=
Ele Power Source= Ele Power Source=
Electronic Fab= Electronic Fab=
Enter=
Error=
Flint and Iron= Flint and Iron=
Flowing Oil= Flowing Oil=
Force order of filter items=
Furnace Top= Furnace Top=
Generators=
Gravel Rinser= Gravel Rinser=
Gravel Sieve= Gravel Sieve=
Grinder= Grinder=
Grinding= Grinding=
Heat= Heat=
Help= Insert destination node number(s)=
In the TA3 age, oil (petroleum) serves as an almost infinite fuel. But oil is difficult and expensive to recover:@n1: Search for oil with the TA3 Oil Explorer@n2: Drill for oil with the TA3 Oil Drill Box (oil derrick)@n3: Recover the oil with the TA3 Oil Pumpjack@n4: A power station nearby provides the necessary @n electrical power for the derrick and pumpjack.@n5: Tubes or rails are used for oil transportation.= Liquid Sampler=
Iron Age is the first level of the available four technic stages.@nThe goal of TA1 is to collect and craft enough Iron Ingots@nto be able to build machines for stage 2 (TA2).@n1. You have to collect dirt and wood to build a Coal Pile.@n (The Coal Pile is needed to produce charcoal)@n2. Build a Coal Burner to melt iron to iron ingots.@n3. Craft a Gravel Sieve and collect gravel.@n (A Hammer can be used to smash cobble to gravel)@n4. Sieve the gravel to get the necessary ores or go mining.= Machines=
Melting Guide= Melting Guide=
Melting Pot active (heat== Melting Pot active (heat@==
Melting Pot inactive (heat== Melting Pot inactive (heat@==
Melting Pot inactive (heat=0)= Melting Pot inactive (heat@=0)=
Menu= Menu=
Menu,Recipes= Menu,Recipes=
Meridium Axe= Meridium Axe=
Meridium Ingot=
Meridium Pickaxe= Meridium Pickaxe=
Meridium Shovel= Meridium Shovel=
Meridium Sword= Meridium Sword=
Network Data=
No plan available= No plan available=
Oil Age (TA3)= No wind at this altitude!=
Oil Burning Times= Node owner=
Number nodes=
Oil Drill Box=
Oil Pumpjack=
Oil Source= Oil Source=
Oil amount:= Oil amount:=
Outp= Outp=
Part of the Coal Power Station. Has to be placed in the steam circulation after the Turbine.@n(see TA3 Coal Power Station)=
Part of the Coal Power Station. Has to be placed on top of TA3 Power Station Boiler Base.@n(see TA3 Coal Power Station)=
Part of the Coal Power Station. Has to be placed on top of the TA3 Coal Power Station Firebox and filled with water.@n(see TA3 Coal Power Station)=
Part of the Coal Power Station. Has to be placed side by side with the TA3 Generator.@n(see TA3 Coal Power Station)=
Part of the Coal Power Station. Has to be placed side by side with the TA3 Turbine. Connect the Generator with your TA3 machines by means of Electric Cables and Junction Boxes@n(see TA3 Coal Power Station)=
Part of the TA3 Industrial Furnace and further machines. Used to increase the air/gas pressure.=
Part of the TA3 Industrial Furnace. Faster and more powerful than the standard furnace.=
Part of the steam engine. Has to be placed on top of TA2 Boiler Base.@n(see TA2 Steam Engine)=
Part of the steam engine. Has to be placed on top of the Firebox and filled with water.@n(see TA2 Steam Engine)=
Part of the steam engine. Has to be placed side by side with the TA2 Cylinder.@nUsed to turn on/off the steam engine. Connect the Flywheel with your TA2 machines by means of Axles and Gearboxes.@n(see TA2 Steam Engine)=
Part of the steam engine. Has to be placed side by side with the TA2 Flywheel.@n(see TA2 Steam Engine)=
Plan= Plan=
Position=
Position temperature=
Power= Power=
Power Consumption=
Power consumption and supply:@n- TA3 Power Station: 80@n- TA3 Tiny Generator: 12@n- TA3 Akku Box: 10 (in both dirs)@n- TA3 Oil Drill Box: 16@n- TA3 Oil Pumpjack: 16@n- TA3 Electronic Fab: 12@n- TA3 Autocrafter: 6@n- TA3 Grinder: 6@n- TA3 Gravel Sieve: 4@n- TA3 Booster: 3@n- Lamps: 0.5@n@n- Signs Bot: 8 (while loading)=
Pusher= Pusher=
Remove derrick= Remove derrick=
Rinsing= Rinsing=
Save=
Send signal if nodes have been:=
Sieved Basalt Gravel=
Sieved Gravel= Sieved Gravel=
Small electrical power generator. Needs oil as fuel.@nIt provides 12 units electrical power@nOil burn time: 100s=
Steam Age is the second level of the available four technic stages.@nThe goal of TA2 is to build a coal powered stream engine with drive axles and machines to produce ores and vacuum tubes for the first electronic devices and machines in TA3.=
Steam Engine=
Steam Power Source= Steam Power Source=
Steel replacement for TA1. Needed for many tools. Can be made with the Coal Burner from iron lumps.= Store=
Switched to private use!=
Switched to public use!=
Syntax error, try help=
TA Ceiling Lamp= TA Ceiling Lamp=
TA Construction Board= TA Construction Board=
TA Electric Cable= TA Electric Cable=
@ -82,9 +89,11 @@ TA Industrial Lamp 3=
TA Lamp= TA Lamp=
TA Power Line= TA Power Line=
TA Power Pole= TA Power Pole=
TA Power Pole Top (for up to 6 connections)=
TA Power Pole Top 2 (for landlines)=
TA Power Switch= TA Power Switch=
TA Power Switch Box= TA Power Switch Box=
TA Protected Chest= TA Power Switch Small=
TA Street Lamp= TA Street Lamp=
TA1 Bronze Hammer (smash stone to gravel)= TA1 Bronze Hammer (smash stone to gravel)=
TA1 Burning= TA1 Burning=
@ -99,97 +108,102 @@ TA1 Melting Pot=
TA1 Meridium Hammer (smash stone to gravel)= TA1 Meridium Hammer (smash stone to gravel)=
TA1 Mese Hammer (smash stone to gravel)= TA1 Mese Hammer (smash stone to gravel)=
TA1 Steel Hammer (smash stone to gravel)= TA1 Steel Hammer (smash stone to gravel)=
TA2 Autocrafter=
TA2 Boiler Base= TA2 Boiler Base=
TA2 Boiler Top= TA2 Boiler Top=
TA2 Cylinder= TA2 Cylinder=
TA2 Distributor=
TA2 Drive Axle= TA2 Drive Axle=
TA2 Electronic Fab= TA2 Ele Fab=
TA2 Firebox= TA2 Firebox=
TA2 Flywheel= TA2 Flywheel=
TA2 Gearbox= TA2 Gearbox=
TA2 Gravel Rinser=
TA2 Gravel Sieve= TA2 Gravel Sieve=
TA2 Grinder=
TA2 Protected Chest= TA2 Protected Chest=
TA2 Pusher=
TA2 Steam Pipe= TA2 Steam Pipe=
TA3 Akku Box= TA3 Akku Box=
TA3 Autocrafter=
TA3 Biogas Pipe=
TA3 Boiler Base= TA3 Boiler Base=
TA3 Boiler Top= TA3 Boiler Top=
TA3 Booster= TA3 Booster=
TA3 Button/Switch=
TA3 Cart Detector=
TA3 Coal Power Station Firebox= TA3 Coal Power Station Firebox=
TA3 Cooler= TA3 Cooler=
TA3 Derrick= TA3 Derrick=
TA3 Distributor= TA3 Detector=
TA3 Drill Bit= TA3 Drill Bit=
TA3 Electronic Fab= TA3 Ele Fab=
TA3 Furnace Firebox= TA3 Furnace Firebox=
TA3 Furnace Top=
TA3 Generator= TA3 Generator=
TA3 Gravel Sieve= TA3 Gravel Sieve=
TA3 Grinder= TA3 Logic Block=
TA3 Industrial Furnace=
TA3 Melting= TA3 Melting=
TA3 Oil Drill Box= TA3 Node Detector=
TA3 Oil Explorer= TA3 Oil Explorer=
TA3 Oil Pumpjack=
TA3 Oil Storage= TA3 Oil Storage=
TA3 Player Detector=
TA3 Power Terminal=
TA3 Protected Chest= TA3 Protected Chest=
TA3 Pusher= TA3 Repeater=
TA3 Sequencer=
TA3 Terminal=
TA3 Timer=
TA3 Tiny Power Generator= TA3 Tiny Power Generator=
TA3 Turbine= TA3 Turbine=
TA3 Vacuum Tubes= TA3 Vacuum Tube=
TA3: Machines= TA4 Carbon Fiber=
TA3: Oil plants=
TA3: Power Station=
TA4 Derrick= TA4 Derrick=
TA4 Epoxide Resin=
TA4 Generator=
TA4 Heat Exchanger=
TA4 Heat Exchanger 1=
TA4 Heat Exchanger 2=
TA4 Heat Exchanger 3=
TA4 Junction Pipe=
TA4 Pillar=
TA4 Pipe=
TA4 Pipe Inlet=
TA4 Protected Chest= TA4 Protected Chest=
TA4 Rotor Blade=
TA4 Silicon Wafer=
TA4 Streetlamp Solar Cell=
TA4 Turbine=
TA4 WLAN Chip= TA4 WLAN Chip=
Tech Age is a technic mod with four technic stages.@n@nIron Age (TA1): Use tools like coal pile, coal burner, gravel sieve, hammer and hopper to obtain the necessary metals and ores to further machines and tools for TA2@n@nSteam Age (TA2): Build a steam engine with drive axles to run first simple machines.@n@nOil Age (TA3): Drill and pump oil, build your transport routes with Minecarts and power and control TA3 machines and lamps with electrical energy.@n@nFuture Age (TA4): Build regenerative power plants and intelligent machines, travel at high speed and use other future technologies.= TA4 Wind Turbine=
TechAge End Wrench= TA4 Wind Turbine Nacelle=
TechAge End Wrench (use = read status, place = cmd: on/off)= TA4 Wind Turbine Signal Lamp=
TechAge Black Hole=
TechAge Black Hole (let items disappear)=
TechAge Door Block=
TechAge Gate Block=
TechAge Gravel=
TechAge Info Tool (use @= read status info)=
TechAge Programmer (right @= read number, left @= write numbers)=
TechAge Repair Kit= TechAge Repair Kit=
TechAge Signal Lamp=
TechAge Signal Lamp (can be colored)=
TechAge Steel Mat=
TechAge Trowel= TechAge Trowel=
Techage Black Hole= The wind turbines are too close together!=
Techage Black Hole (let items disappear)=
Techage Forceload Block=
The Autocrafter allows the automated crafting of items based on configured recipes.@nIt can craft one item every two seconds.@nNeeds axle power: 4=
The Autocrafter allows the automated crafting of items based on configured recipes.@nIt can craft two items every two seconds.@nNeeds electrical power: 6=
The Distributor works as filter and pusher. It allows to divide and distribute incoming items into the 4 output ports. The channels can be switched on/off and individually configured with up to 6 item types. The filter passes the configured items and restrains all others. Unconfigured but activated filters are used for items, which do not fit to all other filters. If the Distributor cant push an item into a block with an inventory (such as a chest) because that inventory is full, but there is one open and unconfigured output, it will use this output port.=
The End Wrench is a tool to read any kind od status information from a node with command inderface.@n- use (left mouse button) = read status@n- place (right mouse button) = send command: on/off=
The Forceload Block keeps the corresponding area loaded and the machines operational as far as the player is logged in. If the player leaves the game, all areas will be unloaded.@nThe maximum number of Forceload Blocks per player is configurable (default 16).@nThe loaded area per block is a cube with 16 m side length (according to a Minetest area block). Punching the block makes the area visible and invisible again.=
The Grinder grinds all kinds of cobblestone to gravel, gravel to sand, sand to clay, wood to leaves, and more.@nIt can grind one item every four seconds.@nIt needs 4 units axle power.=
The Grinder grinds all kinds of cobblestone to gravel, gravel to sand, sand to clay, wood to leaves, and more.@nIt can grind two items every four seconds.@nIt needs 6 units electrical power.=
The Hopper collects dropped items and pushes them to the right side.@nItems are sucked up when they are dropped on top of the Hopper block.@nBut the Hopper can also pull items out of chests or furnace blocks, if it is placed below.=
The Oil Age is the third level of the available technic stages. The goal of TA3 is to build Power Stations, drill for oil, and build machines to produce ores and chips for smart TA4 devices and machines.=
The Protected Chest is useful in protected areas (by means of any protection mod).@nOnly players with interaction rights on that position can take/put item from/to the chest.=
The Protected Chest is useful in protected areas (by means of any protection mod).@nOnly players with interaction rights on that position can take/put item from/to the chest.@nThe Chest supports commands to read the last player action (player-name, take/put, item-name) and the chest state ('empty', 'loaded', 'full').@nThe chest returns 'loaded' when it is not empty and not full, 'full' is returned, when no empty stack is available.@n=
The Pumpjack works similar to a pusher. It pumps one oil item every 8 seconds. It needs 16 units of electrical power.=
The Pusher is a pulling/pushing block, moving items from one inventory block to another (e.g. chests). Start the Pusher with a right-click. It shows the state 'running' as infotext. The Pusher moves items from left to right (IN to OUT).@nIf the source chest is empty, the Pusher goes into 'standby' state for some seconds. If the destination chest is full, the Pusher goes into 'blocked' state.@nThe TA2 Pusher moves two items every 2 seconds.=
The Pusher is a pulling/pushing block, moving items from one inventory block to another (e.g. chests). Start the Pusher with a right-click. It shows the state 'running' as infotext. The Pusher moves items from left to right (IN to OUT).@nIf the source chest is empty, the Pusher goes into 'standby' state for some seconds. If the destination chest is full, the Pusher goes into 'blocked' state.@nThe TA3 Pusher moves 6 items every 2 seconds.=
The Techage Black Hole Block let items disappear. If your machine produces to much or unneeded items, push them into the Black Hole.=
The box automatically unfolds to a derrick when you press the button.@n1: Place the box in the middle of the marked position@n (the derrick requires a free area of 3x3m)@n2: Press the build button@n3: Supply the drill with electricity@n4: Supply the drill with Drill Bits@n5: Press the start button@n6: Remove the excavated material with Tubes/Pusher@n7: The drill stops when oil is found@n (drill speed is 1m/16s)@n8: Replace the drill with the Pumpjack.@nIt needs 16 units electrical power=
This is a collection of further nodes and tools which do not fit to the stages 1 to 4.=
Time= Time=
To melt ores and/or produce alloys. Place the pot on top of the Coal Burner.=
To sieve Gravel and Basalt Gravel to get ores. Punch the sieve with wielded gravel to start sieving. Sieving can be automated by means of the TA1 Hopper. Gravel can be found in caves or generated by means of a TA1 Hammer.=
To sieve Gravel and Basalt Gravel to get ores. Use a Grinder to make Gravel from Cobblestone.@nIt can sieve one item every four seconds.@nIt needs 3 units axle power.=
To sieve Gravel and Basalt Gravel to get ores. Use a Grinder to make Gravel from Cobblestone.@nIt can sieve two items every four seconds.@nIt needs 4 units electrical power.=
To turn electrical power on/off.@nHas to be placed on a TA Power Switch Box.=
Tool to hide and retrieve electrical wiring in walls and floors.@nThe material for hiding the cables must be in the left stack of the first row in the player inventory.=
Update= Update=
Used to find oil (petroleum). Oil can be used as fuel for the Power Station and others. Place the block and right-click on the block to explore the underground. The block will explore a 16x16 field with a depth of up to 400 m. To search deeper, click the block several times. When oil is found, the position for the derrick (Drill Box) is highlighted.@nHint: Mark and protect the position for later use.= Usmium Nuggets=
Used to produce Vacuum Pipes, needed for TA3 machines.@nThe fab produces 1 item every 6 seconds.@nIt needs 8 units axle power= WLAN Chip=
Used to produce WLAN Chips, needed for TA4 machines.@nThe fab produces 1 item every 6 seconds.@nIt needs 12 units electrical power.= Wrong place for wind turbines!=
Used to store electrical energy. Charged in about 10 min, provides energy for 10 min.@nIt take and deliver up to 10 units electrical power.= [TA4 Wind Turbine]=
Used to wash Sieved Gravel to get Usmium Nuggets. The block has to be placed under flowing water. The washed-out nuggets must be sucked in with a Hopper.@nFor the plant you need a chest, the Hopper, the Rinser with tube support and a frame around the flowing water (see plan).@nHint: You can test the Rinser with some sticks that are washed out immediately.@nIt needs 3 units axle power=
[TA] Area is protected!= [TA] Area is protected!=
[TA] Derrick is being built!= [TA] Derrick is being built!=
[TA] Derrick is being removed!= [TA] Derrick is being removed!=
[TA] Not enough space!= [TA] Not enough space!=
[TechAge Programmer] Error: invalid numbers!=
[TechAge Programmer] Error: programmer not supported!=
[TechAge Programmer] Unknown node on=
[TechAge Programmer] foreign or unknown node!=
[TechAge Programmer] node programmed!=
[TechAge Programmer] number=
[TechAge Programmer] programmer reset=
accept=
added=
added or removed=
commands like: help=
connected with= connected with=
lighter to ignite the Coal Burner and the Coal Pile.= removed=
stopped=

View File

@ -205,8 +205,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta3l", "button",
S("TA3 Button/Switch"),
S("The Button/Switch is used to send on/off commands to machines/nodes.@n"..
"It can be configured as switch or as button with configurable cycle time from 2 to 32s)"),
"techage:ta3_button_on")

View File

@ -165,9 +165,3 @@ techage.register_node({"techage:ta3_cartdetector_off", "techage:ta3_cartdetector
end, end,
}) })
techage.register_entry_page("ta3l", "cart_detector",
S("TA3 Cart Detector"),
S("The Cart Detector sends a 'on' signal if a cart (Minecart) is nearby@n"..
"In addition the node starts the cart again, if a 'on' signal is received.@n"),
"techage:ta3_cartdetector_off")

View File

@ -147,11 +147,3 @@ techage.register_node({"techage:ta3_detector_off", "techage:ta3_detector_on"}, {
is_pusher = true, -- is a pulling/pushing node is_pusher = true, -- is a pulling/pushing node
}) })
techage.register_entry_page("ta3l", "detector",
S("TA3 Detector"),
S("The Detector is a special kind of tube block that@n"..
"outputs an event when items pass through.@n"..
"It sends an 'on' when an item goes through,@n"..
"followed by an 'off' event one second later.@n"..
"After that it blocks further events for 8 seconds."),
"techage:ta3_detector_on")

View File

@ -249,12 +249,4 @@ techage.register_node({"techage:ta3_logic"}, {
end, end,
}) })
techage.register_entry_page("ta3l", "logic",
S("TA3 Logic Block"),
S("The Logic Block is used to combine one or several input signals@n"..
"by means of a boolean expression into one output signal,@n"..
"like 'n123 and n345', 'not n123', or simply 'inp'.@n"..
"The then-part and the else-part are used to set the output.@n"..
"true means 'on', false means 'off', nothing means send nothing."),
"techage:ta3_logic")

View File

@ -192,12 +192,3 @@ techage.register_node({"techage:ta3_nodedetector_off", "techage:ta3_nodedetector
end, end,
}) })
techage.register_entry_page("ta3l", "node_detector",
S("TA3 Node Detector"),
S("The Node Detector sends an 'on' signal when it detects that nodes appear@n"..
"or disappear, but has to be configured accordingly.@n"..
"After the node switches back to the default state (grey block)@n"..
"an 'off' signal will be sent.@n"..
"Valid nodes are all kind of blocks and plants.@n"..
"The sensor range is 3 nodes/meters in the arrow direction."),
"techage:ta3_nodedetector_on")

View File

@ -90,6 +90,7 @@ local function on_receive_fields(pos, formname, fields, player)
meta:set_string("numbers", fields.numbers) meta:set_string("numbers", fields.numbers)
logic.infotext(M(pos), S("TA3 Player Detector")) logic.infotext(M(pos), S("TA3 Player Detector"))
end end
meta:set_string("names", fields.names)
meta:set_string("formspec", formspec(meta)) meta:set_string("formspec", formspec(meta))
elseif fields.help ~= nil then elseif fields.help ~= nil then
meta:set_string("formspec", formspec_help()) meta:set_string("formspec", formspec_help())
@ -200,9 +201,3 @@ techage.register_node({"techage:ta3_playerdetector_off", "techage:ta3_playerdete
end, end,
}) })
techage.register_entry_page("ta3l", "player_detector",
S("TA3 Player Detector"),
S("The Player Detector sends a 'on' signal when it detects a player@n"..
"within a radius of 4 m around the node.@n"..
"The detector can be configured with player names to scan for."),
"techage:ta3_playerdetector_off")

View File

@ -26,7 +26,7 @@ end
local function reset_programmer(itemstack, user, pointed_thing) local function reset_programmer(itemstack, user, pointed_thing)
user:set_attribute("techage_prog_numbers", nil) user:set_attribute("techage_prog_numbers", nil)
minetest.chat_send_player(user:get_player_name(), S("[Techage Programmer] programmer reset")) minetest.chat_send_player(user:get_player_name(), S("[TechAge Programmer] programmer reset"))
return itemstack return itemstack
end end
@ -38,9 +38,9 @@ local function read_number(itemstack, user, pointed_thing)
local numbers = minetest.deserialize(user:get_attribute("techage_prog_numbers")) or {} local numbers = minetest.deserialize(user:get_attribute("techage_prog_numbers")) or {}
numbers[number] = true numbers[number] = true
user:set_attribute("techage_prog_numbers", minetest.serialize(numbers)) user:set_attribute("techage_prog_numbers", minetest.serialize(numbers))
minetest.chat_send_player(user:get_player_name(), S("[Techage Programmer] number").." "..number.." read") minetest.chat_send_player(user:get_player_name(), S("[TechAge Programmer] number").." "..number.." read")
else else
minetest.chat_send_player(user:get_player_name(), S("[Techage Programmer] Unknown node on").." "..minetest.pos_to_string(pos)) minetest.chat_send_player(user:get_player_name(), S("[TechAge Programmer] Unknown node on").." "..minetest.pos_to_string(pos))
end end
else else
return reset_programmer(itemstack, user, pointed_thing) return reset_programmer(itemstack, user, pointed_thing)
@ -56,7 +56,7 @@ local function program_numbers(itemstack, placer, pointed_thing)
placer:set_attribute("techage_prog_numbers", nil) placer:set_attribute("techage_prog_numbers", nil)
local player_name = placer:get_player_name() local player_name = placer:get_player_name()
if meta and meta:get_string("owner") ~= player_name then if meta and meta:get_string("owner") ~= player_name then
minetest.chat_send_player(player_name, S("[Techage Programmer] foreign or unknown node!")) minetest.chat_send_player(player_name, S("[TechAge Programmer] foreign or unknown node!"))
return itemstack return itemstack
end end
local text = join_to_string(numbers) local text = join_to_string(numbers)
@ -64,12 +64,12 @@ local function program_numbers(itemstack, placer, pointed_thing)
if ndef and ndef.techage_set_numbers then if ndef and ndef.techage_set_numbers then
local res = ndef.techage_set_numbers(pos, text, player_name) local res = ndef.techage_set_numbers(pos, text, player_name)
if res == true then if res == true then
minetest.chat_send_player(player_name, S("[Techage Programmer] node programmed!")) minetest.chat_send_player(player_name, S("[TechAge Programmer] node programmed!"))
else else
minetest.chat_send_player(player_name, S("[Techage Programmer] Error: invalid numbers!")) minetest.chat_send_player(player_name, S("[TechAge Programmer] Error: invalid numbers!"))
end end
else else
minetest.chat_send_player(player_name, S("[Techage Programmer] Error: programmer not supported!")) minetest.chat_send_player(player_name, S("[TechAge Programmer] Error: programmer not supported!"))
end end
return itemstack return itemstack
else else
@ -78,7 +78,7 @@ local function program_numbers(itemstack, placer, pointed_thing)
end end
minetest.register_craftitem("techage:programmer", { minetest.register_craftitem("techage:programmer", {
description = S("Techage Programmer (right = read number, left = write numbers)"), description = S("TechAge Programmer (right = read number, left = write numbers)"),
inventory_image = "techage_programmer.png", inventory_image = "techage_programmer.png",
stack_max = 1, stack_max = 1,
wield_image = "techage_programmer_wield.png", wield_image = "techage_programmer_wield.png",
@ -99,10 +99,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta3l", "programmer",
S("Techage Programmer"),
S("The Programmer is a tool to collect block numbers (right mouse button)@n"..
"from machines/nodes to program (left mouse button) the Repeater@n"..
"or other nodes. This is especially useful if you want to switch on/off@n"..
"many block at the same time."),
"techage:programmer")

View File

@ -111,11 +111,3 @@ techage.register_node({"techage:ta3_repeater"}, {
end, end,
}) })
techage.register_entry_page("ta3l", "repeater",
S("TA3 Repeater"),
S("The Repeater is a multiplier block, sending received commands@n"..
"to all connected blocks. The list of destination block numbers@n"..
"has to be configured, but can easily programmed@n"..
"by means of the Programmer."),
"techage:ta3_repeater")

View File

@ -270,11 +270,3 @@ techage.register_node({"techage:ta3_sequencer"}, {
end, end,
}) })
techage.register_entry_page("ta3l", "sequencer",
S("TA3 Sequencer"),
S("The Sequencer block allows to define sequences of on/off commands@n"..
"with time delays in between. A sequence of up to 8 steps@n"..
"can be programmed, each with destination block numbers, on/off command,@n"..
"and time gap to the next step in seconds. The Sequencer can run endless@n"..
"or only once and can be switches on/off by other blocks."),
"techage:ta3_sequencer")

View File

@ -32,7 +32,7 @@ local function switch_off(pos, node)
end end
minetest.register_node("techage:signal_lamp_off", { minetest.register_node("techage:signal_lamp_off", {
description = S("Techage Signal Lamp (can be colored)"), description = S("TechAge Signal Lamp (can be colored)"),
tiles = {"techage_signal_lamp.png^[colorize:#000000:100"}, tiles = {"techage_signal_lamp.png^[colorize:#000000:100"},
drawtype = "nodebox", drawtype = "nodebox",
node_box = { node_box = {
@ -44,8 +44,8 @@ minetest.register_node("techage:signal_lamp_off", {
}, },
after_place_node = function(pos, placer, itemstack, pointed_thing) after_place_node = function(pos, placer, itemstack, pointed_thing)
logic.after_place_node(pos, placer, "techage:signal_lamp_off", S("Techage Signal Lamp")) logic.after_place_node(pos, placer, "techage:signal_lamp_off", S("TechAge Signal Lamp"))
logic.infotext(M(pos), S("Techage Signal Lamp")) logic.infotext(M(pos), S("TechAge Signal Lamp"))
if COLORED then if COLORED then
unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing)
end end
@ -77,7 +77,7 @@ minetest.register_node("techage:signal_lamp_off", {
minetest.register_node("techage:signal_lamp_on", { minetest.register_node("techage:signal_lamp_on", {
description = S("Techage Signal Lamp"), description = S("TechAge Signal Lamp"),
tiles = {"techage_signal_lamp.png"}, tiles = {"techage_signal_lamp.png"},
drawtype = "nodebox", drawtype = "nodebox",
node_box = { node_box = {

View File

@ -361,10 +361,3 @@ techage.register_node({"techage:terminal1", "techage:terminal2"}, {
-- ' example: $send_msg("0123", "test")' -- ' example: $send_msg("0123", "test")'
--}) --})
techage.register_entry_page("ta3l", "terminal",
S("TA3 Terminal"),
S("The Terminal is used to send commands to machines and output their responses.@n"..
"In order to not always have to enter commands, commands can be assigned to buttons@n"..
"and with a double-click on a text line, the command is copied into the input field, again.@n"..
"The terminal has a help command with further information to the supported commands."),
"techage:terminal2")

View File

@ -208,8 +208,3 @@ techage.register_node({"techage:ta3_timer"}, {
end, end,
}) })
techage.register_entry_page("ta3l", "timer",
S("TA3 Timer"),
S("The Timer block allows to turn machines/nodes on and off@n"..
"based on the day time."),
"techage:ta3_timer")

38
manuals/manual_DE.md Normal file
View File

@ -0,0 +1,38 @@
# Tech Age Mod
Tech Age ist eine Technik-Mod mit 4 Entwicklungsstufen:
TA1: Eisenzeitalter (Iron Age)
Benutze Werkzeuge und Hilfsmittel wie Köhler, Kohlebrenner, Kiessieb, Hammer, Hopper um notwendige Erze und Metalle zu schürfen und zu verarbeiten.
TA2: Dampfzeitalter (Steam Age)
Baue eine Dampfmaschine mit Antriebsachsen und betreibe damit deine ersten Maschinen zur Verarbeitung von Erzen.
TA3: Ölzeitalter (Oil Age)
Suche und fördere Öl, baute Schienenwege zur Ölbeförderung. Ein Kraftwerk liefert den notwendigen Strom für deine Maschinen. Elektrisches Licht erhellt deine Industrieanlagen.
TA4: Zukunft (Future Age)
Regenerative Energiequellen wie Wind, Sonne und Biokraft helfen dir, das Ölzeitalter zu verlassen. Mit modernen Technologien und intelligenten Maschinen machst du dich auf in die Zukunft.
[wlanchip](/image/)
## Hinweise
Diese Dokumentation ist sowohl "ingame" als auch im Netz als HTML-Seiten verfügbar.
TODO links.
Die Konstruktionspläne für den Aufbau der Maschinen sind nur ingame verfügbar.
Du musst von vorne beginnen. Nur mit den Items aus TA1 kannst du TA2 Blöcke herstellen, für TA3 benötigst du die Ergebnisse aus TA2, usw.
In TA2 laufen die Maschinen nur mit Antriebsachsen.
Ab TA3 laufen die Maschinen mit Strom und besitzen eine Kommunikationsschnittstelle zur Fernsteuerung.
Mit TA4 kommen weitere Stromquellen dazu, aber auch höhere logistische Herausforderungen (Stromtrassen, Item Transport).

89
manuals/manual_ta1_DE.md Normal file
View File

@ -0,0 +1,89 @@
# TA1: Eisenzeitalter
In TA1 geht es darum, mit einfachen Werkzeugen und Gerätschaften ausreichend Erze zu schürfen und Holzkohle herzustellen, so dass damit TA2 Maschinen hergestellt und betrieben werden können.
Natürlich muss es für ein Eisenzeitalter auch Eisen geben und nicht nur Stahl (steel), wie in "Minetest Game". Daher wurden einige Rezepte geändert, so dass zuerst Eisen hergestellt werden muss und erst später dann Stahl.
[iron](/image/)
## Köhler
Den Köhler brauchst du, um Holzkohle herzustellen. Holzkohle wird für den Brenner, aber auch bspw. in TA2 für die Dampfmaschine benötigt.
Bauanleitung (siehe auch Plan):
- Baue eine 5x5 große Fläche aus Erde (dirt)
- Platziere in die Mitte einen Anzünder (lighter)
- Baue aus Holz (wood) einen 3x3x3 größen Würfel darüber
- Überdecke alles mit einer Schicht Erde zu einem 5x5x5 großen Würfel
- Lasse ein Loch zum Anzünder
- Zünde den Anzünder an und verschließe das Loch sofort mit jeweils einem Block Holz und Erde
- Wenn du alles richtig gemacht hast, beginnt der Köhler nach wenigen Sekunden an zu rauchen
- Öffne den Köhler erst, wenn der Rauch verschwunden ist (ca. 20 min)
Dann kannst du die 9 Holzkohleblöcke entnehmen und den Köhler erneut füllen.
[coalpile](/plan/)
## Kohlebrenner
Den Kohlebrenner benötigst du bspw. um Eisen und andere Erze im Schmelztiegel zu schmelzen. Es gibt verschiedene Rezepte, welche verschiedene Temperaturen benötigen. Je höher der Turm, um so heißer ist die Flamme. Eine Höhe von 11 Blöcken über der Bodenplatte ist für alle Rezepte, ein Brenner mit dieser Höhe benötigt aber auch mehr Holzkohle.
Bauanleitung (siehe auch Plan):
* Baue einen Turm aus Stein (cobble) mit einer 3x3 Grundfläche (7-11 Blöcke hoch)
* Lasse unten ein Loch an einer Seite offen
* Lege einen Anzünder (lighter) hinein
* Fülle den Turm von oben bis zum Rand mit Holzkohle
* Zünde den Anzünder durch das Loch an
* Platziere den Schmelztiegel in die Flamme über dem Turm
einen Block über der Flamme)
* Um den Brenner anzuhalten, schließe das Loch vorübergehend bspw. mit einem Erdblock.
Der Schmelztiegel hat ein eigenes Menü mit Rezepten und ein Inventar, wo du die Erze hinein tun musst.
[coalburner](/plan/)
## Erze und Werkzeuge
TA1 hat seine eigenen Werkzeuge wie Hammer und Kiessieb, aber auch bereits eine Maschine zur Automatisierung, den TA1 Trichter (hopper).
[ta1_gravelsieve](/image/)
### Hammer
Mit dem TA1 Hammer kann Stein (stone) in einer Mine, aber auch Steine (cobble) zu Kies (gravel) geklopft werden. Der Hammer ist in verschiedenen Ausführungen und damit verschiedenen Eigenschaften verfügbar: Bronze, Stahl, Mese und Diamant.
[hammer](/image/)
### Kiessieb
Mit dem Kiessieb können Erze aus dem Kies gesiebt werden. Dazu mit dem Kies (gravel) auf das Sieb klicken. Das gesiebte Kies und die Erze fallen unten heraus.
Um hier nicht stundenlang am Sieb zu stehen, kann das Sieben mit dem Trichter (hopper) automatisiert werden.
[ta1_gravelsieve](/image/)
### Trichter
Der Trichter saugt Gegenstände (items) von oben ein und gibt diese nach rechts weiter. Beim Platzieren des Trichters muss daher auf die Ausgaberichtung geachtet werden.
Der Trichter kann auch Items aus Kisten (chest) ziehen, sofern die Kiste auf dem Trichter steht.
Der Trichter kann auch Items in Kisten legen, sofern die Kiste neben dem Trichter steht.
[ta1_hopper](/image/)
### Kies sieben mit dem Trichter
Mit Hilfe von zwei Kisten, zwei Trichtern und einem Kiessieb kann der Siebevorgang automatisiert werden. Der Plan rechts zeigt den Aufbau.
Bei den Kisten darauf achten, dass es die "chest_locked" ist, sonst klaut dir jemand die wertvollen Erze aus der Kiste unten.
[hoppersieve](/plan/)
### Meridium
TA1 hat seine eigene Metalllegierung Meridium. Meridium Ingots können mit dem Kohlebrenner aus Stahl und Mesesplitter hergestellt werden. Meridium leuchtet im Dunkeln. Auch Werkzeuge aus Meridium leuchten und sind daher im Untertagebau sehr hilfreich.
[meridium](/image/)

714
manuals/manual_ta1_EN.md Normal file
View File

@ -0,0 +1,714 @@
# Tech Age
techage.register_category_page("techage", "Tech Age",
S("Tech Age is a technic mod with four technic stages.@n@n"..
"Iron Age (TA1): Use tools like coal pile, coal burner, gravel sieve, hammer and hopper to obtain the necessary metals and ores to further machines and tools for TA2@n@n"..
"Steam Age (TA2): Build a steam engine with drive axles to run first simple machines.@n@n"..
"Oil Age (TA3): Drill and pump oil, build your transport routes with Minecarts and power and control TA3 machines and lamps with electrical energy.@n@n"..
"Future Age (TA4): Build regenerative power plants and intelligent machines, travel at high speed and use other future technologies."),
"techage:ta4_wlanchip",
{}
)
# TA1: Iron Age
local PileHelp = S("Coal Pile to produce charcoal:@n"..
"- build a 5x5 block dirt base@n"..
"- place a lighter in the centre@n"..
"- build a 3x3x3 wood cube around@n"..
"- cover all with dirt to a 5x5x5 cube@n"..
"- keep a hole to the lighter@n"..
"- ignite the lighter and immediately@n"..
"- close the pile with one wood and one dirt@n"..
"- open the pile after the smoke disappeared@n"..
"(see plan)")
techage.register_entry_page("ta1", "coalpile", "Coal Pile", PileHelp, nil, PileImages)
local BurnerHelp = S("Coal Burner to heat the melting pot:@n"..
"- build cobble tower with a 3x3 footprint@n"..
"- more height means more flame heat@n"..
"- keep a hole open on one side@n"..
"- put a lighter in@n"..
"- fill the tower from the top with charcoal@n"..
"- ignite the lighter@n"..
"- place the pot in the flame, (one block above the tower)@n"..
"- to pause the burner, close the hole temporarily with e.g. dirt@n"..
"(see plan)")
techage.register_entry_page("ta1", "sieve",
S("TA1 Gravel Sieve"),
S("To sieve Gravel and Basalt Gravel to get ores. Punch the sieve with wielded gravel to start sieving. "..
"Sieving can be automated by means of the TA1 Hopper. Gravel can be found in caves or "..
"generated by means of a TA1 Hammer."),
"techage:sieve3")
techage.register_entry_page("ta1", "hammer",
"TA1 xxx Hammer", [[Hammer to smash stone to gravel.
Available as Bronze, Steel, Mese, and Diamond Hammer.]], "techage:hammer_bronze")
techage.register_entry_page("ta1", "hopper",
S("TA1 Hopper"),
S("The Hopper collects dropped items and pushes them to the right side.@n"..
"Items are sucked up when they are dropped on top of the Hopper block.@n"..
"But the Hopper can also pull items out of chests or furnace blocks, if it is placed below."),
"techage:hopper_ta1")
techage.register_entry_page("ta1", "lighter",
S("TA1 Lighter"),
S("lighter to ignite the Coal Burner and the Coal Pile."), "techage:lighter")
techage.register_entry_page("ta1", "meltingpot",
S("TA1 Melting Pot"),
S("To melt ores and/or produce alloys. Place the pot on top of the Coal Burner."),
"techage:meltingpot")
techage.register_entry_page("ta1", "meridium",
S("Meridium Ingot"),
S("A brilliant alloy for tools, which are used in the dark. Can be made with Coal Burner and TA3 Industrial Furnace."),
"techage:meridium_ingot")
techage.register_entry_page("ta1", "iron",
S("TA1 Iron Ingot"),
S("Steel replacement for TA1. Needed for many tools. Can be made with the Coal Burner from iron lumps."),
"techage:iron_ingot")
techage.register_entry_page("ta2", "autocrafter",
S("TA2 Autocrafter"),
S("The Autocrafter allows the automated crafting of items based on configured recipes.@n"..
"It can craft one item every two seconds.@n"..
"Needs axle power: 4"),
"techage:ta2_autocrafter_pas")
techage.register_entry_page("ta3m", "autocrafter",
S("TA3 Autocrafter"),
S("The Autocrafter allows the automated crafting of items based on configured recipes.@n"..
"It can craft two items every two seconds.@n"..
"Needs electrical power: 6"),
"techage:ta3_autocrafter_pas")
techage.register_entry_page("ta", "blackhole",
S("Techage Black Hole"),
S("The Techage Black Hole Block let items disappear. If your machine produces to much or unneeded items, push them into the Black Hole."),
"techage:blackhole")
local help = S("The Protected Chest is useful in protected areas (by means of any protection mod).@n"..
"Only players with interaction rights on that position can take/put item from/to the chest.@n"..
"The Chest supports commands to read the last player action (player-name, take/put, item-name) "..
"and the chest state ('empty', 'loaded', 'full').@n"..
"The chest returns 'loaded' when it is not empty and not full, "..
"'full' is returned, when no empty stack is available.@n")
techage.register_entry_page("ta2", "chest",
S("TA2 Protected Chest"),
S("The Protected Chest is useful in protected areas (by means of any protection mod).@n"..
"Only players with interaction rights on that position can take/put item from/to the chest."),
"techage:chest_ta2")
techage.register_entry_page("ta3m", "chest",
S("TA3 Protected Chest"), help, "techage:chest_ta3")
local help = S("The Distributor works as filter and pusher. It allows to divide and distribute incoming items into the 4 output ports. "..
"The channels can be switched on/off and individually configured with up to 6 item types. "..
"The filter passes the configured items and restrains all others. "..
"Unconfigured but activated filters are used for items, which do not fit to all other filters. "..
"If the Distributor cant push an item into a block with an inventory (such as a chest) because that inventory is full, "..
"but there is one open and unconfigured output, it will use this output port.")
techage.register_entry_page("ta2", "distributor",
S("TA2 Distributor"),
help..S("@nThe Distributor tries to push 4 items every 2 seconds."),
"techage:ta2_distributor_pas")
techage.register_entry_page("ta3m", "distributor",
S("TA3 Distributor"),
help..S("@nThe Distributor tries to push 12 items every 2 seconds."),
"techage:ta3_distributor_pas")
techage.register_entry_page("ta2", "electronic_fab",
S("TA2 Electronic Fab"),
S("Used to produce Vacuum Pipes, needed for TA3 machines.@n"..
"The fab produces 1 item every 6 seconds.@n"..
"It needs 8 units axle power"),
"techage:ta2_electronic_fab_pas")
techage.register_entry_page("ta3m", "electronic_fab",
S("TA3 Electronic Fab"),
S("Used to produce WLAN Chips, needed for TA4 machines.@n"..
"The fab produces 1 item every 6 seconds.@n"..
"It needs 12 units electrical power."),
"techage:ta3_electronic_fab_pas")
techage.register_entry_page("ta", "forceload",
S("Techage Forceload Block"),
S("The Forceload Block keeps the corresponding area loaded and the machines operational "..
"as far as the player is logged in. If the player leaves the game, all areas will be unloaded.@n"..
"The maximum number of Forceload Blocks per player is configurable (default 20).@n"..
"The loaded area per block is a cube with 16 m side length (according to a Minetest area block). "..
"Punching the block makes the area visible and invisible again."),
"techage:forceload")
techage.register_entry_page("ta3m", "funnel",
S("TA3 Funnel"),
S("The Funnel collects dropped items and stores them in its inventory.@n"..
"Items are sucked up when they are dropped on top of the funnel block.@n"..
"The scan radius is 1 m."),
"techage:ta3_funnel")
local Tube = "techage_tube_knee.png"
local Tube2 = "techage_tube_knee.png^[transformR270"
local Rinser = "techage_filling_ta2.png^techage_appl_rinser.png^techage_frame_ta2.png"
local Hopper = "techage_hopper.png"
local Glass = "default_glass.png"
local Water = "default_water.png"
local Chest = "default_chest_lock.png"
local Dirt = "default_dirt.png"
local Images = {
{false, false, false, false, false, false, false, false},
{false, Glass, false, false, false, false, Water, Glass},
{false, Chest, Hopper, Tube, Rinser, Tube2, Glass, Glass},
}
techage.register_entry_page("ta2", "rinser",
S("TA2 Gravel Rinser"),
S("Used to wash Sieved Gravel to get Usmium Nuggets. The block has to be placed under flowing water. "..
"The washed-out nuggets must be sucked in with a Hopper.@nFor the plant you need a chest, "..
"the Hopper, the Rinser with tube support and a frame around the flowing water (see plan).@n"..
"Hint: You can test the Rinser with some sticks that are washed out immediately.@n"..
"It needs 3 units axle power"),
nil, Images)
techage.register_entry_page("ta2", "gravelsieve",
S("TA2 Gravel Sieve"),
S("To sieve Gravel and Basalt Gravel to get ores. Use a Grinder to make Gravel from Cobblestone.@n"..
"It can sieve one item every four seconds.@n"..
"It needs 3 units axle power."),
"techage:ta2_gravelsieve_pas")
techage.register_entry_page("ta3m", "gravelsieve",
S("TA3 Gravel Sieve"),
S("To sieve Gravel and Basalt Gravel to get ores. Use a Grinder to make Gravel from Cobblestone.@n"..
"It can sieve two items every four seconds.@n"..
"It needs 4 units electrical power."),
"techage:ta3_gravelsieve_pas")
techage.register_entry_page("ta2", "grinder",
S("TA2 Grinder"),
S("The Grinder grinds all kinds of cobblestone to gravel, gravel to sand, sand to clay, wood to leaves, and more.@n"..
"It can grind one item every four seconds.@n"..
"It needs 4 units axle power."),
"techage:ta2_grinder_pas")
techage.register_entry_page("ta3m", "grinder",
S("TA3 Grinder"),
S("The Grinder grinds all kinds of cobblestone to gravel, gravel to sand, sand to clay, wood to leaves, and more.@n"..
"It can grind two items every four seconds.@n"..
"It needs 6 units electrical power."),
"techage:ta3_grinder_pas")
techage.register_entry_page("ta2", "liquidsampler",
S("TA2 Liquid Sampler"),
S("The Liquid Sampler is used to collect water or other bucket registered liquids.@n"..
"The Liquid Sampler has to be placed into water/liquids and need empty buckets@n"..
"to operate. The Liquid Sampler takes 1 bucket water every 8 seconds.@n"..
"It needs 3 units axle power, supplied from the top."),
"techage:ta2_liquidsampler_pas")
techage.register_entry_page("ta3m", "liquidsampler",
S("TA3 Liquid Sampler"),
S("The Liquid Sampler is used to collect water or other bucket registered liquids.@n"..
"The Liquid Sampler has to be placed into water/liquids and need empty buckets@n"..
"to operate. The Liquid Sampler takes 2 buckets water every 8 seconds.@n"..
"It needs 5 units electrical power, supplied from the top."),
"techage:ta3_liquidsampler_pas")
techage.register_entry_page("ta2", "pusher",
S("TA2 Pusher"),
S("The Pusher is a pulling/pushing block, moving items from one inventory block to another (e.g. chests). "..
"Start the Pusher with a right-click. It shows the state 'running' as infotext. "..
"The Pusher moves items from left to right (IN to OUT).@n"..
"If the source chest is empty, the Pusher goes into 'standby' state for some seconds. If the destination "..
"chest is full, the Pusher goes into 'blocked' state.@n"..
"The TA2 Pusher moves two items every 2 seconds."),
"techage:ta2_pusher_pas")
techage.register_entry_page("ta3m", "pusher",
S("TA3 Pusher"),
S("The Pusher is a pulling/pushing block, moving items from one inventory block to another (e.g. chests). "..
"Start the Pusher with a right-click. It shows the state 'running' as infotext. "..
"The Pusher moves items from left to right (IN to OUT).@n"..
"If the source chest is empty, the Pusher goes into 'standby' state for some seconds. If the destination "..
"chest is full, the Pusher goes into 'blocked' state.@n"..
"The TA3 Pusher moves 6 items every 2 seconds."),
"techage:ta3_pusher_pas")
techage.register_entry_page("ta3ps", "akku",
S("TA3 Akku Box"),
S("Used to store electrical energy. Charged in about 10 min, provides energy for 10 min.@n"..
"It take and deliver up to 10 units electrical power."),
"techage:ta3_akku")
techage.register_entry_page("ta3ps", "coalboiler_base",
S("TA3 Boiler Base"),
S("Part of the Power Station. Has to be placed on top of the TA3 Power Station Firebox and filled with water.@n"..
"(see TA3 Power Station)"),
"techage:coalboiler_base")
techage.register_entry_page("ta3ps", "coalboiler_top",
S("TA3 Boiler Top"),
S("Part of the Power Station. Has to be placed on top of TA3 Power Station Boiler Base.@n"..
"(see TA3 Power Station)"),
"techage:coalboiler_top")
techage.register_entry_page("ta3ps", "cooler",
S("TA3 Cooler"),
S("Part of the Power Station. Has to be placed in the steam circulation after the Turbine.@n"..
"(see TA3 Power Station)"),
"techage:cooler")
techage.register_entry_page("ta3ps", "generator",
S("TA3 Generator"),
S("Part of the Power Station. Has to be placed side by side with the TA3 Turbine. "..
"Connect the Generator with your TA3 machines by means of Electric Cables and Junction Boxes@n"..
"(see TA3 Power Station)"),
"techage:generator")
techage.register_entry_page("ta3ps", "ta3_power_terminal",
S("TA3 Power Terminal"),
S("Terminal for power network information. Has to be placed in front of an Electric Junction Box."),
"techage:ta3_power_terminal")
techage.register_entry_page("ta3ps", "turbine",
S("TA3 Turbine"),
S("Part of the Power Station. Has to be placed side by side with the TA3 Generator.@n"..
"(see TA3 Power Station)"),
"techage:turbine")
local S = techage.S
techage.register_category_page("ta3",
S("Oil Age (TA3)"),
S("The Oil Age is the third level of the available technic stages. "..
"The goal of TA3 is to build Power Stations, drill for oil, and build "..
"machines to produce ores and chips for smart TA4 devices and machines."),
"techage:oil_source",
{"power", "times"}
)
techage.register_entry_page("ta3", "power",
S("Power Consumption"),
S("Power consumption and supply:@n"..
"- TA3 Power Station: 80 ku@n"..
"- TA3 Tiny Generator: 12 ku@n"..
"- TA3 Akku Box: 10 ku (in both dirs)@n"..
"- TA3 Oil Drill Box: 16 ku@n"..
"- TA3 Oil Pumpjack: 16 ku@n"..
"- TA3 Electronic Fab: 12 ku@n"..
"- TA3 Autocrafter: 6 ku@n"..
"- TA3 Grinder: 6 ku@n"..
"- TA3 Gravel Sieve: 4 ku@n"..
"- TA3 Booster: 3 ku@n"..
"- Lamps: 0.5 ku@n"..
"- TA4 Streetlamp Solar Cell: 1 ku@n"..
"@n"..
"- Signs Bot: 8 ku (while loading)"),
"techage:t3_source", nil)
techage.register_entry_page("ta3", "times",
S("Oil Burning Times"),
S("Burning times with one oil item for@n"..
"Stream Engine / Power Station / Tiny Generator:@n"..
"@n"..
"Power max./ku : 25 / 80 / 12@n"..
"Oil burn time/s : 32 / 20 / 100 @n"..
"@n"..
"burn time at power 2 : 400 / 800 / 600@n"..
"burn time at power 10 : 80 / 160 / 120@n"..
"burn time at power 20 : 40 / 80 / --"),
"techage:t3_source", nil)
local Images = {
{false, false, false, false, false, false, false},
{"techage_steam_knee.png", 'techage_steam_pipe.png', 'techage_steam_pipe.png',
'techage_steam_pipe.png', 'techage_steam_pipe.png', 'techage_steam_pipe.png', "techage_steam_knee.png^[transformR270"},
{'techage_steam_pipe.png^[transformR90', "techage:coalboiler_top", 'techage_steam_pipe.png',
'techage_steam_knee.png^[transformR270', 'techage_steam_knee.png',
"techage_filling_ta3.png^techage_frame_ta3.png^techage_cooler.png",
"techage_steam_knee.png^[transformR180"},
{"techage_steam_knee.png^[transformR90", "techage:coalboiler_base", false, 'techage_steam_pipe.png^[transformR90',
'techage_steam_pipe.png^[transformR90'},
{false, "techage:coalfirebox", false, "techage_steam_knee.png^[transformR90",
"techage_filling_ta3.png^techage_appl_turbine.png^techage_frame_ta3.png",
"techage_filling_ta3.png^techage_frame_ta3.png^techage_appl_generator.png"},
}
--techage.register_entry_page("ta3", "power_station",
techage.register_category_page("ta3ps",
S("TA3: Power Station"),
S("Build a Power Station according to the plan with TA3 Firebox, TA3 Boiler, Steam Pipes, Cooler, Turbine and Generator.@n"..
"- Heat the Firebox with coal/charcoal or oil@n"..
"- Fill the boiler with water (more than one bucket is needed)@n"..
"- Wait until the water is heated@n"..
"- Open the steam ventil@n"..
"- Connect the Generator with your machines by means of cables and junction boxes@n"..
"- Start the Generator"),
nil,
{"coalboiler_base", "coalboiler_top", "turbine", "generator", "cooler", "akku", "tiny_generator", "ta3_power_terminal"},
Images)
techage.register_category_page("ta3op",
S("TA3: Oil plants"),
S("In the TA3 age, oil (petroleum) serves as an almost infinite fuel. But oil is difficult "..
"and expensive to recover:@n"..
"1: Search for oil with the TA3 Oil Explorer@n"..
"2: Drill for oil with the TA3 Oil Drill Box (oil derrick)@n"..
"3: Recover the oil with the TA3 Oil Pumpjack@n"..
"4: A power station nearby provides the necessary @n"..
" electrical power for the derrick and pumpjack.@n"..
"5: Tubes or rails are used for oil transportation."),
"techage:oilexplorer",
{"oilexplorer", "drillbox", "pumpjack"}
)
techage.register_category_page("ta3m",
S("TA3: Machines"),
S("Collection of TA3 machines, some with eletrical power supply."),
"techage:ta3_autocrafter_pas",
{"pusher", "distributor", "chest", "grinder", "gravelsieve", "autocrafter", "electronic_fab",
"funnel", "liquidsampler"}
)
techage.register_category_page("ta3l",
S("TA3: Logic"),
S("Collection of TA3 logic blocks to control your machines."),
"techage:terminal2",
{"terminal", "button", "detector", "repeater", "logic", "node_detector", "player_detector", "cart_detector", "programmer"}
).
techage.register_category_page("ta4",
S("Future Age (TA4)"),
S("The Future Age is the forth level of the available technic stages.@n"..
"The goal of TA4 is to operate your machines only with renewable energy.@n"..
"Build wind turbines, solar panel plants and biogas plants and use@n"..
"future technologies."),
"techage:ta4_wlanchip",
{}
)
local ROTOR = "techage_wind_turbine_inv.png"
local CANELLE = "techage_rotor.png"
local PILLAR = "techage:pillar"
local Images = {
{false, false, false, ROTOR, CANELLE, false, false},
{false, false, false, PILLAR, false, false, false},
{false, false, false, PILLAR, false, false, false},
{false, false, false, PILLAR, false, false, false},
{false, false, false, PILLAR, false, false, false},
{false, false, false, PILLAR, false, false, false},
{false, false, false, PILLAR, false, false, false},
{false, false, false, PILLAR, false, false, false},
}
--techage.register_entry_page("ta3", "power_station",
techage.register_category_page("ta4wt",
S("TA4: Wind Turbine"),
S("Build a Wind Turbine according to the plan with TA4 Wind Turbine, TA4 Wind Turbine Nacelle and@n"..
"a pillar by means of TA4 Pillar nodes (power cables have to be inside).@n"..
"Please note the following limitations:@n"..
"- pillar height between 10 and 19 m@n"..
"- can only be built offshore (20 m in all 4 directions is water)@n"..
"- more than 14 m to the next wind turbine@n"..
"- the wind blows only between 5 and 9 o'clock and between 17 and 21 o'clock"),
nil,
{},
Images)
.
techage.register_category_page("ta", "Further nodes and tools",
S("This is a collection of further nodes and tools which do not fit to the stages 1 to 4."),
"techage:end_wrench", {"end_wrench", "powerswitch", "trowel", "blackhole", "forceload", "doorblock", "gateblock"}
)
techage.register_entry_page("ta", "powerswitch",
S("TA Power Switch"),
S("To turn electrical power on/off.@n"..
"Has to be placed on a TA Power Switch Box."),
"techage:powerswitch")
techage.register_entry_page("ta", "trowel",
S("TechAge Trowel"),
S("Tool to hide and retrieve electrical wiring in walls and floors.@n"..
"The material for hiding the cables must be in the left stack of the first row in the player inventory."),
"techage:trowel").
techage.register_entry_page("ta4es", "ta4_generator",
S("TA4 Generator"),
S("Part of TA4 Energy Systems. Has to be placed side by side with the TA4 Turbine. "..
"Connect the Generator with your power network@n"),
"techage:ta4_generator")
techage.register_entry_page("ta4es", "turbine",
S("TA4 Turbine"),
S("Part of TA4 Energy Systems. Has to be placed side by side with the TA4 Generator.@n"),
"techage:ta4_turbine")
techage.register_entry_page("ta3f", "booster",
S("TA3 Booster"),
S("Part of the TA3 Industrial Furnace and further machines. Used to increase the air/gas pressure."),
"techage:ta3_booster")
techage.register_entry_page("ta3f", "firebox",
S("TA3 Furnace Firebox"),
S("Part of the TA3 Industrial Furnace. Faster and more powerful than the standard furnace."),
"techage:furnace_firebox")
techage.register_entry_page("ta3f", "furnace",
S("TA3 Furnace Top"),
S("Part of the TA3 Industrial Furnace. Faster and more powerful than the standard furnace."),
"techage:ta3_furnace_pas")
local HelpText = S("Build the Furnace with TA3 Furnace Firebox, TA3 Furnace Top, "..
"and TA3 Booster according to the plan.@n"..
"- Heat the Firebox with coal/charcoal/oil@n"..
"- Power the Booster with electrical power.@n"..
"- Select one of the possible outputs@n"..
"- Connect the TA3 Furnace Top with your machines by means of tubes.@n"..
"- Start the Furnace")
techage.register_entry_page("ta3l", "button",
S("TA3 Button/Switch"),
S("The Button/Switch is used to send on/off commands to machines/nodes.@n"..
"It can be configured as switch or as button with configurable cycle time from 2 to 32s)"),
"techage:ta3_button_on")
techage.register_entry_page("ta3l", "cart_detector",
S("TA3 Cart Detector"),
S("The Cart Detector sends a 'on' signal if a cart (Minecart) is nearby@n"..
"In addition the node starts the cart again, if a 'on' signal is received.@n"),
"techage:ta3_cartdetector_off")
techage.register_entry_page("ta3l", "detector",
S("TA3 Detector"),
S("The Detector is a special kind of tube block that@n"..
"outputs an event when items pass through.@n"..
"It sends an 'on' when an item goes through,@n"..
"followed by an 'off' event one second later.@n"..
"After that it blocks further events for 8 seconds."),
"techage:ta3_detector_on")
techage.register_entry_page("ta3l", "logic",
S("TA3 Logic Block"),
S("The Logic Block is used to combine one or several input signals@n"..
"by means of a boolean expression into one output signal,@n"..
"like 'n123 and n345', 'not n123', or simply 'inp'.@n"..
"The then-part and the else-part are used to set the output.@n"..
"true means 'on', false means 'off', nothing means send nothing."),
"techage:ta3_logic")
techage.register_entry_page("ta3l", "node_detector",
S("TA3 Node Detector"),
S("The Node Detector sends an 'on' signal when it detects that nodes appear@n"..
"or disappear, but has to be configured accordingly.@n"..
"After the node switches back to the default state (grey block)@n"..
"an 'off' signal will be sent.@n"..
"Valid nodes are all kind of blocks and plants.@n"..
"The sensor range is 3 nodes/meters in the arrow direction."),
"techage:ta3_nodedetector_on")
techage.register_entry_page("ta3l", "player_detector",
S("TA3 Player Detector"),
S("The Player Detector sends a 'on' signal when it detects a player@n"..
"within a radius of 4 m around the node.@n"..
"The detector can be configured with player names to scan for."),
"techage:ta3_playerdetector_off")
techage.register_entry_page("ta3l", "programmer",
S("Techage Programmer"),
S("The Programmer is a tool to collect block numbers (right mouse button)@n"..
"from machines/nodes to program (left mouse button) the Repeater@n"..
"or other nodes. This is especially useful if you want to switch on/off@n"..
"many block at the same time."),
"techage:programmer")
techage.register_entry_page("ta3l", "repeater",
S("TA3 Repeater"),
S("The Repeater is a multiplier block, sending received commands@n"..
"to all connected blocks. The list of destination block numbers@n"..
"has to be configured, but can easily programmed@n"..
"by means of the Programmer."),
"techage:ta3_repeater")
techage.register_entry_page("ta3l", "sequencer",
S("TA3 Sequencer"),
S("The Sequencer block allows to define sequences of on/off commands@n"..
"with time delays in between. A sequence of up to 8 steps@n"..
"can be programmed, each with destination block numbers, on/off command,@n"..
"and time gap to the next step in seconds. The Sequencer can run endless@n"..
"or only once and can be switches on/off by other blocks."),
"techage:ta3_sequencer")
techage.register_entry_page("ta3l", "terminal",
S("TA3 Terminal"),
S("The Terminal is used to send commands to machines and output their responses.@n"..
"In order to not always have to enter commands, commands can be assigned to buttons@n"..
"and with a double-click on a text line, the command is copied into the input field, again.@n"..
"The terminal has a help command with further information to the supported commands."),
"techage:terminal2")
techage.register_entry_page("ta3l", "timer",
S("TA3 Timer"),
S("The Timer block allows to turn machines/nodes on and off@n"..
"based on the day time."),
"techage:ta3_timer")
techage.register_entry_page("ta2", "boiler1",
S("TA2 Boiler Base"),
S("Part of the steam engine. Has to be placed on top of the Firebox and filled with water.@n"..
"(see Steam Engine)"), "techage:boiler1")
techage.register_entry_page("ta2", "boiler2",
S("TA2 Boiler Top"),
S("Part of the steam engine. Has to be placed on top of TA2 Boiler Base.@n(see Steam Engine)"),
"techage:boiler2")
local S = techage.S
local HelpText = S("Build a steam engine according to the plan with TA2 Firebox, TA2 Boiler, Steam Pipes, TA2 Cylinder and TA2 Flywheel.@n"..
"- Heat the Firebox with coal/charcoal@n"..
"- Fill the boiler with water (more than one bucket is needed)@n"..
"- Wait until the water is heated@n"..
"- Open the steam ventil@n"..
"- Start the Flywheel@n"..
"- Connect the Flywheel with your machines by means of Axles and Gearboxes")
local Images = {
{false, false, false, false, false, false, false},
{false, false, false, false, false, false, false},
{false, false, "techage_steam_knee.png", 'techage_steam_pipe.png', "techage_steam_knee.png^[transformR270"},
{false, false, "techage:boiler2", false, 'techage_steam_pipe.png^[transformR90'},
{false, false, "techage:boiler1", false, 'techage_steam_pipe.png^[transformR90'},
{false, false, "techage_firebox.png^techage_appl_firehole.png^techage_frame_ta2.png", false,
"techage_steam_knee.png^[transformR90",
"techage_filling_ta2.png^techage_cylinder.png^techage_frame_ta2.png",
"techage_filling_ta2.png^techage_frame_ta2.png^techage_flywheel.png^[transformFX]"},
}
techage.register_entry_page("ta2", "steam_engine",
S("Steam Engine"), HelpText, nil, Images)
techage.register_entry_page("ta2", "cylinder",
S("TA2 Cylinder"),
S("Part of the steam engine. Has to be placed side by side with the TA2 Flywheel.@n"..
"(see Steam Engine)"),
"techage:cylinder")
techage.register_entry_page("ta2", "flywheel",
S("TA2 Flywheel"),
S("Part of the steam engine. Has to be placed side by side with the TA2 Cylinder.@n"..
"Used to turn on/off the steam engine. Connect the Flywheel with your TA2 machines "..
"by means of Axles and Gearboxes.@n"..
"(see Steam Engine)"), "techage:flywheel")
techage.register_entry_page("ta", "end_wrench",
S("TechAge Info Tool"),
S("The TechAge Info Tool is a tool to read any kind of status information from nodes providing a command interface.@n"..
"Click on the node to read the status"),
"techage:end_wrench")
techage.register_entry_page("ta", "trowel",
S("TechAge Trowel"),
S("Tool to hide and retrieve electrical wiring in walls and floors.@n"..
"The material for hiding the cables must be in the left stack of the first row in the player inventory."),
"techage:trowel")
techage.register_entry_page("ta", "doorblock",
S("Techage Door Block"),
S("The Door Block can disappear by means of commands from a button or switch.@n"..
"It is commonly used to build larger gates. All Door Blocks@n"..
"obtain a unique number which is shown as block infotext.@n"..
"This number is used as destination address for commands.@n"..
"The texture of the Door Block can be configured after@n"..
"placement with the right mouse button."),
"techage:doorblock"..NUM_TEXTURES)
techage.register_entry_page("ta", "gateblock",
S("Techage Gate Block"),
S("The Gate Block can disappear by means of commands from a button or switch.@n"..
"It is commonly used to build larger gates. All Gate Blocks@n"..
"obtain a unique number which is shown as block infotext.@n"..
"This number is used as destination address for commands.@n"..
"The texture of the Gate Block can be configured after@n"..
"placement with the right mouse button."),
"techage:gateblock"..NUM_TEXTURES)
--minetest.register_on_joinplayer(function(player)
-- minetest.after(2, function(name)
-- minetest.show_formspec(name, "test:formspec",
-- "size[6,4]"..
-- "textarea[0.5,1;6,3;;"..
-- "This is a grey text line.\n"..
-- "\027(c@#FF0000)This\194\160\027(c@#00FF00)is\194\160\027(c@#0000FF)a\194\160\027(c@#FF00FF)colored\194\160\027(c@#FFFF00)text\194\160\027(c@#00FFFF)line."..
-- ";]")
-- end, player:get_player_name())
--end)
techage.register_entry_page("ta3op", "drillbox",
S("TA3 Oil Drill Box"),
S("The box automatically unfolds to a derrick when you press the button.@n"..
"1: Place the box in the middle of the marked position@n"..
" (the derrick requires a free area of 3x3m)@n"..
"2: Press the build button@n"..
"3: Supply the drill with electricity@n"..
"4: Supply the drill with Drill Bits@n"..
"5: Press the start button@n"..
"6: Remove the excavated material with Tubes/Pusher@n"..
"7: The drill stops when oil is found@n"..
" (drill speed is 1m/16s)@n"..
"8: Replace the drill with the Pumpjack.@n"..
"It needs 16 units electrical power"),
node_name_ta3)
techage.register_entry_page("ta3ps", "tiny_generator",
S("TA3 Tiny Power Generator"),
S("Small electrical power generator. Needs oil as fuel.@n"..
"It provides 12 units electrical power@n"..
"Oil burn time: 100s"),
"techage:tiny_generator")
techage.register_entry_page("ta3op", "pumpjack",
S("TA3 Oil Pumpjack"),
S("The Pumpjack works similar to a pusher. It pumps one oil item every 8 seconds. It needs 16 units of electrical power."),
"techage:ta3_pumpjack_pas")
techage.register_entry_page("ta3op", "oilexplorer",
S("TA3 Oil Explorer"),
S("Used to find oil (petroleum). Oil can be used as fuel for the Power Station and others. "..
"Place the block and right-click on the block to explore the underground. "..
"The block will explore a 16x16 field with a depth of up to 400 m. "..
"To search deeper, click the block several times. "..
"When oil is found, the position for the derrick (Drill Box) is highlighted.@n"..
"Hint: Mark and protect the position for later use."),
"techage:oilexplorer")

179
manuals/manual_ta2_DE.md Normal file
View File

@ -0,0 +1,179 @@
# TA2: Dampfzeitalter
In TA2 geht es darum, erste Maschinen zur Verarbeitung von Erzen zu bauen und zu betreiben. Einige Maschinen müssen dazu über Antriebsachsen angetrieben werden. Dazu musst du eine Dampfmaschine bauen und diese mit Kohle oder Holzkohle anheizen.
In TA2 steht auch ein Kiesspüler zur Verfügung, mit dem seltene Erze wie Usmium Nuggets ausgewaschen werden können. Diese Nuggets wirst du später für weitere Rezepte brauchen.
## Dampfmaschine
Die Dampfmaschine besteht aus mehreren Blöcken und muss wie im Plan rechts abgebildet, zusammen gebaut werden. Dazu werden die Blöcke TA2 Feuerbox, TA2 Boiler oben, TA2 Boiler unten, TA2 Zylinder, TA2 Schwungrad und Dampfleitungen benötigt.
Zusätzlich werden Antriebsachsen sowie Getriebeblöcke für Richtungswechsel benötigt. Das Schwungrad muss über die Antriebsachsen mit allen Maschinen verbunden werden, die angetrieben werden müssen.
Bei allen Blöcken beim Setzen immer auch die Ausrichtung achten:
- Zylinder links, Schwungrad rechts daneben
- Dampfleitungen anschließen, wo ein entsprechendes Loch ist
- Antriebsachse beim Schwungrad nur rechts
- bei allen Maschinen kann die Antriebsachse an allen Seiten angeschlossen werden, welche nicht durch andere Funktionen belegt wird, wie bspw. die IN und OUT Löcher bei Mühle und Sieb.
Der Boiler muss mit Wasser gefüllt werden. Dazu bis zu 4 Eimer Wasser in den Boiler füllen.
Die Feuerbox muss mit Kohle oder Holzkohle gefüllt werden.
Wenn das Wasser heiß ist, kann das Ventil am Boiler geöffnet und anschließend die Dampfmaschine am Schwungrad gestartet werden.
Die Dampfmaschine leistet 25 ku, kann damit mehrere Maschinen gleichzeitig antreiben.
[steamengine](/plan/)
### TA2 Feuerbox
Teil der Dampfmaschine.
Die Feuerbox muss mit Kohle oder Holzkohle gefüllt werden. Die Brenndauer ist abhängig von der Leistung, die von der Dampfmaschine angefordert wird. Unter Volllast brennt Kohle 32 s und Holzkohle 96 s.
[ta2_firebox](/image/)
### TA2 Boiler
Teil der Dampfmaschine. Muss mit Wasser gefüllt werden. Wem kein Wasser mehr vorhanden ist oder die Temperatur zu weit absinkt, schaltet sich der Boiler ab.
[ta2_boiler](/image/)
### TA2 Zylinder
Teil der Dampfmaschine.
[ta2_cylinder](/image/)
### TA2 Schwungrad
Antriebsteil der Dampfmaschine. Das Schwungrad muss über Antriebsachsen mit den Maschinen verbunden werden.
[ta2_flywheel](/image/)
### TA2 Dampfleitungen
Teil der Dampfmaschine. Der Boiler muss mit dem Zylinder über die Dampfleitungen (steam pipes) verbunden werden. Die Dampfleitung besitzt keine Abzweigungen, die maximale Länge beträgt 12 m (Blöcke).
[ta2_steampipe](/image/)
## Items schieben und sortieren
Um Gegenstände (Items) von einer Verarbeitungsstation zur nächsten weiter zu transportieren, werden Schieber und Röhren verwendet. Siehe Plan.
[itemtransport](/plan/)
### Röhren
Zwei Maschinen können mit Hilfe eines Schiebers und einer Röhre (tube) verbunden werden. Röhren besitzen keine Abzweigungen. Die maximale Länge beträgt 200 m (Blöcke).
Röhren können alternativ mit Hilfe der Shift-Taste platziert werden. Dies erlaubt bspw. Röhren parallel zu verlegen, ohne dass diese sich unbeabsichtigt verbinden.
Die Transportkapazität einer Röhre ist unbegrenzt und nur durch die Schieber begrenzt.
[tube](/image/)
### TA2 Schieber
Ein Schieber ist in der Lage, Items aus Kisten oder Maschinen zu ziehen und in andere Kisten oder Maschinen zu schieben. Oder anders gesagt: Zwischen zwei Blöcken mit Inventar muss ein und genau ein Schieber sein. Mehrere Schieber in Reihe sind nicht möglich.
Ein Schieber geht in den Zustand "standby", wenn der keine Items zum Schieben hat. Ist der Ausgang blockiert oder das Inventory des Empfängers voll, so geht der Schieber in den Zustand "blocked". Aus beiden Zuständen kommt der Schieber nach einigen Sekunden selbsttätig wieder raus, sofern sich die Situation geändert hat.
Der Verarbeitungsleistung eines TA2 Schiebers beträgt 2 Items alle 2 s.
[ta2_pusher](/image/)
### TA2 Verteiler
Der Verteiler ist in der Lage, die Items aus seinem Inventar sortieren in bis zu vier Richtungen weiter zu transportieren. Dazu muss der Verteiler entsprechend konfiguriert werden.
Der Verteiler besitzt dazu ein Menü mit 4 Filter mit unterschiedlichen Farben, entsprechend den 4 Ausgängen. Soll ein Ausgang genutzt werden, so muss der entsprechende Filter über die "on" Checkbox aktiviert werden. Alle Items, die für diesen Filter konfiguriert sind, werden über den zugeordneten Ausgang ausgegeben. Wird ein Filter aktiviert, ohne das Items konfiguriert werden, so sprechen wir hier von einem "nicht-konfigurierten", offenen Ausgang.
Für einen nicht-konfigurierten Ausgang gibt es zwei Betriebsarten:
1) Alle Items ausgeben, die an keine anderen Ausgängen ausgegeben werden können, auch wenn diese blockiert sind.
2) Nur die Items ausgeben, die für keinen anderen Filter konfiguriert wurden.
Im ersten Fall werden immer alle Items weitergeleitet und der Verteiler läuft nicht voll. Im zweiten Fall werden Items zurückgehalten und der Verteiler kann voll laufen und in der Folge blockieren.
Einstellbar ist die Betriebsart ist über die ">>|" Checkbox (an => Betriebsart 2)
Wird nur ein Ausgang aktiviert und mit mehreren Items konfiguriert, so kann die 1:1 Checkbox angeklickt werden. In diesem Falle werden Items streng gemäß der Filtereinstellung weitergegeben. Fehlt ein Item in der Reihenfolge, blockiert der Verteiler. Damit lassen sich andere Maschinen wie bspw. der Autocrafter exakt gemäß dem eingestellten Rezept bestücken.
Der Verarbeitungsleistung eines TA2 Verteilers beträgt 4 Items alle 2 s, wobei der Verteiler dabei versucht, die 4 Items auf die offenen Ausgänge zu verteilen.
[ta2_distributor](/image/)
## Kieswaschanlage
Die Kieswaschanlage ist eine komplexere Maschine mit dem Ziel, Usmium Nuggets aus gesiebtem Kies auszuwaschen. Für den Aufbau wird ein TA2 Kiesspüler mit Achsenantrieb, ein Trichter, eine Kiste, sowie fließendes Wasser benötigt.
Aufbau von links nach rechts (siehe auch Plan):
* Ein Erdblock, darauf die Wasserquelle, umgeben auf 3 Seiten von bspw. Glasblöcken
* daneben den Kiesspüler, ggf. mit Röhrenanschlüssen für den Kies An- und Abtransport
* dann den Trichter mit Kiste
Das Ganze umgeben von weiteren Glasblöcken, so dass das Wasser über den Kiesspüler und den Trichter fließt und ausgespielten Nuggets vom Trichter wieder eingesammelt werden können.
[gravelrinser](/plan/)
### TA2 Kiesspüler
Der Kiesspüler ist in der Lade, aus bereits gesiebtem Kies die Erze Usmium und Kupfer auszuspülen, sofern dieser von Wasser überspült wird.
Ob der Kiesspüler korrekt arbeitet, kann mit Hilfe von Stöcken (sticks) getestet werden, wenn diese in das Inventar des Kiesspülers getan werden. Diese müssen einzeln ausgespült und vom Trichter eingefangen werden.
Die Verarbeitungsleistung ist ein Kies Item alle 2 s. Der Kiesspüler benötigt 3 ku Energie.
[ta2_rinser](/image/)
## Stein mahlen und sieben
Das Mahlen und Siebe von Gestein dient zur Gewinnung von Erzen. Gesiebtes Kies kann aber auch anderweitig genutzt werden. Mühle und Sieb müssen angetrieben und damit in der Nähe einer Dampfmaschine aufgebaut werden.
[ta2_grinder](/image/)
### TA2 Mühle
Die Mühle ist in der Lage, verschiedenes Gestein, aber auch Holz und andere Items zu mahlen.
Die Verarbeitungsleistung ist ein Item alle 2 s. Die Mühle benötigt 4 ku Energie.
[ta2_grinder](/image/)
### TA2 Kiessieb
Das Kiessieb ist in der Lage, Kies zu sieben um Erze zu gewinnen. Als Ergebnis erhält man teilweise "gesiebtes Kies", was nicht wieder gesiebt werden kann.
Die Verarbeitungsleistung ist ein Item alle 2 s. Die Kiessieb benötigt 3 ku Energie.
[ta2_gravelsieve](/image/)
## Items produzieren
Mit TA2 Maschinen können nicht nur Erze gewonnen, sondern auch Gegenstände hergestellt werden.
### TA2 Autocrafter
[ta2_autocrafter](/image/)
### TA2 Elektronikfabrik
[ta2_electronicfab](/image/)
###
zur VerBaue eine Dampfmaschine mit Antriebsachsen und betreibe damit deine .

View File

@ -0,0 +1,161 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
import sys
import pprint
import mistune
def formspec_escape(text):
text = text.replace("\\", "")
text = text.replace("[", "\\\\[")
text = text.replace("]", "\\\\]")
text = text.replace(";", "\\\\;")
text = text.replace(",", "\\\\,")
text = text.replace('"', '\\"')
text = text.replace('\n', '\\n')
return text
lTitel = []
lText = []
lItemName = []
lPlanTable = []
def lua_table(name, lData):
lOut = []
lOut.append("%s = {" % name)
for line in lData:
lOut.append(' "%s",' % line)
lOut.append("}\n\n")
return "\n".join(lOut)
def lua_test_table(name, lData):
lOut = []
lOut.append("%s = {" % name)
for lines in lData:
for line in lines[:-1]:
lOut.append(' "%s\\n"..' % line)
if len(lines) > 0:
lOut.append(' "%s\\n",' % lines[-1])
else:
lOut.append(' "",')
lOut.append("}\n\n")
return "\n".join(lOut)
class MyRenderer(mistune.Renderer):
def __init__(self, *args, **kwargs):
mistune.Renderer.__init__(self, *args, **kwargs)
self.TextChunck = []
self.ItemName = ""
self.PlanTable = ""
self.is_first_header = True
def add_last_paragraph(self):
"""
Used to add a text block before the next header or at the end of the document
"""
lText.append(self.TextChunck)
self.TextChunck = []
lItemName.append(self.ItemName)
self.ItemName = ""
lPlanTable.append(self.PlanTable)
self.PlanTable = ""
##
## Block Level
##
def block_code(self, code, lang):
text = formspec_escape(code.strip())
lines = text.split("\n")
text2 = "\n " + "\n ".join(lines) + "\n"
self.TextChunck.append(text2)
return ""
# ~ def block_quote(self, text):
# ~ print "block_quote", text
# ~ self.TextChunck.append("\n%s\n" % text)
# ~ return ""
def header(self, text, level, raw=None):
if not self.is_first_header:
self.add_last_paragraph()
self.is_first_header = False
lTitel.append("%u,%s" % (level, formspec_escape(text)))
return ""
def hrule(self):
self.TextChunck.append("\n----------------------------------------------------\n")
return ""
def paragraph(self, text):
lines = text.split("\\n") + [""]
self.TextChunck.extend(lines)
return ""
def list(self, body, ordered=True):
lines = body.split("\n")
self.TextChunck.extend(lines)
return ""
def list_item(self, text):
return " - %s\n" % text.strip()
##
## Span Level
##
def emphasis(self, text):
return "*%s*" % formspec_escape(text)
def double_emphasis(self, text):
return "*%s*" % formspec_escape(text)
def codespan(self, text):
return "'%s'" % formspec_escape(text)
def text(self, text):
return formspec_escape(text)
def link(self, link, title, content):
"""
Used for plans and images:
[myimage](/image/)
[myplan](/plan/)
"""
if link == "/image/":
self.ItemName = content
elif link == "/plan/":
self.PlanTable = content
return ""
# ~
# ~ double_emphasis(text)
# ~ image(src, title, alt_text)
# ~ linebreak()
# ~ newline()
# ~ link(link, title, content)
# ~ strikethrough(text)
# ~ text(text)
# ~ inline_html(text)
def parse_md_file(src_name, mod, manual):
print("Read Lua file '%s'" % src_name)
renderer = MyRenderer()
md = mistune.Markdown(renderer=renderer)
md.render(file(src_name).read())
md.renderer.add_last_paragraph()
def gen_lua_file(dest_name):
print("Write Lua file '%s'" % dest_name)
lOut = ["%s.%s = {}\n\n" % (mod, manual)]
lOut.append(lua_table("%s.%s.aTitel" % (mod, manual), lTitel))
lOut.append(lua_test_table("%s.%s.aText" % (mod, manual), lText))
lOut.append(lua_table("%s.%s.aItemName" % (mod, manual), lItemName))
lOut.append(lua_table("%s.%s.aPlanTable" % (mod, manual), lPlanTable))
file(dest_name, "w").write("".join(lOut))
mod = "techage"
manual = "manual_DE"
parse_md_file("./manual_DE.md", mod, manual)
parse_md_file("./manual_ta1_DE.md", mod, manual)
parse_md_file("./manual_ta2_DE.md", mod, manual)
gen_lua_file("../doc/manual_DE.lua")

View File

@ -12,8 +12,10 @@
]]-- ]]--
local S = techage.S
minetest.register_node("techage:stone_with_baborium", { minetest.register_node("techage:stone_with_baborium", {
description = "Baborium Ore", description = S("Baborium Ore"),
tiles = {"default_stone.png^techage_baborium.png"}, tiles = {"default_stone.png^techage_baborium.png"},
groups = {cracky = 2}, groups = {cracky = 2},
drop = 'techage:baborium_lump', drop = 'techage:baborium_lump',
@ -21,12 +23,12 @@ minetest.register_node("techage:stone_with_baborium", {
}) })
minetest.register_craftitem("techage:baborium_lump", { minetest.register_craftitem("techage:baborium_lump", {
description = "Baborium Lump", description = S("Baborium Lump"),
inventory_image = "techage_baborium_lump.png", inventory_image = "techage_baborium_lump.png",
}) })
minetest.register_craftitem("techage:baborium_ingot", { minetest.register_craftitem("techage:baborium_ingot", {
description = "Baborium Ingot", description = S("Baborium Ingot"),
inventory_image = "techage_baborium_ingot.png", inventory_image = "techage_baborium_ingot.png",
}) })

View File

@ -12,6 +12,7 @@
]]-- ]]--
local S = techage.S
-- Replace default:stone with techage:basalt which is less valuable for ore generation. -- Replace default:stone with techage:basalt which is less valuable for ore generation.
default.cool_lava = function(pos, node) default.cool_lava = function(pos, node)
@ -25,7 +26,7 @@ default.cool_lava = function(pos, node)
end end
minetest.register_node("techage:basalt_stone", { minetest.register_node("techage:basalt_stone", {
description = "Basalt Stone", description = S("Basalt Stone"),
tiles = {"default_stone.png^[brighten"}, tiles = {"default_stone.png^[brighten"},
groups = {cracky = 3, stone = 1}, groups = {cracky = 3, stone = 1},
drop = 'techage:basalt_cobble', drop = 'techage:basalt_cobble',
@ -33,14 +34,14 @@ minetest.register_node("techage:basalt_stone", {
}) })
minetest.register_node("techage:basalt_cobble", { minetest.register_node("techage:basalt_cobble", {
description = "Basalt Cobble", description = S("Basalt Cobble"),
tiles = {"default_cobble.png^[brighten"}, tiles = {"default_cobble.png^[brighten"},
groups = {cracky = 3, stone = 2}, groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
}) })
minetest.register_node("techage:basalt_stone_brick", { minetest.register_node("techage:basalt_stone_brick", {
description = "Basalt Stone Brick", description = S("Basalt Stone Brick"),
paramtype2 = "facedir", paramtype2 = "facedir",
place_param2 = 0, place_param2 = 0,
tiles = {"default_stone_brick.png^[brighten"}, tiles = {"default_stone_brick.png^[brighten"},
@ -50,7 +51,7 @@ minetest.register_node("techage:basalt_stone_brick", {
}) })
minetest.register_node("techage:basalt_stone_block", { minetest.register_node("techage:basalt_stone_block", {
description = "Basalt Stone Block", description = S("Basalt Stone Block"),
tiles = {"default_stone_block.png^[brighten"}, tiles = {"default_stone_block.png^[brighten"},
is_ground_content = false, is_ground_content = false,
groups = {cracky = 2, stone = 1}, groups = {cracky = 2, stone = 1},
@ -58,21 +59,21 @@ minetest.register_node("techage:basalt_stone_block", {
}) })
minetest.register_node("techage:basalt_gravel", { minetest.register_node("techage:basalt_gravel", {
description = "Basalt Gravel", description = S("Basalt Gravel"),
tiles = {"default_gravel.png^[brighten"}, tiles = {"default_gravel.png^[brighten"},
groups = {crumbly = 2, falling_node = 1}, groups = {crumbly = 2, falling_node = 1},
sounds = default.node_sound_gravel_defaults(), sounds = default.node_sound_gravel_defaults(),
}) })
minetest.register_node("techage:sieved_basalt_gravel", { minetest.register_node("techage:sieved_basalt_gravel", {
description = "Sieved Basalt Gravel", description = S("Sieved Basalt Gravel"),
tiles = {"default_gravel.png^[brighten"}, tiles = {"default_gravel.png^[brighten"},
groups = {crumbly = 2, falling_node = 1, not_in_creative_inventory=1}, groups = {crumbly = 2, falling_node = 1, not_in_creative_inventory=1},
sounds = default.node_sound_gravel_defaults(), sounds = default.node_sound_gravel_defaults(),
}) })
minetest.register_node("techage:basalt_glass", { minetest.register_node("techage:basalt_glass", {
description = "Basalt Glass", description = S("Basalt Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
tiles = {"techage_basalt_glass.png"}, tiles = {"techage_basalt_glass.png"},
use_texture_alpha = true, use_texture_alpha = true,
@ -85,7 +86,7 @@ minetest.register_node("techage:basalt_glass", {
}) })
minetest.register_node("techage:basalt_glass2", { minetest.register_node("techage:basalt_glass2", {
description = "Basalt Glass 2", description = S("Basalt Glass 2"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
tiles = {"techage_basalt_glass2.png"}, tiles = {"techage_basalt_glass2.png"},
use_texture_alpha = true, use_texture_alpha = true,
@ -98,7 +99,7 @@ minetest.register_node("techage:basalt_glass2", {
}) })
minetest.register_node("techage:basalt_glass_thin", { minetest.register_node("techage:basalt_glass_thin", {
description = "Basalt Glass Thin", description = S("Basalt Glass Thin"),
drawtype = "nodebox", drawtype = "nodebox",
node_box = { node_box = {
type = "fixed", type = "fixed",
@ -117,7 +118,7 @@ minetest.register_node("techage:basalt_glass_thin", {
}) })
minetest.register_node("techage:basalt_glass_thin2", { minetest.register_node("techage:basalt_glass_thin2", {
description = "Basalt Glass Thin 2", description = S("Basalt Glass Thin 2"),
drawtype = "nodebox", drawtype = "nodebox",
node_box = { node_box = {
type = "fixed", type = "fixed",
@ -136,7 +137,7 @@ minetest.register_node("techage:basalt_glass_thin2", {
}) })
minetest.register_node("techage:basalt_glass_thin_xl", { minetest.register_node("techage:basalt_glass_thin_xl", {
description = "Basalt Glass Thin XL", description = S("Basalt Glass Thin XL"),
drawtype = "nodebox", drawtype = "nodebox",
node_box = { node_box = {
type = "fixed", type = "fixed",
@ -155,7 +156,7 @@ minetest.register_node("techage:basalt_glass_thin_xl", {
}) })
minetest.register_node("techage:basalt_glass_thin_xl2", { minetest.register_node("techage:basalt_glass_thin_xl2", {
description = "Basalt Glass Thin XL 2", description = S("Basalt Glass Thin XL 2"),
drawtype = "nodebox", drawtype = "nodebox",
node_box = { node_box = {
type = "fixed", type = "fixed",

View File

@ -39,7 +39,7 @@ local tPgns = {"default_wood.png", "default_aspen_wood.png", "default_junglewood
for idx,pgn in ipairs(tPgns) do for idx,pgn in ipairs(tPgns) do
minetest.register_node("techage:doorblock"..idx, { minetest.register_node("techage:doorblock"..idx, {
description = S("Techage Door Block"), description = S("TechAge Door Block"),
tiles = { tiles = {
pgn.."^[transformR90", pgn.."^[transformR90",
pgn, pgn,
@ -63,7 +63,7 @@ for idx,pgn in ipairs(tPgns) do
local number = techage.add_node(pos, "techage:doorblock"..idx) local number = techage.add_node(pos, "techage:doorblock"..idx)
mem.facedir = node.param2 mem.facedir = node.param2
meta:set_string("node_number", number) meta:set_string("node_number", number)
meta:set_string("infotext", S("Techage Door Block").." "..number) meta:set_string("infotext", S("TechAge Door Block").." "..number)
meta:set_string("formspec", "size[3,2]".. meta:set_string("formspec", "size[3,2]"..
"label[0,0;Select texture]".. "label[0,0;Select texture]"..
"dropdown[0,0.5;3;type;"..sTextures..";"..NUM_TEXTURES.."]".. "dropdown[0,0.5;3;type;"..sTextures..";"..NUM_TEXTURES.."]"..
@ -106,7 +106,7 @@ for idx,pgn in ipairs(tPgns) do
elseif topic == "off" then elseif topic == "off" then
local mem = tubelib2.get_mem(pos) local mem = tubelib2.get_mem(pos)
mem.facedir = mem.facedir or 0 mem.facedir = mem.facedir or 0
mem.name = mem.texture or "techage:doorblock"..NUM_TEXTURES mem.name = mem.name or "techage:doorblock"..NUM_TEXTURES
minetest.add_node(pos, {name = mem.name, paramtype2 = "facedir", param2 = mem.facedir}) minetest.add_node(pos, {name = mem.name, paramtype2 = "facedir", param2 = mem.facedir})
end end
end, end,
@ -122,13 +122,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta", "doorblock",
S("Techage Door Block"),
S("The Door Block can disappear by means of commands from a button or switch.@n"..
"It is commonly used to build larger gates. All Door Blocks@n"..
"obtain a unique number which is shown as block infotext.@n"..
"This number is used as destination address for commands.@n"..
"The texture of the Door Block can be configured after@n"..
"placement with the right mouse button."),
"techage:doorblock"..NUM_TEXTURES)

View File

@ -39,14 +39,14 @@ local tPgns = {"default_wood.png", "default_aspen_wood.png", "default_junglewood
for idx,pgn in ipairs(tPgns) do for idx,pgn in ipairs(tPgns) do
minetest.register_node("techage:gateblock"..idx, { minetest.register_node("techage:gateblock"..idx, {
description = "Techage Gate Block", description = S("TechAge Gate Block"),
tiles = {pgn}, tiles = {pgn},
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local node = minetest.get_node(pos) local node = minetest.get_node(pos)
local number = techage.add_node(pos, "techage:gateblock"..idx) local number = techage.add_node(pos, "techage:gateblock"..idx)
meta:set_string("node_number", number) meta:set_string("node_number", number)
meta:set_string("infotext", "Tubelib Gate Block "..number) meta:set_string("infotext", S("TechAge Gate Block").." "..number)
meta:set_string("formspec", "size[3,2]".. meta:set_string("formspec", "size[3,2]"..
"label[0,0;Select texture]".. "label[0,0;Select texture]"..
"dropdown[0,0.5;3;type;"..sTextures..";"..NUM_TEXTURES.."]".. "dropdown[0,0.5;3;type;"..sTextures..";"..NUM_TEXTURES.."]"..
@ -104,13 +104,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta", "gateblock",
S("Techage Gate Block"),
S("The Gate Block can disappear by means of commands from a button or switch.@n"..
"It is commonly used to build larger gates. All Gate Blocks@n"..
"obtain a unique number which is shown as block infotext.@n"..
"This number is used as destination address for commands.@n"..
"The texture of the Gate Block can be configured after@n"..
"placement with the right mouse button."),
"techage:gateblock"..NUM_TEXTURES)

View File

@ -15,7 +15,7 @@
local S = techage.S local S = techage.S
minetest.register_craftitem("techage:steelmat", { minetest.register_craftitem("techage:steelmat", {
description = S("Techage Steel Mat"), description = S("TechAge Steel Mat"),
inventory_image = "techage_steelmat.png", inventory_image = "techage_steelmat.png",
}) })

View File

@ -12,8 +12,10 @@
]]-- ]]--
local S = techage.S
minetest.register_craftitem("techage:usmium_nuggets", { minetest.register_craftitem("techage:usmium_nuggets", {
description = "Usmium Nuggets", description = S("Usmium Nuggets"),
inventory_image = "techage_usmium_nuggets.png", inventory_image = "techage_usmium_nuggets.png",
}) })

View File

@ -296,22 +296,6 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta3op", "drillbox",
S("TA3 Oil Drill Box"),
S("The box automatically unfolds to a derrick when you press the button.@n"..
"1: Place the box in the middle of the marked position@n"..
" (the derrick requires a free area of 3x3m)@n"..
"2: Press the build button@n"..
"3: Supply the drill with electricity@n"..
"4: Supply the drill with Drill Bits@n"..
"5: Press the start button@n"..
"6: Remove the excavated material with Tubes/Pusher@n"..
"7: The drill stops when oil is found@n"..
" (drill speed is 1m/16s)@n"..
"8: Replace the drill with the Pumpjack.@n"..
"It needs 16 units electrical power"),
node_name_ta3)
minetest.register_lbm({ minetest.register_lbm({
label = "[techage] Oil Tower sound", label = "[techage] Oil Tower sound",
name = "techage:oil_tower", name = "techage:oil_tower",

View File

@ -353,16 +353,6 @@ bucket.register_liquid(
"techage_bucket_oil.png", "techage_bucket_oil.png",
"Oil Bucket") "Oil Bucket")
techage.register_entry_page("ta3op", "oilexplorer",
S("TA3 Oil Explorer"),
S("Used to find oil (petroleum). Oil can be used as fuel for the Power Station and others. "..
"Place the block and right-click on the block to explore the underground. "..
"The block will explore a 16x16 field with a depth of up to 400 m. "..
"To search deeper, click the block several times. "..
"When oil is found, the position for the derrick (Drill Box) is highlighted.@n"..
"Hint: Mark and protect the position for later use."),
"techage:oilexplorer")
techage.explore = {} techage.explore = {}
function techage.explore.get_oil_info(pos) function techage.explore.get_oil_info(pos)

View File

@ -247,10 +247,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta3ps", "tiny_generator",
S("TA3 Tiny Power Generator"),
S("Small electrical power generator. Needs oil as fuel.@n"..
"It provides 12 units electrical power@n"..
"Oil burn time: 100s"),
"techage:tiny_generator")

View File

@ -191,7 +191,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta3op", "pumpjack",
S("TA3 Oil Pumpjack"),
S("The Pumpjack works similar to a pusher. It pumps one oil item every 8 seconds. It needs 16 units of electrical power."),
"techage:ta3_pumpjack_pas")

View File

@ -203,7 +203,7 @@ minetest.register_node("techage:power_pole", {
}) })
minetest.register_node("techage:power_pole_conn", { minetest.register_node("techage:power_pole_conn", {
description = S("TA Power Pole Top 4 conn"), description = "TA Power Pole Top 4 conn",
tiles = { tiles = {
"default_wood.png^techage_power_pole_top.png", "default_wood.png^techage_power_pole_top.png",
"default_wood.png^techage_power_pole_top.png", "default_wood.png^techage_power_pole_top.png",

View File

@ -314,12 +314,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta2", "boiler1",
S("TA2 Boiler Base"),
S("Part of the steam engine. Has to be placed on top of the Firebox and filled with water.@n"..
"(see Steam Engine)"), "techage:boiler1")
techage.register_entry_page("ta2", "boiler2",
S("TA2 Boiler Top"),
S("Part of the steam engine. Has to be placed on top of TA2 Boiler Base.@n(see Steam Engine)"),
"techage:boiler2")

View File

@ -137,8 +137,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta2", "cylinder",
S("TA2 Cylinder"),
S("Part of the steam engine. Has to be placed side by side with the TA2 Flywheel.@n"..
"(see Steam Engine)"),
"techage:cylinder")

View File

@ -228,9 +228,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta2", "flywheel",
S("TA2 Flywheel"),
S("Part of the steam engine. Has to be placed side by side with the TA2 Cylinder.@n"..
"Used to turn on/off the steam engine. Connect the Flywheel with your TA2 machines "..
"by means of Axles and Gearboxes.@n"..
"(see Steam Engine)"), "techage:flywheel")

View File

@ -1,41 +0,0 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
GPL v3
See LICENSE.txt for more information
TA2 Steam Engine Help
]]--
local S = techage.S
local HelpText = S("Build a steam engine according to the plan with TA2 Firebox, TA2 Boiler, Steam Pipes, TA2 Cylinder and TA2 Flywheel.@n"..
"- Heat the Firebox with coal/charcoal@n"..
"- Fill the boiler with water (more than one bucket is needed)@n"..
"- Wait until the water is heated@n"..
"- Open the steam ventil@n"..
"- Start the Flywheel@n"..
"- Connect the Flywheel with your machines by means of Axles and Gearboxes")
local Images = {
{false, false, false, false, false, false, false},
{false, false, false, false, false, false, false},
{false, false, "techage_steam_knee.png", 'techage_steam_pipe.png', "techage_steam_knee.png^[transformR270"},
{false, false, "techage:boiler2", false, 'techage_steam_pipe.png^[transformR90'},
{false, false, "techage:boiler1", false, 'techage_steam_pipe.png^[transformR90'},
{false, false, "techage_firebox.png^techage_appl_firehole.png^techage_frame_ta2.png", false,
"techage_steam_knee.png^[transformR90",
"techage_filling_ta2.png^techage_cylinder.png^techage_frame_ta2.png",
"techage_filling_ta2.png^techage_frame_ta2.png^techage_flywheel.png^[transformFX]"},
}
techage.register_entry_page("ta2", "steam_engine",
S("Steam Engine"), HelpText, nil, Images)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 B

After

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -143,9 +143,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta", "end_wrench",
S("TechAge Info Tool"),
S("The TechAge Info Tool is a tool to read any kind of status information from nodes providing a command interface.@n"..
"Click on the node to read the status"),
"techage:end_wrench")

View File

@ -118,8 +118,3 @@ minetest.register_craft({
}, },
}) })
techage.register_entry_page("ta", "trowel",
S("TechAge Trowel"),
S("Tool to hide and retrieve electrical wiring in walls and floors.@n"..
"The material for hiding the cables must be in the left stack of the first row in the player inventory."),
"techage:trowel")