Compare commits

...

97 Commits

Author SHA1 Message Date
Joachim Stolberg
8183b05675 Fix russian translation (https://github.com/joe7575/techage_modpack/pull/28) 2024-11-03 10:39:09 +01:00
Joachim Stolberg
009ea6f3fd
Merge pull request #185 from Niklp09/flowers
Don't spawn water plants on garden soil
2024-10-06 16:24:10 +02:00
Niklp
46b176805d
Don't spawn water plants on garden soil 2024-10-06 11:44:57 +02:00
Joachim Stolberg
d7be11a8aa Bug fix 2024-08-21 20:41:25 +02:00
Joachim Stolberg
8f255ec545 Fix bug 'TA2 boiler work without requiring boiler' 2024-07-21 20:57:03 +02:00
Joachim Stolberg
ec982b0de0 Remove the reset feature again 2024-07-18 06:44:51 +02:00
Joachim Stolberg
9a699a361f Add pre-assignment menu to the furnace 2024-07-14 22:26:54 +02:00
Joachim Stolberg
a1485b6eab Improve recording for move/fly/turn controllers 2024-07-13 11:41:19 +02:00
Joachim Stolberg
895b7895e6
Merge pull request #179 from Eternal-Study/Eternal-Study-patch-2
Add replacement to Electric Meter recipe
2024-07-11 18:19:07 +02:00
Eternal-Study
3453392c56
Add replacement to electricmeter recipe
Adds a replacement value to the electric meter recipe so as to return an empty spool to replace the gold wire.
2024-07-09 23:34:18 -04:00
Joachim Stolberg
25b087232d Fix injector bug 2024-07-08 18:56:47 +02:00
Joachim Stolberg
885d25a4a9
Merge pull request #178 from Niklp09/fix_flower_detection
Fix flowers detection when using ethereal
2024-07-03 21:19:27 +02:00
Niklp
abd945d5bc
Fix flowers detection when using ethereal 2024-07-03 20:53:06 +02:00
Joachim Stolberg
b1a338c8d4 Fix issue #175 (TA3 Furnace Does not implement replacements in recipes) 2024-06-30 14:00:34 +02:00
Joachim Stolberg
d7c31f9865 Fix bug #162 (Industrial Furnace Standby mode doesn't work as expected when connected to a pump) 2024-06-30 12:54:50 +02:00
Joachim Stolberg
c98b9a3b79
Merge pull request #176 from Eternal-Study/Eternal-Study-Salt-Patch
Water to Salt + River Water Reactor Recipe
2024-06-30 10:53:10 +02:00
Joachim Stolberg
923164c17c
Merge pull request #173 from Eternal-Study/Eternal-Study-patch-1
Add or minetest.registered_nodes[name] to Silo powder check.
2024-06-30 10:50:37 +02:00
Joachim Stolberg
ee3b19dd10
Merge pull request #172 from Niklp09/fix_deprecated_calls
Replace deprecated `meta:set_string(*, nil)` calls
2024-06-30 10:49:23 +02:00
Joachim Stolberg
11585b2f86
Merge pull request #171 from Niklp09/flb_list_del_if_empty
Don't serialize empty tables when saving flb lists
2024-06-30 10:47:50 +02:00
Eternal-Study
a3d77f5ff1
Add Salt.lua
Add new reactor recipes for salt and adds salt to powdered group.
2024-06-29 20:31:37 -04:00
Eternal-Study
46cd8b111d
Water to Salt + River Water Recipe
This pull requests adds a Water to River Water reactor recipe. If it detects a farming:salt node (as found in the Farming Redo mod) then it adds salt to the powder group, allowing it to be stored in silos, and changes the recipe to Water → Salt with River Water as a waste product.

It should be noted that issue [insert issue number here] must be resolved to implement this pull request, as otherwise nodes cannot be loaded into the silo, even if they are in the powder group. This pull request was tested with pull request [insert pull request number] implemented. Using another solution to issue [insert issue number here] may require updates to the pull request.

I release this code under the terms of AGPL v3, and transfer copyright to Joachim Stolberg.
2024-06-29 20:28:22 -04:00
Eternal-Study
0b84d478d7
Add or minetest.registered_nodes[name] to Silo powder check.
This pull request adds “or minetest.registered_nodes[name]” to the Silo powder check in line 131, permitting items in the powder group registered as nodes to be stored in the Silo. This improves interoperability with other mods by expanding the scope of items that can be stored, while still limiting it to the powder group.

It should be noted the powder check in lines 31-33 are noted affected by this pull request.

I release this code under the terms of AGPL v3, and transfer copyright to Joachim Stolberg.
2024-06-29 19:55:00 -04:00
Niklp
33c045fafb
Replace deprecated meta:set_string(*, nil) calls 2024-06-29 17:16:22 +02:00
Niklp
747bd7bfac
Don't serialize empty tables when saving flb lists 2024-06-29 16:07:49 +02:00
Joachim Stolberg
653e76c165 Add new button commands 2024-05-31 20:36:44 +02:00
Joachim Stolberg
a62f883d36 Improve command interface 2024-05-30 20:22:59 +02:00
Joachim Stolberg
bf5c5bb919 Enable recipes with input items with metadata as templates 2024-05-25 21:45:41 +02:00
Joachim Stolberg
9eb8e75efb Fix bug with injector and a full 8x2000 chest 2024-05-20 09:40:42 +02:00
Joachim Stolberg
1489fc26f3
Merge pull request #169 from Niklp09/flb_fs_list
Fix forceload block formspec list
2024-05-20 09:33:37 +02:00
Niklp
eed4d46d87
Fix forceload block formspec list 2024-05-20 00:13:13 +02:00
Joachim Stolberg
ac286776e3
Merge pull request #168 from Niklp09/nbox_low_power_box
Improve `techage:ta4_power_box` node_box
2024-05-01 11:06:10 +02:00
Niklp
c2c0686d07
Improve techage:ta4_power_box node_box 2024-04-30 21:43:48 +02:00
Joachim Stolberg
ab66660b32 Fix bug with detectors and full chests 2024-04-30 18:13:30 +02:00
Joachim Stolberg
5f0ddb211c Fix bug with detectors and full chests 2024-04-28 20:02:22 +02:00
Joachim Stolberg
bd7368a412 Fix bug with shop and injectors 2024-04-28 19:14:26 +02:00
Joachim Stolberg
a181f9524f Allow to move the TA4 terminal with the assembly tool (#165) 2024-04-20 15:44:56 +02:00
Joachim Stolberg
db28d18137
Merge pull request #166 from jfanjoy/feature/techpack-aluminum
add aluminum recipes for techpack_stairway items
2024-04-10 17:40:53 +02:00
John Fanjoy
368544046f add aluminum recipes for techpack_stairway items 2024-04-05 11:11:14 -04:00
Joachim Stolberg
064e9d0f26
Merge pull request #164 from Niklp09/replace_blanktile
Replace `techage_invisible.png` w/ engine provided `blank.png`
2024-04-03 18:38:09 +02:00
Joachim Stolberg
69cc7bff27
Merge pull request #163 from jfanjoy/feature/verify-forceload-blocks
adds a new chat command and column to forceload formspec
2024-04-03 18:37:54 +02:00
Niklp
65c6d0adbc
Replace techage_invisible.png w/ engine provided blank.png 2024-04-02 22:16:57 +02:00
John Fanjoy
6bfc943b01 adds a new chat command and column to forceload formspec 2024-04-01 16:41:02 -04:00
Joachim Stolberg
0b50136116 Fix bug #24 (Energy Storage respawn red gravel infinit) 2024-03-24 10:14:11 +01:00
Joachim Stolberg
aa7cdfba6e Error on load image on manual pt-BR #158 2024-03-24 10:02:00 +01:00
Joachim Stolberg
8b80ddab24
Merge pull request #159 from Niklp09/screwdriver_anvil
Allow TA3 screwdriver to get repaired by anvil
2024-03-24 09:48:46 +01:00
Niklp
66a3977c9f
Allow TA3 screwdriver to get repaired by anvil 2024-03-16 21:41:38 +01:00
Joachim Stolberg
77ee9928b7 Add translations and fix bug with growlight 2024-02-24 17:07:51 +01:00
Joachim Stolberg
ad2fa9d756 Add manual for pt-BR language 2024-02-04 21:39:16 +01:00
Joachim Stolberg
8ab2835141 Add reverse mode for ta5 pump 2024-01-21 12:36:44 +01:00
Joachim Stolberg
6b07399bf3 Fix issue #125 (Improve forceload formspec) 2024-01-21 11:55:48 +01:00
Joachim Stolberg
ccd017b665 Fix texture issoes 2024-01-21 11:55:48 +01:00
Joachim Stolberg
eea5c1a4ef Fix texture issoes 2024-01-21 11:55:48 +01:00
Joachim Stolberg
bb749c5eb2 Fix texture issoes 2024-01-21 11:55:48 +01:00
Joachim Stolberg
4e4445ff4e
Merge pull request #155 from Niklp09/master
Generate new randomseed after use
2023-12-30 11:32:32 +01:00
Niklp
a9c842897c Generate new randomseed after use 2023-12-28 22:00:12 +01:00
Joachim Stolberg
44720ca6ae Add some line breaks 2023-12-26 17:05:57 +01:00
Joachim Stolberg
63310ed33d Fix assembly tool bug with non-empty chests 2023-12-25 21:55:45 +01:00
Joachim Stolberg
7bb16c6a73 Typo 2023-11-11 18:58:34 +01:00
Joachim Stolberg
fad059c1bf Fix #151 (crash on 'test X') 2023-11-11 18:38:08 +01:00
Joachim Stolberg
11c3dea912 Techage v1.18 2023-11-05 13:11:32 +01:00
Joachim Stolberg
4e77cfab70
Merge pull request #150 from alwayshopeless/patch-2
Water mill river water bug fix
2023-11-05 00:43:07 +01:00
alwayshopeless
a5634c7a75
Water mill river water bug fix 2023-11-04 13:44:04 +02:00
Joachim Stolberg
f5becb1eb8 Fix #148 (Collider documentation is hard to follow) 2023-11-01 18:17:18 +01:00
Joachim Stolberg
2a157dc825 Fix #148 (Collider documentation is hard to follow) by means of:
- Remove the gas connection on the back of the magnets
- Add code to turn legacy magnets to the right direction
- Improve manual
2023-11-01 18:12:00 +01:00
Joachim Stolberg
2c16b9d01f Fix #147 (Sea level might not be y==1 for water inlets) 2023-11-01 18:10:58 +01:00
Joachim Stolberg
c81f62fd39 Fix concentrator blocking bug 2023-10-22 16:33:09 +02:00
Joachim Stolberg
6042a9d30a Allow further types of cobblestone for the coalburner 2023-10-22 11:25:14 +02:00
Joachim Stolberg
4ed5d7494f Improve description 2023-10-14 14:24:44 +02:00
Joachim Stolberg
d0e9d0b656 Improve description 2023-10-13 13:50:25 +02:00
Joachim Stolberg
1838507521 Fix burn time issue 2023-10-13 13:49:57 +02:00
Joachim Stolberg
7a99d7c0ad Add function to allow to disable a block from being removed by the assembly tool 2023-09-29 19:40:25 +02:00
Joachim Stolberg
a347405150 Add storesize command 2023-09-27 19:27:49 +02:00
Joachim Stolberg
5b94e40243
Merge pull request #146 from Niklp09/creative_check
Use proper player creative check
2023-09-24 10:01:11 +02:00
Niklp09
ae9458aa45 Use proper player creative check 2023-09-23 21:54:10 +02:00
Joachim Stolberg
bc6697a8cc Optimize recipe command 2023-09-17 18:47:48 +02:00
Joachim Stolberg
cb11941f30
Merge pull request #144 from Niklp09/converter_fix
Fix converter stores mesecon signals
2023-09-17 13:48:20 +02:00
Niklp09
ae52a9242d Fix converter stores mesecon signals 2023-09-17 10:26:12 +02:00
Joachim Stolberg
908678e840 Add new assembly tool 2023-09-16 21:03:46 +02:00
Joachim Stolberg
5a0aadc063 Add flush command 2023-09-16 12:04:43 +02:00
Joachim Stolberg
18bd475a5d Add flush command 2023-09-16 12:04:17 +02:00
Joachim Stolberg
38946d6d84 Add flush command 2023-09-16 12:03:57 +02:00
Joachim Stolberg
957466f2e1 Unify wrench menu for generators 2023-09-05 21:26:15 +02:00
Joachim Stolberg
b32d22b0c8 Add arrow on the bottom 2023-09-05 21:26:15 +02:00
Joachim Stolberg
4f4c370358 Add Beduino command interface 2023-09-05 21:26:15 +02:00
Joachim Stolberg
a946658b3b
Merge pull request #143 from Niklp09/tr_fix
Escape equal sign in german translation
2023-09-01 20:03:21 +02:00
Niklp09
73fadb4fc3 Escape equal sign in german translation 2023-09-01 11:48:24 +02:00
Joachim Stolberg
7871b81c2a Allow rotation with a screwdriver 2023-08-28 17:03:17 +02:00
Joachim Stolberg
14440f0cad Improve manual 2023-08-28 10:35:55 +02:00
Joachim Stolberg
aee918d025 Improve TA2 clutch 2023-08-27 20:18:55 +02:00
Joachim Stolberg
9111d7287c Add TA2 clutch 2023-08-26 21:27:56 +02:00
Joachim Stolberg
92039b3a83 Add TA2 clutch 2023-08-26 21:26:22 +02:00
Joachim Stolberg
ae8d2d3d09 Add TA2 clutch 2023-08-26 19:37:03 +02:00
Joachim Stolberg
c7ac277d40 Add TA2 clutch 2023-08-26 17:55:12 +02:00
Joachim Stolberg
b258057317 Add generator menu to TA5 generator 2023-08-26 10:25:18 +02:00
Joachim Stolberg
a740837b30
Merge pull request #142 from debiankaios/inv_name_prefix
Added inv_name_prefix
2023-08-24 17:50:08 +02:00
debiankaios
fffc542ac6
Added inv_name_prefix 2023-08-23 21:26:53 +02:00
Joachim Stolberg
4a5ad68054 format issue 2023-08-21 20:32:53 +02:00
115 changed files with 10323 additions and 656 deletions

View File

@ -95,12 +95,33 @@ Available worlds will be converted to 'lsqlite3', but there is no way back, so:
### History
**2023-08-20 V1.17**
**2023-11-05 V1.18**
- Add support for doclib / remove techage internal doc support
- Add TA2 clutch
- TA5 Generator: Add generator menu
- TA4 Injector: Allow rotation with a screwdriver
- Escape equal sign in german translation (Niklp09)
- Autocrafter: Add Beduino command interface
- Autocrafter: Add flush command
- Fix converter stores mesecon signals (Niklp09)
- TA1 Gravel Sieve: Use proper player creative check (Niklp09)
- TA4 Chest: Add storesize command
- Improve Assembly Tool
- Furnace: Fix burn time issue
- Allow further types of cobblestone for the coalburner
- Fix water mill river water bug (alwayshopeless)
- Improve manual
- Further improvements
**2023-08-25 V1.17**
- Add support for doclib / remove techage internal doc support
**The mod doclib is a new hard depenency !**
- Fix LICENCSE file bug
- Add beduino support for TA3 repeater (realmicu)
- Add inv_name_prefix to `techage.register_consumer` (debiankaios)
- Add generator menu to TA5 generator (fusion reactor)
- Adapt mod to the new lcdlib mod
- Fix some bugs
**2023-06-30 V1.16**
@ -141,7 +162,7 @@ Available worlds will be converted to 'lsqlite3', but there is no way back, so:
- add wrench menu for 'max. power passed through'
- Increase max. power passed through from 100 to 300 ku
- Improve Electricmeter:
- add wrench menu for 'max. power passed through' and 'power countdown'
- add wrench menu for 'max. power passed through' and 'power countdown' 2458
- add commands to read the countdown value (Lua and Beduino controller)
- Improve TA3 Mesecons Converter:
- fix overload bug

9
api.md
View File

@ -214,3 +214,12 @@ techage.furnace.register_recipe({
```
## Assembly Tool
Disable a block from being removed by the assembly tool:
```lua
techage.disable_block_for_assembly_tool(block_name)
```

View File

@ -3,7 +3,7 @@
TechAge
=======
Copyright (C) 2019-2020 Joachim Stolberg
Copyright (C) 2019-2023 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
@ -68,6 +68,21 @@ local function count_index(invlist)
return index
end
local function flush_input_inventory(pos)
local inv = M(pos):get_inventory()
if not inv:is_empty("src") then
for idx = 1, 16 do
local stack = inv:get_stack("src", idx)
if not inv:room_for_item("dst", stack) then
return false
end
inv:add_item("dst", stack)
inv:set_stack("src", idx, nil)
end
end
return true
end
-- caches some recipe data
local autocrafterCache = {}
@ -224,13 +239,18 @@ local function on_output_change(pos, inventory, stack)
end
local function determine_recipe_items(pos, input)
if input and type(input) == "string" then
-- Test if "<node-number>.<recipe-number>" input
local num, idx = unpack(string.split(input, ".", false, 1))
if num and idx then
input = get_input_from_recipeblock(pos, num, idx)
end
local num, idx
if input and type(input) == "string" then -- Lua controller
-- Test if "<node-number>.<recipe-number>" input
num, idx = unpack(string.split(input, ".", false, 1))
elseif input and type(input) == "table" then -- Beduino
num = tostring(input[1] * 65536 + input[2])
idx = tostring(input[3])
end
if num and idx then
input = get_input_from_recipeblock(pos, num, idx)
if input then
-- "<item>,<item>,..." input
local items = string.split(input, ",", true, 8)
@ -243,28 +263,24 @@ end
local function on_new_recipe(pos, input)
local items = determine_recipe_items(pos, input)
local inv = M(pos):get_inventory()
if items then
input = {
method = "normal",
width = 3,
items = items,
}
local output, _ = minetest.get_craft_result(input)
if output.item:get_name() ~= "" then
local inv = M(pos):get_inventory()
for i = 1, 9 do
inv:set_stack("recipe", i, input.items[i])
end
after_recipe_change(pos, inv)
for i = 1, 9 do
inv:set_stack("recipe", i, items[i])
end
else
local inv = M(pos):get_inventory()
inv:set_list("recipe", {})
after_recipe_change(pos, inv)
end
local hash = minetest.hash_node_position(pos)
autocrafterCache[hash] = nil
local craft = get_craft(pos, inv, hash)
if craft.output and craft.output.item then
inv:set_stack("output", 1, craft.output.item)
else
inv:set_stack("output", 1, nil)
end
end
local function allow_metadata_inventory_put(pos, listname, index, stack, player)
if listname == "output" then
return 0
@ -443,19 +459,36 @@ local tubing = {
on_recv_message = function(pos, src, topic, payload)
if topic == "recipe" and CRD(pos).stage == 4 then
if payload and payload ~= "" then
local inv = M(pos):get_inventory()
on_new_recipe(pos, payload)
return true
else
local inv = M(pos):get_inventory()
return inv:get_stack("output", 1):get_name()
end
elseif topic == "flush" and CRD(pos).stage == 4 then
return flush_input_inventory(pos)
elseif topic == "info" and CRD(pos).stage == 4 then
return INFO
else
return CRD(pos).State:on_receive_message(pos, topic, payload)
end
end,
on_beduino_receive_cmnd = function(pos, src, topic, payload)
if topic == 10 and CRD(pos).stage == 4 then
on_new_recipe(pos, payload)
return 1, ""
elseif topic == 11 and CRD(pos).stage == 4 then
if flush_input_inventory(pos) then
return 1, ""
else
return 0, ""
end
end
return CRD(pos).State:on_beduino_receive_cmnd(pos, topic, payload)
end,
on_beduino_request_data = function(pos, src, topic, payload)
return CRD(pos).State:on_beduino_request_data(pos, topic, payload)
end,
on_node_load = function(pos)
CRD(pos).State:on_node_load(pos)
end,

View File

@ -72,7 +72,11 @@ end
techage.register_node(names, {
on_push_item = function(pos, in_dir, stack)
local push_dir = M(pos):get_int("push_dir")
return techage.safe_push_items(pos, push_dir, stack)
if networks.Flip[push_dir] ~= in_dir then
return techage.safe_push_items(pos, push_dir, stack)
else
return stack
end
end,
is_pusher = true, -- is a pulling/pushing node
})
@ -121,7 +125,11 @@ end
techage.register_node(names, {
on_push_item = function(pos, in_dir, stack)
local push_dir = M(pos):get_int("push_dir")
return techage.safe_push_items(pos, push_dir, stack)
if networks.Flip[push_dir] ~= in_dir then
return techage.safe_push_items(pos, push_dir, stack)
else
return stack
end
end,
is_pusher = true, -- is a pulling/pushing node
})

View File

@ -113,16 +113,21 @@ end
-- 'validStates' is optional and can be used to e.g. enable
-- only one TA2 node {false, true, false, false}
function techage.register_consumer(base_name, inv_name, tiles, tNode, validStates, node_name_prefix)
function techage.register_consumer(base_name, inv_name, tiles, tNode, validStates, node_name_prefix, inv_name_prefix)
local names = {}
validStates = validStates or {true, true, true, true}
if not node_name_prefix then
node_name_prefix = "techage:ta"
node_name_prefix = node_name_prefix or "techage:ta"
if inv_name_prefix then
inv_name_prefix = inv_name_prefix.." "
else
inv_name_prefix = ""
end
for stage = 2,5 do
local name_pas = node_name_prefix..stage.."_"..base_name.."_pas"
local name_act = node_name_prefix..stage.."_"..base_name.."_act"
local name_inv = "TA"..stage.." "..inv_name
local name_inv = inv_name_prefix.."TA"..stage.." "..inv_name
names[#names+1] = name_pas
if validStates[stage] then

View File

@ -73,6 +73,19 @@ local function allow_metadata_inventory_take(pos, listname, index, stack, player
return stack:get_count()
end
local function get_original_waste(inv, waste)
-- Waste has meta data, so we need to find the original waste item
for i = 1, 8 do
local stack = inv:get_stack("src", i)
if stack:get_count() == 1 then
if stack:get_name() == waste:get_name() then
return stack
end
end
end
return waste
end
local function making(pos, crd, nvm, inv)
local owner = M(pos):get_string("owner")
local rtype = RecipeType[crd.stage]
@ -87,6 +100,17 @@ local function making(pos, crd, nvm, inv)
return
end
end
-- For some recipes, an item customized via metadata is used as a copy template.
-- This allows specially programmed items such as ROM chips to be produced.
-- The metadata of the copy template must be passed to the on_production function.
-- At the same time, the metadata of the copy template must not be lost when moving
-- as 'waste' to the output inventory.
local idef = minetest.registered_items[recipe.output.name]
if waste and idef and idef.on_production then
waste = get_original_waste(inv, waste)
local metadata = waste:get_meta():to_table().fields or {}
output = idef.on_production(output, metadata)
end
for _,item in ipairs(recipe.input) do
local input = ItemStack(item.name.." "..item.num)
inv:remove_item("src", input)

View File

@ -78,7 +78,11 @@ local function del_pos(pos, player)
local meta = player:get_meta()
local lPos = minetest.deserialize(meta:get_string("techage_forceload_blocks")) or {}
lPos = remove_list_elem(lPos, pos)
meta:set_string("techage_forceload_blocks", minetest.serialize(lPos))
if next(lPos) then
meta:set_string("techage_forceload_blocks", minetest.serialize(lPos))
else
meta:set_string("techage_forceload_blocks", "")
end
end
local function get_pos_list(player)
@ -88,7 +92,11 @@ end
local function set_pos_list(player, lPos)
local meta = player:get_meta()
meta:set_string("techage_forceload_blocks", minetest.serialize(lPos))
if next(lPos) then
meta:set_string("techage_forceload_blocks", minetest.serialize(lPos))
else
meta:set_string("techage_forceload_blocks", "")
end
end
local function show_flbs(pos, name, range)
@ -114,20 +122,26 @@ local function formspec(name)
if player then
local lPos = get_pos_list(player)
local tRes = {}
for idx,pos in ipairs(lPos) do
tRes[#tRes+1] = "#"
tRes[#tRes+1] = S("Block at pos")
tRes[#tRes+1] = S("Area from")
tRes[#tRes+1] = S("Area to")
tRes[#tRes+1] = S("Status")
for idx,pos in ipairs(lPos) do
local pos1, pos2 = calc_area(pos)
tRes[#tRes+1] = idx
tRes[#tRes+1] = minetest.formspec_escape(P2S(pos))
tRes[#tRes+1] = minetest.formspec_escape(P2S(pos1))
tRes[#tRes+1] = "to"
tRes[#tRes+1] = minetest.formspec_escape(P2S(pos2))
tRes[#tRes+1] = minetest.forceload_block(pos, true) and 'Loaded' or 'Unloaded'
end
return "size[7,9]"..
return "size[9,9]"..
default.gui_bg..
default.gui_bg_img..
default.gui_slots..
"label[0,0;"..S("List of your Forceload Blocks:").."]"..
"tablecolumns[text,width=1.2;text,width=12;text,width=1.6;text,width=12]"..
"table[0,0.6;6.8,8.4;output;"..table.concat(tRes, ",")..";1]"
"tablecolumns[text,width=1.8;text,width=12;text,width=12;text,width=12;text,width=12]"..
"table[0,0.6;8.8,8.4;output;"..table.concat(tRes, ",")..";1]"
end
end
@ -306,3 +320,21 @@ minetest.register_chatcommand("forceload", {
end
end,
})
minetest.register_chatcommand("forceload_verify", {
params = "",
description = "Checks each forceload block and returns a count of active/placed blocks",
func = function(name, param)
local player = minetest.get_player_by_name(name)
if player then
local loaded = {}
local wanted = get_pos_list(player)
for _,pos in ipairs(wanted) do
if minetest.forceload_block(pos, true) then
loaded[#loaded+1] = pos
end
end
minetest.chat_send_player(name, "Found "..#loaded.." out of ".. #wanted .. " force loads")
end
end,
})

View File

@ -81,7 +81,11 @@ techage.register_node({"shop:shop"}, {
on_inv_request = function(pos, in_dir, access_type)
local meta = minetest.get_meta(pos)
if is_owner(pos, meta) then
return meta:get_inventory(), "main"
if access_type == "push" then
return meta:get_inventory(), "stock"
elseif access_type == "pull" then
return meta:get_inventory(), "register"
end
end
end,
on_pull_item = function(pos, in_dir, num)

View File

@ -636,6 +636,8 @@ techage.register_node({"techage:ta4_chest"}, {
elseif topic == "itemstring" then
local nvm = techage.get_nvm(pos)
return get_itemstring(nvm, tonumber(payload or 0) or 0)
elseif topic == "storesize" then
return get_stacksize(pos)
elseif topic == "state" then
local nvm = techage.get_nvm(pos)
return inv_state(nvm)
@ -650,6 +652,8 @@ techage.register_node({"techage:ta4_chest"}, {
elseif topic == 140 and payload[1] == 2 then -- Inventory Item Name
local nvm = techage.get_nvm(pos)
return 0, get_itemstring(nvm, tonumber(payload[2] or 0) or 0)
elseif topic == 140 and payload[1] == 3 then -- storesize
return 0, {get_stacksize(pos)}
elseif topic == 131 then -- Chest State
local nvm = techage.get_nvm(pos)
return 0, {inv_state_num(nvm)}

View File

@ -19,6 +19,7 @@ local S = techage.S
-- Consumer Related Data
local CRD = function(pos) return (minetest.registered_nodes[techage.get_node_lvm(pos).name] or {}).consumer end
local tooltip = S("Switch to pull mode \nto pull items out of inventory slots \naccording the injector configuration")
local Tube = techage.Tube
local STANDBY_TICKS = 2
local COUNTDOWN_TICKS = 3
@ -121,8 +122,23 @@ local function push_items(pos, out_dir, idx, items)
return true
end
end
return false
else
return techage.push_items(pos, out_dir, items, idx)
local taken = items:get_count()
local leftover = techage.push_items(pos, out_dir, items, idx)
if not leftover or leftover == false then
return false -- No items placed
elseif leftover ~= true then
-- One or more items placed?
if leftover:get_count() < taken then
-- place the rest back
local pull_dir = M(pos):get_int("pull_dir")
techage.unpull_items(pos, pull_dir, leftover)
return true -- Some items placed
end
return false -- No items placed
end
return true -- All items placed
end
end
@ -198,7 +214,7 @@ local tiles = {}
-- '{power}' will be replaced by the power PNG
tiles.pas = {
"techage_filling_ta#.png^techage_frame_ta#_top.png^techage_appl_arrow.png",
"techage_filling_ta#.png^techage_frame_ta#.png",
"techage_filling_ta#.png^techage_frame_ta#.png^techage_appl_arrow.png",
"techage_filling_ta#.png^techage_frame_ta#.png^techage_appl_outp.png",
"techage_filling_ta#.png^techage_frame_ta#.png^techage_appl_inp.png",
"techage_appl_pusher.png^[transformR180]^techage_frame_ta#.png^techage_appl_injector.png",
@ -207,7 +223,7 @@ tiles.pas = {
tiles.act = {
-- up, down, right, left, back, front
"techage_filling_ta#.png^techage_frame_ta#_top.png^techage_appl_arrow.png",
"techage_filling_ta#.png^techage_frame_ta#.png",
"techage_filling_ta#.png^techage_frame_ta#.png^techage_appl_arrow.png",
"techage_filling_ta#.png^techage_frame_ta#.png^techage_appl_outp.png",
"techage_filling_ta#.png^techage_frame_ta#.png^techage_appl_inp.png",
{
@ -270,6 +286,18 @@ local _, node_name_ta3, node_name_ta4 =
local nvm = techage.get_nvm(pos)
M(pos):set_string("formspec", formspec(CRD(pos).State, pos, nvm))
end,
ta_rotate_node = function(pos, node, new_param2)
local nvm = techage.get_nvm(pos)
if CRD(pos).State:get_state(nvm) == techage.STOPPED then
Tube:after_dig_node(pos)
minetest.swap_node(pos, {name = node.name, param2 = new_param2})
Tube:after_place_node(pos)
local meta = M(pos)
meta:set_int("pull_dir", techage.side_to_outdir("L", new_param2))
meta:set_int("push_dir", techage.side_to_outdir("R", new_param2))
M(pos):set_string("formspec", formspec(CRD(pos).State, pos, nvm))
end
end,
allow_metadata_inventory_put = allow_metadata_inventory_put,
allow_metadata_inventory_take = allow_metadata_inventory_take,

View File

@ -43,7 +43,7 @@ local function formspec(pos)
return "size[8,9]"..
"box[0,-0.1;7.8,0.5;#c6e8ff]" ..
"label[0.2,-0.1;" .. minetest.colorize( "#000000", title) .. "]" ..
"label[0.2,2;Inventory access on client side disabled\ndue to minetest core issues!]" ..
"label[0.2,2;Inventory access on this node is disabled\ndue to minetest engine issues!]" ..
"list[current_player;main;0,5.3;8,4;]"
else
return menu.generate_formspec(pos, ndef, hyperloop.SUBMENU)

View File

@ -180,6 +180,14 @@ end)
-- API helper functions
-------------------------------------------------------------------
-- Check if both strings are the same or one string starts with the other string.
function techage.string_compare(s1, s2)
if s1 and s2 then
local minLength = math.min(#s1, #s2)
return string.sub(s1, 1, minLength) == string.sub(s2, 1, minLength)
end
end
-- Function returns { pos, name } for the node referenced by number
function techage.get_node_info(dest_num)
return NodeInfoCache[dest_num] or update_nodeinfo(dest_num)
@ -283,6 +291,18 @@ function techage.pack_node(pos, oldnode, number)
end
end
-------------------------------------------------------------------
-- Used by the assembly tool
-------------------------------------------------------------------
function techage.pre_add_node(pos, number)
local key = minetest.hash_node_position(pos)
NumbersToBeRecycled[key] = number
end
function techage.post_remove_node(pos)
local key = minetest.hash_node_position(pos)
NumbersToBeRecycled[key] = nil
end
-------------------------------------------------------------------
-- Node register function
@ -437,6 +457,7 @@ function techage.beduino_send_cmnd(src, number, topic, payload)
if ninfo and ninfo.name and ninfo.pos then
local ndef = NodeDef[ninfo.name]
if ndef and ndef.on_beduino_receive_cmnd then
techage_counting_hit()
return ndef.on_beduino_receive_cmnd(ninfo.pos, src, topic, payload or {})
end
end
@ -449,6 +470,7 @@ function techage.beduino_request_data(src, number, topic, payload)
if ninfo and ninfo.name and ninfo.pos then
local ndef = NodeDef[ninfo.name]
if ndef and ndef.on_beduino_request_data then
techage_counting_hit()
return ndef.on_beduino_request_data(ninfo.pos, src, topic, payload or {})
end
end

View File

@ -10,9 +10,12 @@
Configured inventory lib
Assuming the inventory has the name "conf"
Otherwise the name has to be provided as argument
]]--
local StackName = ... or "conf"
-- for lazy programmers
local M = minetest.get_meta
@ -22,7 +25,7 @@ function inv_lib.preassigned_stacks(pos, xsize, ysize)
local inv = M(pos):get_inventory()
local tbl = {}
for idx = 1, xsize * ysize do
local item_name = inv:get_stack("conf", idx):get_name()
local item_name = inv:get_stack(StackName, idx):get_name()
if item_name ~= "" then
local x = (idx - 1) % xsize
local y = math.floor((idx - 1) / xsize)
@ -36,7 +39,7 @@ function inv_lib.item_filter(pos, size)
local inv = M(pos):get_inventory()
local filter = {}
for idx = 1, size do
local item_name = inv:get_stack("conf", idx):get_name()
local item_name = inv:get_stack(StackName, idx):get_name()
if item_name == "" then item_name = "unconfigured" end
if not filter[item_name] then
filter[item_name] = {}

View File

@ -20,14 +20,14 @@ local S = techage.S
techage.firebox = {}
techage.firebox.Burntime = {
["techage:charcoal"] = true, -- will be replaced by burntime
["default:coal_lump"] = true,
["default:coalblock"] = true,
["techage:oil_source"] = true,
["techage:gas"] = true,
["techage:gasoline"] = true,
["techage:naphtha"] = true,
["techage:fueloil"] = true,
["techage:charcoal"] = 1, -- will be replaced by burntime
["default:coal_lump"] = 1,
["default:coalblock"] = 1,
["techage:oil_source"] = 1,
["techage:gas"] = 1,
["techage:gasoline"] = 1,
["techage:naphtha"] = 1,
["techage:fueloil"] = 1,
}
techage.firebox.ValidOilFuels = {
@ -44,7 +44,7 @@ local function determine_burntimes()
techage.firebox.Burntime[k] = fuel.time
end
end
minetest.after(1, determine_burntimes)
minetest.register_on_mods_loaded(determine_burntimes)
function techage.firebox.formspec(nvm)
local fuel_percent = 0

View File

@ -481,7 +481,7 @@ end
function techage.wrench_tooltip(x, y)
local tooltip = S("Block has an\nadditional wrench menu")
return "label["..x..","..y..";"..minetest.colorize("#000000", minetest.formspec_escape("[?]")).."]"..
return "image["..x.."," .. y .. ";0.5,0.5;techage_inv_wrench.png]" ..
"tooltip["..x..","..y..";0.5,0.5;"..tooltip..";#0C3D32;#FFFFFF]"
end

View File

@ -87,6 +87,14 @@ function marker.stop(name)
MaxNumber[name] = nil
end
minetest.register_on_leaveplayer(function(ObjectRef, timed_out)
if ObjectRef and ObjectRef:is_player() then
local name = ObjectRef:get_player_name()
marker.unmark_all(name)
end
end)
minetest.register_entity(":techage:block_marker", {
initial_properties = {
visual = "cube",

View File

@ -153,6 +153,18 @@ function techage.get_nvm(pos)
return block[key2]
end
-- Returns true/false
function techage.has_nvm(pos)
local key1, key2 = get_keys(pos)
if not NvmStore[key1] then
NvmStore[key1] = backend.get_mapblock_data(key1)
push(key1)
end
return NvmStore[key1][key2] ~= nil
end
function techage.peek_nvm(pos)
local key1, key2 = get_keys(pos)
local block = NvmStore[key1] or {}

88
basis/pack_lib.lua Normal file
View File

@ -0,0 +1,88 @@
--[[
TechAge
=======
Copyright (C) 2019-2024 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Packing functions
]]--
-- for lazy programmers
local P2S = function(pos) if pos then return minetest.pos_to_string(pos) end end
local M = minetest.get_meta
-- string/usercode conversion
local function usercode_to_string(tbl)
if tbl and tbl.inventory then
for list_name,list in pairs(tbl.inventory) do
for i,item in ipairs(list) do
tbl.inventory[list_name][i] = item:to_string()
end
end
end
end
local function string_to_usercode(tbl)
if tbl and tbl.inventory then
for list_name,list in pairs(tbl.inventory) do
for i,item in ipairs(list) do
tbl.inventory[list_name][i] = ItemStack(item)
end
end
end
end
-- pack/unpack node nvm data
local function pack_nvm(pos)
if techage.has_nvm(pos) then
local s = minetest.serialize(techage.get_nvm(pos))
techage.del_mem(pos)
return s
end
end
local function unpack_nvm(pos, s)
if s and s ~= "" then
local tbl = minetest.deserialize(s)
local nvm = techage.get_nvm(pos)
for k,v in pairs(tbl) do
nvm.k = v
end
end
end
-- pack/unpack node metedata
local function pack_meta(pos)
local tbl = M(pos):to_table() or {}
usercode_to_string(tbl)
return minetest.serialize(tbl)
end
local function unpack_meta(pos, s)
if s and s ~= "" then
local tbl = minetest.deserialize(s) or {}
string_to_usercode(tbl)
M(pos):from_table(tbl)
end
end
-------------------------------------------------------------------------------
-- preserve/restore API functions
-------------------------------------------------------------------------------
function techage.preserve_nodedata(pos)
local smeta = pack_meta(pos)
local snvm = pack_nvm(pos)
return minetest.serialize({smeta = smeta, snvm = snvm})
end
function techage.restore_nodedata(pos, s)
local tbl = minetest.deserialize(s) or {}
unpack_nvm(pos, tbl.snvm)
unpack_meta(pos, tbl.smeta)
end

View File

@ -129,7 +129,11 @@ local function generate_formspec_substring(pos, meta, form_def, player_name)
tbl[#tbl+1] = "dropdown[4.72," .. (offs) .. ";5.5,1.4;" .. elem.name .. ";" .. elem.choices .. ";" .. idx .. "]"
end
elseif elem.type == "items" then -- inventory
tbl[#tbl+1] = "list[detached:" .. minetest.formspec_escape(player_name) .. "_techage_wrench_menu;cfg;4.75," .. offs .. ";" .. elem.size .. ",1;]"
if elem.size then
tbl[#tbl+1] = "list[detached:" .. minetest.formspec_escape(player_name) .. "_techage_wrench_menu;cfg;4.75," .. offs .. ";" .. elem.size .. ",1;]"
else
tbl[#tbl+1] = "list[detached:" .. minetest.formspec_escape(player_name) .. "_techage_wrench_menu;cfg;4.75," .. offs .. ";" .. elem.width .. "," .. elem.height .. ";]"
end
player_inv_needed = true
end
end

View File

@ -47,7 +47,6 @@ minetest.register_node("techage:ta4_collider_cooler", {
"techage_filling_ta4.png^techage_frame_ta4.png^techage_cooler.png",
"techage_filling_ta4.png^techage_frame_ta4.png^techage_cooler.png",
},
drawtype = "nodebox",
paramtype2 = "facedir",
groups = {cracky = 1},
on_rotate = screwdriver.disallow,

View File

@ -207,7 +207,6 @@ minetest.register_node("techage:ta4_detector_core", {
"default_steel_block.png^techage_collider_detector_core.png",
"default_steel_block.png^techage_collider_detector_core.png",
},
drawtype = "nodebox",
paramtype2 = "facedir",
groups = {cracky = 1},
is_ground_content = false,

View File

@ -56,6 +56,8 @@ minetest.register_node("techage:ta4_collider_tube_inlet", {
fixed = {-4/8, -4/8, -4/8, 4/8, 4/8, 4/8},
},
paramtype2 = "facedir",
paramtype = "light",
use_texture_alpha = techage.CLIP,
groups = {cracky = 1},
on_rotate = screwdriver.disallow,
is_ground_content = false,

View File

@ -28,6 +28,23 @@ local VTube = techage.VTube
local power = networks.power
local liquid = networks.liquid
local function is_junction(pos, side)
local node = techage.get_node_lvm(techage.get_pos(pos, side))
return node and techage.string_compare(node.name, "techage:ta3_junction")
end
-- Turn the magnet to the right direction
local function handle_legacy_magnet(pos)
if M(pos):get_string("version") ~= "V2" then
if is_junction(pos, "B") and not is_junction(pos, "F") then
local node = techage.get_node_lvm(pos)
node.param2 = (node.param2 + 2) % 4
minetest.swap_node(pos, node)
end
end
M(pos):set_string("version", "V2")
end
minetest.register_node("techage:ta4_colliderblock", {
description = S("TA4 Collider Steel Block"),
tiles = {
@ -60,7 +77,7 @@ minetest.register_node("techage:ta4_magnet", {
description = S("TA4 Collider Magnet"),
inventory_image = minetest.inventorycube(
"techage_collider_magnet.png^techage_appl_hole_electric.png",
"techage_collider_magnet.png^techage_appl_hole_pipe.png",
"techage_collider_magnet.png^techage_collider_magnet_appl.png^techage_appl_hole_pipe.png^techage_collider_magnet_sign.png",
"techage_collider_magnet.png^techage_collider_magnet_tube.png"),
tiles = {
-- up, down, right, left, back, front
@ -68,7 +85,7 @@ minetest.register_node("techage:ta4_magnet", {
"techage_collider_magnet.png",
"techage_collider_magnet.png^techage_collider_magnet_tube.png",
"techage_collider_magnet.png^techage_collider_magnet_tube.png",
"techage_collider_magnet.png^techage_collider_magnet_appl.png^techage_appl_hole_pipe.png^techage_collider_magnet_sign.png",
"techage_collider_magnet.png^techage_collider_magnet_appl.png^techage_collider_magnet_sign.png",
"techage_collider_magnet.png^techage_collider_magnet_appl.png^techage_appl_hole_pipe.png^techage_collider_magnet_sign.png",
},
drawtype = "nodebox",
@ -111,6 +128,7 @@ minetest.register_node("techage:ta4_magnet", {
Cable:after_place_node(pos)
VTube:after_place_node(pos)
M(pos):set_string("infotext", S("TA4 Collider Magnet") .. " #0")
M(pos):set_string("version", "V2")
end,
-- To be called by the detector
@ -157,7 +175,7 @@ minetest.register_node("techage:ta4_magnet", {
})
power.register_nodes({"techage:ta4_magnet"}, Cable, "con", {"U"})
liquid.register_nodes({"techage:ta4_magnet"}, Pipe, "tank", {"F", "B"}, {
liquid.register_nodes({"techage:ta4_magnet"}, Pipe, "tank", {"F"}, {
capa = CAPACITY,
peek = function(pos, indir)
local nvm = techage.get_nvm(pos)
@ -211,6 +229,7 @@ techage.register_node({"techage:ta4_magnet"}, {
return pos2
end
elseif topic == "enumerate" and payload then
handle_legacy_magnet(pos)
payload = tonumber(payload) or 1
nvm.number = payload
M(pos):set_string("infotext", S("TA4 Collider Magnet") .. " #" .. payload)

View File

@ -12,6 +12,7 @@ local settings = {
doclib.create_manual("techage", "DE", settings)
doclib.create_manual("techage", "EN", settings)
doclib.create_manual("techage", "pt-BR", settings)
local content
content = dofile(MP.."/doc/manual_DE.lua")
@ -40,6 +41,18 @@ doclib.add_to_manual("techage", "EN", content)
content = dofile(MP.."/doc/manual_ta5_EN.lua")
doclib.add_to_manual("techage", "EN", content)
content = dofile(MP.."/doc/manual_pt-BR.lua")
doclib.add_to_manual("techage", "pt-BR", content)
content = dofile(MP.."/doc/manual_ta1_pt-BR.lua")
doclib.add_to_manual("techage", "pt-BR", content)
content = dofile(MP.."/doc/manual_ta2_pt-BR.lua")
doclib.add_to_manual("techage", "pt-BR", content)
content = dofile(MP.."/doc/manual_ta3_pt-BR.lua")
doclib.add_to_manual("techage", "pt-BR", content)
content = dofile(MP.."/doc/manual_ta4_pt-BR.lua")
doclib.add_to_manual("techage", "pt-BR", content)
content = dofile(MP.."/doc/manual_ta5_pt-BR.lua")
doclib.add_to_manual("techage", "pt-BR", content)
local board_box = {
type = "wallmounted",
@ -94,7 +107,7 @@ minetest.register_node("techage:construction_board_EN", {
selection_box = board_box,
after_place_node = function(pos, placer, itemstack)
M(pos):set_string("infotext", "TA Konstruktionsplan (EN)")
M(pos):set_string("infotext", "TA Construction Board (EN)")
M(pos):set_string("formspec", doclib.formspec(pos, "techage", "EN"))
end,
@ -124,6 +137,45 @@ minetest.register_craft({
},
})
minetest.register_node("techage:construction_board_pt_BR", {
description = "TA Placa de construção (pt-BR)",
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)
M(pos):set_string("infotext", "TA Placa de construção (pt-BR)")
M(pos):set_string("formspec", doclib.formspec(pos, "techage", "pt-BR"))
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
M(pos):set_string("formspec", doclib.formspec(pos, "techage", "pt-BR", fields))
end,
paramtype2 = "wallmounted",
paramtype = "light",
use_texture_alpha = techage.CLIP,
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_pt_BR",
recipe = {
{"default:stick", "default:stick", "default:paper"},
{"default:paper", "default:paper", "default:paper"},
{"default:paper", "default:paper", "default:paper"},
},
})
minetest.register_craft({
type = "shapeless",
output = "techage:construction_board_EN",
@ -133,9 +185,14 @@ minetest.register_craft({
minetest.register_craft({
type = "shapeless",
output = "techage:construction_board",
recipe = {"techage:construction_board_EN"},
recipe = {"techage:construction_board_pt_BR"},
})
minetest.register_craft({
type = "shapeless",
output = "techage:construction_board_pt_BR",
recipe = {"techage:construction_board_EN"},
})
--
-- Legacy API functions
@ -149,6 +206,7 @@ function techage.add_manual_items(table_with_items)
for name, image in pairs(table_with_items) do
doclib.add_manual_image("techage", "EN", name, image)
doclib.add_manual_image("techage", "DE", name, image)
doclib.add_manual_image("techage", "pt-BR", name, image)
end
end
@ -156,5 +214,6 @@ function techage.add_manual_plans(table_with_plans)
for name, plan in pairs(table_with_plans) do
doclib.add_manual_plan("techage", "EN", name, plan)
doclib.add_manual_plan("techage", "DE", name, plan)
doclib.add_manual_plan("techage", "pt-BR", name, plan)
end
end

View File

@ -117,6 +117,7 @@ local items = {
ta3_terminal = "techage:terminal2",
ta3_colorlamp = "techage:color_lamp_off",
ta3_doorblock = "techage:doorblock20",
ta3_soundblock = "techage:ta3_soundblock",
ta3_programmer = "techage:programmer",
ta3_doorcontroller = "techage:ta3_doorcontroller",
ta3_drill_pipe_wrench = "techage:ta3_drill_pipe_wrench",
@ -228,4 +229,5 @@ local items = {
for name, image in pairs(items) do
doclib.add_manual_image("techage", "DE", name, image)
doclib.add_manual_image("techage", "EN", name, image)
doclib.add_manual_image("techage", "pt-BR", name, image)
end

View File

@ -15,7 +15,7 @@ return {
texts = {
"Tech Age ist eine Technik-Mod mit 5 Entwicklungsstufen:\n"..
"\n"..
"TA1: Eisenzeitalter (Iron Age) \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"..

View File

@ -26,12 +26,12 @@ return {
"Find and extract oil\\, built railways for oil transportation. A power plant provides the necessary electricity for your machines. Electric light illuminates your industrial plants.\n"..
"\n"..
"TA4: Present\n"..
"Renewable energy sources such as wind\\, sun and biofuels help you to leave the oil age. With modern technologies and intelligent machines you set out into the future.\n"..
"Renewable energy sources such as wind\\, sun and bio-fuels help you to leave the oil age. With modern technologies and intelligent machines you set out into the future.\n"..
"\n"..
"TA5: Future\n"..
"Machines to overcome space and time\\, new sources of energy and other achievements shape your life.\n"..
"\n"..
"Note: With a click on the plus sign you get into the subchapters of this manual.\n"..
"Note: With a click on the plus sign you get into the sub-chapters of this manual.\n"..
"\n"..
"\n"..
"\n",

152
doc/manual_pt-BR.lua Normal file
View File

@ -0,0 +1,152 @@
return {
titles = {
"1,Mod Tech Age",
"2,TA1: Idade do Ferro",
"2,TA2: Idade do Vapor",
"2,TA3: Idade do Petróleo",
"2,TA4: Tempos atuais (Presente)",
"2,TA5: Futuro",
"1,Dicas",
"1,Mudanças a partir da versão 1.0",
"2,Dicas sobre a troca",
"1,Minérios e Minerais",
"2,Meridium",
"2,Usmium",
"2,Baborium",
"2,Petróleo",
"2,Bauxita",
"2,Basalto",
"2,History",
},
texts = {
"O Tech Age é um mod de tecnologia com 5 estágios de desenvolvimento:\n"..
"\n",
"Utilize ferramentas e instrumentos auxiliares como queimadores de carvão\\, peneiras de cascalho\\, martelos e funis para extrair e processar minérios e metais necessários.\n"..
"\n",
"Construa uma máquina a vapor com eixos de transmissão e use-a para operar suas primeiras máquinas de processamento de minérios.\n"..
"\n",
"Encontre e extraia óleo\\, construa ferrovias para transporte de óleo. Uma usina fornece a eletricidade necessária para suas máquinas. A luz elétrica ilumina suas instalações industriais.\n"..
"\n",
"Fontes de energia renovável\\, como vento\\, sol e biocombustíveis\\, ajudam você a sair da era do petróleo. Com tecnologias modernas e máquinas inteligentes\\, você parte para o futuro.\n"..
"\n",
"Máquinas para superar espaço e tempo\\, novas fontes de energia e outras conquistas moldam sua vida.\n"..
"\n"..
"Nota: Clicando no sinal de adição\\, você acessa os subcapítulos deste manual.\n"..
"\n"..
"\n"..
"\n",
"Esta documentação está disponível tanto \"dentro do jogo\" (plano de construção de blocos) quanto no GitHub como arquivos MD.\n"..
"\n"..
" - Link: https://github.com/joe7575/techage/wiki\nOs planos de construção (diagramas) para a construção das máquinas e as imagens estão disponíveis apenas no jogo.\n"..
"\n"..
"Com o Tech Age\\, você precisa começar do zero. Você só pode criar blocos TA2 com os itens do TA1\\, para o TA3 você precisa dos resultados do TA2\\, e assim por diante.\n"..
"\n"..
"No TA2\\, as máquinas só funcionam com eixos de transmissão.\n"..
"\n"..
"A partir do TA3\\, as máquinas funcionam com eletricidade e têm uma interface de comunicação para controle remoto.\n"..
"\n"..
"O TA4 adiciona mais fontes de energia\\, mas também desafios logísticos mais altos (linhas de energia\\, transporte de itens).\n"..
"\n",
"A partir da V1.0 (17/07/2021)\\, as seguintes alterações foram feitas:\n"..
"\n"..
" - O algoritmo para calcular a distribuição de energia foi alterado. Isso torna os sistemas de armazenamento de energia mais importantes. Eles compensam as flutuações\\, o que é importante em redes maiores com vários geradores.\n"..
" - Por esse motivo\\, o TA2 recebeu seu próprio sistema de armazenamento de energia.\n"..
" - Os blocos de bateria do TA3 também servem como armazenamento de energia. Sua funcionalidade foi adaptada de acordo.\n"..
" - O sistema de armazenamento do TA4 foi revisado. O permutador de calor recebeu um novo número porque a funcionalidade foi movida do bloco inferior para o bloco central. Se eles estiverem sendo controlados remotamente\\, o número do nó deve ser adaptado. Os geradores não têm mais um menu próprio\\, mas são ligados/desligados apenas através do permutador de calor. O permutador de calor e o gerador agora devem estar conectados à mesma rede!\n"..
" - Vários sistemas de energia podem agora ser acoplados via blocos transformadores TA4.\n"..
" - Um novo bloco medidor de eletricidade TA4 para sub-redes também foi adicionado.\n"..
" - Pelo menos um bloco de bateria ou um sistema de armazenamento em cada rede.\n"..
"\n",
"Muitos outros blocos receberam alterações menores. Portanto\\, é possível que máquinas ou sistemas não reiniciem imediatamente após a troca. Em caso de falhas\\, as seguintes dicas ajudarão:\n"..
"\n"..
" - Desligue e ligue as máquinas novamente.\n"..
" - Remova um bloco de cabo de energia e coloque-o de volta no lugar.\n"..
" - Remova completamente o bloco e coloque-o de volta no lugar.\n"..
"\n",
"Techage adiciona novos itens ao jogo:\n"..
"\n"..
" - Meridium - uma liga para a produção de ferramentas luminosas no TA1\n"..
" - Usmium - um minério que é extraído no TA2 e necessário para o TA3\n"..
" - Baborium - um metal necessário para receitas no TA3\n"..
" - Petróleo - necessário no TA3\n"..
" - Bauxita - um minério de alumínio necessário no TA4 para produzir alumínio\n"..
" - Basalto - surge quando água e lava se encontram\n"..
"\n",
"O Meridium é uma liga de aço e cristais de mesecons. Lingotes de Meridium podem ser feitos com a caldeira a carvão a partir de aço e cristais de mesecons. O Meridium brilha no escuro. Ferramentas feitas de Meridium também emitem luz e são\\, portanto\\, muito úteis na mineração subterrânea.\n"..
"\n"..
"\n"..
"\n",
"O Usmium ocorre apenas como pepitas e só pode ser obtido lavando cascalho com o sistema de lavagem de cascalho TA2/TA3.\n"..
"\n"..
"\n"..
"\n",
"O Baborium só pode ser obtido através da mineração subterrânea. Essa substância só pode ser encontrada a uma profundidade de -250 a -340 metros.\n"..
"\n"..
"O Baborium só pode ser derretido na Fornalha Industrial TA3.\n"..
"\n"..
"\n"..
"\n",
"O Petróleo só pode ser encontrado com a ajuda do Explorer e extraído com a ajuda de máquinas apropriadas do TA3. Veja TA3.\n"..
"\n"..
"\n"..
"\n",
"A Bauxita é extraída apenas na mineração subterrânea. A Bauxita só é encontrada na pedra a uma altura entre -50 e -500 metros.\n"..
"É necessária para a produção de alumínio\\, que é principalmente usada no TA4.\n"..
"\n"..
"\n"..
"\n",
"O Basalto só é criado quando lava e água se encontram.\n"..
"A melhor coisa a fazer é montar um sistema onde uma fonte de lava e uma fonte de água se encontram.\n"..
"O Basalto é formado onde ambos os líquidos se encontram.\n"..
"Você pode construir um gerador automático de basalto com o Sign Bot.\n"..
"\n"..
"\n"..
"\n",
" - 28.09.2019: Solar system added\n"..
" - 05.10.2019: Data on the solar system and description of the inverter and the power terminal changed\n"..
" - 18.11.2019: Chapter for ores\\, reactor\\, aluminum\\, silo\\, bauxite\\, furnace heating\\, gravel washing system added\n"..
" - 22.02.2020: corrections and chapters on the update\n"..
" - 29.02.2020: ICTA controller added and further corrections\n"..
" - 14.03.2020 Lua controller added and further corrections\n"..
" - 22.03.2020 More TA4 blocks added\n"..
"\n",
},
images = {
"",
"",
"",
"",
"",
"techage_ta4",
"",
"",
"",
"",
"meridium",
"usmium",
"baborium",
"oil",
"bauxite",
"basalt",
"",
},
plans = {
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
}
}

153
doc/manual_ta1_pt-BR.lua Normal file
View File

@ -0,0 +1,153 @@
return {
titles = {
"1,TA1: Idade do Ferro",
"2,Pilha de Carvão (queimador de carvão)",
"2,Forno de Fundição",
"2,Moinho d'Água",
"3,Moinho d'Água TA1",
"3,Comporta TA1",
"3,Alavanca de Comporta TA1",
"3,Placa de Madeira de Maçã TA1",
"3,Placa de Curso d'Água de Maçã TA1",
"1,Minérios e Ferramentas",
"2,Martelo",
"2,Peneira de Cascalho(Sieve)",
"2,Funil (Minecart Hopper)",
"2,Peneirando sete cascalhos com Funil",
},
texts = {
"TA1 trata da extração de minérios suficientes e da produção de carvão com ferramentas e equipamentos simples\\, para que as máquinas TA2 possam ser fabricadas e operadas.\n"..
"\n"..
"É claro que\\, para uma Idade do Ferro\\, deve haver ferro e não apenas aço\\, como em \"Minetest Game\". Como resultado\\, algumas receitas foram alteradas para que o ferro precise ser produzido primeiro e\\, posteriormente\\, o aço.\n"..
"\n"..
"A durabilidade das ferramentas é baseada nas eras e\\, portanto\\, não corresponde ao jogo original do Minetest.\n"..
"A durabilidade/dureza de um machado\\, por exemplo:\n"..
"\n"..
" - Bronze: 20\n"..
" - Aço: 30\n"..
"\n"..
"\n"..
"\n",
"Você precisa da Pilha de Carvão para fazer carvão. O carvão é necessário para a fundição\\, mas também\\, por exemplo\\, em TA2 para a máquina a vapor.\n"..
"\n"..
"Para o queimador de carvão\\, você precisa de:\n"..
"\n"..
" - Um bloco de acendedor ('techage:lighter')\n"..
" - 26 blocos de madeira empilhados para formar um monte de madeira. O tipo de madeira é irrelevante.\n"..
" - Terra para cobrir o monte de madeira\n"..
" - Pedra lascada e Ferro (nome técnico: 'fire:flint_and_steel') para acender o bloco de acendedor\n"..
"\n"..
"Instruções de construção (veja também o plano):\n"..
"\n"..
" - Construa uma área de 5x5 de terra\n"..
" - Coloque 7 blocos de madeira ao redor do acendedor\\, mas deixe um buraco para o acendedor\n"..
" - Construa mais 2 camadas de madeira em cima\\, formando um cubo de madeira 3x3x3\n"..
" - Cubra tudo com uma camada de terra formando um cubo de 5x5x5\\, mas mantenha o buraco para o acendedor aberto\n"..
" - Acenda utilizando o isqueiro e feche imediatamente o buraco com um bloco de madeira e terra\n"..
" - Se você fez tudo corretamente\\, o queimador de carvão começará a soltar fumaça após alguns segundos\n"..
" - Só abra o queimador de carvão quando a fumaça tiver desaparecido (aproximadamente 20 minutos)\n"..
" - Então você pode remover os 9 blocos de carvão e reabastecer a Pilha de Carvão.\n"..
"\n"..
"\n"..
"\n",
"Você precisa do forno de fundição\\, por exemplo\\, para fundir ferro e outros minérios no Vaso de fundição(cadinho). Existem receitas diferentes que requerem diferentes temperaturas. Quanto mais alto a torre de fusão\\, mais quente é a chama. Uma altura de 11 blocos acima da placa base é para todas as receitas\\, mas um queimador com essa altura também requer mais carvão.\n"..
"\n"..
"Instruções de construção (veja também o plano):\n"..
"\n"..
" - Construa uma torre de pedregulho (cobble) com uma base de 3x3 (7-11 blocos de altura)\n"..
" - Deixe um buraco aberto de um lado na parte inferior\n"..
" - Coloque um acendedor nele\n"..
" - Encha a torre até a borda com carvão despejando o carvão no buraco de cima para baixo\n"..
" - Acenda o acendedor através do buraco\n"..
" - Coloque o Vaso de fundição(cadinho) no topo da torre diretamente na chama\\, um bloco acima da borda da torre\n"..
" - Para parar o queimador\\, feche temporariamente o buraco com um bloco de terra\\, por exemplo.\n"..
" - O Vaso de fundição(cadinho) tem seu próprio menu de receitas e um inventário onde você precisa colocar os minérios.\n"..
"\n"..
"\n"..
"\n",
"O moinho d'água pode ser usado para moer trigo e outros grãos para fazer farinha e depois assá-los no forno para fazer pão.\n"..
"O moinho é alimentado por energia hidráulica. Para isso\\, um curso de água deve ser conduzido até a roda do moinho através de um canal.\n"..
"O fluxo de água e\\, portanto\\, a roda do moinho\\, podem ser controlados por meio de uma comporta. A comporta é composta pelo bloqueio de comporta e pela alavanca de comporta.\n"..
"\n"..
"A imagem à direita (clique em \"Plano\") mostra a estrutura do moinho d'água.\n"..
"\n"..
"\n"..
"\n",
"O moinho d'água pode ser usado para moer trigo e outros grãos para fazer farinha e depois assá-los no forno para fazer pão. O moinho deve ser conectado à roda do moinho com um eixo TA1. A potência da roda do moinho é apenas suficiente para um moinho.\n"..
"\n"..
"O moinho pode ser automatizado com a ajuda de um Funil(Minecart Hopper)\\, para que a farinha\\, por exemplo\\, seja transportada diretamente do moinho para um forno para assar pão.\n"..
"\n"..
"\n"..
"\n",
"A válvula de comporta deve ser colocada diretamente ao lado de um lago ou em um riacho na mesma altura que a superfície da água.\n"..
"Quando a comporta é aberta\\, a água flui através do canal. Essa água deve ser conduzida até a roda do moinho\\, onde movimenta o moinho.\n"..
"\n"..
"\n"..
"\n",
"A alavanca de comporta TA1 deve ser colocada na comporta. A comporta pode ser aberta com a ajuda da alavanca de comporta (clique com o botão direito).\n"..
"\n"..
"\n"..
"\n",
"Podem ser usados bloco de diferentes tipos de madeira para construir o canal do curso d'água. No entanto\\, qualquer outro material também pode ser usado.\n"..
"\n"..
"\n"..
"\n",
"Podem ser utilizados blocos em diferentes tipos de madeira para construir o canal do curso d'água. Este bloco é especialmente adequado em conexão com postes da cerca de madeira para construir um suporte do canal.\n"..
"\n"..
"\n"..
"\n",
"O TA1 possui suas próprias ferramentas\\, como martelo e peneira de cascalho\\, mas o Funil(Minecart Hopper) também pode ser utilizado.\n"..
"\n",
"O martelo TA1 pode ser utilizado para bater/escavar pedra em uma mina\\, mas também para quebrar pedregulho(cobble) em cascalho(gravel). O martelo está disponível em diferentes versões\\, cada uma com propriedades distintas: bronze\\, aço\\, latão e diamante.\n"..
"\n",
"Minérios podem ser peneirados do cascalho com a peneira de cascalho. Para fazer isso\\, clique na peneira com o cascalho. O cascalho peneirado e os minérios caem abaixo.\n"..
"\n"..
"Para não ficar horas na peneira\\, é possível automatizar o processo com o Funil(Minecart Hopper).\n"..
"\n",
"O funil do mod \"Minecart Hopper\" é utilizado principalmente para carregar e descarregar carrinhos de mineração. Ele suga itens de cima e os passa para a direita. Portanto\\, ao posicionar o funil\\, preste atenção na direção de dispensa.\n"..
"\n"..
"O funil também pode puxar itens de baús\\, desde que a caixa esteja ao lado ou em cima do funil.\n"..
"\n"..
"O funil também pode colocar itens em baús se a caixa estiver ao lado do funil.\n"..
"\n",
"Com a ajuda de dois baús\\, dois funis e uma peneira de cascalho\\, o processo de peneiração pode ser automatizado. O plano à direita mostra a estrutura.\n"..
"\n"..
"Certifique-se de que os baús são protegidos\\, caso contrário\\, alguém pode roubar os minérios valiosos do baú abaixo.\n"..
"\n"..
"Meridium\n"..
"O TA1 possui sua própria liga metálica\\, o Meridium. Lingotes de meridium podem ser feitos com a caldeira a carvão\\, utilizando aço e cristais de mesecons. O meridium brilha no escuro. Ferramentas feitas de meridium também emitem luz\\, sendo\\, portanto\\, muito úteis na mineração subterrânea.\n"..
"\n",
},
images = {
"techage_ta1",
"",
"",
"",
"",
"ta1_sluice",
"ta1_sluice_handle",
"ta1_board1",
"ta1_board2",
"",
"",
"",
"",
"",
},
plans = {
"",
"coalpile",
"coalburner",
"watermill1",
"watermill2",
"",
"",
"",
"",
"",
"",
"",
"",
"",
}
}

View File

@ -12,6 +12,7 @@ return {
"2,TA2 Energiespeicher",
"3,TA2 Seilwinde / TA2 Winch",
"3,TA2 Gewichtekiste / TA2 Weight Chest",
"3,TA2 Kupplung / TA2 Clutch",
"2,Items schieben und sortieren",
"3,Röhren / TechAge Tube",
"3,Röhren Konzentrator / Tube Concentrator",
@ -79,7 +80,7 @@ return {
"\n"..
"\n"..
"\n",
"Die Antriebsachsen dienen zur Kraftübertragung von der Dampfmaschine zu anderen Maschinen. Die maximale Länge einer Antriebsachse beträgt 10 Blöcke. Über Getriebeboxen können auch größere Strecken überbrückt\\, sowie Abzweigungen und Richtungswechsel realisiert werden.\n"..
"Die Antriebsachsen dienen zur Kraftübertragung von der Dampfmaschine zu anderen Maschinen. Die maximale Länge einer Antriebsachse beträgt 10 Blöcke. Über Getriebeblöcke können auch größere Strecken überbrückt\\, sowie Abzweigungen und Richtungswechsel realisiert werden.\n"..
"\n"..
"\n"..
"\n",
@ -95,11 +96,11 @@ return {
"\n"..
"Der Energiespeicher besteht aus mehreren Blöcken und muss wie im Plan rechts abgebildet\\, zusammen gebaut werden.\n"..
"\n"..
"Um die maximale Speicherkapazität zu erreichen\\, muss die Kiste mit Gewichten komplett gefüllt\\, und der Mast inklusive der zwei Getriebeboxen 12 Blöcke hoch sein. Kleinere Aufbauten sind aber auch möglich.\n"..
"Um die maximale Speicherkapazität zu erreichen\\, muss die Kiste mit Gewichten komplett gefüllt\\, und der Mast inklusive der zwei Getriebeblöcke 12 Blöcke hoch sein. Kleinere Aufbauten sind aber auch möglich.\n"..
"\n"..
"\n"..
"\n",
"Die Seilwinde muss mit einer Getriebebox verbunden werden und kann so überschüssige Energie aufnehmen und damit eine Gewichtekiste nach oben ziehen. Die maximale Seillänge beträgt 10 Blöcke.\n"..
"Die Seilwinde muss mit einem Getriebeblock verbunden werden und kann so überschüssige Energie aufnehmen und damit eine Gewichtekiste nach oben ziehen. Achte beim Aufbau der Seilwinde darauf\\, dass der Pfeil auf der Blockoberseite zum Getriebeblock zeigt. Die maximale Seillänge beträgt 10 Blöcke.\n"..
"\n"..
"\n"..
"\n",
@ -107,6 +108,10 @@ return {
"\n"..
"\n"..
"\n",
"Mit der Kupplung können Achsen und Maschinen vom Energiespeicher getrennt werden. Damit kommen die Achsen nach der Kupplung zum Stillstand und Maschinenanlagen können umgebaut werden. Achte beim Aufbau der Kupplung darauf\\, dass der Pfeil auf der Blockoberseite zum Energiespeicher zeigt. \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"..
@ -247,6 +252,7 @@ return {
"",
"ta2_winch",
"ta2_weight_chest",
"techage:ta2_clutch_off",
"",
"tube",
"concentrator",
@ -279,6 +285,7 @@ return {
"ta2_storage",
"",
"",
"",
"itemtransport",
"",
"",

View File

@ -12,6 +12,7 @@ return {
"2,TA2 energy storage",
"3,TA2 Winch",
"3,TA2 Weight Chest",
"3,TA2 Clutch",
"2,Push and sort items",
"3,TechAge Tube",
"3,Tube Concentrator",
@ -97,7 +98,9 @@ return {
"\n"..
"\n"..
"\n",
"The cable winch must be connected to a gear box and can absorb excess energy and thus pull a weight chest upwards. The maximum rope length is 10 blocks. \n"..
"The cable winch must be connected to a gear box and can absorb excess energy and thus pull a weight chest upwards. \n"..
"When assembling the cable winch\\, make sure that the arrow on the top of the block points to the gearbox.\n"..
"The maximum rope length is 10 blocks. \n"..
"\n"..
"\n"..
"\n",
@ -105,6 +108,10 @@ return {
"\n"..
"\n"..
"\n",
"With the clutch\\, axles and machines can be separated from the energy storage. This means that the axles after the clutch come to a standstill and machine systems can be rebuilt. When assembling the clutch\\, make sure that the arrow on the top of the block points to the energy storage system.\n"..
"\n"..
"\n"..
"\n",
"In order to transport objects from one processing station to the next\\, pushers and tubes are used. See plan.\n"..
"\n"..
"\n"..
@ -245,6 +252,7 @@ return {
"",
"ta2_winch",
"ta2_weight_chest",
"techage:ta2_clutch_off",
"",
"tube",
"concentrator",
@ -277,6 +285,7 @@ return {
"ta2_storage",
"",
"",
"",
"itemtransport",
"",
"",

306
doc/manual_ta2_pt-BR.lua Normal file
View File

@ -0,0 +1,306 @@
return {
titles = {
"1,TA2: Era a Vapor",
"2,Máquina a Vapor",
"3,Caixa de Fogo(Firebox) TA2",
"3,TA2 Caldeira(Boiler)",
"3,TA2 Cilindro(Cylinder)",
"3,TA2 Volante(Flywheel)",
"3,TA2 Tubos de Vapor(Steam pipes)",
"3,TA2 Eixo de Transmissão(Drive axle) TA2 / Caixa de Engrenagem(Gearbox)",
"3,TA2 Gerador de Energia",
"2,TA2 Armazenamento de Energia",
"3,TA2 Guincho",
"3,TA2 Baú de Pesos",
"3,TA2 Embreagem",
"2,Empurrar e classificar itens",
"3,Tubo TechAge",
"3,Tubo Concentrador",
"3,TA2 Pusher",
"3,TA2 Distributor(Distribuidor)",
"2,Gravel washer(Lavador de cascalho)",
"3,TA2 Gravel Rinser(Enxaguatório de cascalho)",
"2,Escavar pedra\\, moer e peneirar",
"3,TA2 Quarry(Pedreira)",
"3,TA2 Grinder(Moedor)",
"3,TA2 Gravel Sieve(Peneira de cascalho)",
"2,Produzindo Itens",
"3,TA2 Autocrafter",
"3,TA2 Electronic Fab",
"2,Outros Blocos",
"3,TA2 Liquid Sampler",
"3,TA2 Protected Chest",
"3,Techage Forceload Block",
},
texts = {
"TA2 trata-se de construir e operar as primeiras máquinas para processamento de minérios. Algumas máquinas precisam ser acionadas por eixos de transmissão. Para fazer isso\\, você precisa construir uma máquina a vapor e aquecê-la com carvão ou carvão vegetal.\n"..
"\n"..
"No TA2\\, há também um lavador de cascalho que pode ser usado para lavar minérios raros\\, como pepitas de Usmium. Você precisará dessas pepitas posteriormente para receitas adicionais.\n"..
"\n"..
"\n"..
"\n",
"A máquina a vapor é composta por vários blocos e deve ser montada conforme mostrado no plano à direita. São necessários os blocos da Caixa de Fogo(Firebox) TA2\\, parte superior da Caldeira(Boiler) TA2\\, parte inferior da Caldeira(Boiler) TA2\\, Cilindro(Cylinder) TA2\\, Volante(Flywheel) TA2 e Tubos de Vapor(steam piper) TA2.\n"..
"\n"..
"Além disso\\, são necessários Eixos de Transmissão(drive axles) e blocos de Engrenagem(gear) para mudança de direção. O Volante deve ser conectado a todas as máquinas que precisam ser acionadas pelos Eixos de Transmissão.\n"..
"\n"..
"Sempre preste atenção ao alinhamento de todos os blocos ao colocá-los:\n"..
"\n"..
" - Cilindro à esquerda\\, volante à direita\n"..
" - Conectar os tubos de vapor onde há um furo correspondente\n"..
" - Eixo de transmissão no volante apenas à direita\n"..
" - Em todas as máquinas\\, os eixos de transmissão podem ser conectados em todos os lados que não estejam ocupados por outras funções\\, como os furos de ENTRADA(IN) e SAÍDA(OUTPUT) no Moedor(grinder) e na Peneira(sieve).\n"..
"\n"..
"A Caldeira deve ser preenchida com água. Preencha até 10 baldes de água na caldeira.\n"..
"A Caixa de fogo deve ser preenchida com carvão ou carvão vegetal.\n"..
"Quando a água estiver quente (indicador de temperatura no topo)\\, a máquina a vapor pode ser iniciada no Volante.\n"..
"\n"..
"A máquina a vapor tem uma capacidade de 25ku\\, podendo acionar várias máquinas ao mesmo tempo.\n"..
"\n"..
"\n"..
"\n",
"Parte da máquina a vapor.\n"..
"\n"..
"A Caixa de fogo deve ser preenchida com carvão ou carvão vegetal. O tempo de queima depende da potência exigida pela máquina a vapor. O carvão queima por 32s e o carvão vegetal por 96s em carga máxima.\n"..
"\n"..
"\n"..
"\n",
"Parte da máquina a vapor. Deve ser preenchida com água. Isso é feito clicando na caldeira com um balde de água. Quando não há mais água ou a temperatura cai muito\\, a máquina a vapor desliga. Com a máquina a vapor\\, parte da água é perdida como vapor a cada curso do pistão\\, então a água deve ser reabastecida regularmente.\n"..
"\n"..
"\n"..
"\n",
"Parte da máquina a vapor.\n"..
"\n"..
"\n"..
"\n",
"Parte motora da máquina a vapor. O Volante deve ser conectado às máquinas por meio de eixos de transmissão.\n"..
"\n"..
"\n"..
"\n",
"Parte da máquina a vapor. A caldeira deve ser conectada ao cilindro por meio dos Tubos de vapor. O tubo de vapor não tem ramificações\\, o comprimento máximo é 12 m (blocos).\n"..
"\n"..
"\n"..
"\n",
"Os Eixos de transmissão são usados para transmitir energia da máquina a vapor para outras máquinas. O comprimento máximo de um eixo de transmissão é 10 blocos. Com as Caixas de Engrenagem TA2\\, é possível vencer distâncias maiores\\, e também realizar ramificações e mudanças de direção.\n"..
"\n"..
"\n"..
"\n",
"O Gerador de Energia TA2 é necessário para operar lâmpadas ou outros consumidores de energia em uma Máquina a vapor. O Gerador de Energia TA2 deve ser conectado aos eixos de transmissão de um lado e\\, em seguida\\, fornece eletricidade do outro lado.\n"..
"\n"..
"Se o Gerador de Energia não receber energia suficiente\\, ele entra em estado de erro e deve ser reativado com um clique direito.\n"..
"\n"..
"O Gerador de Energia consome no máximo 25ku de potência do eixo e fornece no máximo 24ku como eletricidade do outro lado. Portanto\\, ele consome um ku para a conversão.\n"..
"\n"..
"\n"..
"\n",
"Para sistemas maiores com várias máquinas a vapor ou muitas máquinas acionadas\\, é recomendado um sistema de armazenamento de energia. O armazenamento de energia no TA2 funciona com energia potencial. Para isso\\, o peso (pedras\\, cascalho\\, areia) é puxado para cima em um baú com a ajuda de um guincho. Se houver excesso de energia na rede de eixos\\, o baú é puxado para cima. Se mais energia for necessária a curto prazo do que a máquina a vapor pode fornecer\\, o armazenamento de energia libera a energia armazenada novamente e o baú de pesos desce novamente.\n"..
"O armazenamento de energia é composto por vários blocos e deve ser montado conforme mostrado no plano à direita. \n"..
"Para alcançar a capacidade máxima de armazenamento\\, o baú deve ser completamente preenchido com pesos e o mastro\\, incluindo as duas caixas de engrenagens\\, deve ter 12 blocos de altura. Estruturas menores também são possíveis.\n"..
"\n"..
"\n"..
"\n",
"O guincho deve ser conectado a uma caixa de engrenagens e pode absorver energia excessiva e assim puxar um baú de pesos para cima. \n"..
"Ao montar o guincho\\, certifique-se de que a seta no topo do bloco aponte para a caixa de engrenagens.\n"..
"O comprimento máximo da corda é 10 blocos. \n"..
"\n"..
"\n"..
"\n",
"Este baú deve ser colocado sob o guincho com uma distância de até 10 blocos e preenchido com pedras\\, cascalho ou areia. Se o peso mínimo de uma pilha (99+ itens)\n"..
"\n",
"Com a embreagem\\, eixos e máquinas podem ser separados do armazenamento de energia. Isso significa que os eixos após a embreagem param e sistemas de máquinas podem ser reconstruídos. Ao montar a embreagem\\, certifique-se de que a seta na parte superior do bloco aponta para o sistema de armazenamento de energia.\n"..
"\n"..
"\n"..
"\n",
"Para transportar objetos de uma estação de processamento para a próxima\\, são usados pushers e tubos. Veja o plano.\n"..
"\n"..
"\n"..
"\n",
"Duas máquinas podem ser conectadas com a ajuda de um pusher e um tubo. Tubos não têm ramificações. O comprimento máximo é 200m (blocos).\n"..
"\n"..
"Alternativamente\\, os tubos podem ser colocados usando a tecla Shift. Isso permite\\, por exemplo\\, que tubos sejam colocados em paralelo sem que eles se conectem acidentalmente.\n"..
"\n"..
"A capacidade de transporte de um tubo é ilimitada e é limitada apenas pelo pusher.\n"..
"\n"..
"\n"..
"\n",
"Vários tubos podem ser combinados em um único tubo via concentrador. A direção na qual todos os itens são passados é marcada com uma seta. \n"..
"\n"..
"\n"..
"\n",
"Um pusher(empurrador) é capaz de puxar itens de caixas ou máquinas e empurrá-los para outras caixas ou máquinas. Em outras palavras\\, deve haver um e apenas um pusher entre dois blocos com inventário. Múltiplos pushers em sequência não são possíveis.\n"..
"No entanto\\, na direção oposta\\, um pusher é permeável a itens\\, de modo que uma caixa pode ser preenchida via tubo e também ensinada.\n"..
"\n"..
"Um pusher entra no estado \"standby\" se não tiver itens para empurrar. Se a saída estiver bloqueada ou o inventário do destinatário estiver cheio\\, o pusher entra no estado \"bloqueado\". O pusher automaticamente sai de ambos os estados após alguns segundos se a situação mudar.\n"..
"\n"..
"A capacidade de processamento de um pusher TA2 é de 2 itens a cada 2 s.\n"..
"\n"..
"\n"..
"\n",
"O distribuidor é capaz de transportar os itens de seu inventário ordenados em até quatro direções. Para fazer isso\\, o distribuidor deve ser configurado conforme necessário.\n"..
"\n"..
"O distribuidor possui um menu com 4 filtros com cores diferentes\\, correspondendo às 4 saídas. Se uma saída for usada\\, o filtro correspondente deve ser ativado via caixa de seleção \"ligado\". Todos os itens configurados para este filtro são enviados através da saída designada. Se um filtro for ativado sem que itens sejam configurados\\, estamos falando de uma saída \"não configurada\"\\, aberta.\n"..
"\n"..
"*Atenção: O distribuidor também é um pusher em suas saídas. Portanto\\, nunca puxe itens do distribuidor com um pusher!*\n"..
"\n"..
"Existem dois modos de operação para uma saída não configurada:\n"..
"\n"..
"1) Enviar todos os itens que não podem ser enviados para nenhuma outra saída\\, mesmo que estejam bloqueados.\n"..
"\n"..
"2) Enviar apenas os itens que não foram configurados para nenhum outro filtro.\n"..
"\n"..
"No primeiro caso\\, todos os itens são sempre encaminhados e o distribuidor não fica cheio. No segundo caso\\, os itens são retidos e o distribuidor pode ficar cheio e\\, em seguida\\, bloquear.\n"..
"\n"..
"O modo de operação pode ser definido usando a caixa de seleção \"modo de bloqueio\".\n"..
"\n"..
"A capacidade de processamento de um distribuidor TA2 é de 4 itens a cada 2s\\, onde o distribuidor tenta distribuir os 4 itens para as saídas abertas.\n"..
"\n"..
"Se o mesmo item for configurado várias vezes em um filtro\\, a proporção de distribuição a longo prazo será influenciada de acordo.\n"..
"\n"..
"Observe que a distribuição é um processo probabilístico. Isso significa que as proporções de distribuição não serão correspondidas exatamente\\, mas apenas a longo prazo.\n"..
"\n"..
"O tamanho máximo de pilha nos filtros é 12\\; no total\\, não mais que 36 itens podem ser configurados.\n"..
"\n"..
"\n"..
"\n",
"O lavador de cascalho é uma máquina mais complexa com o objetivo de lavar pepitas de Usmium a partir de cascalho peneirado. Um enxaguatório TA2 com eixo de acionamento\\, um funil\\, um baú e água corrente são necessários para a instalação.\n"..
"\n"..
"Estrutura da esquerda para a direita (veja também o plano):\n"..
"\n"..
" - Um bloco de terra\\, sobre ele a fonte de água\\, cercada em 3 lados\\, por exemplo\\, por blocos de vidro\n"..
" - Ao lado\\, o enxaguatório de cascalho\\, se necessário com conexões de tubulação para a entrega e remoção de cascalho\n"..
" - Em seguida\\, o funil com baú\n"..
"\n"..
"O conjunto é cercado por mais blocos de vidro\\, para que a água flua sobre o enxaguatório de cascalho e o funil\\, e as pepitas lavadas possam ser coletadas novamente pelo funil.\n"..
"\n"..
"\n"..
"\n",
"O lavador de cascalho é capaz de enxaguar os minérios de Usmium e cobre do cascalho que já foi peneirado\\, desde que seja lavado com água.\n"..
"\n"..
"Se o Enxaguatório de Cascalho funciona corretamente\\, pode ser testado com pedaços de madeira\\, se estes forem colocados no inventário do Enxaguatório de Cascalho. Eles devem ser enxaguados individualmente e recolhidos pelo funil.\n"..
"\n"..
"A capacidade de processamento é de um item de cascalho a cada 2s. O lavador de cascalho precisa de 3 ku de energia.\n"..
"\n"..
"\n"..
"\n",
"Esmagar\\, moer e peneirar pedregulhos é usado para extrair minérios. O cascalho peneirado também pode ser usado para outros fins. A pedreira\\, moedor e peneira devem ser acionados e\\, portanto\\, instalados perto de uma máquina a vapor.\n"..
"\n"..
"\n"..
"\n",
"A pedreira é usada para remover pedras e outros materiais do subsolo. A pedreira escava um buraco de 5x5 blocos. A profundidade é ajustável.\n"..
"A capacidade de processamento é de um bloco a cada 4s. A pedreira precisa de 10 ku de energia. A profundidade máxima é de 20 metros. Para maiores profundidades\\, consulte TA3 / TA4.\n"..
"\n"..
"\n"..
"\n",
"O moedor é capaz de moer várias rochas\\, mas também madeira e outros itens.\n"..
"A capacidade de processamento é de um item a cada 4s. O moedor precisa de 4 ku de energia.\n"..
"\n"..
"\n"..
"\n",
"A peneira de cascalho é capaz de peneirar cascalho para extrair minérios. O resultado é parcialmente \"sieved gravel\"\\, que não pode ser peneirado novamente.\n"..
"A capacidade de processamento é de um item a cada 4s. A peneira de cascalho requer 3 ku de energia.\n"..
"\n"..
"\n"..
"\n",
"As máquinas TA2 podem não apenas extrair minérios\\, mas também produzir objetos.\n"..
"\n",
"O autocrafter é usado para a produção automática de bens. Tudo o que o jogador pode produzir via \"Crafting Grid\" também pode ser feito pelo autocrafter. Para isso\\, a receita deve ser inserida no menu do autocrafter e os ingredientes necessários adicionados.\n"..
"\n"..
"Ingredientes e produtos fabricados podem ser transportados para dentro e para fora do bloco por meio de tubos e pushers.\n"..
"\n"..
"A capacidade de processamento é de um item a cada 4s. O autocrafter requer 4 ku de energia.\n"..
"\n"..
"\n"..
"\n",
"O electronic fab é uma máquina especial e só pode ser usada para a produção de tubos de vácuo. Tubos de vácuo são necessários para máquinas e blocos TA3.\n"..
"\n"..
"A capacidade de processamento é de um tubo de vácuo a cada 6s. O electronic fab requer 8 ku de energia.\n"..
"\n"..
"\n"..
"\n",
"",
"Algumas receitas requerem água. Para que essas receitas também possam ser processadas automaticamente com o autocrafter\\, água deve ser fornecida em baldes. Isso é feito usando o liquid sampler. Ele precisa de baldes vazios e deve ser colocado na água.\n"..
"\n"..
"A capacidade de processamento é de um balde de água a cada 8s. O liquid sampler requer 3 ku de energia.\n"..
"\n"..
"\n"..
"\n",
"O protected chest só pode ser usado por jogadores que têm permissão de construção neste local\\, ou seja\\, que têm direitos de proteção. Não importa quem coloca o baú.\n"..
"\n"..
"\n"..
"\n",
"O Minetest divide o mapa em chamados map blocks. Estes são cubos com uma aresta de 16x16x16 blocos. Um map block é sempre completamente carregado pelo servidor\\, mas apenas os blocos ao redor de um jogador são carregados (aproximadamente 2-3 blocos em todas as direções). Na direção de visão do jogador\\, também existem mais map blocks. Apenas esta parte do mundo é ativa e apenas aqui as plantas e árvores crescem ou as máquinas funcionam.\n"..
"\n"..
"Com um bloco forceload\\, você pode forçar o map block em que o bloco forceload está localizado a permanecer carregado enquanto você estiver no servidor. Quando todos os seus campos e máquinas estão cobertos com blocos Forceload\\, tudo está sempre em execução.\n"..
"\n"..
"Os map blocks com suas coordenadas são predefinidos\\, por exemplo\\, (0\\,0\\,0) a (15\\,15\\,15)\\, ou (16\\,16\\,16) a (31\\,31\\,31).\n"..
"Você pode mover um bloco forceload dentro de um map block como quiser\\, a posição do map block permanece inalterada.\n"..
"\n"..
"\n"..
"\n",
},
images = {
"techage_ta2",
"",
"ta2_firebox",
"ta2_boiler",
"ta2_cylinder",
"ta2_flywheel",
"ta2_steampipe",
"ta2_driveaxle",
"ta2_generator",
"",
"ta2_winch",
"",
"techage:ta2_clutch_off",
"",
"tube",
"concentrador",
"ta2_pusher",
"ta2_distributor",
"",
"ta2_rinser",
"ta2_grinder",
"ta2_quarry",
"ta2_grinder",
"ta2_gravelsieve",
"",
"ta2_autocrafter",
"ta2_electronicfab",
"",
"ta2_liquidsampler",
"ta2_chest",
"ta2_forceload",
},
plans = {
"",
"steamengine",
"",
"",
"",
"",
"",
"",
"",
"ta2_storage",
"",
"",
"",
"itemtransport",
"",
"",
"",
"",
"gravelrinser",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
}
}

View File

@ -20,7 +20,7 @@ return {
"3,TA Stromschalter klein / Power Switch Small",
"3,TA Stromschalterbox / Power Switch Box",
"3,TA3 Kleiner Stromgenerator / Tiny Power Generator",
"3,TA3 Akku Block / Akku Box",
"3,TA3 Akku Block / TA3 Accu Box",
"3,TA3 Strom Terminal / Power Terminal",
"3,TA3 Elektromotor / TA3 Electric Motor",
"2,TA3 Industrieofen",
@ -84,7 +84,8 @@ return {
"3,TechAge Programmer",
"3,TechAge Kelle / Trowel",
"3,TA3 Bohrgestängezange / TA3 Drill Pipe Wrench",
"3,Techage Schraubendreher",
"3,Techage Schraubendreher / Screwdriver",
"3,TechAge Montagewerkzeug / Assembly Tool",
},
texts = {
"Bei TA3 gilt es\\, die Dampf-betriebenen Maschinen durch leistungsfähigere und mit elektrischem Strom betriebene Maschinen abzulösen.\n"..
@ -436,7 +437,10 @@ return {
"\n"..
"\n"..
"\n",
"Neben den Röhren für Warentransport\\, sowie den Gas- und Stromleitungen gibt es auch noch eine drahtlose Kommunikationsebene\\, über die Blöcke untereinander Daten austauschen können. Dafür müssen keine Leitungen gezogen werden\\, sondern die Verbindung zwischen Sender und Empfänger erfolgt nur über die Blocknummer. Alle Blöcke\\, die an dieser Kommunikation teilnehmen können\\, zeigen die Blocknummer als Info-Text an\\, wenn man mit dem Mauscursor den Block fixiert.\n"..
"Neben den Röhren für Warentransport\\, sowie den Gas- und Stromleitungen gibt es auch noch eine drahtlose Kommunikationsebene\\, über die Blöcke untereinander Daten austauschen können. Dafür müssen keine Leitungen gezogen werden\\, sondern die Verbindung zwischen Sender und Empfänger erfolgt nur über die Blocknummer. \n"..
"\n"..
"*Info:* Eine *Blocknummer* ist eine eindeutige Zahl\\, die von Techage beim Setzen von vielen Techage Blöcken generiert wird. Die Blocknummer dient zur Adressierung bei der Kommunikation zwischen Techage Controllern und Maschinen. Alle Blöcke\\, die an dieser Kommunikation teilnehmen können\\, zeigen die Blocknummer als Info-Text an\\, wenn man mit dem Mauscursor den Block fixiert.\n"..
"\n"..
"Welche Kommandos ein Block unterstützt\\, kann mit dem TechAge Info Werkzeug (Schraubenschlüssel) ausgelesen und angezeigt werden.\n"..
"Die einfachsten Kommandos\\, die von fast allen Blöcken unterstützt werden\\, sind:\n"..
"\n"..
@ -741,6 +745,15 @@ return {
"\n"..
"\n"..
"\n",
"Das TechAge Montagewerkzeug dient zum Entfernen und wieder Setzen von Techage Blöcken\\, ohne dass diese Blöcke ihre Blocknummer verlieren\\, bzw. beim Setzen eine neue Nummer zugeteilt bekommen. Dies ist bspw. bei Steinbrechern hilfreich\\, da diese oft umgesetzt werden müssen.\n"..
"\n"..
" - Linke Taste: Entfernen eines Blocks\n"..
" - Rechte Taste: Setzen eines Blocks\n"..
"\n"..
"Der Block\\, der zuvor mit dem Montagewerkzeug entfernt wurde und wieder gesetzt werden soll\\, muss sich im Spieler-Inventar ganz links befinden.\n"..
"\n"..
"\n"..
"\n",
},
images = {
"techage_ta3",
@ -828,6 +841,7 @@ return {
"ta3_trowel",
"ta3_drill_pipe_wrench",
"ta3_screwdriver",
"techage:assembly_tool",
},
plans = {
"",
@ -915,5 +929,6 @@ return {
"",
"",
"",
"",
}
}

View File

@ -20,7 +20,7 @@ return {
"3,TA Power Switch Small",
"3,TA Power Switch Box",
"3,TA3 Small Power Generator",
"3,TA3 Battery Block",
"3,TA3 Accu Block",
"3,TA3 Power Terminal",
"3,TA3 Electric Motor",
"2,TA3 Industrial Furnace",
@ -85,6 +85,7 @@ return {
"3,TechAge Trowel / Trowel",
"3,TA3 drill pipe wrench",
"3,Techage Screwdriver",
"3,TechAge Assembly Tool",
},
texts = {
"At TA3 it is important to replace the steam-powered machines with more powerful and electric-powered machines.\n"..
@ -227,11 +228,11 @@ return {
"\n"..
"\n"..
"\n",
"The battery block is used to store excess energy and automatically delivers power in the event of a power failure (if available).\n"..
"Several battery blocks together form a TA3 energy storage system. Each battery block has a display for the charging state and for the stored load.\n"..
"The accu block (rechargeable battery) is used to store excess energy and automatically delivers power in the event of a power failure (if available).\n"..
"Several accu blocks together form a TA3 energy storage system. Each accu block has a display for the charging state and for the stored load.\n"..
"The values for the entire network are always displayed here. The stored load is displayed in \"kud\" or \"ku-days\" (analogous to kWh) 5 kud thus corresponds\\, for example\\, to 5 ku for a game day (20 min) or 1 ku for 5 game days.\n"..
"\n"..
"A battery block has 3.33 kud\n"..
"A accu block has 3.33 kud\n"..
"\n"..
"\n"..
"\n",
@ -437,7 +438,10 @@ return {
"\n"..
"\n"..
"\n",
"In addition to the tubes for goods transport\\, as well as the gas and power pipes\\, there is also a wireless communication level through which blocks can exchange data with each other. No lines have to be drawn for this\\, the connection between transmitter and receiver is only made via the block number. All blocks that can participate in this communication show the block number as info text if you fix the block with the mouse cursor.\n"..
"In addition to the tubes for goods transport\\, as well as the gas and power pipes\\, there is also a wireless communication level through which blocks can exchange data with each other. No lines have to be drawn for this\\, the connection between transmitter and receiver is only made via the block number. \n"..
"\n"..
"*Info:* A block number is a unique number that is generated by Techage when many Techage blocks are placed. The block number is used for addressing during communication between Techage controllers and machines. All blocks that can participate in this communication show the block number as info text if you fix the block with the mouse cursor.\n"..
"\n"..
"Which commands a block supports can be read out and displayed with the TechAge Info Tool (wrench).\n"..
"The simplest commands supported by almost all blocks are:\n"..
"\n"..
@ -738,6 +742,15 @@ return {
"\n"..
" \n"..
"\n",
"The TechAge Assembly Tool is used to remove and reposition Techage blocks without these blocks losing their block number or being assigned a new number when setting. This is helpful\\, for example\\, for quarries\\, as they often have to be moved.\n"..
"\n"..
" - Left button: Remove a block\n"..
" - Right button: Set a block\n"..
"\n"..
"The block that was previously removed with the assembly tool and is to be placed again must be on the far left of the player inventory.\n"..
"\n"..
"\n"..
"\n",
},
images = {
"techage_ta3",
@ -825,6 +838,7 @@ return {
"ta3_trowel",
"ta3_drill_pipe_wrench",
"ta3_screwdriver",
"techage:assembly_tool",
},
plans = {
"",
@ -912,5 +926,6 @@ return {
"",
"",
"",
"",
}
}

942
doc/manual_ta3_pt-BR.lua Normal file
View File

@ -0,0 +1,942 @@
return {
titles = {
"1,TA3: Era do Petróleo",
"2,Usina Termelétrica a Carvão / Usina Termelétrica a Óleo",
"3,TA3 Fornalha(firebox) da estação de energia",
"3,TA3 Queimador de Óleo da Usina de Energia",
"3,TA3 Base / Topo da Caldeira",
"3,TA3 Turbina",
"3,TA3 Gerador",
"3,TA3 Cooler",
"2,Corrente elétrica",
"3,Importância dos sistemas de armazenamento",
"3,TA3 Cabo Elétrico",
"3,TA Caixa de Junção Elétrica",
"3,TA Linha de Energia",
"3,TA Poste de Energia",
"3,TA Topo do Poste de Energia",
"3,TA Topo do Poste de Energia 2",
"3,TA Interruptor de Energia",
"3,TA Interruptor de Energia Pequeno",
"3,TA Caixa de Interruptor de Energia",
"3,TA3 Pequeno Gerador de Energia",
"3,TA3 Bloco Acumulador",
"3,TA3 Terminal de Energia",
"3,TA3 Motor Elétrico",
"2,TA3 Forno Industrial",
"3,TA3 Forno - Queimador de Óleo",
"3,TA3 Forno - Parte Superior",
"3,TA3 Reforço",
"2,Líquidos",
"3,TA3 Tanque",
"3,TA3 Bomba",
"3,TA Liquid Filler",
"3,TA4 Tubos(pipe)",
"3,TA3 Tubos de parede (entre-blocos)",
"3,TA Válvula",
"2,Produção de Óleo",
"3,TA3 Explorador de petróleo",
"3,TA3 Caixa de perfuração de petróleo",
"3,TA3 Bomba de petróleo",
"3,TA3 Haste de perfuração",
"3,Tanque de petróleo",
"2,Transporte de Petróleo",
"3,Transporte de Petróleo por Vagões Tanque",
"3,Oil transportation with barrels over Minecarts",
"3,Transporte de Petróleo com Barris por Minecarts",
"3,Carrinho-tanque",
"3,Carrinho-baú",
"2,Processamento de Petróleo",
"3,Torre de Destilação",
"4,Refervedor(Reboiler)",
"2,Blocos Lógicos / de Comutação",
"3,TA3 Botão / Interruptor",
"3,TA3 Conversor de Comandos",
"3,TA3 Flip-Flop",
"3,Bloco Lógico TA3",
"3,TA3 Repetidor",
"3,TA3 Sequenciador",
"3,TA3 Temporizador",
"3,TA3 Terminal",
"3,Lâmpada Colorida TechAge",
"3,Blocos de Porta/Portão",
"3,TA3 Controlador de Porta",
"3,Controlador de Porta TA3 II",
"3,TA3 Bloco de Som",
"3,TA3 Conversor Mesecons",
"2,Detectores",
"3,TA3 Detector",
"3,TA3 Cart Detector",
"3,TA3 Node Detector",
"3,TA3 Detector de jogador(Player detector)",
"3,TA3 Detector de luz(Light detector)",
"2,Máquinas TA3",
"3,TA3 Pusher",
"3,TA3 Distributor",
"3,TA3 Autocrafter",
"3,TA3 Electronic Fab",
"3,TA3 Quarry",
"3,TA3 Gravel Sieve",
"3,TA3 Gravel Rinser",
"3,TA3 Grinder",
"3,TA3 Injetor",
"2,Ferramentas",
"3,Techage Info Tool",
"3,TechAge Programmer (Programador)",
"3,TechAge Trowel / Trowel",
"3,TA3 chave de cano",
"3,Techage Screwdriver",
"3,TechAge Assembly Tool",
},
texts = {
"Na TA3\\, é importante substituir as máquinas a vapor por máquinas mais potentes movidas a eletricidade.\n"..
"\n"..
"Para fazer isso\\, é necessário construir usinas termelétricas a carvão e geradores. Logo você perceberá que suas necessidades de eletricidade só podem ser atendidas com usinas movidas a óleo. Portanto\\, você parte em busca de petróleo. Torres de perfuração e bombas de petróleo ajudam a extrair o óleo. Ferrovias são usadas para transportar o óleo até as usinas.\n"..
"\n"..
"A era industrial está em seu auge.\n"..
"\n"..
"\n"..
"\n",
"A usina termelétrica a carvão é composta por vários blocos e deve ser montada conforme mostrado no plano à direita. São necessários os blocos Fornalha(Firebox) TA3\\, Topo da Caldeira TA3\\, Base da Caldeira TA3\\, Turbina TA3\\, Gerador TA3 e Resfriador TA3.\n"..
"\n"..
"A caldeira deve ser preenchida com água. Encha até 10 baldes de água na caldeira.\n"..
"A caixa de fogo deve ser preenchida com carvão ou carvão vegetal.\n"..
"Quando a água estiver quente\\, o gerador pode ser iniciado.\n"..
"\n"..
"Alternativamente\\, a usina pode ser equipada com um queimador de óleo e operada com óleo. O óleo pode ser reabastecido usando uma bomba e um tubo de óleo.\n"..
"\n"..
"A usina fornece uma saída de 80 ku.\n"..
"\n"..
"\n"..
"\n",
"Parte da usina de energia.\n"..
"A fornalha deve ser preenchida com carvão ou carvão vegetal. O tempo de queima depende da potência solicitada pela usina. Carvão queima por 20s e carvão vegetal por 60s em carga total. Proporcionalmente mais tempo em carga parcial (50% de carga = dobro do tempo).\n"..
"\n"..
"\n"..
"\n",
"Parte da usina de energia.\n"..
"\n"..
"O queimador de óleo pode ser preenchido com óleo cru\\, óleo combustível\\, nafta ou gasolina. O tempo de queima depende da potência solicitada pela usina. Em carga total\\, óleo cru queima por 15s\\, óleo combustível por 20s\\, nafta por 22s e gasolina por 25s.\n"..
"\n"..
"Proporcionalmente mais tempo em carga parcial (50% de carga = dobro do tempo).\n"..
"\n"..
"O queimador de óleo pode armazenar apenas 50 unidades de combustível. Recomenda-se\\, portanto\\, um tanque de óleo adicional e uma bomba de óleo.\n"..
"\n"..
"\n"..
"\n",
"Parte da usina de energia. Deve ser preenchida com água. Se não houver mais água ou a temperatura diminuir muito\\, a usina desliga.\n"..
"\n"..
"O consumo de água da caldeira TA3 é muito menor do que o da máquina a vapor devido ao circuito de vapor fechado.\n"..
"Com a máquina a vapor\\, parte da água é perdida como vapor a cada curso do pistão.\n"..
"\n"..
"\n"..
"\n",
"A turbina faz parte da usina de energia. Deve ser colocada ao lado do gerador e conectada à caldeira e ao resfriador por meio de tubos de vapor\\, conforme mostrado no plano.\n"..
"\n"..
"\n"..
"\n",
"O gerador é usado para gerar eletricidade. Deve ser conectado às máquinas por meio de cabos de energia e caixas de junção.\n"..
"\n"..
"\n"..
"\n",
"Usado para resfriar o vapor quente da turbina. Deve ser conectado à caldeira e à turbina por meio de tubos de vapor\\, conforme mostrado no plano.\n"..
"\n"..
"\n"..
"\n",
"Em TA3 (e TA4)\\, as máquinas são alimentadas por eletricidade. Para isso\\, máquinas\\, sistemas de armazenamento e geradores devem ser conectados com cabos de energia.\n"..
"TA3 possui 2 tipos de cabos de energia:\n"..
"\n"..
" - Cabos isolados (cabos de energia TA) para instalação local no chão ou em edifícios. Esses cabos podem ser ocultos na parede ou no chão (podem ser \"revestidos\" com a colher de pedreiro).\n"..
" - Linhas aéreas (linha de energia TA) para cabeamento externo em longas distâncias. Esses cabos são protegidos e não podem ser removidos por outros jogadores.\n"..
"\n"..
"Vários consumidores\\, sistemas de armazenamento e geradores podem ser operados juntos em uma rede de energia. Redes podem ser configuradas com a ajuda das caixas de junção.\n"..
"Se houver pouca eletricidade fornecida\\, os consumidores ficam sem energia.\n"..
"Nesse contexto\\, também é importante entender a funcionalidade dos blocos de Forceload\\, porque os geradores\\, por exemplo\\, só fornecem eletricidade quando o bloco de mapa correspondente está carregado. Isso pode ser imposto com um bloco de Forceload.\n"..
"\n"..
"Em TA4\\, também existe um cabo para o sistema solar.\n"..
"\n"..
"\n"..
"\n",
"Os sistemas de armazenamento na rede elétrica desempenham duas funções:\n"..
"\n"..
" - Lidar com picos de demanda: Todos os geradores sempre fornecem exatamente a quantidade de energia necessária. No entanto\\, se os consumidores forem ligados/desligados ou houver flutuações na demanda por outros motivos\\, os consumidores podem falhar por um curto período. Para evitar isso\\, deve sempre haver pelo menos um bloco de bateria em cada rede. Isso serve como um buffer e compensa essas flutuações na faixa de segundos.\n"..
" - Armazenar energia regenerativa: Solar e eólica não estão disponíveis 24 horas por dia. Para que o fornecimento de energia não falhe quando não há produção de eletricidade\\, um ou mais sistemas de armazenamento devem ser instalados na rede. Alternativamente\\, as lacunas também podem ser preenchidas com eletricidade de óleo/carvão.\n"..
"\n"..
"Um sistema de armazenamento indica sua capacidade em kud\\, ou seja\\, ku por dia. Por exemplo\\, um sistema de armazenamento com 100 kud fornece 100 ku por um dia de jogo\\, ou 10 ku por 10 dias de jogo.\n"..
"\n"..
"Todas as fontes de energia TA3/TA4 têm características de carregamento ajustáveis. Por padrão\\, isso é configurado para \"80% - 100%\". Isso significa que\\, quando o sistema de armazenamento estiver 80% cheio\\, a saída é reduzida cada vez mais até desligar completamente em 100%. Se eletricidade for necessária na rede\\, nunca se atingirá 100%\\, pois a potência do gerador em algum momento caiu para a demanda de eletricidade na rede e o sistema de armazenamento não está mais sendo carregado\\, mas apenas os consumidores estão sendo atendidos.\n"..
"\n"..
"Isso tem várias vantagens:\n"..
"\n"..
" - As características de carregamento são ajustáveis. Isso significa\\, por exemplo\\, que as fontes de energia de óleo/carvão podem ser reduzidas em 60% e as fontes de energia renovável apenas em 80%. Isso significa que o óleo/carvão só é queimado se não houver energia renovável suficiente disponível.\n"..
" - Várias fontes de energia podem ser operadas em paralelo e são carregadas quase uniformemente\\, porque todas as fontes de energia trabalham\\, por exemplo\\, até 80% da capacidade de carga do sistema de armazenamento em sua capacidade total e depois reduzem sua capacidade ao mesmo tempo.\n"..
" - Todos os sistemas de armazenamento em uma rede formam um grande buffer. A capacidade de carga e o nível de preenchimento de todo o sistema de armazenamento podem sempre ser lidos em percentagem em todos os sistemas de armazenamento\\, mas também no terminal de eletricidade.\n"..
"\n"..
" \n"..
"\n",
"Para fiação local no chão ou em construções.\n"..
"Ramos podem ser realizados usando caixas de junção. O comprimento máximo do cabo entre máquinas ou caixas de junção é de 1000 m. Um máximo de 1000 nós pode ser conectado em uma rede elétrica. Todos os blocos com conexão elétrica\\, incluindo caixas de junção\\, contam como nós.\n"..
"\n"..
"Como os cabos elétricos não são automaticamente protegidos\\, as linhas aéreas (TA power line) são recomendadas para distâncias mais longas.\n"..
"\n"..
"Os cabos elétricos podem ser rebocados com a colher de alvenaria para que fiquem ocultos na parede ou no chão. Todos os blocos de pedra\\, argila e outros blocos sem \"inteligência\" podem ser usados como material de reboco. A sujeira não funciona porque pode ser convertida em grama ou algo semelhante\\, o que destruiria a linha.\n"..
"\n"..
"Para rebocar\\, o cabo deve ser clicado com a colher de alvenaria. O material com o qual o cabo deve ser rebocado deve estar no canto mais à esquerda do inventário do jogador.\n"..
"Os cabos podem ser tornados visíveis novamente clicando no bloco com a colher de alvenaria.\n"..
"\n"..
"Além dos cabos\\, a caixa de junção TA e a caixa de interruptores de energia TA também podem ser rebocadas.\n"..
"\n"..
"\n"..
"\n",
"Com a caixa de junção\\, a eletricidade pode ser distribuída em até 6 direções. Caixas de junção também podem ser rebocadas (ocultas) com uma colher de alvenaria e tornadas visíveis novamente.\n"..
"\n"..
"\n"..
"\n",
"Com a linha de energia TA e os postes de eletricidade\\, é possível realizar linhas aéreas razoavelmente realistas. As cabeças dos postes também servem para proteger a linha de energia (proteção). Um poste deve ser colocado a cada 16 m ou menos. A proteção se aplica apenas à linha de energia e aos postes\\; no entanto\\, todos os outros blocos nesta área não estão protegidos.\n"..
"\n"..
"\n"..
"\n",
"Usado para construir postes de eletricidade. É protegido contra destruição pela cabeça do poste de eletricidade e só pode ser removido pelo proprietário.\n"..
"\n"..
"\n"..
"\n",
"Possui até quatro braços e permite assim a distribuição de eletricidade em até 6 direções.\n"..
"A cabeça do poste de eletricidade protege as linhas de energia e os postes dentro de um raio de 8 m.\n"..
"\n"..
"\n"..
"\n",
"Esta cabeça de poste de eletricidade tem dois braços fixos e é usada para as linhas aéreas. No entanto\\, também pode transmitir corrente para baixo e para cima.\n"..
"A cabeça do poste de eletricidade protege as linhas de energia e os postes dentro de um raio de 8 m.\n"..
"\n"..
"\n"..
"\n",
"O interruptor pode ser usado para ligar e desligar a energia. Para isso\\, o interruptor deve ser colocado em uma caixa de interruptor de energia. A caixa de interruptor de energia deve ser conectada ao cabo de energia em ambos os lados.\n"..
"\n"..
"\n"..
"\n",
"O interruptor pode ser usado para ligar e desligar a energia. Para isso\\, o interruptor deve ser colocado em uma caixa de interruptor de energia. A caixa de interruptor de energia deve ser conectada ao cabo de energia em ambos os lados.\n"..
"\n"..
"\n"..
"\n",
"Veja o interruptor de energia TA.\n"..
"\n"..
"\n"..
"\n",
"O pequeno gerador de energia funciona com gasolina e pode ser usado para consumidores pequenos com até 12 ku. A gasolina queima por 150s em carga total. Correspondentemente mais tempo em carga parcial (50% de carga = tempo duplo).\n"..
"\n"..
"O gerador de energia só pode armazenar 50 unidades de gasolina. Portanto\\, é aconselhável um tanque adicional e uma bomba.\n"..
"\n"..
"\n"..
"\n",
"O bloco acumulador (bateria recarregável) é usado para armazenar energia excedente e fornece automaticamente energia em caso de queda de energia (se disponível).\n"..
"Vários blocos de acumulador juntos formam um sistema de armazenamento de energia TA3. Cada bloco de acumulador possui um display para o estado de carga e para a carga armazenada.\n"..
"Os valores para toda a rede são sempre exibidos aqui. A carga armazenada é exibida em \"kud\" ou \"ku-dias\" (análogo a kWh). Assim\\, 5 kud correspondem\\, por exemplo\\, a 5 ku para um dia de jogo (20 minutos) ou 1 ku para 5 dias de jogo.\n"..
"\n"..
"Um bloco de acumulador tem 3\\,33 kud.\n"..
"\n"..
"\n"..
"\n",
"O terminal de energia deve ser conectado à rede elétrica. Ele exibe dados da rede elétrica.\n"..
"\n"..
"As informações mais importantes são exibidas na metade superior:\n"..
"\n"..
" - potência do gerador atual/máxima\n"..
" - consumo de energia atual de todos os consumidores\n"..
" - corrente de carga atual dentro/fora do sistema de armazenamento\n"..
" - Estado de carga atual do sistema de armazenamento em percentual\n"..
"\n"..
"O número de blocos da rede é exibido na metade inferior.\n"..
"\n"..
"Dados adicionais sobre os geradores e sistemas de armazenamento podem ser consultados através da guia \"console\".\n"..
"\n"..
"\n"..
"\n",
"O Motor Elétrico TA3 é necessário para operar as máquinas TA2 através da rede elétrica. O Motor Elétrico TA3 converte eletricidade em potência de eixo.\n"..
"Se o motor elétrico não for alimentado com energia suficiente\\, ele entra em um estado de falha e deve ser reativado com um clique direito.\n"..
"\n"..
"O motor elétrico consome no máximo 40 ku de eletricidade e fornece do outro lado no máximo 39 ku como potência de eixo. Portanto\\, ele consome um ku para a conversão.\n"..
"\n"..
"\n"..
"\n",
"O forno industrial TA3 serve como complemento aos fornos normais. Isso significa que todos os produtos podem ser fabricados com receitas de \"cozimento\"\\, mesmo em um forno industrial. No entanto\\, também existem receitas especiais que só podem ser feitas em um forno industrial.\n"..
"O forno industrial possui seu próprio menu para seleção de receitas. Dependendo dos produtos no inventário do forno industrial à esquerda\\, o produto de saída pode ser selecionado à direita.\n"..
"\n"..
"O forno industrial requer eletricidade (para o impulsionador) e óleo combustível/gasolina para o queimador. O forno industrial deve ser montado conforme mostrado no plano à direita.\n"..
"\n"..
"Veja também o aquecedor TA4.\n"..
"\n"..
"\n"..
"\n",
"Parte do forno industrial TA3.\n"..
"\n"..
"O queimador de óleo pode ser operado com óleo bruto\\, óleo combustível\\, nafta ou gasolina. O tempo de queima é de 64 s para óleo bruto\\, 80 s para óleo combustível\\, 90 s para nafta e 100 s para gasolina.\n"..
"\n"..
"O queimador de óleo pode armazenar apenas 50 unidades de combustível. Portanto\\, é aconselhável um tanque adicional e uma bomba.\n"..
"\n"..
"\n"..
"\n",
"Faz parte do forno industrial TA3. Consulte o forno industrial TA3.\n"..
"\n"..
"\n"..
"\n",
"Faz parte do forno industrial TA3. Consulte o forno industrial TA3.\n"..
"\n"..
"\n"..
"\n",
"Líquidos como água ou óleo só podem ser bombeados através de tubulações especiais e armazenados em tanques. Assim como com a água\\, existem recipientes (latas\\, barris) nos quais o líquido pode ser armazenado e transportado.\n"..
"\n"..
"Também é possível conectar vários tanques usando as tubulações amarelas e conectores. No entanto\\, os tanques devem ter o mesmo conteúdo e sempre deve haver pelo menos um tubo amarelo entre o tanque\\, a bomba e o tubo distribuidor.\n"..
"\n"..
"Por exemplo\\, não é possível conectar dois tanques diretamente a um tubo distribuidor.\n"..
"\n"..
"O enchimento de líquidos é usado para transferir líquidos de recipientes para tanques. O plano mostra como latas ou barris com líquidos são empurrados para um enchimento de líquidos através de empurradores. O recipiente é esvaziado no enchimento de líquidos e o líquido é conduzido para baixo no tanque.\n"..
"\n"..
"O enchimento de líquidos também pode ser colocado sob um tanque para esvaziar o tanque.\n"..
"\n"..
"\n"..
"\n",
"Líquidos podem ser armazenados em um tanque. Um tanque pode ser preenchido ou esvaziado usando uma bomba. Para fazer isso\\, a bomba deve ser conectada ao tanque por meio de um tubo (tubos amarelos).\n"..
"\n"..
"Um tanque também pode ser preenchido ou esvaziado manualmente clicando no tanque com um recipiente de líquido cheio ou vazio (barril\\, galão). Deve-se observar que os barris só podem ser completamente preenchidos ou esvaziados. Se\\, por exemplo\\, houver menos de 10 unidades no tanque\\, esse restante deve ser removido com galões ou esvaziado com uma bomba.\n"..
"\n"..
"Um tanque TA3 pode armazenar 1000 unidades ou 100 barris de líquido.\n"..
"\n"..
"\n"..
"\n",
"A bomba pode ser usada para bombear líquidos de tanques ou recipientes para outros tanques ou recipientes. A direção da bomba (seta) deve ser observada. As linhas amarelas e os conectores também permitem organizar vários tanques em cada lado da bomba. No entanto\\, os tanques devem ter o mesmo conteúdo.\n"..
"\n"..
"A bomba TA3 bombeia 4 unidades de líquido a cada dois segundos.\n"..
"\n"..
"Observação 1: A bomba não deve ser colocada diretamente ao lado do tanque. Deve sempre haver pelo menos um pedaço de tubo amarelo entre eles.\n"..
"\n"..
"\n"..
"\n",
"O liquid filler é usado para transferir líquidos entre recipientes e tanques.\n"..
"\n"..
" - Se o liquid filler for colocado sob um tanque e barris vazios forem colocados no liquid filler com um empurrador ou manualmente\\, o conteúdo do tanque é transferido para os barris e os barris podem ser removidos da saída\n"..
" - Se o liquid filler for colocado em cima de um tanque e se recipientes cheios forem colocados no liquid filler com um empurrador ou manualmente\\, o conteúdo é transferido para o tanque e os recipientes vazios podem ser removidos no lado de saída\n"..
"\n"..
"Deve-se observar que os barris só podem ser completamente cheios ou esvaziados. Se\\, por exemplo\\, houver menos de 10 unidades no tanque\\, este restante deve ser removido com recipientes ou bombeado vazio.\n"..
"\n"..
"\n"..
"\n",
"Os tubos amarelos são usados para a transmissão de gás e líquidos.\n"..
"O comprimento máximo do tubo é 100m.\n"..
"\n"..
"\n"..
"\n",
"Os blocos servem como aberturas de parede para os tubos\\, para que não fiquem buracos abertos.\n"..
"\n"..
"\n"..
"\n",
"Existe uma válvula para os tubos amarelos\\, que pode ser aberta e fechada com um clique do mouse.\n"..
"A válvula também pode ser controlada por comandos ligar/desligar.\n"..
"\n"..
"\n"..
"\n",
"Para alimentar seus geradores e fogões com óleo\\, você deve primeiro procurar óleo e construir uma torre de perfuração para extrair o óleo.\n"..
"Para isso\\, são utilizados o explorador de óleo TA3\\, a caixa de perfuração de óleo TA3 e o macaco de bomba de óleo TA3.\n"..
"\n"..
"\n"..
"\n",
"Você pode procurar petróleo com o explorador de petróleo. Para fazer isso\\, coloque o bloco no chão e clique com o botão direito para iniciar a busca. O explorador de petróleo pode ser usado tanto acima quanto abaixo do solo em todas as profundidades.\n"..
"A saída do chat mostra a profundidade até a qual o petróleo foi procurado e quanto petróleo foi encontrado.\n"..
"Você pode clicar várias vezes no bloco para procurar petróleo em áreas mais profundas. Os campos de petróleo variam em tamanho de 4.000 a 20.000 itens.\n"..
"\n"..
"Se a busca não der certo\\, você deve mover o bloco aproximadamente 16 m para frente.\n"..
"O explorador de petróleo sempre procura petróleo em todo o bloco do mapa e abaixo\\, no qual foi colocado. Uma nova busca no mesmo bloco do mapa (campo 16x16) portanto\\, não faz sentido.\n"..
"\n"..
"Se o petróleo for encontrado\\, a localização para a torre de perfuração é exibida. Você precisa erguer a torre de perfuração dentro da área mostrada\\, é melhor marcar o local com uma placa e proteger toda a área contra jogadores estrangeiros.\n"..
"\n"..
"Não desista de procurar petróleo muito rapidamente. Se tiver azar\\, pode levar muito tempo para encontrar um poço de petróleo.\n"..
"Também não faz sentido procurar em uma área que outro jogador já tenha procurado. A chance de encontrar petróleo é a mesma para todos os jogadores.\n"..
"\n"..
"O explorador de petróleo pode ser sempre usado para procurar petróleo.\n"..
"\n"..
"\n"..
"\n",
"A caixa de perfuração de petróleo deve ser colocada na posição indicada pelo explorador de petróleo. Perfurar petróleo em outro lugar não tem sentido.\n"..
"Se o botão na caixa de perfuração de petróleo for clicado\\, a torre de perfuração será erguida acima da caixa. Isso leva alguns segundos.\n"..
"A caixa de perfuração de petróleo tem 4 lados\\, em IN o tubo de perfuração deve ser entregue via pusher e em OUT o material de perfuração deve ser removido. A caixa de perfuração de petróleo deve ser alimentada com eletricidade por um dos outros dois lados.\n"..
"\n"..
"A caixa de perfuração de petróleo perfura até o campo de petróleo (1 metro em 16 s) e requer 16 ku de eletricidade.\n"..
"Depois que o campo de petróleo for alcançado\\, a torre de perfuração pode ser desmontada e a caixa removida.\n"..
"\n"..
"\n"..
"\n",
"A bomba de petróleo (pumpjack) deve ser colocada no lugar da caixa de perfuração de petróleo. A bomba de petróleo também requer eletricidade (16 ku) e fornece uma unidade de petróleo a cada 8 segundos. O petróleo deve ser coletado em um tanque. Para fazer isso\\, a bomba de petróleo deve ser conectada ao tanque por meio de tubos amarelos.\n"..
"Depois que todo o petróleo for bombeado para fora\\, a bomba de petróleo também pode ser removida.\n"..
"\n"..
"\n"..
"\n",
"A haste de perfuração é necessária para perfurar. Tantos itens de haste de perfuração são necessários quanto a profundidade especificada para o campo de petróleo. A haste de perfuração é inútil após a perfuração\\, mas também não pode ser desmontada e permanece no solo. No entanto\\, há uma ferramenta para remover os blocos de haste de perfuração (-> Ferramentas -> TA3 Alicate de haste de perfuração(drill pipe pliers)).\n"..
"\n"..
"\n"..
"\n",
"O tanque de petróleo é a versão grande do tanque TA3 (ver líquidos -> Tanque TA3).\n"..
"\n"..
"O tanque grande pode armazenar 4000 unidades de petróleo\\, mas também qualquer outro tipo de líquido.\n"..
"\n"..
"\n"..
"\n",
"",
"Os vagões tanque podem ser usados para transportar petróleo do poço de petróleo para a usina de processamento de petróleo. Um vagão tanque pode ser preenchido ou esvaziado diretamente usando bombas. Em ambos os casos\\, os tubos amarelos devem ser conectados ao vagão tanque de cima.\n"..
"\n"..
"Os seguintes passos são necessários:\n"..
"\n"..
" - Coloque o vagão tanque na frente do bloco para-choque da ferrovia. O bloco para-choque ainda não deve estar programado com um tempo para que o vagão tanque não comece automaticamente.\n"..
" - Conecte o vagão tanque à bomba usando tubos amarelos.\n"..
" - Ligue a bomba.\n"..
" - Programe o para-choque com um tempo (10 - 20s).\n"..
"\n"..
"Essa sequência deve ser observada em ambos os lados (encher / esvaziar).\n"..
"\n"..
"\n"..
"\n",
"Canisters and barrels can be loaded into the Minecarts. To do this\\, the oil must first be transferred to barrels. The oil barrels can be pushed directly into the Minecart with a pusher and tubes (see map). The empty barrels\\, which come back from the unloading station by Minecart\\, can be unloaded using a hopper\\, which is placed under the rail at the stop.\n"..
"\n"..
"It is not possible with the hopper to both *unload the empty barrels and load the full barrels at a stop*. The hopper immediately unloads the full barrels. It is therefore advisable to set up 2 stations on the loading and unloading side and then program the Minecart accordingly using a recording run.\n"..
"\n"..
"The plan shows how the oil can be pumped into a tank and filled into barrels via a liquid filler and loaded into Minecarts.\n"..
"\n"..
"For the Minecarts to start again automatically\\, the bumper blocks must be configured with the station name and waiting time. 5 s are sufficient for unloading. However\\, since the pushers always go into standby for several seconds when there is no Minecart\\, a time of 15 or more seconds must be entered for loading.\n"..
"\n"..
"\n"..
"\n",
"As latas e barris podem ser carregados nos Minecarts. Para fazer isso\\, o petróleo deve primeiro ser transferido para os barris. Os barris de petróleo podem ser empurrados diretamente para dentro do Minecart com um empurrador e tubos (veja o mapa). Os barris vazios\\, que retornam da estação de descarga por Minecart\\, podem ser descarregados usando um funil\\, que é colocado sob os trilhos na parada.\n"..
"\n"..
"Não é possível com o funil *descarregar os barris vazios e carregar os barris cheios em uma parada*. O funil descarrega imediatamente os barris cheios. Portanto\\, é aconselhável configurar 2 estações no lado de carregamento e descarregamento e\\, em seguida\\, programar o Minecart de acordo com uma corrida de gravação.\n"..
"\n"..
"O plano mostra como o petróleo pode ser bombeado para um tanque\\, preenchido em barris via um dispositivo de enchimento de líquidos e carregado em Minecarts.\n"..
"\n"..
"Para que os Minecarts reiniciem automaticamente\\, os blocos para-choque devem ser configurados com o nome da estação e o tempo de espera. 5 segundos são suficientes para descarregar. No entanto\\, como os empurradores sempre entram em espera por vários segundos quando não há Minecart\\, um tempo de 15 segundos ou mais deve ser inserido para carregar.\n"..
"\n"..
"\n"..
"\n",
"O carrinho-tanque é usado para transportar líquidos. Assim como os tanques\\, ele pode ser cheio com bombas ou esvaziado. Em ambos os casos\\, o tubo amarelo deve ser conectado ao caminhão-tanque de cima.\n"..
"\n"..
"Cabem 200 unidades no caminhão-tanque.\n"..
"\n"..
"\n"..
"\n",
"O carrinho-baú é usado para transportar itens. Assim como os baús\\, ele pode ser cheio ou esvaziado usando um empurrador.\n"..
"\n"..
"Cabem 4 pilhas no carrinho de baú.\n"..
"\n"..
"\n"..
"\n",
"O petróleo é uma mistura de substâncias e consiste em muitos componentes. O petróleo pode ser decomposto em seus principais componentes\\, como betume\\, óleo combustível\\, nafta\\, gasolina e gás propano\\, por meio de uma torre de destilação.\n"..
"O processamento adicional para produtos finais ocorre no reator químico.\n"..
"\n"..
"\n"..
"\n",
"A torre de destilação deve ser montada como no plano no canto superior direito.\n"..
"O betume é drenado pelo bloco de base. A saída está na parte de trás do bloco de base (observe a direção da seta).\n"..
"Os blocos \"torre de destilação\" com os números: 1\\, 2\\, 3\\, 2\\, 3\\, 2\\, 3\\, 4 são colocados sobre este bloco base.\n"..
"Óleo combustível\\, nafta e gasolina são drenados das aberturas de baixo para cima. O gás propano é capturado no topo.\n"..
"Todas as aberturas na torre devem ser conectadas a tanques.\n"..
"O reboiler deve ser conectado ao bloco \"torre de destilação 1\".\n"..
"\n"..
"O reboiler precisa de eletricidade (não mostrado no plano)!\n"..
"\n"..
"\n"..
"\n",
"O reboiler aquece o petróleo para aproximadamente 400 °C. Ele evapora em grande parte e é alimentado na torre de destilação para resfriamento.\n"..
"\n"..
"O reboiler requer 14 unidades de eletricidade e produz uma unidade de betume\\, óleo combustível\\, nafta\\, gasolina e propano a cada 16s.\n"..
"Para isso\\, o reboiler deve ser alimentado com petróleo por meio de uma bomba.\n"..
"\n"..
"\n"..
"\n",
"Além dos tubos para transporte de mercadorias\\, bem como os tubos de gás e energia\\, há também um nível de comunicação sem fio através do qual os blocos podem trocar dados entre si. Não é necessário desenhar linhas para isso\\, a conexão entre transmissor e receptor é feita apenas através do número do bloco.\n"..
"\n"..
"*Info:* Um número de bloco é um número único gerado pelo Techage quando muitos blocos do Techage são colocados. O número do bloco é usado para endereçamento durante a comunicação entre controladores e máquinas Techage. Todos os blocos que podem participar dessa comunicação mostram o número do bloco como texto de informações se você fixar o bloco com o cursor do mouse.\n"..
"\n"..
"Quais comandos um bloco suporta podem ser lidos e exibidos com a TechAge Info Tool (chave inglesa ou wrench).\n"..
"Os comandos mais simples suportados por quase todos os blocos são:\n"..
"\n"..
" - 'on' - para ligar o bloco / máquina / lâmpada\n"..
" - 'off' - para desligar o bloco / máquina / lâmpada\n"..
"\n"..
"Com a ajuda do Terminal TA3\\, esses comandos podem ser testados muito facilmente. Suponha que uma lâmpada de sinalização seja o número 123.\n"..
"Então com:\n"..
"\n"..
" cmd 123 on\n"..
"\n"..
"a lâmpada pode ser ligada e com:\n"..
"\n"..
" cmd 123 off\n"..
"\n"..
"a lâmpada pode ser desligada novamente. Esses comandos devem ser inseridos no campo de entrada do terminal TA3.\n"..
"\n"..
"Comandos como 'on' e 'off' são enviados ao destinatário sem que uma resposta seja enviada de volta. Portanto\\, esses comandos podem ser enviados para vários destinatários ao mesmo tempo\\, por exemplo\\, com um botão de pressão / interruptor\\, se vários números forem inseridos no campo de entrada.\n"..
"\n"..
"Um comando como 'state' solicita o status de um bloco. O bloco então envia seu status de volta. Esse tipo de comando confirmado só pode ser enviado para um destinatário de cada vez.\n"..
"Esse comando também pode ser testado com o terminal TA3 em um empurrador\\, por exemplo:\n"..
"\n"..
" cmd 123 state\n"..
"\n"..
"As respostas possíveis do empurrador são:\n"..
"\n"..
" - 'running' -> Estou funcionando\n"..
" - 'stopped' -> desligado\n"..
" - 'standby' -> nada a fazer porque o inventário da fonte está vazio\n"..
" - 'blocked' -> não pode fazer nada porque o inventário de destino está cheio\n"..
"\n"..
"Esse status e outras informações também são exibidos quando a chave inglesa(wrench) é clicada no bloco.\n"..
"\n"..
"\n"..
"\n",
"O botão/interruptor envia comandos 'on' / 'off' para os blocos que foram configurados através dos números.\n"..
"O botão/interruptor pode ser configurado como um botão ou um interruptor. Se for configurado como um botão\\, o tempo entre os comandos 'on' e 'off' pode ser definido. Com o modo de operação \"no botão\"\\, apenas um comando 'on' e nenhum comando 'off' é enviado.\n"..
"\n"..
"A caixa de seleção \"público\" pode ser usada para definir se o botão pode ser usado por todos (marcado) ou apenas pelo próprio proprietário (não marcado).\n"..
"\n"..
"Nota: Com o programador\\, os números dos blocos podem ser facilmente coletados e configurados.\n"..
"\n"..
"\n"..
"\n",
"Com o conversor de comandos TA3\\, os comandos 'on' / 'off' podem ser convertidos em outros comandos\\, e o encaminhamento pode ser impedido ou atrasado.\n"..
"Deve-se inserir o número do bloco de destino ou os números dos blocos de destino\\, os comandos a serem enviados e os tempos de atraso em segundos. Se nenhum comando for inserido\\, nada será enviado.\n"..
"\n"..
"Os números também podem ser programados usando o programador Techage(programmer).\n"..
"\n"..
"\n"..
"\n",
"O flip-flop TA3 muda de estado a cada comando 'on' recebido. Os comandos 'off' recebidos são ignorados. Dependendo da alteração de status\\, os comandos 'on' / 'off' são enviados alternadamente. Deve-se inserir o número do bloco de destino ou os números dos blocos de destino. Os números também podem ser programados usando o programador Techage.\n"..
"\n"..
"Por exemplo\\, lâmpadas podem ser ligadas e desligadas com a ajuda de botões.\n"..
"\n"..
"\n"..
"\n",
"O bloco lógico TA3 pode ser programado de forma que um ou mais comandos de entrada estejam vinculados a um comando de saída e sejam enviados. Este bloco pode\\, portanto\\, substituir vários elementos lógicos\\, como AND\\, OR\\, NOT\\, XOR\\, etc.\n"..
"Os comandos de entrada para o bloco lógico são comandos 'ligar' / 'desligar'.\n"..
"Os comandos de entrada são referenciados pelo número\\, por exemplo\\, '1234' para o comando do remetente com o número 1234.\n"..
"O mesmo se aplica aos comandos de saída.\n"..
"\n"..
"Uma regra é estruturada da seguinte forma:\n"..
"\n"..
" <output> = on/off if <expressão-de-entrada> is true\n"..
"\n"..
"'<output>' é o número do bloco para o qual o comando deve ser enviado.\n"..
"'<expressão-de-entrada>' é uma expressão booleana onde os números de entrada são avaliados.\n"..
"\n"..
"*Exemplos para a expressão de entrada*\n"..
"\n"..
"Negar sinal (NOT):\n"..
"\n"..
" 1234 == off\n"..
"\n"..
"AND lógico:\n"..
"\n"..
" 1234 == on e 2345 == on\n"..
"\n"..
"OR lógico:\n"..
"\n"..
" 1234 == ligar ou 2345 == ligar\n"..
"\n"..
"Os seguintes operadores são permitidos: 'and' 'or' 'on' 'off' 'me' '==' '~=' '(' ')'\n"..
"\n"..
"Se a expressão for verdadeira\\, um comando é enviado para o bloco com o número '<output>'.\n"..
"Até quatro regras podem ser definidas\\, sendo que todas as regras são sempre verificadas quando um comando é recebido.\n"..
"O tempo interno de processamento para todos os comandos é de 100 ms.\n"..
"\n"..
"Seu próprio número de nó pode ser referenciado usando a palavra-chave 'me'. Isso permite que o bloco envie a si mesmo um comando (função flip-flop).\n"..
"\n"..
"O tempo de bloqueio define uma pausa após um comando\\, durante a qual o bloco lógico não aceita mais comandos externos. Comandos recebidos durante o período de bloqueio são descartados. O tempo de bloqueio pode ser definido em segundos.\n"..
"\n"..
"\n"..
"\n",
"O repetidor envia o sinal recebido para todos os números configurados.\n"..
"Isso pode fazer sentido\\, por exemplo\\, se você quiser controlar muitos blocos ao mesmo tempo. O repetidor pode ser configurado com o programador\\, o que não é possível com todos os blocos.\n"..
"\n"..
"\n"..
"\n",
"O sequenciador pode enviar uma série de comandos 'on' / 'off'\\, em que o intervalo entre os comandos deve ser especificado em segundos. Você pode usá-lo para fazer uma lâmpada piscar\\, por exemplo.\n"..
"Até 8 comandos podem ser configurados\\, cada um com número de bloco de destino e aguardando o próximo comando.\n"..
"O sequenciador repete os comandos indefinidamente quando \"Run endless\" está ativado.\n"..
"Se nada for selecionado\\, apenas o tempo especificado em segundos é aguardado.\n"..
"\n"..
"\n"..
"\n",
"O temporizador pode enviar comandos controlados pelo tempo. O horário\\, o(s) número(s) de destino e o comando em si podem ser especificados para cada linha de comando. Isso significa que as lâmpadas podem ser ligadas à noite e desligadas pela manhã.\n"..
"\n"..
"\n"..
"\n",
"O terminal é usado principalmente para testar a interface de comando de outros blocos (veja \"Blocos lógicos / de comutação\").\n"..
"Você também pode atribuir comandos a teclas e usar o terminal de maneira produtiva.\n"..
"\n"..
" set <número-do-botão> <texto-do-botão> <comando>\n"..
"\n"..
"Com 'set 1 ON cmd 123 on'\\, por exemplo\\, a tecla do usuário 1 pode ser programada com o comando 'cmd 123 on'. Se a tecla for pressionada\\, o comando é enviado e a resposta é exibida na tela.\n"..
"\n"..
"O terminal possui os seguintes comandos locais:\n"..
"\n"..
" - 'clear' limpa a tela\n"..
" - 'help' exibe uma página de ajuda\n"..
" - 'pub' alterna para o modo público\n"..
" - 'priv' alterna para o modo privado\n"..
"\n"..
"No modo privado\\, o terminal só pode ser usado por jogadores que podem construir neste local\\, ou seja\\, que têm direitos de proteção.\n"..
"\n"..
"No modo público\\, todos os jogadores podem usar as teclas preconfiguradas.\n"..
"\n"..
"\n"..
"\n",
"A lâmpada de sinalização pode ser ligada ou desligada com o comando 'on' / 'off'. Esta lâmpada não precisa de eletricidade e pode ser colorida com a ferramenta de aerografia do mod \"Dyes Unificados\" e via comandos Lua/Beduino.\n"..
"\n"..
"Com o comando de chat '/ta_color'\\, a paleta de cores com os valores para os comandos Lua/Beduino é exibida e com '/ta_send color <num>' a cor pode ser alterada.\n"..
"\n"..
"\n"..
"\n",
"Com esses blocos\\, você pode criar portas e portões que podem ser abertos por meio de comandos (blocos desaparecem) e fechados novamente. Um controlador de porta é necessário para cada portão ou porta.\n"..
"\n"..
"A aparência dos blocos pode ser ajustada por meio do menu de blocos.\n"..
"Isso permite a criação de portas secretas que só se abrem para certos jogadores (com a ajuda do detector de jogadores).\n"..
"\n"..
"\n"..
"\n",
"O controlador de porta é usado para controlar os blocos de porta/portão TA3. Com o controlador de porta\\, os números dos blocos de porta/portão devem ser inseridos. Se um comando 'on' / 'off' for enviado para o controlador de porta\\, isso abre/fecha a porta ou portão.\n"..
"\n"..
"\n"..
"\n",
"O Controlador de Porta II pode remover e definir todos os tipos de blocos. Para ensinar ao Controlador de Porta II\\, o botão \"Record\" deve ser pressionado. Em seguida\\, todos os blocos que devem fazer parte da porta/portão devem ser clicados. Depois\\, o botão \"Done\" deve ser pressionado. Até 16 blocos podem ser selecionados. Os blocos removidos são salvos no inventário do controlador. A função do controlador pode ser testada manualmente usando os botões \"Remove\" ou \"Set\". Se um comando 'on' /'off' for enviado para o Controlador de Porta II\\, ele remove ou define os blocos também.\n"..
"\n"..
"Com '$send_cmnd(número_do_nó\\, \"exchange\"\\, 2)' blocos individuais podem ser definidos\\, removidos ou substituídos por outros blocos do inventário.\n"..
"\n"..
"Com '$send_cmnd(número_do_nó\\, \"set\"\\, 2)' um bloco do inventário pode ser definido explicitamente\\, desde que o slot do inventário não esteja vazio.\n"..
"\n"..
"Um bloco pode ser removido novamente com '$send_cmnd(número_do_nó\\, \"dig\"\\, 2)' se o slot do inventário estiver vazio.\n"..
"\n"..
"O nome do bloco definido é retornado com '$send_cmnd(número_do_nó\\, \"get\"\\, 2)'.\n"..
"\n"..
"O número do slot do inventário (1 .. 16) deve ser passado como carga útil em todos os três casos.\n"..
"\n"..
"Isso também pode ser usado para simular escadas extensíveis e coisas do tipo.\n"..
"\n"..
"\n"..
"\n",
"Diferentes sons podem ser reproduzidos com o bloco de som. Todos os sons dos Mods Techage\\, Signs Bot\\, Hyperloop\\, Unified Inventory\\, TA4 Jetpack e Minetest Game estão disponíveis.\n"..
"\n"..
"Os sons podem ser selecionados e reproduzidos pelo menu e via comando.\n"..
"\n"..
" - Comando 'on' para reproduzir um som\n"..
" - Comando 'sound <índice>' para selecionar um som via o índice\n"..
" - Comando 'gain <volume>' para ajustar o volume via o valor '<volume>' (1 a 5).\n"..
"\n"..
"\n"..
"\n",
"O conversor Mesecons é utilizado para converter comandos de ligar/desligar do Techage em sinais Mesecons e vice-versa.\n"..
"Para fazer isso\\, um ou mais números de nó devem ser inseridos e o conversor deve ser conectado a blocos Mesecons por meio de cabos Mesecons. O conversor Mesecons também pode ser configurado com o programador.\n"..
"O conversor Mesecons aceita até 5 comandos por segundo\\; ele se desativa em cargas mais altas.\n"..
"\n"..
"*Este nó só existe se o mod mesecons estiver ativo!*\n"..
"\n"..
"\n"..
"\n",
"Os detectores escaneiam o ambiente e enviam um comando 'on' quando a busca é reconhecida.\n"..
"\n"..
"\n"..
"\n",
"O detector é um bloco de tubo especial que detecta quando itens passam pelo tubo. Para fazer isso\\, ele deve ser conectado a tubos dos dois lados. Se os itens forem empurrados para o detector com um empurrador(pusher)\\, eles são passados automaticamente.\n"..
"Ele envia um comando 'on' quando um item é reconhecido\\, seguido por um 'off' um segundo depois.\n"..
"Em seguida\\, outros comandos são bloqueados por 8 segundos.\n"..
"O tempo de espera e os itens que devem acionar um comando podem ser configurados usando o menu de chave inglesa(wrench).\n"..
"\n"..
"\n"..
"\n",
"O detector de carrinho envia um comando 'on' se reconhecer um carrinho (Minecart) diretamente na frente dele. Além disso\\, o detector também pode reiniciar o carrinho quando recebe um comando 'on'.\n"..
"\n"..
"O detector também pode ser programado com seu próprio número. Nesse caso\\, ele empurra todos os vagões que param perto dele (um bloco em todas as direções).\n"..
"\n"..
"\n"..
"\n",
"O detector de nó envia um comando 'on' se detectar que nós (blocos) aparecem ou desaparecem na frente dele\\, mas deve ser configurado de acordo. Após retornar o detector ao estado padrão (bloco cinza)\\, um comando 'off' é enviado. Blocos válidos são todos os tipos de blocos e plantas\\, mas não animais ou jogadores. O alcance do sensor é de 3 blocos por metro na direção da seta.\n"..
"\n"..
"\n"..
"\n",
"O detector de jogador envia um comando 'on' se detectar um jogador dentro de 4m do bloco. Se o jogador sair da área\\, um comando 'off' é enviado.\n"..
"Se a pesquisa deve ser limitada a jogadores específicos\\, esses nomes de jogador também podem ser inseridos.\n"..
"\n"..
"\n"..
"\n",
"O detector de luz envia um comando 'on' se o nível de luz do bloco acima exceder um certo nível\\, que pode ser definido através do menu de clique direito.\n"..
"Se você tiver um Controlador Lua TA4\\, pode obter o nível exato de luz com $get_cmd(num\\, 'light_level')\n"..
"\n"..
"\n"..
"\n",
"TA3 possui as mesmas máquinas que o TA2\\, apenas estas são mais poderosas e requerem eletricidade em vez de movimento por eixo.\n"..
"Portanto\\, abaixo são fornecidos apenas os dados técnicos diferentes.\n"..
"\n"..
"\n"..
"\n",
"A função corresponde à do TA2.\n"..
"A capacidade de processamento é de 6 itens a cada 2 segundos.\n"..
"\n"..
"\n"..
"\n",
"A função do Distribuidor TA3 corresponde à do TA2.\n"..
"A capacidade de processamento é de 12 itens a cada 4 segundos.\n"..
"\n"..
"\n"..
"\n",
"A função corresponde à do TA2.\n"..
"A capacidade de processamento é de 2 itens a cada 4 segundos. O autocrafter requer 6 ku de eletricidade.\n"..
"\n"..
"\n"..
"\n",
"A função corresponde à do TA2\\, apenas os chips WLAN do TA4 são produzidos aqui.\n"..
"A capacidade de processamento é de um chip a cada 6 segundos. O bloco requer 12 ku de eletricidade para isso.\n"..
"\n"..
"\n"..
"\n",
"A função corresponde à do TA2.\n"..
"A profundidade máxima é de 40 metros. A pedreira requer 12 ku de eletricidade.\n"..
"\n"..
"\n"..
"\n",
"A função corresponde à do TA2.\n"..
"A capacidade de processamento é de 2 itens a cada 4 segundos. O bloco requer 4 ku de eletricidade.\n"..
"\n"..
"\n"..
"\n",
"A função corresponde à do TA2.\n"..
"A probabilidade também é a mesma que a do TA2. O bloco também requer 3 ku de eletricidade.\n"..
"Mas\\, ao contrário do TA2\\, o status do bloco TA3 pode ser lido (controlador)\n"..
"\n"..
"\n"..
"\n",
"A função corresponde à do TA2.\n"..
"A capacidade de processamento é de 2 itens a cada 4 segundos. O bloco requer 6 ku de eletricidade.\n"..
"\n"..
"\n"..
"\n",
"O injetor é um TA3 pusher com propriedades especiais. Ele possui um menu para configuração. Até 8 itens podem ser configurados aqui. Ele apenas pega esses itens de um baú para passá-los para as máquinas com receitas (autocrafter\\, forno industrial e electronic fab).\n"..
"\n"..
"Ao passar\\, apenas uma posição no inventário é usada na máquina de destino. Se\\, por exemplo\\, apenas as três primeiras entradas estiverem configuradas no injetor\\, apenas as três primeiras posições de armazenamento no inventário da máquina serão usadas. Isso evita o transbordamento no inventário da máquina.\n"..
"\n"..
"O injetor também pode ser alternado para o \"modo pull\". Então ele apenas retira itens do baú das posições que estão definidas na configuração do injetor. Nesse caso\\, o tipo e a posição do item devem corresponder. Isso permite esvaziar entradas específicas do inventário de um baú.\n"..
"\n"..
"A capacidade de processamento é de até 8 vezes um item a cada 4 segundos.\n"..
"\n"..
"\n"..
"\n",
"",
"O Techage Info Tool (chave inglesa de ponta aberta) possui várias funções. Ele mostra a hora\\, posição\\, temperatura e bioma quando um bloco desconhecido é clicado.\n"..
"Se você clicar em um bloco TechAge com interface de comando\\, todos os dados disponíveis serão mostrados (consulte também \"Blocos lógicos / de comutação\").\n"..
"\n"..
"Com Shift + clique direito\\, um menu estendido pode ser aberto para alguns blocos. Dependendo do bloco\\, dados adicionais podem ser chamados ou configurações especiais podem ser feitas aqui. No caso de um gerador\\, por exemplo\\, a curva de carga/desligamento pode ser programada.\n"..
"\n"..
"\n"..
"\n",
"Com o programador\\, números de bloco podem ser coletados de vários blocos com um clique direito e gravados em um bloco como um botão / interruptor com um clique esquerdo.\n"..
"Se você clicar no ar\\, a memória interna é apagada.\n"..
"\n"..
"\n"..
"\n",
"A colher de pedreiro é usada para revestir cabos de energia. Veja também \"Cabo de energia TA\".\n"..
"\n"..
"\n"..
"\n",
"Esta ferramenta pode ser usada para remover blocos de tubo se\\, por exemplo\\, um túnel precisar passar por lá.\n"..
"\n"..
"\n"..
"\n",
"A chave de fenda Techage serve como substituto da chave de fenda normal. Ela possui as seguintes funções:\n"..
"\n"..
" - Clique esquerdo: girar o bloco para a esquerda\n"..
" - Clique direito: girar a face visível do bloco para cima\n"..
" - Shift + clique esquerdo: salvar o alinhamento do bloco clicado\n"..
" - Shift + clique direito: aplicar o alinhamento salvo ao bloco clicado\n"..
"\n"..
" \n"..
"\n",
"A TechAge Assembly Tool é usada para remover e reposicionar blocos Techage sem que esses blocos percam seu número de bloco ou recebam um novo número ao serem configurados. Isso é útil\\, por exemplo\\, para pedreiras\\, já que muitas vezes precisam ser movidas.\n"..
"\n"..
" - Botão esquerdo: remover um bloco\n"..
" - Botão direito: configurar um bloco\n"..
"\n"..
"O bloco que foi removido anteriormente com a ferramenta de montagem e que será colocado novamente deve estar no extremo esquerdo do inventário do jogador.\n"..
"\n"..
"\n"..
"\n",
},
images = {
"techage_ta3",
"",
"ta3_firebox",
"ta3_oilbox",
"ta3_boiler",
"ta3_turbine",
"ta3_generator",
"ta3_cooler",
"ta3_powerswitch",
"power_reduction",
"ta3_powercable",
"ta3_powerjunction",
"ta3_powerline",
"ta3_powerpole",
"ta3_powerpole4",
"ta3_powerpole2",
"ta3_powerswitch",
"ta3_powerswitchsmall",
"ta3_powerswitchbox",
"ta3_tinygenerator",
"ta3_akkublock",
"ta3_powerterminal",
"ta3_motor",
"",
"ta3_furnacefirebox",
"ta3_furnace",
"ta3_booster",
"",
"ta3_tank",
"ta3_pump",
"ta3_filler",
"ta3_pipe",
"ta3_pipe_wall_entry",
"ta3_valve",
"techage_ta3",
"ta3_oilexplorer",
"ta3_drillbox",
"ta3_pumpjack",
"ta3_drillbit",
"oiltank",
"",
"tank_cart",
"",
"",
"tank_cart",
"chest_cart",
"techage_ta31",
"",
"reboiler",
"ta3_logic",
"ta3_button",
"ta3_command_converter",
"ta3_flipflop",
"ta3_logic",
"ta3_repeater",
"ta3_sequencer",
"ta3_timer",
"ta3_terminal",
"ta3_colorlamp",
"ta3_doorblock",
"ta3_doorcontroller",
"ta3_doorcontroller",
"ta3_soundblock",
"ta3_mesecons_converter",
"ta3_nodedetector",
"ta3_detector",
"ta3_cartdetector",
"ta3_nodedetector",
"ta3_playerdetector",
"ta3_lightdetector",
"ta3_grinder",
"ta3_pusher",
"ta3_distributor",
"ta3_autocrafter",
"ta3_electronicfab",
"ta3_quarry",
"ta3_gravelsieve",
"ta3_gravelrinser",
"ta3_grinder",
"ta3_injector",
"",
"ta3_end_wrench",
"ta3_programmer",
"ta3_trowel",
"ta3_drill_pipe_wrench",
"ta3_screwdriver",
"techage:assembly_tool",
},
plans = {
"",
"coalpowerstation",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"ta3_furnace",
"",
"",
"",
"ta3_tank",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"ta3_loading",
"ta3_loading",
"",
"",
"",
"ta3_distiller",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
}
}

View File

@ -70,6 +70,7 @@ return {
"2,TA4 Teilchenbeschleuniger / Collider",
"3,Detektor",
"3,Steuerung / TA4 Terminal",
"3,Kühlung und Strom",
"3,Aufbau",
"2,Weitere TA4 Blöcke",
"3,TA4 Rezept Block",
@ -637,9 +638,7 @@ return {
"Ein Teilchenbeschleuniger besteht aus einem \"Ring\" aus Röhren und Magneten sowie dem Detektor mit Kühlanlage. \n"..
"\n"..
" - Der Detektor ist das Herz der Anlage. Hier finden die wissenschaftlichen Experimente statt. Der Detektor ist 3x3x7 Blöcke groß.\n"..
" - 22 TA4 Collider Magnete (nicht die TA4 Collider Detector Magnete!) müssen über jeweils 5 Blöcken der TA4 Vakuumröhre miteinander verbunden werden. Jeder Magnet benötigt zusätzlich Strom und einen Gasanschluss für die Kühlung. Das ganze bildet (wie rechts im Plan abgebildet) ein Quadrat mit einer Kantenlänge von 37 Metern.\n"..
" - Zusätzlich wird eine Kühlung benötigt\\, welche zusätzlich beim Detektor aufgebaut werden muss. Für die Kühlung wird Isobutan benötigt.\n"..
" - Die Anlage benötigt einiges an Strom. Daher ist eine eigene Stromversorgung sinnvoll.\n"..
" - 22 TA4 Collider Magnete (nicht die TA4 Collider Detector Magnete!) müssen über jeweils 5 Blöcken der TA4 Vakuumröhre miteinander verbunden werden. Das ganze bildet (wie rechts im Plan abgebildet) ein Quadrat mit einer Kantenlänge von 37 Metern.\n"..
"\n"..
"Der Plan zeigt die Anlage von oben:\n"..
"\n"..
@ -676,11 +675,15 @@ return {
"\n"..
"\n"..
"\n",
"Für den Teilchenbeschleunigers wird außer den Blöcken für den Bau folgendes benötigt:\n"..
"Jeder TA4 Collider Magnet muss zusätzlich (wie rechts im Plan abgebildet) mit Strom sowie mit Isobutan zur Kühlung versorgt werden:\n"..
"\n"..
" - Strom (145 ku)\n"..
" - TA4 Tank mit mindestens 250 Einheiten Isobutan\n"..
" - Der Anschluss für den Strom ist auf der Oberseite des Magneten.\n"..
" - Der Anschluss für die Kühlung ist auf der Vorderseite des Magneten.\n"..
" - Für die Kühlung der gesamten Anlage wird zusätzlich eine TA4 Pumpe und ein TA4 Tank mit mindestens 250 Einheiten Isobutan benötigt.\n"..
" - Die Anlage benötigt auch einiges an Strom. Daher ist eine eigene Stromversorgung mit mindestens 145 ku sinnvoll.\n"..
"\n"..
"\n"..
"\n",
"Beim Aufbau des Teilchenbeschleunigers empfiehlt sich folgende Reihenfolge:\n"..
"\n"..
" - Einen Forceload Block setzen. Nur der Detektor mit der Kühlanlage muss sich im Bereich des Forceload Blockes befinden.\n"..
@ -713,12 +716,14 @@ return {
"\n"..
"Zusätzlich unterstützt der TA4 Autocrafter die Auswahl unterschiedlicher Rezepte über folgende Kommandos:\n"..
"\n"..
"'recipe <number>.<index>' schaltet den Autocrafter auf ein Rezept des TA4 Rezept Blocks um. '<number>' ist die Nummer des Rezept Blocks\\, '<index>' die Rezept-Nummer. Beispiel: '$send_cmnd(1234\\, \"recipe\"\\, 5467.1)'\n"..
"'recipe \"<number>.<index>\"' schaltet den Autocrafter auf ein Rezept des TA4 Rezept Blocks um. '<number>' ist die Nummer des Rezept Blocks\\, '<index>' die Rezept-Nummer. Beispiel: '$send_cmnd(1234\\, \"recipe\"\\, \"5467.1\")'\n"..
"\n"..
"Alternativ kann ein Rezept auch über die Zutatenliste ausgewählt werden\\, wie bspw.:\n"..
"'$send_cmnd(1234\\, \"recipe\"\\, \"default:coal_lump\\,\\,\\,default:stick\")'\n"..
"Hier müssen alle technische Namen eines Rezeptes durch Kommas getrennt angegeben werden. Siehe auch das Kommando 'input' beim TA4 Rezept Block.\n"..
"\n"..
"Das Kommando 'flush' verschiebt alle Artikel vom Eingabeinventar in das Ausgabeinventar. Das Kommando liefert 'true' zurück\\, wenn das Eingabeinventar dabei vollständig geleert wurde. Falls 'false' zurückgeliefert wurde (Ausgabeinventar voll)\\, muss das Kommando zu einem späteren Zeitpunkt wiederholt werden.\n"..
"\n"..
"\n"..
"\n",
"Siehe TA3 Tank.\n"..
@ -800,6 +805,7 @@ return {
"Der Kiste besitzt ein zusätzliches Kommandos für den Lua Controller:\n"..
"\n"..
" - 'count' dient zur Anfrage\\, wie viele Items in der Kiste sind.\nBeispiel 1: '$send_cmnd(CHEST\\, \"count\")' --> Summe der Items über alle 8 Speicher\nBeispiel 2: '$send_cmnd(CHEST\\, \"count\"\\, 2)' --> Anzahl der Items in Speicher 2 (zweiter von links)\n"..
" - 'storesize' wird verwendet\\, um die Größe eines der acht Speicher auszulesen\nBeispiel: '$send_cmnd(CHEST\\, \"storesize\")' -> Funktion liefert bspw. 6000 zurück\n"..
"\n"..
"\n"..
"\n",
@ -926,6 +932,7 @@ return {
"",
"",
"ta4_terminal",
"",
"techage_ta4c",
"",
"ta4_recipeblock",
@ -1019,6 +1026,7 @@ return {
"techage_collider_plan",
"ta4_cooler",
"",
"techage_collider_plan2",
"",
"",
"",

View File

@ -70,6 +70,7 @@ return {
"2,TA4 Collider (Particle Accelerator)",
"3,Detector",
"3,Control / TA4 Terminal",
"3,Cooling and power",
"3,Construction",
"2,More TA4 Blocks",
"3,TA4 Recipe Block",
@ -636,8 +637,6 @@ return {
"\n"..
" - The detector is the heart of the system. This is where the scientific experiments take place. The detector is 3x3x7 blocks in size.\n"..
" - 22 TA4 Collider Magnets (not the TA4 Collider Detector Magnets!) must be connected to each other via 5 blocks of the TA4 vacuum tube. Each magnet also requires electricity and a gas connection for cooling. The whole thing forms (as shown in the plan on the right) a square with an edge length of 37 meters.\n"..
" - In addition\\, cooling is required\\, which must also be installed at the detector. Isobutane is required for cooling.\n"..
" - The system requires quite a bit of electricity. Therefore\\, it makes sense to have your own power supply.\n"..
"\n"..
"The plan shows the facility from above:\n"..
"\n"..
@ -657,6 +656,9 @@ return {
"Note: The arrow on the heat exchanger must point away from the detector. The heat exchanger must also be supplied with electricity.\n"..
"\n"..
"\n"..
"\n"..
" - In addition\\, cooling is required\\, which must also be installed at the detector. Isobutane is required for cooling.\n"..
" - The system requires quite a bit of electricity. Therefore\\, it makes sense to have your own power supply.\n"..
"\n",
"The collider is controlled via a TA4 terminal (not via the TA4 Lua controller terminal).\n"..
"\n"..
@ -674,11 +676,15 @@ return {
"\n"..
"\n"..
"\n",
"In addition to the building blocks\\, the following is required for the collider:\n"..
"Each TA4 Collider magnet must also be supplied with electricity (as shown on the right in the plan) and with Isobutane for cooling:\n"..
"\n"..
" - electricity (145 ku)\n"..
" - TA4 tank with at least 250 units of isobutane\n"..
" - The connection for the power is on the top of the magnet.\n"..
" - The connection for the cooling is on the front of the magnet.\n"..
" - A TA4 pump and a TA4 tank with at least 250 units of isobutane are also required to cool the entire system.\n"..
" - The system also requires a lot of electricity. It therefore makes sense to have your own power supply with at least 145 ku.\n"..
"\n"..
"\n"..
"\n",
"The following sequence is recommended when setting up the collider:\n"..
"\n"..
" - Put a forceload block. Only the detector with the cooling system has to be in the area of the forceload block.\n"..
@ -711,12 +717,14 @@ return {
"\n"..
"In addition\\, the TA4 Autocrafter supports the selection of different recipes using the following commands:\n"..
"\n"..
"'recipe <number>.<index>' switches the autocrafter to a recipe from the TA4 Recipe Block. '<number>' is the number of the recipe block\\, '<index>' the recipe number. Example: '$send_cmnd(1234\\, \"recipe\"\\, 5467.1)'\n"..
"'recipe \"<number>.<index>\"' switches the autocrafter to a recipe from the TA4 Recipe Block. '<number>' is the number of the recipe block\\, '<index>' the recipe number. Example: '$send_cmnd(1234\\, \"recipe\"\\, \"5467.1\")'\n"..
"\n"..
"Alternatively\\, a recipe can also be selected via the list of ingredients\\, such as:\n"..
"'$send_cmnd(1234\\, \"recipe\"\\, \"default:coal_lump\\,\\,\\,default:stick\")'\n"..
"All technical names of a recipe must be specified here\\, separated by commas. See also the command 'input' in the TA4 recipe block.\n"..
"\n"..
"The 'flush' command moves all items from the input inventory to the output inventory. The command returns 'true' if the input inventory was completely emptied. If 'false' was returned (output inventory full)\\, the command must be repeated at a later time.\n"..
"\n"..
" \n"..
"\n",
"See TA3 tank.\n"..
@ -798,6 +806,7 @@ return {
"The chest has an additional command for the Lua controller:\n"..
"\n"..
" - 'count' is used to request how many items are in the chest.\nExample 1: '$send_cmnd(CHEST\\, \"count\")' -> Sum of items across all 8 stores\nExample 2: '$send_cmnd(CHEST\\, \"count\"\\, 2)' -> number of items in store 2 (second from left)\n"..
" - 'storesize' is used to read the size of one of the eight stores:\nExample: '$send_cmnd(CHEST\\, \"storesize\")' -> function returns e.g. 6000\n"..
"\n"..
"\n"..
"\n",
@ -925,6 +934,7 @@ return {
"",
"",
"ta4_terminal",
"",
"techage_ta4c",
"",
"ta4_recipeblock",
@ -1018,6 +1028,7 @@ return {
"techage_collider_plan",
"ta4_cooler",
"",
"techage_collider_plan2",
"",
"",
"",

1054
doc/manual_ta4_pt-BR.lua Normal file

File diff suppressed because it is too large Load Diff

214
doc/manual_ta5_pt-BR.lua Normal file
View File

@ -0,0 +1,214 @@
return {
titles = {
"1,TA5: Futuro",
"2,Fontes de energia",
"3,Reator de fusão TA5",
"4,Ímã do reator de fusão TA5",
"4,Bomba TA5",
"4,Trocador de calor TA5",
"4,Controlador do reator de fusão TA5",
"4,Carcaça do reator de fusão TA5",
"4,Núcleo do reator de fusão TA5",
"2,Armazenamento de energia",
"3,Armazenamento híbrido TA5 (planejado)",
"2,Blocos lógicos",
"2,Transporte e tráfego",
"3,Controlador de voo TA5",
"3,TA5 Hyperloop Chest",
"3,Tanque de hyperloop TA5",
"2,Blocos de teletransporte",
"3,Itens do bloco de teletransporte TA5",
"3,Líquidos do bloco de teletransporte TA5",
"3,Blocos de teletransporte Hyperloop (planejados)",
"2,Mais blocos/itens TA5",
"3,Contêiner TA5 (planejado)",
"3,Chip TA5 AI",
"3,Chip TA5 AI II",
},
texts = {
"Máquinas para superar o espaço e o tempo\\, novas fontes de energia e outras conquistas moldam sua vida.\n"..
"\n"..
"São necessários pontos de experiência para a fabricação e o uso de máquinas e blocos TA5. Eles só podem ser calculados usando o colisor do TA4.\n"..
"\n"..
"\n"..
"\n",
"",
"A fusão nuclear significa a fusão de dois núcleos atômicos. Dependendo da reação\\, grandes quantidades de energia podem ser liberadas. As fusões nucleares\\, nas quais a energia é liberada\\, ocorrem na forma de reações em cadeia. Elas são a fonte de energia das estrelas\\, inclusive do nosso sol\\, por exemplo. Um reator de fusão converte a energia liberada durante a fusão nuclear controlada em eletricidade.\n"..
"\n"..
"*Como funcionam os reatores de fusão?*\n"..
"\n"..
"Um reator de fusão funciona de acordo com o princípio clássico de uma usina de energia térmica: a água é aquecida e aciona uma turbina a vapor\\, cuja energia cinética é convertida em eletricidade por um gerador.\n"..
"\n"..
"Uma usina de fusão requer inicialmente uma grande quantidade de energia\\, pois é necessário gerar um plasma. \"Plasma\" é o nome dado ao quarto estado da matéria\\, depois do sólido\\, líquido e gasoso. Isso requer uma grande quantidade de eletricidade. Somente por meio dessa concentração extrema de energia é que a reação de fusão se inflama e o calor liberado é usado para gerar eletricidade por meio do trocador de calor. O gerador fornece então 800 ku de eletricidade.\n"..
"\n"..
"A planta à direita mostra uma seção do reator de fusão.\n"..
"\n"..
"São necessários 60 pontos de experiência para operar o reator de fusão. O reator de fusão deve ser construído inteiramente em uma área de bloco de carga.\n"..
"\n"..
"\n"..
"\n",
"Um total de 60 ímãs de reator de fusão TA5 é necessário para configurar o reator de fusão. Eles formam o anel no qual o plasma se forma. O TA5 Fusion Reactor Magnets requer energia e tem duas portas para resfriamento.\n"..
"\n"..
"Há dois tipos de ímãs\\, portanto\\, todos os lados do ímã voltados para o anel de plasma também podem ser protegidos com um protetor térmico.\n"..
"\n"..
"Com os ímãs de canto na parte interna do anel\\, um lado da conexão é coberto (energia ou resfriamento) e\\, portanto\\, não pode ser conectado. Isso não é tecnicamente viável e\\, portanto\\, não influencia a função do reator de fusão. \n"..
"\n"..
"\n"..
"\n",
"A bomba é necessária para encher o circuito de resfriamento com isobutano. São necessárias cerca de 350 unidades de isobutano.\n"..
"\n"..
"Observação: A bomba TA5 só pode ser usada para encher o circuito de resfriamento\\; não é possível bombear o líquido de arrefecimento para fora. Portanto\\, a bomba não deve ser ligada até que os ímãs estejam corretamente posicionados e todas as linhas de alimentação e resfriamento estejam conectadas.\n"..
"\n"..
"\n"..
"\n",
"O trocador de calor TA5 é necessário para converter o calor gerado no reator de fusão primeiro em vapor e depois em eletricidade. O próprio trocador de calor requer 5 ku de eletricidade. A estrutura é semelhante à do trocador de calor do depósito de energia do TA4.\n"..
"\n"..
"Observação: O trocador de calor TA5 tem duas conexões (azul e verde) para o circuito de resfriamento. O trocador de calor e todos os ímãs devem ser conectados para formar um circuito de resfriamento por meio dos tubos verde e azul.\n"..
"\n"..
"É possível verificar se o circuito de resfriamento está completo usando o botão de partida no trocador de calor\\, mesmo que o líquido de arrefecimento ainda não tenha sido abastecido.\n"..
"\n"..
"\n"..
"\n",
"O reator de fusão é ligado por meio do controlador do reator de fusão TA5. O resfriamento/trocador de calor deve ser ligado primeiro e depois o controlador. Leva cerca de 2 minutos para o reator iniciar e fornecer eletricidade. O reator de fusão e\\, portanto\\, o controlador requerem 400 ku de eletricidade para manter o plasma.\n"..
"\n"..
"\n"..
"\n",
"O reator inteiro deve ser cercado por um invólucro que absorva a enorme pressão que os ímãs exercem sobre o plasma e proteja o ambiente da radiação. Sem esse invólucro\\, o reator não pode ser iniciado. Com a TechAge Trowel\\, os cabos de energia e os tubos de resfriamento do reator de fusão também podem ser integrados à carcaça.\n"..
"\n"..
"\n"..
"\n",
"O núcleo deve ficar no centro do reator. Veja a ilustração em \"TA5 Fusion Reactor\". A espátula TechAge também é necessária para isso.\n"..
"\n"..
"\n"..
"\n",
"",
"",
"",
"",
"O controlador de voo TA5 é semelhante ao controlador de movimento TA4. Ao contrário do TA4 Move Controller\\, vários movimentos podem ser combinados em uma rota de voo. Essa rota de voo pode ser definida no campo de entrada usando várias entradas x\\,y\\,z (um movimento por linha). A rota de voo é verificada e salva por meio de \"Save\" (Salvar). Em caso de erro\\, é emitida uma mensagem de erro.\n"..
"\n"..
"Com o botão \"Test\" (Testar)\\, a rota de voo com as coordenadas absolutas é emitida para verificação no bate-papo.\n"..
"\n"..
"A distância máxima para toda a distância de voo é de 1.500 m. Até 32 blocos podem ser treinados.\n"..
"\n"..
"O uso do controlador de voo TA5 requer 40 pontos de experiência.\n"..
"\n"..
"*Modo teletransporte*\n"..
"\n"..
"Se o \"Teleport Mode\" (Modo de teletransporte) estiver ativado\\, o jogador também poderá ser movido sem blocos. Para fazer isso\\, a posição inicial deve ser configurada usando o botão \"Record\" (Registrar). Somente uma posição pode ser configurada aqui. O jogador a ser movido deve estar nessa posição.\n"..
"\n"..
"\n"..
"\n",
"O TA5 Hyperloop Chest permite que objetos sejam transportados em uma rede Hyperloop.\n"..
"\n"..
"O Baú Hyperloop TA5 deve ser colocado em uma Junção Hyperloop. O baú tem um menu especial\\, com o qual você pode emparelhar dois baús. Os itens que estão no baú são teletransportados para a estação remota. O baú também pode ser preenchido/esvaziado com um empurrador.\n"..
"\n"..
"Para fazer o emparelhamento\\, primeiro você precisa inserir um nome para o baú de um lado e\\, em seguida\\, selecionar esse nome para o outro baú e\\, assim\\, conectar os dois blocos.\n"..
"\n"..
"O uso do Baú do Hyperloop TA5 requer 15 pontos de experiência.\n"..
"\n"..
"\n"..
"\n",
"O TA5 Hyperloop Tank permite o transporte de líquidos em uma rede Hyperloop.\n"..
"\n"..
"O TA5 Hyperloop Tank deve ser colocado em um Hyperloop Junction. O tanque tem um menu especial\\, com o qual você pode emparelhar dois tanques. Os líquidos no tanque serão teletransportados para a estação remota. O tanque também pode ser enchido/esvaziado com uma bomba.\n"..
"\n"..
"Para fazer o emparelhamento\\, primeiro é necessário inserir um nome para o tanque de um lado e\\, em seguida\\, selecionar esse nome para o outro tanque e\\, assim\\, conectar os dois blocos.\n"..
"\n"..
"O uso do TA5 Hyperloop Tank requer 15 pontos de experiência.\n"..
"\n"..
"\n"..
"\n",
"Os blocos de teletransporte permitem a transferência de objetos entre dois blocos de teletransporte sem a necessidade de um cano ou tubo entre eles. Para emparelhar os blocos\\, primeiro é preciso digitar um nome para o bloco de um lado e\\, em seguida\\, selecionar esse nome para o outro bloco e\\, assim\\, conectar os dois blocos. O emparelhamento só pode ser realizado por um jogador (o nome do jogador é verificado) e deve ser concluído antes de o servidor ser reiniciado. Caso contrário\\, os dados de emparelhamento serão perdidos.\n"..
"\n"..
"O mapa à direita mostra como os blocos podem ser usados. \n"..
"\n"..
"\n"..
"\n",
"Esses blocos de teletransporte permitem a transferência de itens e\\, portanto\\, substituem um tubo. Distâncias de até 500 blocos podem ser transpostas.\n"..
"\n"..
"Cada bloco de teletransporte requer 12 ku de eletricidade.\n"..
"\n"..
"São necessários 30 pontos de experiência para usar os blocos de teletransporte. \n"..
"\n"..
"\n"..
"\n",
"Esses blocos de teletransporte permitem a transferência de líquidos e\\, portanto\\, substituem um cano. Distâncias de até 500 blocos podem ser transpostas.\n"..
"\n"..
"Cada bloco de teletransporte requer 12 ku de eletricidade.\n"..
"\n"..
"São necessários 30 pontos de experiência para usar os blocos de teletransporte. \n"..
"\n"..
"\n"..
"\n",
"Os blocos de teletransporte Hyperloop permitem a construção de uma rede Hyperloop sem tubos Hyperloop.\n"..
"\n"..
"O uso dos blocos de teletransporte Hyperloop requer 60 pontos de experiência.\n"..
"\n",
"",
"O contêiner TA5 permite que os sistemas Techage sejam embalados e desembalados em outro local.\n"..
"\n"..
"São necessários 80 pontos de experiência para usar o contêiner TA5.\n"..
"\n",
"O chip TA5 AI é parcialmente necessário para a produção de blocos TA5. O chip de IA TA5 só pode ser fabricado na fábrica de eletrônicos TA4. Isso requer 10 pontos de experiência.\n"..
"\n"..
"\n"..
"\n",
"O TA5 AI Chip II é necessário para construir o Reator de Fusão TA5. O TA5 AI Chip II só pode ser fabricado na fábrica de eletrônicos TA4. Isso requer 25 pontos de experiência.\n"..
"\n"..
"\n"..
"\n",
},
images = {
"techage_ta5",
"",
"",
"ta5_magnet",
"ta5_pump",
"",
"ta5_fr_controller",
"ta5_fr_shell",
"ta5_fr_nucleus",
"",
"",
"",
"",
"ta5_flycontroller",
"ta5_chest",
"ta5_tank",
"",
"ta5_tele_tube",
"ta5_tele_pipe",
"",
"",
"",
"ta5_aichip",
"ta5_aichip2",
},
plans = {
"",
"",
"ta5_fusion_reactor",
"",
"",
"ta5_heatexchanger",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"ta5_teleport",
"",
"",
"",
"",
"",
"",
"",
}
}

View File

@ -26,6 +26,7 @@ local IMG43 = {"", "techage_reactor_inv.png"}
local IMG44 = {"", "techage_ta4_filter.png"}
local IMG45 = {"10x10", "techage_collider_plan.png"}
local IMG46 = {"5x4", "techage_fusion_reactor.png"}
local IMG47 = {"5x4", "techage_collider_plan2.png"}
local TOP_V = {"top_view", ""}
local SIDEV = {"side_view", ""}
@ -175,6 +176,7 @@ local AXL90 = {"techage_axle.png^[transformR90", "techage:axle"}
local WINCH = {"techage_filling_ta2.png^techage_appl_winch.png^techage_frame_ta2.png", "techage:ta2_winch"}
local ROPE_ = {"techage_rope_inv.png", "techage:ta2_rope"}
local WCHST = {"techage_filling_ta2.png^techage_frame_ta2.png^techage_appl_chest_back_ta3.png^techage_weight_side.png", "techage:ta2_weight_chest"}
local CLTCH = {"techage_filling_ta2.png^techage_appl_clutch.png^techage_frame_ta2.png", "techage:ta2_clutch_off"}
plans["ta2_storage"] = {
{false, false, false, GRBOX, WINCH, false, SIDEV},
@ -186,7 +188,7 @@ plans["ta2_storage"] = {
{false, false, false, AXL90, ROPE_, false, false},
{false, false, false, AXL90, WCHST, false, false},
{false, false, false, AXL90, false, false, false},
{AXL00, AXL00, AXL00, GRBOX, false, false, false},
{AXL00, CLTCH, AXL00, GRBOX, false, false, false},
}
--
@ -481,6 +483,15 @@ plans["techage_collider_plan"] = {
{false, false, false, false},
}
plans["techage_collider_plan2"] = {
{false, false, false, false},
{false, false, false, false},
{false, false, IMG47, false},
{false, false, false, false},
{false, false, false, false},
{false, false, false, false},
}
--
-- TA4 Detector Cooler
--
@ -592,4 +603,5 @@ for name, plan in pairs(plans) do
local plan2 = reformat(plan)
doclib.add_manual_plan("techage", "EN", name, plan2)
doclib.add_manual_plan("techage", "DE", name, plan2)
doclib.add_manual_plan("techage", "pt-BR", name, plan2)
end

View File

@ -163,8 +163,10 @@ end
local function check_TES_integrity(pos, nvm)
nvm.ticks = (nvm.ticks or 0) + 1
if (nvm.ticks % 5) == 0 then -- every 10 saec
glowing(pos, nvm, (nvm.capa or 0) / (nvm.capa_max or 1) > 0.8)
if (nvm.ticks % 5) == 0 then -- every 10 sec
if techage.is_running(nvm) then
glowing(pos, nvm, (nvm.capa or 0) / (nvm.capa_max or 1) > 0.8)
end
end
if (nvm.ticks % 30) == 0 then -- every minute
return heatexchanger1_cmnd(pos, "volume")

View File

@ -36,11 +36,16 @@ local function stop_firebox(pos, nvm)
M(pos):set_string("formspec", fuel.formspec(nvm))
end
local function furnace_active(pos)
-- Check if furnace is not in standby mode
return techage.get_node_lvm({x=pos.x, y=pos.y+1, z=pos.z}).name == "techage:ta3_furnace_act"
end
local function node_timer(pos, elapsed)
local nvm = techage.get_nvm(pos)
nvm.liquid = nvm.liquid or {}
nvm.liquid.amount = nvm.liquid.amount or 0
if nvm.running then
if nvm.running and furnace_active(pos) then
nvm.burn_cycles = (nvm.burn_cycles or 0) - 1
if nvm.burn_cycles <= 0 then
if nvm.liquid.amount > 0 then
@ -53,6 +58,9 @@ local function node_timer(pos, elapsed)
return false
end
end
else
stop_firebox(pos, nvm)
return false
end
if techage.is_activeformspec(pos) then
M(pos):set_string("formspec", fuel.formspec(nvm))
@ -61,7 +69,8 @@ local function node_timer(pos, elapsed)
end
local function start_firebox(pos, nvm)
if not nvm.running then
if not nvm.running and furnace_active(pos) then
nvm.running = true
node_timer(pos, 0)
firebox.swap_node(pos, "techage:furnace_firebox_on")

View File

@ -30,7 +30,19 @@ local reset_cooking = techage.furnace.reset_cooking
local get_ingredients = techage.furnace.get_ingredients
local check_if_worth_to_wakeup = techage.furnace.check_if_worth_to_wakeup
local range = techage.in_range
local MP = minetest.get_modpath(minetest.get_current_modname())
local mConf = assert(loadfile(MP .. "/basis/conf_inv.lua"))("cfg")
local WRENCH_MENU3 = {
{
type = "items",
name = "config",
label = S("Pre-Assignment Input Inv."),
tooltip = S("Stack locations can be pre-assigned to specific items,\nto be filled only with those items."),
width = 2,
height = 2,
}
}
local function update_recipe_menu(pos, nvm)
local ingr = get_ingredients(pos)
@ -47,7 +59,9 @@ local function formspec(self, pos, nvm)
default.gui_bg..
default.gui_bg_img..
default.gui_slots..
techage.wrench_image(7.6, -0.2) ..
"list[context;src;0,0;2,2;]"..
mConf.preassigned_stacks(pos, 2, 2)..
"image[2,0.5;1,1;techage_form_arrow_bg.png^[lowpart:"..
(nvm.item_percent or 0)..":techage_form_arrow_fg.png^[transformR270]"..
"image_button[2,2;1,1;".. self:get_state_button_image(nvm) ..";state_button;]"..
@ -237,9 +251,20 @@ local tubing = {
end,
on_push_item = function(pos, in_dir, stack, idx)
local meta = minetest.get_meta(pos)
if meta:get_int("push_dir") == in_dir or in_dir == 5 then
if meta:get_int("push_dir") == in_dir or in_dir == 5 then
local inv = M(pos):get_inventory()
return techage.put_items(inv, "src", stack, idx)
local mem = techage.get_mem(pos)
mem.filter = mem.filter or mConf.item_filter(pos, 4)
mem.chest_configured = mem.chest_configured or not inv:is_empty("cfg")
if mem.chest_configured then
local name = stack:get_name()
local stacks = mem.filter[name] or mem.filter["unconfigured"]
return mConf.put_items(pos, inv, "src", stack, stacks, idx)
else
return techage.put_items(inv, "src", stack, idx)
end
end
end,
on_unpull_item = function(pos, in_dir, stack)
@ -283,6 +308,7 @@ local _, node_name_ta3, _ =
local inv = M(pos):get_inventory()
inv:set_size("src", 2*2)
inv:set_size("dst", 2*2)
inv:set_size("cfg", 2*2)
end,
can_dig = can_dig,
node_timer = keep_running,
@ -293,6 +319,8 @@ local _, node_name_ta3, _ =
on_metadata_inventory_put = on_metadata_inventory,
on_metadata_inventory_take = on_metadata_inventory,
on_metadata_inventory_move = on_metadata_inventory,
ta3_formspec = WRENCH_MENU3,
on_rightclick = on_rightclick,
groups = {choppy=2, cracky=2, crumbly=2},
sounds = default.node_sound_wood_defaults(),
num_items = {0,1,1,1},

View File

@ -3,7 +3,7 @@
TechAge
=======
Copyright (C) 2019-2022 Joachim Stolberg
Copyright (C) 2019-2023 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
@ -20,8 +20,14 @@ local power = networks.power
local control = networks.control
local CYCLE_TIME = 2
local STANDBY_TICKS = 1
local COUNTDOWN_TICKS = 2
local PWR_PERF = 800
local function formspec(self, pos, nvm)
return techage.generator_formspec(self, pos, nvm, S("TA5 Generator"), nvm.provided, PWR_PERF)
end
local function swap_node(pos, name)
local node = techage.get_node_lvm(pos)
if node.name == name then
@ -31,6 +37,13 @@ local function swap_node(pos, name)
minetest.swap_node(pos, node)
end
local function can_start(pos, nvm, state)
if nvm.alive_cnt and nvm.alive_cnt > 0 then
return true
end
return S("no steam")
end
local function start_node(pos, nvm)
local meta = M(pos)
nvm.provided = 0
@ -38,8 +51,6 @@ local function start_node(pos, nvm)
techage.evaluate_charge_termination(nvm, meta)
local outdir = meta:get_int("outdir")
power.start_storage_calc(pos, Cable, outdir)
swap_node(pos, "techage:ta5_generator_on")
minetest.get_node_timer(pos):start(CYCLE_TIME)
end
local function stop_node(pos, nvm)
@ -47,7 +58,32 @@ local function stop_node(pos, nvm)
nvm.alive_cnt = 0
local outdir = M(pos):get_int("outdir")
power.start_storage_calc(pos, Cable, outdir)
swap_node(pos, "techage:ta5_generator")
end
local State = techage.NodeStates:new({
node_name_passive = "techage:ta5_generator",
node_name_active = "techage:ta5_generator_on",
cycle_time = CYCLE_TIME,
standby_ticks = STANDBY_TICKS,
formspec_func = formspec,
infotext_name = S("TA5 Generator"),
can_start = can_start,
start_node = start_node,
stop_node = stop_node,
})
local function on_receive_fields(pos, formname, fields, player)
if minetest.is_protected(pos, player:get_player_name()) then
return
end
local nvm = techage.get_nvm(pos)
State:state_button_event(pos, nvm, fields)
end
local function on_rightclick(pos, node, clicker)
local nvm = techage.get_nvm(pos)
techage.set_activeformspec(pos, clicker)
M(pos):set_string("formspec", formspec(State, pos, nvm))
end
local function get_generator_data(pos, outdir, tlib2)
@ -59,8 +95,15 @@ end
local function node_timer(pos, elapsed)
local nvm = techage.get_nvm(pos)
local running = techage.is_running(nvm)
nvm.alive_cnt = (nvm.alive_cnt or 0) - 1
if nvm.alive_cnt > 0 then
local alive = nvm.alive_cnt > 0
if running and not alive then
State:standby(pos, nvm, S("no steam"))
stop_node(pos, nvm, State)
elseif not running and alive then
State:start(pos, nvm)
elseif running then
local meta = M(pos)
local outdir = meta:get_int("outdir")
local tp1 = tonumber(meta:get_string("termpoint1"))
@ -70,12 +113,12 @@ local function node_timer(pos, elapsed)
if val > 0 then
nvm.load = val
end
return true
else
swap_node(pos, "techage:ta5_generator")
stop_node(pos, nvm)
return false
State:keep_running(pos, nvm, COUNTDOWN_TICKS)
end
if techage.is_activeformspec(pos) then
M(pos):set_string("formspec", formspec(State, pos, nvm))
end
return State:is_active(nvm)
end
minetest.register_node("techage:ta5_generator", {
@ -91,7 +134,11 @@ minetest.register_node("techage:ta5_generator", {
},
after_place_node = function(pos, placer)
local nvm = techage.get_nvm(pos)
local number = techage.add_node(pos, "techage:ta5_generator")
State:node_init(pos, nvm, number)
M(pos):set_int("outdir", networks.side_to_outdir(pos, "R"))
M(pos):set_string("formspec", formspec(State, pos, nvm))
Cable:after_place_node(pos)
end,
after_dig_node = function(pos, oldnode)
@ -101,6 +148,8 @@ minetest.register_node("techage:ta5_generator", {
get_generator_data = get_generator_data,
ta4_formspec = techage.generator_settings("ta4", PWR_PERF),
on_receive_fields = on_receive_fields,
on_rightclick = on_rightclick,
paramtype2 = "facedir",
groups = {cracky=2, crumbly=2, choppy=2},
on_rotate = screwdriver.disallow,
@ -140,6 +189,8 @@ minetest.register_node("techage:ta5_generator_on", {
get_generator_data = get_generator_data,
ta4_formspec = techage.generator_settings("ta4", PWR_PERF),
on_receive_fields = on_receive_fields,
on_rightclick = on_rightclick,
on_timer = node_timer,
paramtype2 = "facedir",
drop = "",
@ -159,17 +210,40 @@ techage.register_node({"techage:ta5_generator", "techage:ta5_generator_on"}, {
if topic == "trigger" then
nvm.alive_cnt = 5
elseif topic == "start" then
start_node(pos, nvm)
--start_node(pos, nvm)
elseif topic == "stop" then
stop_node(pos, nvm)
end
end,
on_recv_message = function(pos, src, topic, payload)
return "unsupported"
local nvm = techage.get_nvm(pos)
if topic == "delivered" then
return nvm.provided or 0
else
return State:on_receive_message(pos, topic, payload)
end
end,
on_beduino_receive_cmnd = function(pos, src, topic, payload)
return State:on_beduino_receive_cmnd(pos, topic, payload)
end,
on_beduino_request_data = function(pos, src, topic, payload)
local nvm = techage.get_nvm(pos)
if topic == 135 then
return 0, {nvm.provided or 0}
else
return State:on_beduino_request_data(pos, topic, payload)
end
end,
on_node_load = function(pos)
-- remove legacy formspec
M(pos):set_string("formspec", "")
-- Add node number if missing
local number = M(pos):get_string("node_number")
if number == "" then
local nvm = techage.get_nvm(pos)
local number = techage.add_node(pos, "techage:ta5_generator")
State:node_init(pos, nvm, number)
State:start(pos, nvm)
M(pos):set_string("formspec", formspec(State, pos, nvm))
end
end,
})

View File

@ -31,6 +31,14 @@ local WRENCH_MENU = {{
name = "flowrate",
label = S("Total flow rate"),
tooltip = S("Total flow rate in liquid units"),
},{
type = "dropdown",
choices = "normal,reverse",
name = "operation",
label = S("Operation"),
tooltip = S("Pump direction"),
values = {0, 1},
default = "1",
}}
local State = techage.NodeStates:new({
@ -43,20 +51,39 @@ local State = techage.NodeStates:new({
local function pumping(pos, nvm)
local outdir = M(pos):get_int("outdir")
local taken, name = liquid.take(pos, Pipe2, Flip[outdir], nil, CAPA)
if taken > 0 then
local leftover = liquid.put(pos, Pipe3, outdir, name, taken)
if leftover and leftover > 0 then
liquid.untake(pos, Pipe2, Flip[outdir], name, leftover)
if leftover == taken then
State:blocked(pos, nvm)
return 0
local reverse = M(pos):get_int("operation")
if reverse == 1 then
local taken, name = liquid.take(pos, Pipe3, outdir, nil, CAPA)
if taken > 0 then
local leftover = liquid.put(pos, Pipe2, Flip[outdir], name, taken)
if leftover and leftover > 0 then
liquid.untake(pos, Pipe3, outdir, name, leftover)
if leftover == taken then
State:blocked(pos, nvm)
return 0
end
State:keep_running(pos, nvm, COUNTDOWN_TICKS)
return taken - leftover
end
State:keep_running(pos, nvm, COUNTDOWN_TICKS)
return taken - leftover
return taken
end
else
local taken, name = liquid.take(pos, Pipe2, Flip[outdir], nil, CAPA)
if taken > 0 then
local leftover = liquid.put(pos, Pipe3, outdir, name, taken)
if leftover and leftover > 0 then
liquid.untake(pos, Pipe2, Flip[outdir], name, leftover)
if leftover == taken then
State:blocked(pos, nvm)
return 0
end
State:keep_running(pos, nvm, COUNTDOWN_TICKS)
return taken - leftover
end
State:keep_running(pos, nvm, COUNTDOWN_TICKS)
return taken
end
State:keep_running(pos, nvm, COUNTDOWN_TICKS)
return taken
end
State:idle(pos, nvm)
return 0

View File

@ -379,7 +379,6 @@ minetest.register_node("techage:ta4_icta_controller", {
meta:set_string("number", number)
meta:set_int("state", techage.STOPPED)
meta:set_string("formspec", techage.formspecRules(meta, fs_data, sOUTPUT))
--meta:set_string("formspec", techage.cond_formspec(1, 1, nil))
meta:set_string("infotext", "TA4 ICTA Controller "..number..": stopped")
end,

View File

@ -3,7 +3,7 @@
TechAge
=======
Copyright (C) 2019-2023 Joachim Stolberg
Copyright (C) 2019-2024 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
@ -13,7 +13,7 @@
techage = {}
-- Version for compatibility checks, see readme.md/history
techage.version = 1.17
techage.version = 1.18
if minetest.global_exists("tubelib") then
minetest.log("error", "[techage] Techage can't be used together with the mod tubelib!")
@ -106,6 +106,7 @@ dofile(MP.."/basis/shared_inv.lua")
dofile(MP.."/basis/shared_tank.lua")
dofile(MP.."/basis/teleport.lua")
dofile(MP.."/basis/fly_lib.lua")
dofile(MP.."/basis/pack_lib.lua")
-- Main doc
dofile(MP.."/doc/guide.lua")
@ -166,6 +167,7 @@ dofile(MP.."/steam_engine/flywheel.lua")
dofile(MP.."/ta2_energy_storage/ta2_rope.lua")
dofile(MP.."/ta2_energy_storage/ta2_winch.lua")
dofile(MP.."/ta2_energy_storage/ta2_weight_chest.lua")
dofile(MP.."/ta2_energy_storage/ta2_clutch.lua")
-- Liquids I
dofile(MP.."/liquids/liquid_pipe.lua")
@ -225,7 +227,8 @@ dofile(MP.."/furnace/recipes.lua")
-- Tools
dofile(MP.."/tools/trowel.lua")
dofile(MP.."/tools/repairkit.lua")
dofile(MP.."/tools/end_wrench.lua")
dofile(MP.."/tools/assembly_tool.lua")
dofile(MP.."/tools/pipe_wrench.lua")
dofile(MP.."/basic_machines/blackhole.lua")
dofile(MP.."/basic_machines/forceload.lua")
@ -391,6 +394,7 @@ dofile(MP.."/items/cracking.lua")
dofile(MP.."/items/ceramic.lua")
dofile(MP.."/items/basalt.lua")
dofile(MP.."/items/moreblocks.lua")
dofile(MP.."/items/salt.lua")
-- Carts
dofile(MP.."/carts/tank_cart.lua")

View File

@ -27,7 +27,7 @@ end
local function num_cobble(pos, height)
local pos1 = {x=pos.x-1, y=pos.y+1, z=pos.z-1}
local pos2 = {x=pos.x+1, y=pos.y+height, z=pos.z+1}
local nodes = minetest.find_nodes_in_area(pos1, pos2, {"default:cobble", "default:desert_cobble"})
local nodes = minetest.find_nodes_in_area(pos1, pos2, {"default:cobble", "default:desert_cobble", "default:mossycobble", "techage:basalt_cobble", "techage:bauxite_cobble"})
return #nodes
end

View File

@ -88,7 +88,7 @@ local function on_punch(pos, node, puncher, pointed_thing)
minetest.swap_node(pos, {name = "techage:sieve0"})
minetest.get_node_timer(pos):start(1.5)
local w = puncher:get_wielded_item()
if not(minetest.setting_getbool("creative_mode")) then
if not minetest.is_creative_enabled(puncher:get_player_name()) then
w:take_item(1)
puncher:set_wielded_item(w)
end

View File

@ -61,3 +61,68 @@ techage.furnace.register_recipe({
time = 16,
})
if minetest.get_modpath('techpack_stairway') then
minetest.register_craft({
output = "techpack_stairway:grating 6",
recipe = {
{"", "", ""},
{"dye:dark_grey", "", "default:coal_lump"},
{"default:steel_ingot", "techage:aluminum", "default:steel_ingot"},
},
})
minetest.register_craft({
output = "techpack_stairway:handrail 6",
recipe = {
{"default:steel_ingot", "default:coal_lump", ""},
{"techage:aluminum", "", ""},
{"default:steel_ingot", "dye:dark_grey", ""},
},
})
minetest.register_craft({
output = "techpack_stairway:stairway1 6",
recipe = {
{"", "", "default:steel_ingot"},
{"dye:dark_grey", "techage:aluminum", "default:coal_lump"},
{"default:steel_ingot", "", ""},
},
})
minetest.register_craft({
output = "techpack_stairway:ladder1 3",
recipe = {
{"", "default:steel_ingot", ""},
{"dye:dark_grey", "techage:aluminum", "default:coal_lump"},
{"", "default:steel_ingot", ""},
},
})
minetest.register_craft({
output = "techpack_stairway:ladder3 6",
recipe = {
{"", "", "default:steel_ingot"},
{"dye:dark_grey", "techage:aluminum", "default:coal_lump"},
{"", "", "default:steel_ingot"},
},
})
minetest.register_craft({
output = "techpack_stairway:ladder4 12",
recipe = {
{"dye:dark_grey", "techage:aluminum", "default:coal_lump"},
{"", "default:steel_ingot", ""},
{"", "default:steel_ingot", ""},
},
})
minetest.register_craft({
output = "techpack_stairway:lattice 4",
recipe = {
{"default:steel_ingot", "", "default:steel_ingot"},
{"dye:dark_grey", "techage:aluminum", "default:coal_lump"},
{"default:steel_ingot", "", "default:steel_ingot"},
},
})
end

50
items/salt.lua Normal file
View File

@ -0,0 +1,50 @@
--[[
TechAge
=======
Copyright (C) 2024 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Salt
]]--
--Detects if the salt node is registered.
minetest.register_on_mods_loaded(function()
if minetest.registered_nodes["farming:salt"] then
--Adds salt to powder group to ensure reactor and silo will accept it
local def = minetest.registered_nodes["farming:salt"]
local groups = table.copy(def.groups)
groups.powder = 1
minetest.override_item("farming:salt", { groups=groups })
--Add the water -> salt & river water recipe.
techage.recipes.add("ta4_doser", {
output = "farming:salt 1",
waste = "techage:river_water 1",
input = {
"techage:water 1",
}
})
-- Add salt recipe as replacement for the minetest.register_craft("farming:salt") recipe
techage.furnace.register_recipe({
output = "farming:salt",
recipe = {"bucket:bucket_water"},
waste = "bucket:bucket_empty",
time = 8,
})
else
-- Creates a water -> River Water recipe in absense of the farming:salt node.
techage.recipes.add("ta4_doser", {
output = "techage:river_water 1",
input = {
"techage:water 1",
}
})
end
end)

View File

@ -22,7 +22,6 @@ local Cable = techage.ElectricCable
local power = networks.power
local Flowers = {}
local Plants = {}
local Ignore = { ["flowers:waterlily_waving"] = true }
-- 9 plant positions below the light
local Positions = {
{x = 0, y =-1, z = 0},
@ -74,7 +73,7 @@ local function grow_flowers(pos)
local soil_node = minetest.get_node(soil_pos)
if soil_node and soil_node.name == "compost:garden_soil" then
if plant_node and plant_node.name == "air" then
if mem.grow_pos[plant_idx] then
if mem.grow_pos[plant_idx] and #Flowers > 1 then
local idx = math.floor(math.random(1, #Flowers))
if Flowers[idx] then
minetest.set_node(plant_pos, {name = Flowers[idx]})
@ -192,26 +191,34 @@ function techage.register_plant(name)
end
minetest.after(1, function()
for _,def in pairs(minetest.registered_decorations) do
local name = def.decoration
if name and type(name) == "string" then
local mod = string.split(name, ":")[1]
if mod == "flowers" or mod == "bakedclay" then -- Bakedclay also registers flowers as decoration.
if not Ignore[name] then
techage.register_flower(name)
end
-- Flowers
local function add_flower(name)
local def = minetest.registered_nodes[name]
if def and (def.groups.mushroom == 1 or def.groups.flower == 1) then
if not (name:find("waterlily") or name:find("seaweed")) then -- we don't want water plants on garden soil
techage.register_flower(name)
end
end
end
for _,def in pairs(minetest.registered_decorations) do
local name = def.decoration
if type(name) == "string" then
add_flower(name)
elseif type(name) == "table" then
for _,sub_name in ipairs(name) do
add_flower(sub_name)
end
end
end
-- Plants
for name,ndef in pairs(minetest.registered_nodes) do
if type(name) == "string" then
local mod = string.split(name, ":")[1]
if mod == "farming" and ndef.on_timer then -- probably a plant that still needs to grow
if not Ignore[name] then
techage.register_plant(name)
end
techage.register_plant(name)
end
end
end
-- print(dump(Flowers))
end)

View File

@ -3,7 +3,7 @@
TechAge
=======
Copyright (C) 2019-2022 Joachim Stolberg
Copyright (C) 2019-2024 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
@ -128,7 +128,7 @@ local tLiquid = {
put = function(pos, indir, name, amount)
-- check if it is powder
local nvm = techage.get_nvm(pos)
local ndef = minetest.registered_craftitems[name] or {}
local ndef = minetest.registered_craftitems[name] or minetest.registered_nodes[name] or {}
if ndef.groups and ndef.groups.powder == 1 then
local inv = M(pos):get_inventory()
local stack = ItemStack(name.." "..amount)

View File

@ -40,6 +40,9 @@ local function node_timer(pos, elapsed)
end
local function can_dig(pos, player)
if not player then
return false
end
if minetest.is_protected(pos, player:get_player_name()) then
return false
end

View File

@ -18,9 +18,10 @@ local S = techage.S
local Pipe = techage.LiquidPipe
local liquid = networks.liquid
local water_level = tonumber(minetest.get_mapgen_setting("water_level")) or 1
local function is_ocean(pos)
if pos.y > 1 then
if pos.y > water_level then
M(pos):set_string("infotext", S("Error: Not on sea level!"))
return false
end

View File

@ -4,8 +4,7 @@
### akkubox.lua ###
TA3 Accu Box=Akkublock
TA3 Akku Box=TA3 Akku Block
TA3 Accu Box=TA3 Akkublock
### aluminium.lua ###
@ -21,6 +20,10 @@ Red Mud Canister=Rotschlamm Kanister
[TA] Area is protected!=[TA] Bereich ist geschützt
[TA] Not enough space!=[TA] Nicht ausreichend Platz!
### assembly_tool.lua ###
TechAge Assembly Tool=TechAge Montagewerkzeug
### autocrafter.lua ###
Autocrafter=Autocrafter
@ -482,6 +485,21 @@ TA2 Ele Fab=TA2 E-Fabrik
TA3 Ele Fab=TA3 E-Fabrik
TA4 Ele Fab=TA4 E-Fabrik
### end_wrench.lua ###
Biome=Biom
Node owner=Blockbesitzer
Position=Position
Position temperature=Positionstemperatur
Pump connected to no/empty tank(s).=Pumpe an keine/leere Tank(s) angeschlossen.
Pump connected to tank(s) with: @1=Pumpe an Tank(s) angeschlossen mit: @1
TechAge Info Tool (use @= read status info)=TechAge Info Werkzeug
### end_wrench.lua ###
### meltingpot.lua ###
Time=Zeit
### epoxy.lua ###
Epoxide Resin=Epoxidharz
@ -573,6 +591,9 @@ TA2 Flywheel=TA2 Schwungrad
### forceload.lua ###
Area already loaded or max. number of Forceload Blocks reached!=Bereich bereits geladen oder maximale Anzahl von Forceload Blöcken erreicht!
Area from=Bereich von
Area to=Bereich bis
Block at pos=Block an Pos
List of your Forceload Blocks:=Liste der Forceload Blöcke
Punch the block to make the area visible.=Schlage auf den Bock um den Bereich anzuzeigen.
Show all forceload blocks in a 64x64x64 range=Zeige alle Forceload Blöcke im Umkreis von 64x64x64 Blöcken
@ -649,6 +670,7 @@ TA2 Gearbox=TA2 Getriebeblock
TA3 Generator=TA3 Generator
TA4 Generator=TA4 Generator
TA5 Generator=TA5 Generator
no steam=Kein Dampf
### generator.lua ###
### power_terminal2.lua ###
@ -681,14 +703,6 @@ TA1 Mill Base=Mühlenunterteil
TA4 LED Grow Light=TA4 LED Pflanzenlampe
### guide.lua ###
No plan available=Kein Plan verfügar
Plan=Plan
Sectional view=Schnittbild
Side view=Seitenansicht
Top view=Draufsicht
### hammer.lua ###
TA1 Bronze Hammer (smash stone to gravel)=TA1 Bronzehammer (zerschlage Stein zu Kies)
@ -919,11 +933,6 @@ TA1 Burning=TA1 Brennen
TA1 Melting=TA1 Schmelzen
TA1 Melting Pot=TA1 Schmelztiegel
### meltingpot.lua ###
### repairkit.lua ###
Time=Zeit
### meridium.lua ###
Meridium Axe=Meridium Axt
@ -1037,12 +1046,6 @@ TA3 Drill Pipe Wrench=TA3 Bohrgestängezange
Plastic Granules=Plastikgranulat
### plate.lua ###
Lever=
Stone Pressure Plate=
Wooden Pressure Plate=
### player_detector.lua ###
Command to send when player is detected=Befehl zum Senden, wenn ein Spieler erkannt wird
@ -1186,17 +1189,6 @@ Red Stone=Rotstein
Red Stone Block=Rotsteinblock
Red Stone Brick=Rotsteinziegel
### repairkit.lua ###
Biome=Biom
Node owner=Blockbesitzer
Position=Position
Position temperature=Positionstemperatur
Pump connected to no/empty tank(s).=Pumpe an keine/leere Tank(s) angeschlossen.
Pump connected to tank(s) with: @1=Pumpe an Tank(s) angeschlossen mit: @1
TechAge Info Tool (use @= read status info)=TechAge Info Werkzeug
TechAge Repair Kit=TechAge Reparaturset
### repeater.lua ###
TA3 Repeater=TA3 Wiederholer
@ -1358,6 +1350,10 @@ Refresh=Aktualisieren
TA1 Axle=TA1 Achse
TA1 Axle Bearing=TA1 Achsenlager
### ta2_clutch.lua ###
TA2 Clutch=TA2 Kupplung
### ta2_weight_chest.lua ###
TA2 Weight Chest=TA2 Gewichtekiste
@ -1382,7 +1378,7 @@ Never completely empty the slots@nwith the pusher to keep the item assignment=Sp
Size=Größe
TA4 8x2000 Chest=TA4 8x2000 Kiste
Unlock=Entsperren
Unlock connected chest@nif all slots are below 2000=Nachfolgende Kiste entsperren,@nsofern alle Speicherplätze <= 2000
Unlock connected chest@nif all slots are below 2000=Nachfolgende Kiste entsperren,@nsofern alle Speicherplätze <@= 2000
right to left=von rechts nach links
### ta4_doser.lua ###
@ -1584,17 +1580,3 @@ TA4 Collider Detector Worker=TA4 Collider Detektor Worker
##### not used anymore #####
Blocks are back=Blöcke sind wieder da
Blocks are disappeared=Blöcke sind verschwunden
Remove=Entfernen
Set=Setzen
Commands@nhelp . . . print this text@ncls . . . . . clear screen@ngen . . . . print all generators@nsto . . . . . print all storage systems@ncon . . . . . print main consumers@n=Kommandos@nhelp . . . diesen Text ausgeben@ncls . . . . . Bildschirm löschen@ngen . . . . Alle Generatoren ausgeben@nsto . . . . . Alle Speichersysteme ausgeben@ncon . . . . . Hauptverbraucher ausgeben@n
Handover to A=Übergabe an A
Handover to B=Übergabe an B
Number of the next movecontroller=Nummer des nächsten Move Controllers
Number of the previous movecontroller=Nummer des vorhergehenden Move Controllers
TechAge Signal Lamp=TechAge Signallampe
TechAge Signal Lamp 2 =TechAge Signallampe 2
TA4 Collider Terminal=TA4 Collider Terminal
Error: Max. length of the flight route exceeded !!=Fehler: Max. Flugstreckenlänge überschritten !!

1602
locale/techage.fr.tr Normal file

File diff suppressed because it is too large Load Diff

1576
locale/techage.ru.tr Normal file

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,6 @@
### akkubox.lua ###
TA3 Accu Box=
TA3 Akku Box=
### aluminium.lua ###
@ -21,6 +20,10 @@ Red Mud Canister=
[TA] Area is protected!=
[TA] Not enough space!=
### assembly_tool.lua ###
TechAge Assembly Tool=
### autocrafter.lua ###
Autocrafter=
@ -482,6 +485,21 @@ TA2 Ele Fab=
TA3 Ele Fab=
TA4 Ele Fab=
### end_wrench.lua ###
Biome=
Node owner=
Position=
Position temperature=
Pump connected to no/empty tank(s).=
Pump connected to tank(s) with: @1=
TechAge Info Tool (use @= read status info)=
### end_wrench.lua ###
### meltingpot.lua ###
Time=
### epoxy.lua ###
Epoxide Resin=
@ -573,6 +591,9 @@ TA2 Flywheel=
### forceload.lua ###
Area already loaded or max. number of Forceload Blocks reached!=
Area from=
Area to=
Block at pos=
List of your Forceload Blocks:=
Punch the block to make the area visible.=
Show all forceload blocks in a 64x64x64 range=
@ -649,6 +670,7 @@ TA2 Gearbox=
TA3 Generator=
TA4 Generator=
TA5 Generator=
no steam=
### generator.lua ###
### power_terminal2.lua ###
@ -681,14 +703,6 @@ TA1 Mill Base=
TA4 LED Grow Light=
### guide.lua ###
No plan available=
Plan=
Sectional view=
Side view=
Top view=
### hammer.lua ###
TA1 Bronze Hammer (smash stone to gravel)=
@ -919,11 +933,6 @@ TA1 Burning=
TA1 Melting=
TA1 Melting Pot=
### meltingpot.lua ###
### repairkit.lua ###
Time=
### meridium.lua ###
Meridium Axe=
@ -1180,17 +1189,6 @@ Red Stone=
Red Stone Block=
Red Stone Brick=
### repairkit.lua ###
Biome=
Node owner=
Position=
Position temperature=
Pump connected to no/empty tank(s).=
Pump connected to tank(s) with: @1=
TechAge Info Tool (use @= read status info)=
TechAge Repair Kit=
### repeater.lua ###
TA3 Repeater=
@ -1352,6 +1350,10 @@ Refresh=
TA1 Axle=
TA1 Axle Bearing=
### ta2_clutch.lua ###
TA2 Clutch=
### ta2_weight_chest.lua ###
TA2 Weight Chest=

View File

@ -87,7 +87,7 @@ local WRENCH_MENU4 = {
},
}
local function switch_on(pos)
local function switch_on(pos, no_sound)
local cycle_time = M(pos):get_int("cycle_time")
local name = techage.get_node_lvm(pos).name
if name == "techage:ta3_button_off" then
@ -96,14 +96,16 @@ local function switch_on(pos)
logic.swap_node(pos, "techage:ta4_button_on")
end
logic.send_cmnd(pos, "command", "on", cycle_time)
minetest.sound_play("techage_button", {
pos = pos,
gain = 0.5,
max_hear_distance = 5,
})
if not no_sound then
minetest.sound_play("techage_button", {
pos = pos,
gain = 0.5,
max_hear_distance = 5,
})
end
end
local function switch_off(pos, is_button)
local function switch_off(pos, no_sound)
local name = techage.get_node_lvm(pos).name
if name == "techage:ta3_button_on" then
logic.swap_node(pos, "techage:ta3_button_off")
@ -115,7 +117,7 @@ local function switch_off(pos, is_button)
(not meta:contains("command") or meta:get_string("command") == "on") then
logic.send_off(pos, M(pos))
end
if not is_button then
if not no_sound then
minetest.sound_play("techage_button", {
pos = pos,
gain = 0.5,
@ -200,7 +202,7 @@ local function on_receive_fields(pos, formname, fields, player)
local meta = M(pos)
logic.infotext(meta, NDEF(pos).description)
if fields.exit then
meta:set_string("formspec", nil)
meta:set_string("formspec", "")
meta:set_string("fixed" , "true")
else
meta:set_string("formspec", formspec(meta))
@ -425,13 +427,54 @@ minetest.register_craft({
},
})
techage.register_node({"techage:ta3_button_off", "techage:ta3_button_on"}, {})
techage.register_node({"techage:ta3_button_off", "techage:ta3_button_on"}, {
on_recv_message = function(pos, src, topic, payload)
if topic == "on" then
switch_on(pos, true)
return true
elseif topic == "off" then
switch_off(pos, true)
return true
elseif topic == "state" then
local name = techage.get_node_lvm(pos).name
return name == "techage:ta3_button_on" and "on" or "off"
else
return "unsupported"
end
end,
on_beduino_receive_cmnd = function(pos, src, topic, payload)
if topic == 1 and payload[1] == 1 then
switch_on(pos, true)
return 0
elseif topic == 1 and payload[1] == 0 then
switch_off(pos, true)
return 0
else
return 2
end
end,
on_beduino_request_data = function(pos, src, topic, payload)
if topic == 131 then -- State
local name = techage.get_node_lvm(pos).name
return 0, name == "techage:ta3_button_on" and {1} or {0}
else
return 2, ""
end
end,
}
)
techage.register_node({
"techage:ta4_button_off", "techage:ta4_button_on",
}, {
on_recv_message = function(pos, src, topic, payload)
if topic == "state" then
if topic == "on" then
switch_on(pos, true)
return true
elseif topic == "off" then
switch_off(pos, true)
return true
elseif topic == "state" then
local name = techage.get_node_lvm(pos).name
return name == "techage:ta4_button_on" and "on" or "off"
elseif topic == "name" then
@ -444,6 +487,17 @@ techage.register_node({
return "unsupported"
end
end,
on_beduino_receive_cmnd = function(pos, src, topic, payload)
if topic == 1 and payload[1] == 1 then
switch_on(pos, true)
return 0
elseif topic == 1 and payload[1] == 0 then
switch_off(pos, true)
return 0
else
return 2
end
end,
on_beduino_request_data = function(pos, src, topic, payload)
if topic == 131 then -- State
local name = techage.get_node_lvm(pos).name

View File

@ -244,7 +244,49 @@ minetest.register_node("techage:ta4_button_2x", {
sounds = default.node_sound_glass_defaults(),
})
techage.register_node({"techage:ta4_button_2x"}, {})
techage.register_node({"techage:ta4_button_2x"}, {
on_recv_message = function(pos, src, topic, payload)
local num = math.max(tonumber(payload) or 0, 1)
if topic == "on" then
switch_on(pos, num)
send_cmnd(pos, num)
return true
elseif topic == "off" then
switch_off(pos, num)
return true
elseif topic == "state" then
local nvm = techage.get_nvm(pos)
nvm.button = nvm.button or {}
return nvm.button[num] == true
else
return "unsupported"
end
end,
on_beduino_receive_cmnd = function(pos, src, topic, payload)
local num = math.max(payload[1], 1)
if topic == 23 and payload[2] == 1 then
switch_on(pos, num)
send_cmnd(pos, num)
return 0
elseif topic == 23 and payload[2] == 0 then
switch_off(pos, num)
return 0
else
return 2
end
end,
on_beduino_request_data = function(pos, src, topic, payload)
if topic == 152 then -- State
local num = math.max(payload[1], 1)
local nvm = techage.get_nvm(pos)
nvm.button = nvm.button or {}
return 0, nvm.button[num] and {1} or {0}
else
return 2, ""
end
end,
}
)
minetest.register_craft({
output = "techage:ta4_button_2x",

View File

@ -300,7 +300,49 @@ minetest.register_node("techage:ta4_button_4x", {
sounds = default.node_sound_glass_defaults(),
})
techage.register_node({"techage:ta4_button_4x"}, {})
techage.register_node({"techage:ta4_button_4x"}, {
on_recv_message = function(pos, src, topic, payload)
local num = math.max(tonumber(payload) or 0, 3)
if topic == "on" then
switch_on(pos, num)
send_cmnd(pos, num)
return true
elseif topic == "off" then
switch_off(pos, num)
return true
elseif topic == "state" then
local nvm = techage.get_nvm(pos)
nvm.button = nvm.button or {}
return nvm.button[num] == true
else
return "unsupported"
end
end,
on_beduino_receive_cmnd = function(pos, src, topic, payload)
local num = math.max(payload[1], 3)
if topic == 23 and payload[2] == 1 then
switch_on(pos, num)
send_cmnd(pos, num)
return 0
elseif topic == 23 and payload[2] == 0 then
switch_off(pos, num)
return 0
else
return 2
end
end,
on_beduino_request_data = function(pos, src, topic, payload)
if topic == 152 then -- State
local num = math.max(payload[1], 3)
local nvm = techage.get_nvm(pos)
nvm.button = nvm.button or {}
return 0, nvm.button[num] and {1} or {0}
else
return 2, ""
end
end,
}
)
minetest.register_craft({
output = "techage:ta4_button_4x",

View File

@ -306,7 +306,9 @@ techage.register_node({"techage:ta3_detector_off", "techage:ta3_detector_on"}, {
if leftover then
local inv = minetest.get_inventory({type = "node", pos = pos})
if not inv or inv:is_empty("cfg") or inv:contains_item("cfg", ItemStack(stack:get_name())) then
switch_on(pos)
if leftover == true or leftover:get_count() ~= stack:get_count() then
switch_on(pos)
end
end
return leftover
end
@ -331,10 +333,14 @@ techage.register_node({"techage:ta4_detector_off", "techage:ta4_detector_on"}, {
nvm.countdown = nvm.countdown - num_moved
if nvm.countdown <= 0 then
M(pos):set_int("countdown", 0)
switch_on(pos)
if leftover == true or leftover:get_count() ~= stack:get_count() then
switch_on(pos)
end
end
elseif nvm.countdown == nil then
switch_on(pos)
if leftover == true or leftover:get_count() ~= stack:get_count() then
switch_on(pos)
end
end
nvm.counter = (nvm.counter or 0) + num_moved
end

View File

@ -143,7 +143,7 @@ minetest.register_node("techage:ta3_mesecons_converter_on", {
mesecons = {
receptor = {
state = mesecon.state.on,
state = mesecon.state.off,
rules = mesecon.rules.default,
},
effector = {
@ -164,7 +164,7 @@ minetest.register_node("techage:ta3_mesecons_converter_on", {
paramtype = "light",
light_source = 5,
paramtype2 = "facedir",
groups = {choppy=2, cracky=2, crumbly=2},
groups = {choppy=2, cracky=2, crumbly=2, not_in_creative_inventory=1},
is_ground_content = false,
sounds = default.node_sound_wood_defaults(),
drop = "techage:ta3_mesecons_converter",

View File

@ -25,7 +25,7 @@ local function join_to_string(tbl)
end
local function reset_programmer(itemstack, user, pointed_thing)
user:get_meta():set_string("techage_prog_numbers", nil)
user:get_meta():set_string("techage_prog_numbers", "")
minetest.chat_send_player(user:get_player_name(), S("[TechAge Programmer] programmer reset"))
return itemstack
end
@ -53,7 +53,7 @@ local function program_numbers(itemstack, placer, pointed_thing)
if pos then
local meta = M(pos)
local numbers = minetest.deserialize(placer:get_meta():get_string("techage_prog_numbers")) or {}
placer:get_meta():set_string("techage_prog_numbers", nil)
placer:get_meta():set_string("techage_prog_numbers", "")
local player_name = placer:get_player_name()
if meta and meta:get_string("owner") ~= player_name then
minetest.chat_send_player(player_name, S("[TechAge Programmer] foreign or unknown node!"))

View File

@ -3,7 +3,7 @@
Terminal
========
Copyright (C) 2018-2021 Joachim Stolberg
Copyright (C) 2018-2024 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
@ -334,6 +334,9 @@ local function register_terminal(name, description, tiles, node_box, selection_b
techage.remove_node(pos, oldnode, oldmetadata)
end,
preserve_nodedata = techage.preserve_nodedata,
restore_nodedata = techage.restore_nodedata,
paramtype = "light",
use_texture_alpha = techage.CLIP,
sunlight_propagates = true,
@ -426,7 +429,7 @@ techage.register_node({"techage:terminal2"}, {
local number = meta:get_string("number") or ""
if number ~= "" then
meta:set_string("node_number", number)
meta:set_string("number", nil)
meta:set_string("number", "")
end
end,
})

49
manuals/description.md Normal file
View File

@ -0,0 +1,49 @@
From [c56](https://forum.minetest.net/memberlist.php?mode=viewprofile&u=29520) Minetest [Forum](https://forum.minetest.net/viewtopic.php?p=414865#p414865)
I decided to write a longer post describing the game to encourage the undecided. I am not native in English, so forgive me for mistakes.
I had a very nice time playing with a mod called Tech Age. There are some things that annoy me and not everything seems well balanced, but basically it's a very cool and complex tech mod. The gameplay can be fun, relaxing and challenging. If you are concerned about communication difficulties, don't be afraid ;-) Although the server is oriented to the German language, and in the crafting guide the names of the objects are in German, you know most of these objects from other minetest games and all admins/mods also speak English, so there is no problem communicating in that language. (I do not speak German and can play there - it is possible). They are all nice and friendly people there!
The new player starts the game with Construction Board in his or her inventory - instructions describing the next steps of technological development. This information is very useful and is written in both German and English. The player also has the ability to easily craft more of this objects and place them where they need them.This guide also includes illustrations of how to assemble and connect something to build a working device.
Traditionally, at the begining you need to find free land and build some kind of food farm. In this case, however, it is good to find a place far away from other players, because as time goes on, you will need more space in your base, and it would be bad when other players with their structures will stop your progress. You should think about place/sapace management in advance, because as you progress, you may have a lot of objects that will be difficult for you to move to a new place if you eventually will need to move. It seems that it is best not to move at all and have good opportunities to expand your base from the very beginning, both on the surface and underground.
At the beginning, you need to have good access to wheat, from which you will produce lighter blocks, and to trees (the best is to build a tree farm), from which you will produce charcoal blocks. Charcoal is a fuel for smelting ores into usable ingots on the early technological level. You make charcoal in a some kind of furnace, self-builded from dirt blocks, in which you put several wood planks and single lighter. You melt the ingots in a pot on a tall tower of cobbles. That tower need a hole inside, where you drop charcoal blocks, one on another, which will then burn. You make lighter block on fire with flint-and-iron item. Sounds cool? Oh yeah, it's a lot of fun with that!
Another basic technology is getting ores from regular cobble with Gravel Sieve. This process produces gravel from cobble, but such gravel can also be passed through a sieve for more ores! You can mine ores in the traditional way too, but there is at least one element that cannot be obtained otherwise than by sieving: usmium nuggets. And you need that item to make further progress. With chests and hoppers you can make sieving somehow automated. I put all of these on the screenshot. On the picture [1] below you can see the Charcoal Burner (surrounded with iron bars), top part of Melting Furnace (as other part is underground), and the Gravel Sieve with chests and hopper attached to the wall of Melting Furnace.
In this game you can also build a beautiful and animated (!) mill, in which the falling water power grinding the wheat into seeds, and hopper is then sending theese seeds into a regular furnace for bread making [2]. Thanks to the later progress in the game, an electrically powered robot takes care of harvesting my wheat [3]. I hit the button in the game, the robot appears, takes the wheat and sows the seeds, then places the harvested stuff in the mill. In the meantime I am either watching it or doing something else. I have a old-school coal furnace there, but I could put an electric cable over there and out an an industrial electric furnace. Alternatively I can program the same robot to refill coal in coal powered furnace which I already have right now. The player can easily program robots using commands such as "turn right", "turn left", "harvest", "sow_seed", "go forward" or "put what you have into the chest". The player put a command sign in front of the robot, writes a set of commands in the right order on the sign, and then robot can read the entire program and executes it. It is pretty easy! [4]
<img src="https://i.ibb.co/tH7wG62/pic01.png" alt="Image" style="zoom:150%;" />
Picture 5 show you next level of automation of sieving process, thanks to the steam engine (top left). The engine is powered by coal and boiling water. When the stored water reaches a high temperature, the steam drives an axle, and the axle drives machines: Grinder, Gravel Sieve and Gravel Rinser.
Cobble is transported from the chest to Grinder using a device called Pusher that does not need to be powered. Then another Pusher takes the grinded stuff from the Grinder to a Distributor device, which sorts and sends sorted items into one of its outputs. Distributor also not need to be powered. This Distributor pass the gravel to the Gravel Sieve and anything else to the chest. Gravel Sieve produces ores that need to be send to the chest, gravel that need to be send back to the input of Gravel Sieve, and sieved gravel, that need to be send to the Gravel Rinser.
Gravel Rinser produces sand and ores. It produces sand inside itself, so sand can be picked up by a pusher and then transported with tubes to the chest. But ores are produced outside, ores appear dropped above the Gravel Rinser, and this is why there is a water. The flowing water pushes the dropped ores to the hopper placed one or two blocks away. Hopper take it and put into a chest.
This is more or less how the process of sieving and obtaining ores looks like. Of course, nothing prevents you from going to the mine with a pickaxe or digtron and obtaining ores in the traditional way. But even if you do so, this process can utilize all of that cobbles that come from pick, digtron or quarry mining, additionally producing the necessary usmium, which otherwise cannot be obtained.
Later in the game, better versions of some machines, powered by electricity, become available. You will need a power generator driven by a steam turbine, which can be powered by a coal or gasoline firebox. Then you also have to build a network of electric cables that will connect the power source with the machines. Cables don't connect to each other by themselves, but the game provide an additional block that allows you to create a junction for splitting one line into two, three or four.
Most importantly, electric lines can be placed like any other block in the game, but also can be placed inside other blocks! Thanks to a special tool, TechAge Trowel, you can put a whole line through your base, and then cover the electric cables with decorative bricks that is often use to build floors, walls or ceilings. I think this feature of Tech Age is awesome!
As I progressed on the server, one electricity generator was no longer enough for me and I needed three coal-fired generators [6] I also experimented with wind and solar generators, all of them together gave me a lot of energy, but it was still not enough. Finally, when I built a thermonuclear plant,two Fusion Reactors [7], I stopped complaining about power drops and the need to turn on only selected processes in a given time.
Tech Age mod is very computerized. Even too much! The player has the ability to control various devices and processes remotely. The game provides programmable buttons and "computers", with which you can turn something on, off, or check their status. Each machine has its own unique number, so that is how you identify them, when you need to program their external control. I have put in one place buttons that I can use to open or close the entrances to the building, start or stop oil processing, or turn on or off power generators [8]. With the help of control monitors, I can check the level of various substances in tanks, the status of selected machines [9] and even the amount of electricity needed by running machines and generated by generators [10]. There are also items that you can use to program in-game objects using Lua and even something like assembler language.
In this game you can search for crude oil on a map, then build drilling wells and transport oil in carts or with pipes to refineries. Oil distillation produces bitumen, fuel oil, naphta, gasoline, and propane [11]. You can collect all that stuff in tanks and process it later. You can use bitumen to make an asphalt roads (you can move faster on them), fuel oil to create vulcanized rubber items, naphta to get epoxide resin, gasoline to generate electricity or power cars that drive on asphalt roads, and propane to make isobutane. You can process one petroleum material into another, so you can even all your crude oil turn into a gasoline (or bitumen). Oil distillation need electric power.
Tech Age provide a chemical reactors, which are an alternative type of crafting workshop. Thanks to these reactors, you can convert the initial objects into other objects. You can change water with usmium powder into lye liquid, and then lye with bauxite powder into gibbsite. Smelted gibbsite turn into an aluminium, which is important material later in the game. You can have one chemical reactor and changing its connection with different tanks, choosing different recipie when needed, or you can build many chemical reactors, with fixed set up to produce one specific thing. I choose that second solution, with fixed production line [12]. Chemical reactors need electric power.
<img src="https://i.ibb.co/HnY1QSF/pic02.png" alt="Image" style="zoom:150%;" />
In the picture [13, 14, 15] you can see my final version of the process of obtaining ores by sieving. Nothing has changed in the idea of this process, described earlier. Just the whole thing is built with faster and more efficient machines, powered by electricity. And there are 3 lines of sieving. The initial cobbles are split into three loads, each of which goes to a separate line of transporting through the Grinder, Gravel Sieve and Gravel Rinser. The output is sorted to the final chests, and the ores are melted immediately into ingots. 3 parallel production lines ensure faster acquisition of end products.
At one point in my game, I was running out of electricity and the challenge was to move to the next technological level. When I started the Hardon Collider [16, 17], it needed a lot of energy, but I needed the points it generated to build fusion reactors. I managed this somehow. The fusion reactor needs electricity too, it consumes half of what it produces. But with two of them, I have now even too much electricity! ;-)
So if you are looking for a quiet game for a long time, where instead of fighting a monster you want to build machines, improve your factories, create accelerators and fusion reactors, plan technical puzzles, this can be for you. You don't have to worry, that you probably you do not know evrything in this game. It is natural that you will face a questions: what next, how to build it, how to achieve it? You will discover it all. By experimenting and asking the right questions, you solve all the challenges!
And finallyt, I would like to thank the creator of Tech Age and the people who maintain the server. It's great entertainment!

View File

@ -2,19 +2,19 @@
Tech Age ist eine Technik-Mod mit 5 Entwicklungsstufen:
TA1: Eisenzeitalter (Iron Age)
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)
TA2: Dampfzeitalter (Steam Age)
Baue eine Dampfmaschine mit Antriebsachsen und betreibe damit deine ersten Maschinen zur Verarbeitung von Erzen.
TA3: Ölzeitalter (Oil Age)
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: Gegenwart (Present)
TA4: Gegenwart (Present)
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.
TA5: Zukunft (Future)
TA5: Zukunft (Future)
Maschinen zur Überwindung von Raum und Zeit, neue Energiequellen und andere Errungenschaften prägen dein Leben.

View File

@ -2,23 +2,23 @@
Tech Age is a technology mod with 5 development stages:
TA1: Iron Age
TA1: Iron Age
Use tools and aids such as coal burners, coal burners, gravel sieves, hammers and hoppers to mine and process the necessary ores and metals.
TA2: Steam Age
TA2: Steam Age
Build a steam engine with drive axles and use it to operate your first ore processing machines.
TA3: Oil Age
TA3: Oil Age
Find and extract oil, built railways for oil transportation. A power plant provides the necessary electricity for your machines. Electric light illuminates your industrial plants.
TA4: Present
Renewable energy sources such as wind, sun and biofuels help you to leave the oil age. With modern technologies and intelligent machines you set out into the future.
TA4: Present
Renewable energy sources such as wind, sun and bio-fuels help you to leave the oil age. With modern technologies and intelligent machines you set out into the future.
TA5: Future
TA5: Future
Machines to overcome space and time, new sources of energy and other achievements shape your life.
Note: With a click on the plus sign you get into the subchapters of this manual.
Note: With a click on the plus sign you get into the sub-chapters of this manual.
[techage_ta4|image]

110
manuals/manual_pt-BR.md Normal file
View File

@ -0,0 +1,110 @@
# Mod Tech Age
O Tech Age é um mod de tecnologia com 5 estágios de desenvolvimento:
## TA1: Idade do Ferro
Utilize ferramentas e instrumentos auxiliares como queimadores de carvão, peneiras de cascalho, martelos e funis para extrair e processar minérios e metais necessários.
## TA2: Idade do Vapor
Construa uma máquina a vapor com eixos de transmissão e use-a para operar suas primeiras máquinas de processamento de minérios.
## TA3: Idade do Petróleo
Encontre e extraia óleo, construa ferrovias para transporte de óleo. Uma usina fornece a eletricidade necessária para suas máquinas. A luz elétrica ilumina suas instalações industriais.
## TA4: Tempos atuais (Presente)
Fontes de energia renovável, como vento, sol e biocombustíveis, ajudam você a sair da era do petróleo. Com tecnologias modernas e máquinas inteligentes, você parte para o futuro.
## TA5: Futuro
Máquinas para superar espaço e tempo, novas fontes de energia e outras conquistas moldam sua vida.
Nota: Clicando no sinal de adição, você acessa os subcapítulos deste manual.
[techage_ta4|image]
# Dicas
Esta documentação está disponível tanto "dentro do jogo" (plano de construção de blocos) quanto no GitHub como arquivos MD.
* Link: https://github.com/joe7575/techage/wiki
Os planos de construção (diagramas) para a construção das máquinas e as imagens estão disponíveis apenas no jogo.
Com o Tech Age, você precisa começar do zero. Você só pode criar blocos TA2 com os itens do TA1, para o TA3 você precisa dos resultados do TA2, e assim por diante.
No TA2, as máquinas só funcionam com eixos de transmissão.
A partir do TA3, as máquinas funcionam com eletricidade e têm uma interface de comunicação para controle remoto.
O TA4 adiciona mais fontes de energia, mas também desafios logísticos mais altos (linhas de energia, transporte de itens).
# Mudanças a partir da versão 1.0
A partir da V1.0 (17/07/2021), as seguintes alterações foram feitas:
* O algoritmo para calcular a distribuição de energia foi alterado. Isso torna os sistemas de armazenamento de energia mais importantes. Eles compensam as flutuações, o que é importante em redes maiores com vários geradores.
* Por esse motivo, o TA2 recebeu seu próprio sistema de armazenamento de energia.
* Os blocos de bateria do TA3 também servem como armazenamento de energia. Sua funcionalidade foi adaptada de acordo.
* O sistema de armazenamento do TA4 foi revisado. O permutador de calor recebeu um novo número porque a funcionalidade foi movida do bloco inferior para o bloco central. Se eles estiverem sendo controlados remotamente, o número do nó deve ser adaptado. Os geradores não têm mais um menu próprio, mas são ligados/desligados apenas através do permutador de calor. O permutador de calor e o gerador agora devem estar conectados à mesma rede!
* Vários sistemas de energia podem agora ser acoplados via blocos transformadores TA4.
* Um novo bloco medidor de eletricidade TA4 para sub-redes também foi adicionado.
* Pelo menos um bloco de bateria ou um sistema de armazenamento em cada rede.
## Dicas sobre a troca
Muitos outros blocos receberam alterações menores. Portanto, é possível que máquinas ou sistemas não reiniciem imediatamente após a troca. Em caso de falhas, as seguintes dicas ajudarão:
* Desligue e ligue as máquinas novamente.
* Remova um bloco de cabo de energia e coloque-o de volta no lugar.
* Remova completamente o bloco e coloque-o de volta no lugar.
# Minérios e Minerais
Techage adiciona novos itens ao jogo:
* Meridium - uma liga para a produção de ferramentas luminosas no TA1
* Usmium - um minério que é extraído no TA2 e necessário para o TA3
* Baborium - um metal necessário para receitas no TA3
* Petróleo - necessário no TA3
* Bauxita - um minério de alumínio necessário no TA4 para produzir alumínio
* Basalto - surge quando água e lava se encontram
## Meridium
O Meridium é uma liga de aço e cristais de mesecons. Lingotes de Meridium podem ser feitos com a caldeira a carvão a partir de aço e cristais de mesecons. O Meridium brilha no escuro. Ferramentas feitas de Meridium também emitem luz e são, portanto, muito úteis na mineração subterrânea.
[meridium|image]
## Usmium
O Usmium ocorre apenas como pepitas e só pode ser obtido lavando cascalho com o sistema de lavagem de cascalho TA2/TA3.
[usmium|image]
## Baborium
O Baborium só pode ser obtido através da mineração subterrânea. Essa substância só pode ser encontrada a uma profundidade de -250 a -340 metros.
O Baborium só pode ser derretido na Fornalha Industrial TA3.
[baborium|image]
## Petróleo
O Petróleo só pode ser encontrado com a ajuda do Explorer e extraído com a ajuda de máquinas apropriadas do TA3. Veja TA3.
[oil|image]
## Bauxita
A Bauxita é extraída apenas na mineração subterrânea. A Bauxita só é encontrada na pedra a uma altura entre -50 e -500 metros.
É necessária para a produção de alumínio, que é principalmente usada no TA4.
[bauxite|image]
## Basalto
O Basalto só é criado quando lava e água se encontram.
A melhor coisa a fazer é montar um sistema onde uma fonte de lava e uma fonte de água se encontram.
O Basalto é formado onde ambos os líquidos se encontram.
Você pode construir um gerador automático de basalto com o Sign Bot.
[basalt|image]
## History
- 28.09.2019: Solar system added
- 05.10.2019: Data on the solar system and description of the inverter and the power terminal changed
- 18.11.2019: Chapter for ores, reactor, aluminum, silo, bauxite, furnace heating, gravel washing system added
- 22.02.2020: corrections and chapters on the update
- 29.02.2020: ICTA controller added and further corrections
- 14.03.2020 Lua controller added and further corrections
- 22.03.2020 More TA4 blocks added

119
manuals/manual_ta1_pt-BR.md Normal file
View File

@ -0,0 +1,119 @@
# TA1: Idade do Ferro
TA1 trata da extração de minérios suficientes e da produção de carvão com ferramentas e equipamentos simples, para que as máquinas TA2 possam ser fabricadas e operadas.
É claro que, para uma Idade do Ferro, deve haver ferro e não apenas aço, como em "Minetest Game". Como resultado, algumas receitas foram alteradas para que o ferro precise ser produzido primeiro e, posteriormente, o aço.
A durabilidade das ferramentas é baseada nas eras e, portanto, não corresponde ao jogo original do Minetest.
A durabilidade/dureza de um machado, por exemplo:
* Bronze: 20
* Aço: 30
[techage_ta1|image]
## Pilha de Carvão (queimador de carvão)
Você precisa da Pilha de Carvão para fazer carvão. O carvão é necessário para a fundição, mas também, por exemplo, em TA2 para a máquina a vapor.
Para o queimador de carvão, você precisa de:
* Um bloco de acendedor (`techage:lighter`)
* 26 blocos de madeira empilhados para formar um monte de madeira. O tipo de madeira é irrelevante.
* Terra para cobrir o monte de madeira
* Pedra lascada e Ferro (nome técnico: `fire:flint_and_steel`) para acender o bloco de acendedor
Instruções de construção (veja também o plano):
* Construa uma área de 5x5 de terra
* Coloque 7 blocos de madeira ao redor do acendedor, mas deixe um buraco para o acendedor
* Construa mais 2 camadas de madeira em cima, formando um cubo de madeira 3x3x3
* Cubra tudo com uma camada de terra formando um cubo de 5x5x5, mas mantenha o buraco para o acendedor aberto
* Acenda utilizando o isqueiro e feche imediatamente o buraco com um bloco de madeira e terra
* Se você fez tudo corretamente, o queimador de carvão começará a soltar fumaça após alguns segundos
* Só abra o queimador de carvão quando a fumaça tiver desaparecido (aproximadamente 20 minutos)
* Então você pode remover os 9 blocos de carvão e reabastecer a Pilha de Carvão.
[coalpile|plan]
## Forno de Fundição
Você precisa do forno de fundição, por exemplo, para fundir ferro e outros minérios no Vaso de fundição(cadinho). Existem receitas diferentes que requerem diferentes temperaturas. Quanto mais alto a torre de fusão, mais quente é a chama. Uma altura de 11 blocos acima da placa base é para todas as receitas, mas um queimador com essa altura também requer mais carvão.
Instruções de construção (veja também o plano):
* Construa uma torre de pedregulho (cobble) com uma base de 3x3 (7-11 blocos de altura)
* Deixe um buraco aberto de um lado na parte inferior
* Coloque um acendedor nele
* Encha a torre até a borda com carvão despejando o carvão no buraco de cima para baixo
* Acenda o acendedor através do buraco
* Coloque o Vaso de fundição(cadinho) no topo da torre diretamente na chama, um bloco acima da borda da torre
* Para parar o queimador, feche temporariamente o buraco com um bloco de terra, por exemplo.
* O Vaso de fundição(cadinho) tem seu próprio menu de receitas e um inventário onde você precisa colocar os minérios.
[coalburner|plan]
## Moinho d'Água
O moinho d'água pode ser usado para moer trigo e outros grãos para fazer farinha e depois assá-los no forno para fazer pão.
O moinho é alimentado por energia hidráulica. Para isso, um curso de água deve ser conduzido até a roda do moinho através de um canal.
O fluxo de água e, portanto, a roda do moinho, podem ser controlados por meio de uma comporta. A comporta é composta pelo bloqueio de comporta e pela alavanca de comporta.
A imagem à direita (clique em "Plano") mostra a estrutura do moinho d'água.
[watermill1|plan]
### Moinho d'Água TA1
O moinho d'água pode ser usado para moer trigo e outros grãos para fazer farinha e depois assá-los no forno para fazer pão. O moinho deve ser conectado à roda do moinho com um eixo TA1. A potência da roda do moinho é apenas suficiente para um moinho.
O moinho pode ser automatizado com a ajuda de um Funil(Minecart Hopper), para que a farinha, por exemplo, seja transportada diretamente do moinho para um forno para assar pão.
[watermill2|plan]
### Comporta TA1
A válvula de comporta deve ser colocada diretamente ao lado de um lago ou em um riacho na mesma altura que a superfície da água.
Quando a comporta é aberta, a água flui através do canal. Essa água deve ser conduzida até a roda do moinho, onde movimenta o moinho.
[ta1_sluice|image]
### Alavanca de Comporta TA1
A alavanca de comporta TA1 deve ser colocada na comporta. A comporta pode ser aberta com a ajuda da alavanca de comporta (clique com o botão direito).
[ta1_sluice_handle|image]
### Placa de Madeira de Maçã TA1
Podem ser usados bloco de diferentes tipos de madeira para construir o canal do curso d'água. No entanto, qualquer outro material também pode ser usado.
[ta1_board1|image]
### Placa de Curso d'Água de Maçã TA1
Podem ser utilizados blocos em diferentes tipos de madeira para construir o canal do curso d'água. Este bloco é especialmente adequado em conexão com postes da cerca de madeira para construir um suporte do canal.
[ta1_board2|image]
# Minérios e Ferramentas
O TA1 possui suas próprias ferramentas, como martelo e peneira de cascalho, mas o Funil(Minecart Hopper) também pode ser utilizado.
## Martelo
O martelo TA1 pode ser utilizado para bater/escavar pedra em uma mina, mas também para quebrar pedregulho(cobble) em cascalho(gravel). O martelo está disponível em diferentes versões, cada uma com propriedades distintas: bronze, aço, latão e diamante.
## Peneira de Cascalho(Sieve)
Minérios podem ser peneirados do cascalho com a peneira de cascalho. Para fazer isso, clique na peneira com o cascalho. O cascalho peneirado e os minérios caem abaixo.
Para não ficar horas na peneira, é possível automatizar o processo com o Funil(Minecart Hopper).
## Funil (Minecart Hopper)
O funil do mod "Minecart Hopper" é utilizado principalmente para carregar e descarregar carrinhos de mineração. Ele suga itens de cima e os passa para a direita. Portanto, ao posicionar o funil, preste atenção na direção de dispensa.
O funil também pode puxar itens de baús, desde que a caixa esteja ao lado ou em cima do funil.
O funil também pode colocar itens em baús se a caixa estiver ao lado do funil.
## Peneirando sete cascalhos com Funil
Com a ajuda de dois baús, dois funis e uma peneira de cascalho, o processo de peneiração pode ser automatizado. O plano à direita mostra a estrutura.
Certifique-se de que os baús são protegidos, caso contrário, alguém pode roubar os minérios valiosos do baú abaixo.
Meridium
O TA1 possui sua própria liga metálica, o Meridium. Lingotes de meridium podem ser feitos com a caldeira a carvão, utilizando aço e cristais de mesecons. O meridium brilha no escuro. Ferramentas feitas de meridium também emitem luz, sendo, portanto, muito úteis na mineração subterrânea.

View File

@ -66,7 +66,7 @@ Teil der Dampfmaschine. Der Boiler muss mit dem Zylinder über die Dampfleitunge
### TA2 Antriebsachsen / TA2 Drive Axle
Die Antriebsachsen dienen zur Kraftübertragung von der Dampfmaschine zu anderen Maschinen. Die maximale Länge einer Antriebsachse beträgt 10 Blöcke. Über Getriebeboxen können auch größere Strecken überbrückt, sowie Abzweigungen und Richtungswechsel realisiert werden.
Die Antriebsachsen dienen zur Kraftübertragung von der Dampfmaschine zu anderen Maschinen. Die maximale Länge einer Antriebsachse beträgt 10 Blöcke. Über Getriebeblöcke können auch größere Strecken überbrückt, sowie Abzweigungen und Richtungswechsel realisiert werden.
[ta2_driveaxle|image]
@ -87,7 +87,7 @@ Bei größeren Anlagen mit mehreren Dampfmaschinen oder vielen angetriebenen Mas
Der Energiespeicher besteht aus mehreren Blöcken und muss wie im Plan rechts abgebildet, zusammen gebaut werden.
Um die maximale Speicherkapazität zu erreichen, muss die Kiste mit Gewichten komplett gefüllt, und der Mast inklusive der zwei Getriebeboxen 12 Blöcke hoch sein. Kleinere Aufbauten sind aber auch möglich.
Um die maximale Speicherkapazität zu erreichen, muss die Kiste mit Gewichten komplett gefüllt, und der Mast inklusive der zwei Getriebeblöcke 12 Blöcke hoch sein. Kleinere Aufbauten sind aber auch möglich.
[ta2_storage|plan]
@ -95,7 +95,7 @@ Um die maximale Speicherkapazität zu erreichen, muss die Kiste mit Gewichten ko
### TA2 Seilwinde / TA2 Winch
Die Seilwinde muss mit einer Getriebebox verbunden werden und kann so überschüssige Energie aufnehmen und damit eine Gewichtekiste nach oben ziehen. Die maximale Seillänge beträgt 10 Blöcke.
Die Seilwinde muss mit einem Getriebeblock verbunden werden und kann so überschüssige Energie aufnehmen und damit eine Gewichtekiste nach oben ziehen. Achte beim Aufbau der Seilwinde darauf, dass der Pfeil auf der Blockoberseite zum Getriebeblock zeigt. Die maximale Seillänge beträgt 10 Blöcke.
[ta2_winch|image]
@ -109,6 +109,14 @@ Diese Kiste muss mit bis zu 10 Blöcken Abstand unter die Seilwinde gesetzt und
### TA2 Kupplung / TA2 Clutch
Mit der Kupplung können Achsen und Maschinen vom Energiespeicher getrennt werden. Damit kommen die Achsen nach der Kupplung zum Stillstand und Maschinenanlagen können umgebaut werden. Achte beim Aufbau der Kupplung darauf, dass der Pfeil auf der Blockoberseite zum Energiespeicher zeigt.
[techage:ta2_clutch_off|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.

View File

@ -94,7 +94,9 @@ In order to achieve the maximum storage capacity, the chest must be completely f
### TA2 Winch
The cable winch must be connected to a gear box and can absorb excess energy and thus pull a weight chest upwards. The maximum rope length is 10 blocks.
The cable winch must be connected to a gear box and can absorb excess energy and thus pull a weight chest upwards.
When assembling the cable winch, make sure that the arrow on the top of the block points to the gearbox.
The maximum rope length is 10 blocks.
[ta2_winch|image]
@ -108,6 +110,14 @@ This chest must be placed under the winch with a distance of up to 10 blocks and
### TA2 Clutch
With the clutch, axles and machines can be separated from the energy storage. This means that the axles after the clutch come to a standstill and machine systems can be rebuilt. When assembling the clutch, make sure that the arrow on the top of the block points to the energy storage system.
[techage:ta2_clutch_off|image]
## Push and sort items
In order to transport objects from one processing station to the next, pushers and tubes are used. See plan.

284
manuals/manual_ta2_pt-BR.md Normal file
View File

@ -0,0 +1,284 @@
# TA2: Era a Vapor
TA2 trata-se de construir e operar as primeiras máquinas para processamento de minérios. Algumas máquinas precisam ser acionadas por eixos de transmissão. Para fazer isso, você precisa construir uma máquina a vapor e aquecê-la com carvão ou carvão vegetal.
No TA2, há também um lavador de cascalho que pode ser usado para lavar minérios raros, como pepitas de Usmium. Você precisará dessas pepitas posteriormente para receitas adicionais.
[techage_ta2|image]
## Máquina a Vapor
A máquina a vapor é composta por vários blocos e deve ser montada conforme mostrado no plano à direita. São necessários os blocos da Caixa de Fogo(Firebox) TA2, parte superior da Caldeira(Boiler) TA2, parte inferior da Caldeira(Boiler) TA2, Cilindro(Cylinder) TA2, Volante(Flywheel) TA2 e Tubos de Vapor(steam piper) TA2.
Além disso, são necessários Eixos de Transmissão(drive axles) e blocos de Engrenagem(gear) para mudança de direção. O Volante deve ser conectado a todas as máquinas que precisam ser acionadas pelos Eixos de Transmissão.
Sempre preste atenção ao alinhamento de todos os blocos ao colocá-los:
- Cilindro à esquerda, volante à direita
- Conectar os tubos de vapor onde há um furo correspondente
- Eixo de transmissão no volante apenas à direita
- Em todas as máquinas, os eixos de transmissão podem ser conectados em todos os lados que não estejam ocupados por outras funções, como os furos de ENTRADA(IN) e SAÍDA(OUTPUT) no Moedor(grinder) e na Peneira(sieve).
A Caldeira deve ser preenchida com água. Preencha até 10 baldes de água na caldeira.
A Caixa de fogo deve ser preenchida com carvão ou carvão vegetal.
Quando a água estiver quente (indicador de temperatura no topo), a máquina a vapor pode ser iniciada no Volante.
A máquina a vapor tem uma capacidade de 25ku, podendo acionar várias máquinas ao mesmo tempo.
[steamengine|plan]
### Caixa de Fogo(Firebox) TA2
Parte da máquina a vapor.
A Caixa de fogo deve ser preenchida com carvão ou carvão vegetal. O tempo de queima depende da potência exigida pela máquina a vapor. O carvão queima por 32s e o carvão vegetal por 96s em carga máxima.
[ta2_firebox|image]
### TA2 Caldeira(Boiler)
Parte da máquina a vapor. Deve ser preenchida com água. Isso é feito clicando na caldeira com um balde de água. Quando não há mais água ou a temperatura cai muito, a máquina a vapor desliga. Com a máquina a vapor, parte da água é perdida como vapor a cada curso do pistão, então a água deve ser reabastecida regularmente.
[ta2_boiler|image]
### TA2 Cilindro(Cylinder)
Parte da máquina a vapor.
[ta2_cylinder|image]
### TA2 Volante(Flywheel)
Parte motora da máquina a vapor. O Volante deve ser conectado às máquinas por meio de eixos de transmissão.
[ta2_flywheel|image]
### TA2 Tubos de Vapor(Steam pipes)
Parte da máquina a vapor. A caldeira deve ser conectada ao cilindro por meio dos Tubos de vapor. O tubo de vapor não tem ramificações, o comprimento máximo é 12 m (blocos).
[ta2_steampipe|image]
### TA2 Eixo de Transmissão(Drive axle) TA2 / Caixa de Engrenagem(Gearbox)
Os Eixos de transmissão são usados para transmitir energia da máquina a vapor para outras máquinas. O comprimento máximo de um eixo de transmissão é 10 blocos. Com as Caixas de Engrenagem TA2, é possível vencer distâncias maiores, e também realizar ramificações e mudanças de direção.
[ta2_driveaxle|image]
### TA2 Gerador de Energia
O Gerador de Energia TA2 é necessário para operar lâmpadas ou outros consumidores de energia em uma Máquina a vapor. O Gerador de Energia TA2 deve ser conectado aos eixos de transmissão de um lado e, em seguida, fornece eletricidade do outro lado.
Se o Gerador de Energia não receber energia suficiente, ele entra em estado de erro e deve ser reativado com um clique direito.
O Gerador de Energia consome no máximo 25ku de potência do eixo e fornece no máximo 24ku como eletricidade do outro lado. Portanto, ele consome um ku para a conversão.
[ta2_generator|image]
## TA2 Armazenamento de Energia
Para sistemas maiores com várias máquinas a vapor ou muitas máquinas acionadas, é recomendado um sistema de armazenamento de energia. O armazenamento de energia no TA2 funciona com energia potencial. Para isso, o peso (pedras, cascalho, areia) é puxado para cima em um baú com a ajuda de um guincho. Se houver excesso de energia na rede de eixos, o baú é puxado para cima. Se mais energia for necessária a curto prazo do que a máquina a vapor pode fornecer, o armazenamento de energia libera a energia armazenada novamente e o baú de pesos desce novamente.
O armazenamento de energia é composto por vários blocos e deve ser montado conforme mostrado no plano à direita.
Para alcançar a capacidade máxima de armazenamento, o baú deve ser completamente preenchido com pesos e o mastro, incluindo as duas caixas de engrenagens, deve ter 12 blocos de altura. Estruturas menores também são possíveis.
[ta2_storage|plan]
### TA2 Guincho
O guincho deve ser conectado a uma caixa de engrenagens e pode absorver energia excessiva e assim puxar um baú de pesos para cima.
Ao montar o guincho, certifique-se de que a seta no topo do bloco aponte para a caixa de engrenagens.
O comprimento máximo da corda é 10 blocos.
[ta2_winch|image]
### TA2 Baú de Pesos
Este baú deve ser colocado sob o guincho com uma distância de até 10 blocos e preenchido com pedras, cascalho ou areia. Se o peso mínimo de uma pilha (99+ itens)
### TA2 Embreagem
Com a embreagem, eixos e máquinas podem ser separados do armazenamento de energia. Isso significa que os eixos após a embreagem param e sistemas de máquinas podem ser reconstruídos. Ao montar a embreagem, certifique-se de que a seta na parte superior do bloco aponta para o sistema de armazenamento de energia.
[techage:ta2_clutch_off|image]
## Empurrar e classificar itens
Para transportar objetos de uma estação de processamento para a próxima, são usados pushers e tubos. Veja o plano.
[itemtransport|plan]
### Tubo TechAge
Duas máquinas podem ser conectadas com a ajuda de um pusher e um tubo. Tubos não têm ramificações. O comprimento máximo é 200m (blocos).
Alternativamente, os tubos podem ser colocados usando a tecla Shift. Isso permite, por exemplo, que tubos sejam colocados em paralelo sem que eles se conectem acidentalmente.
A capacidade de transporte de um tubo é ilimitada e é limitada apenas pelo pusher.
[tube|image]
### Tubo Concentrador
Vários tubos podem ser combinados em um único tubo via concentrador. A direção na qual todos os itens são passados é marcada com uma seta.
[concentrator|image]
### TA2 Pusher
Um pusher(empurrador) é capaz de puxar itens de caixas ou máquinas e empurrá-los para outras caixas ou máquinas. Em outras palavras, deve haver um e apenas um pusher entre dois blocos com inventário. Múltiplos pushers em sequência não são possíveis.
No entanto, na direção oposta, um pusher é permeável a itens, de modo que uma caixa pode ser preenchida via tubo e também ensinada.
Um pusher entra no estado "standby" se não tiver itens para empurrar. Se a saída estiver bloqueada ou o inventário do destinatário estiver cheio, o pusher entra no estado "bloqueado". O pusher automaticamente sai de ambos os estados após alguns segundos se a situação mudar.
A capacidade de processamento de um pusher TA2 é de 2 itens a cada 2 s.
[ta2_pusher|image]
### TA2 Distributor(Distribuidor)
O distribuidor é capaz de transportar os itens de seu inventário ordenados em até quatro direções. Para fazer isso, o distribuidor deve ser configurado conforme necessário.
O distribuidor possui um menu com 4 filtros com cores diferentes, correspondendo às 4 saídas. Se uma saída for usada, o filtro correspondente deve ser ativado via caixa de seleção "ligado". Todos os itens configurados para este filtro são enviados através da saída designada. Se um filtro for ativado sem que itens sejam configurados, estamos falando de uma saída "não configurada", aberta.
**Atenção: O distribuidor também é um pusher em suas saídas. Portanto, nunca puxe itens do distribuidor com um pusher!**
Existem dois modos de operação para uma saída não configurada:
1) Enviar todos os itens que não podem ser enviados para nenhuma outra saída, mesmo que estejam bloqueados.
2) Enviar apenas os itens que não foram configurados para nenhum outro filtro.
No primeiro caso, todos os itens são sempre encaminhados e o distribuidor não fica cheio. No segundo caso, os itens são retidos e o distribuidor pode ficar cheio e, em seguida, bloquear.
O modo de operação pode ser definido usando a caixa de seleção "modo de bloqueio".
A capacidade de processamento de um distribuidor TA2 é de 4 itens a cada 2s, onde o distribuidor tenta distribuir os 4 itens para as saídas abertas.
Se o mesmo item for configurado várias vezes em um filtro, a proporção de distribuição a longo prazo será influenciada de acordo.
Observe que a distribuição é um processo probabilístico. Isso significa que as proporções de distribuição não serão correspondidas exatamente, mas apenas a longo prazo.
O tamanho máximo de pilha nos filtros é 12; no total, não mais que 36 itens podem ser configurados.
[ta2_distributor|image]
## Gravel washer(Lavador de cascalho)
O lavador de cascalho é uma máquina mais complexa com o objetivo de lavar pepitas de Usmium a partir de cascalho peneirado. Um enxaguatório TA2 com eixo de acionamento, um funil, um baú e água corrente são necessários para a instalação.
Estrutura da esquerda para a direita (veja também o plano):
- Um bloco de terra, sobre ele a fonte de água, cercada em 3 lados, por exemplo, por blocos de vidro
- Ao lado, o enxaguatório de cascalho, se necessário com conexões de tubulação para a entrega e remoção de cascalho
- Em seguida, o funil com baú
O conjunto é cercado por mais blocos de vidro, para que a água flua sobre o enxaguatório de cascalho e o funil, e as pepitas lavadas possam ser coletadas novamente pelo funil.
[gravelrinser|plan]
### TA2 Gravel Rinser(Enxaguatório de cascalho)
O lavador de cascalho é capaz de enxaguar os minérios de Usmium e cobre do cascalho que já foi peneirado, desde que seja lavado com água.
Se o Enxaguatório de Cascalho funciona corretamente, pode ser testado com pedaços de madeira, se estes forem colocados no inventário do Enxaguatório de Cascalho. Eles devem ser enxaguados individualmente e recolhidos pelo funil.
A capacidade de processamento é de um item de cascalho a cada 2s. O lavador de cascalho precisa de 3 ku de energia.
[ta2_rinser|image]
## Escavar pedra, moer e peneirar
Esmagar, moer e peneirar pedregulhos é usado para extrair minérios. O cascalho peneirado também pode ser usado para outros fins. A pedreira, moedor e peneira devem ser acionados e, portanto, instalados perto de uma máquina a vapor.
[ta2_grinder|image]
### TA2 Quarry(Pedreira)
A pedreira é usada para remover pedras e outros materiais do subsolo. A pedreira escava um buraco de 5x5 blocos. A profundidade é ajustável.
A capacidade de processamento é de um bloco a cada 4s. A pedreira precisa de 10 ku de energia. A profundidade máxima é de 20 metros. Para maiores profundidades, consulte TA3 / TA4.
[ta2_quarry|image]
### TA2 Grinder(Moedor)
O moedor é capaz de moer várias rochas, mas também madeira e outros itens.
A capacidade de processamento é de um item a cada 4s. O moedor precisa de 4 ku de energia.
[ta2_grinder|image]
### TA2 Gravel Sieve(Peneira de cascalho)
A peneira de cascalho é capaz de peneirar cascalho para extrair minérios. O resultado é parcialmente "sieved gravel", que não pode ser peneirado novamente.
A capacidade de processamento é de um item a cada 4s. A peneira de cascalho requer 3 ku de energia.
[ta2_gravelsieve|image]
## Produzindo Itens
As máquinas TA2 podem não apenas extrair minérios, mas também produzir objetos.
### TA2 Autocrafter
O autocrafter é usado para a produção automática de bens. Tudo o que o jogador pode produzir via "Crafting Grid" também pode ser feito pelo autocrafter. Para isso, a receita deve ser inserida no menu do autocrafter e os ingredientes necessários adicionados.
Ingredientes e produtos fabricados podem ser transportados para dentro e para fora do bloco por meio de tubos e pushers.
A capacidade de processamento é de um item a cada 4s. O autocrafter requer 4 ku de energia.
[ta2_autocrafter|image]
### TA2 Electronic Fab
O electronic fab é uma máquina especial e só pode ser usada para a produção de tubos de vácuo. Tubos de vácuo são necessários para máquinas e blocos TA3.
A capacidade de processamento é de um tubo de vácuo a cada 6s. O electronic fab requer 8 ku de energia.
[ta2_electronicfab|image]
## Outros Blocos
### TA2 Liquid Sampler
Algumas receitas requerem água. Para que essas receitas também possam ser processadas automaticamente com o autocrafter, água deve ser fornecida em baldes. Isso é feito usando o liquid sampler. Ele precisa de baldes vazios e deve ser colocado na água.
A capacidade de processamento é de um balde de água a cada 8s. O liquid sampler requer 3 ku de energia.
[ta2_liquidsampler|image]
### TA2 Protected Chest
O protected chest só pode ser usado por jogadores que têm permissão de construção neste local, ou seja, que têm direitos de proteção. Não importa quem coloca o baú.
[ta2_chest|image]
### Techage Forceload Block
O Minetest divide o mapa em chamados map blocks. Estes são cubos com uma aresta de 16x16x16 blocos. Um map block é sempre completamente carregado pelo servidor, mas apenas os blocos ao redor de um jogador são carregados (aproximadamente 2-3 blocos em todas as direções). Na direção de visão do jogador, também existem mais map blocks. Apenas esta parte do mundo é ativa e apenas aqui as plantas e árvores crescem ou as máquinas funcionam.
Com um bloco forceload, você pode forçar o map block em que o bloco forceload está localizado a permanecer carregado enquanto você estiver no servidor. Quando todos os seus campos e máquinas estão cobertos com blocos Forceload, tudo está sempre em execução.
Os map blocks com suas coordenadas são predefinidos, por exemplo, (0,0,0) a (15,15,15), ou (16,16,16) a (31,31,31).
Você pode mover um bloco forceload dentro de um map block como quiser, a posição do map block permanece inalterada.
[ta2_forceload|image]

View File

@ -197,7 +197,7 @@ Der Stromgenerator kann nur 50 Einheiten Benzin aufnehmen. Ein zusätzlicher Tan
[ta3_tinygenerator|image]
### TA3 Akku Block / Akku Box
### TA3 Akku Block / TA3 Accu Box
Der Akku Block dient zur Speicherung von überschüssiger Energie und gibt bei Stromausfall automatisch Strom ab (soweit vorhanden).
Mehrere Akku Blocks zusammen bilden ein TA3 Energiespeichersystem. Jeder Akku Block hat eine Anzeige für den Ladezustand und für die gespeicherte Ladung, wobei hier immer die Werte für das gesamte Netzwerk angezeigt werden. Die gespeicherte Ladung wird in "kud" also "ku-days" angezeigt (analog zu kWh) 5 kud entspricht damit bspw. 5 ku für einen Spieltag (20 min) oder 1 ku für 5 Spieltage.
@ -489,7 +489,10 @@ Dazu muss der Aufkocher über einen Pumpe mit Erdöl versorgt werden.
## Logik-/Schalt-Blöcke
Neben den Röhren für Warentransport, sowie den Gas- und Stromleitungen gibt es auch noch eine drahtlose Kommunikationsebene, über die Blöcke untereinander Daten austauschen können. Dafür müssen keine Leitungen gezogen werden, sondern die Verbindung zwischen Sender und Empfänger erfolgt nur über die Blocknummer. Alle Blöcke, die an dieser Kommunikation teilnehmen können, zeigen die Blocknummer als Info-Text an, wenn man mit dem Mauscursor den Block fixiert.
Neben den Röhren für Warentransport, sowie den Gas- und Stromleitungen gibt es auch noch eine drahtlose Kommunikationsebene, über die Blöcke untereinander Daten austauschen können. Dafür müssen keine Leitungen gezogen werden, sondern die Verbindung zwischen Sender und Empfänger erfolgt nur über die Blocknummer.
**Info:** Eine **Blocknummer** ist eine eindeutige Zahl, die von Techage beim Setzen von vielen Techage Blöcken generiert wird. Die Blocknummer dient zur Adressierung bei der Kommunikation zwischen Techage Controllern und Maschinen. Alle Blöcke, die an dieser Kommunikation teilnehmen können, zeigen die Blocknummer als Info-Text an, wenn man mit dem Mauscursor den Block fixiert.
Welche Kommandos ein Block unterstützt, kann mit dem TechAge Info Werkzeug (Schraubenschlüssel) ausgelesen und angezeigt werden.
Die einfachsten Kommandos, die von fast allen Blöcken unterstützt werden, sind:
@ -886,7 +889,7 @@ Mit diesem Werkzeug lassen sich die Bohrgestängezange Blöcke wieder entfernen,
[ta3_drill_pipe_wrench|image]
### Techage Schraubendreher
### Techage Schraubendreher / Screwdriver
Der Techage Schraubendreher dient als Ersatz für den normalen Schraubendreher. Es besitzt folgende Funktionen:
@ -896,3 +899,14 @@ Der Techage Schraubendreher dient als Ersatz für den normalen Schraubendreher.
- Shift+Rechtsklick: Die gespeicherte Ausrichtung auf den angeklickten Block anwenden
[ta3_screwdriver|image]
### TechAge Montagewerkzeug / Assembly Tool
Das TechAge Montagewerkzeug dient zum Entfernen und wieder Setzen von Techage Blöcken, ohne dass diese Blöcke ihre Blocknummer verlieren, bzw. beim Setzen eine neue Nummer zugeteilt bekommen. Dies ist bspw. bei Steinbrechern hilfreich, da diese oft umgesetzt werden müssen.
- Linke Taste: Entfernen eines Blocks
- Rechte Taste: Setzen eines Blocks
Der Block, der zuvor mit dem Montagewerkzeug entfernt wurde und wieder gesetzt werden soll, muss sich im Spieler-Inventar ganz links befinden.
[techage:assembly_tool|image]

View File

@ -200,13 +200,13 @@ The power generator can only hold 50 units of gasoline. An additional tank and a
[ta3_tinygenerator|image]
### TA3 Battery Block
### TA3 Accu Block
The battery block is used to store excess energy and automatically delivers power in the event of a power failure (if available).
Several battery blocks together form a TA3 energy storage system. Each battery block has a display for the charging state and for the stored load.
The accu block (rechargeable battery) is used to store excess energy and automatically delivers power in the event of a power failure (if available).
Several accu blocks together form a TA3 energy storage system. Each accu block has a display for the charging state and for the stored load.
The values for the entire network are always displayed here. The stored load is displayed in "kud" or "ku-days" (analogous to kWh) 5 kud thus corresponds, for example, to 5 ku for a game day (20 min) or 1 ku for 5 game days.
A battery block has 3.33 kud
A accu block has 3.33 kud
[ta3_akkublock|image]
@ -491,7 +491,10 @@ To do this, the reboiler must be supplied with oil via a pump.
## Logic / Switching Blocks
In addition to the tubes for goods transport, as well as the gas and power pipes, there is also a wireless communication level through which blocks can exchange data with each other. No lines have to be drawn for this, the connection between transmitter and receiver is only made via the block number. All blocks that can participate in this communication show the block number as info text if you fix the block with the mouse cursor.
In addition to the tubes for goods transport, as well as the gas and power pipes, there is also a wireless communication level through which blocks can exchange data with each other. No lines have to be drawn for this, the connection between transmitter and receiver is only made via the block number.
**Info:** A block number is a unique number that is generated by Techage when many Techage blocks are placed. The block number is used for addressing during communication between Techage controllers and machines. All blocks that can participate in this communication show the block number as info text if you fix the block with the mouse cursor.
Which commands a block supports can be read out and displayed with the TechAge Info Tool (wrench).
The simplest commands supported by almost all blocks are:
@ -887,3 +890,15 @@ The Techage Screwdriver serves as a replacement for the normal screwdriver. It h
- Shift + right click: apply the saved alignment to the clicked block
[ta3_screwdriver|image]
### TechAge Assembly Tool
The TechAge Assembly Tool is used to remove and reposition Techage blocks without these blocks losing their block number or being assigned a new number when setting. This is helpful, for example, for quarries, as they often have to be moved.
- Left button: Remove a block
- Right button: Set a block
The block that was previously removed with the assembly tool and is to be placed again must be on the far left of the player inventory.
[techage:assembly_tool|image]

890
manuals/manual_ta3_pt-BR.md Normal file
View File

@ -0,0 +1,890 @@
# TA3: Era do Petróleo
Na TA3, é importante substituir as máquinas a vapor por máquinas mais potentes movidas a eletricidade.
Para fazer isso, é necessário construir usinas termelétricas a carvão e geradores. Logo você perceberá que suas necessidades de eletricidade só podem ser atendidas com usinas movidas a óleo. Portanto, você parte em busca de petróleo. Torres de perfuração e bombas de petróleo ajudam a extrair o óleo. Ferrovias são usadas para transportar o óleo até as usinas.
A era industrial está em seu auge.
[techage_ta3|image]
## Usina Termelétrica a Carvão / Usina Termelétrica a Óleo
A usina termelétrica a carvão é composta por vários blocos e deve ser montada conforme mostrado no plano à direita. São necessários os blocos Fornalha(Firebox) TA3, Topo da Caldeira TA3, Base da Caldeira TA3, Turbina TA3, Gerador TA3 e Resfriador TA3.
A caldeira deve ser preenchida com água. Encha até 10 baldes de água na caldeira.
A caixa de fogo deve ser preenchida com carvão ou carvão vegetal.
Quando a água estiver quente, o gerador pode ser iniciado.
Alternativamente, a usina pode ser equipada com um queimador de óleo e operada com óleo. O óleo pode ser reabastecido usando uma bomba e um tubo de óleo.
A usina fornece uma saída de 80 ku.
[coalpowerstation|plan]
### TA3 Fornalha(firebox) da estação de energia
Parte da usina de energia.
A fornalha deve ser preenchida com carvão ou carvão vegetal. O tempo de queima depende da potência solicitada pela usina. Carvão queima por 20s e carvão vegetal por 60s em carga total. Proporcionalmente mais tempo em carga parcial (50% de carga = dobro do tempo).
[ta3_firebox|image]
### TA3 Queimador de Óleo da Usina de Energia
Parte da usina de energia.
O queimador de óleo pode ser preenchido com óleo cru, óleo combustível, nafta ou gasolina. O tempo de queima depende da potência solicitada pela usina. Em carga total, óleo cru queima por 15s, óleo combustível por 20s, nafta por 22s e gasolina por 25s.
Proporcionalmente mais tempo em carga parcial (50% de carga = dobro do tempo).
O queimador de óleo pode armazenar apenas 50 unidades de combustível. Recomenda-se, portanto, um tanque de óleo adicional e uma bomba de óleo.
[ta3_oilbox|image]
### TA3 Base / Topo da Caldeira
Parte da usina de energia. Deve ser preenchida com água. Se não houver mais água ou a temperatura diminuir muito, a usina desliga.
O consumo de água da caldeira TA3 é muito menor do que o da máquina a vapor devido ao circuito de vapor fechado.
Com a máquina a vapor, parte da água é perdida como vapor a cada curso do pistão.
[ta3_boiler|image]
### TA3 Turbina
A turbina faz parte da usina de energia. Deve ser colocada ao lado do gerador e conectada à caldeira e ao resfriador por meio de tubos de vapor, conforme mostrado no plano.
[ta3_turbine|image]
### TA3 Gerador
O gerador é usado para gerar eletricidade. Deve ser conectado às máquinas por meio de cabos de energia e caixas de junção.
[ta3_generator|image]
### TA3 Cooler
Usado para resfriar o vapor quente da turbina. Deve ser conectado à caldeira e à turbina por meio de tubos de vapor, conforme mostrado no plano.
[ta3_cooler|image]
## Corrente elétrica
Em TA3 (e TA4), as máquinas são alimentadas por eletricidade. Para isso, máquinas, sistemas de armazenamento e geradores devem ser conectados com cabos de energia.
TA3 possui 2 tipos de cabos de energia:
- Cabos isolados (cabos de energia TA) para instalação local no chão ou em edifícios. Esses cabos podem ser ocultos na parede ou no chão (podem ser "revestidos" com a colher de pedreiro).
- Linhas aéreas (linha de energia TA) para cabeamento externo em longas distâncias. Esses cabos são protegidos e não podem ser removidos por outros jogadores.
Vários consumidores, sistemas de armazenamento e geradores podem ser operados juntos em uma rede de energia. Redes podem ser configuradas com a ajuda das caixas de junção.
Se houver pouca eletricidade fornecida, os consumidores ficam sem energia.
Nesse contexto, também é importante entender a funcionalidade dos blocos de Forceload, porque os geradores, por exemplo, só fornecem eletricidade quando o bloco de mapa correspondente está carregado. Isso pode ser imposto com um bloco de Forceload.
Em TA4, também existe um cabo para o sistema solar.
[ta3_powerswitch|image]
### Importância dos sistemas de armazenamento
Os sistemas de armazenamento na rede elétrica desempenham duas funções:
- Lidar com picos de demanda: Todos os geradores sempre fornecem exatamente a quantidade de energia necessária. No entanto, se os consumidores forem ligados/desligados ou houver flutuações na demanda por outros motivos, os consumidores podem falhar por um curto período. Para evitar isso, deve sempre haver pelo menos um bloco de bateria em cada rede. Isso serve como um buffer e compensa essas flutuações na faixa de segundos.
- Armazenar energia regenerativa: Solar e eólica não estão disponíveis 24 horas por dia. Para que o fornecimento de energia não falhe quando não há produção de eletricidade, um ou mais sistemas de armazenamento devem ser instalados na rede. Alternativamente, as lacunas também podem ser preenchidas com eletricidade de óleo/carvão.
Um sistema de armazenamento indica sua capacidade em kud, ou seja, ku por dia. Por exemplo, um sistema de armazenamento com 100 kud fornece 100 ku por um dia de jogo, ou 10 ku por 10 dias de jogo.
Todas as fontes de energia TA3/TA4 têm características de carregamento ajustáveis. Por padrão, isso é configurado para "80% - 100%". Isso significa que, quando o sistema de armazenamento estiver 80% cheio, a saída é reduzida cada vez mais até desligar completamente em 100%. Se eletricidade for necessária na rede, nunca se atingirá 100%, pois a potência do gerador em algum momento caiu para a demanda de eletricidade na rede e o sistema de armazenamento não está mais sendo carregado, mas apenas os consumidores estão sendo atendidos.
Isso tem várias vantagens:
- As características de carregamento são ajustáveis. Isso significa, por exemplo, que as fontes de energia de óleo/carvão podem ser reduzidas em 60% e as fontes de energia renovável apenas em 80%. Isso significa que o óleo/carvão só é queimado se não houver energia renovável suficiente disponível.
- Várias fontes de energia podem ser operadas em paralelo e são carregadas quase uniformemente, porque todas as fontes de energia trabalham, por exemplo, até 80% da capacidade de carga do sistema de armazenamento em sua capacidade total e depois reduzem sua capacidade ao mesmo tempo.
- Todos os sistemas de armazenamento em uma rede formam um grande buffer. A capacidade de carga e o nível de preenchimento de todo o sistema de armazenamento podem sempre ser lidos em percentagem em todos os sistemas de armazenamento, mas também no terminal de eletricidade.
[power_reduction|image]
### TA3 Cabo Elétrico
Para fiação local no chão ou em construções.
Ramos podem ser realizados usando caixas de junção. O comprimento máximo do cabo entre máquinas ou caixas de junção é de 1000 m. Um máximo de 1000 nós pode ser conectado em uma rede elétrica. Todos os blocos com conexão elétrica, incluindo caixas de junção, contam como nós.
Como os cabos elétricos não são automaticamente protegidos, as linhas aéreas (TA power line) são recomendadas para distâncias mais longas.
Os cabos elétricos podem ser rebocados com a colher de alvenaria para que fiquem ocultos na parede ou no chão. Todos os blocos de pedra, argila e outros blocos sem "inteligência" podem ser usados como material de reboco. A sujeira não funciona porque pode ser convertida em grama ou algo semelhante, o que destruiria a linha.
Para rebocar, o cabo deve ser clicado com a colher de alvenaria. O material com o qual o cabo deve ser rebocado deve estar no canto mais à esquerda do inventário do jogador.
Os cabos podem ser tornados visíveis novamente clicando no bloco com a colher de alvenaria.
Além dos cabos, a caixa de junção TA e a caixa de interruptores de energia TA também podem ser rebocadas.
[ta3_powercable|image]
### TA Caixa de Junção Elétrica
Com a caixa de junção, a eletricidade pode ser distribuída em até 6 direções. Caixas de junção também podem ser rebocadas (ocultas) com uma colher de alvenaria e tornadas visíveis novamente.
[ta3_powerjunction|image]
### TA Linha de Energia
Com a linha de energia TA e os postes de eletricidade, é possível realizar linhas aéreas razoavelmente realistas. As cabeças dos postes também servem para proteger a linha de energia (proteção). Um poste deve ser colocado a cada 16 m ou menos. A proteção se aplica apenas à linha de energia e aos postes; no entanto, todos os outros blocos nesta área não estão protegidos.
[ta3_powerline|image]
### TA Poste de Energia
Usado para construir postes de eletricidade. É protegido contra destruição pela cabeça do poste de eletricidade e só pode ser removido pelo proprietário.
[ta3_powerpole|image]
### TA Topo do Poste de Energia
Possui até quatro braços e permite assim a distribuição de eletricidade em até 6 direções.
A cabeça do poste de eletricidade protege as linhas de energia e os postes dentro de um raio de 8 m.
[ta3_powerpole4|image]
### TA Topo do Poste de Energia 2
Esta cabeça de poste de eletricidade tem dois braços fixos e é usada para as linhas aéreas. No entanto, também pode transmitir corrente para baixo e para cima.
A cabeça do poste de eletricidade protege as linhas de energia e os postes dentro de um raio de 8 m.
[ta3_powerpole2|image]
### TA Interruptor de Energia
O interruptor pode ser usado para ligar e desligar a energia. Para isso, o interruptor deve ser colocado em uma caixa de interruptor de energia. A caixa de interruptor de energia deve ser conectada ao cabo de energia em ambos os lados.
[ta3_powerswitch|image]
### TA Interruptor de Energia Pequeno
O interruptor pode ser usado para ligar e desligar a energia. Para isso, o interruptor deve ser colocado em uma caixa de interruptor de energia. A caixa de interruptor de energia deve ser conectada ao cabo de energia em ambos os lados.
[ta3_powerswitchsmall|image]
### TA Caixa de Interruptor de Energia
Veja o interruptor de energia TA.
[ta3_powerswitchbox|image]
### TA3 Pequeno Gerador de Energia
O pequeno gerador de energia funciona com gasolina e pode ser usado para consumidores pequenos com até 12 ku. A gasolina queima por 150s em carga total. Correspondentemente mais tempo em carga parcial (50% de carga = tempo duplo).
O gerador de energia só pode armazenar 50 unidades de gasolina. Portanto, é aconselhável um tanque adicional e uma bomba.
[ta3_tinygenerator|image]
### TA3 Bloco Acumulador
O bloco acumulador (bateria recarregável) é usado para armazenar energia excedente e fornece automaticamente energia em caso de queda de energia (se disponível).
Vários blocos de acumulador juntos formam um sistema de armazenamento de energia TA3. Cada bloco de acumulador possui um display para o estado de carga e para a carga armazenada.
Os valores para toda a rede são sempre exibidos aqui. A carga armazenada é exibida em "kud" ou "ku-dias" (análogo a kWh). Assim, 5 kud correspondem, por exemplo, a 5 ku para um dia de jogo (20 minutos) ou 1 ku para 5 dias de jogo.
Um bloco de acumulador tem 3,33 kud.
[ta3_akkublock|image]
### TA3 Terminal de Energia
O terminal de energia deve ser conectado à rede elétrica. Ele exibe dados da rede elétrica.
As informações mais importantes são exibidas na metade superior:
- potência do gerador atual/máxima
- consumo de energia atual de todos os consumidores
- corrente de carga atual dentro/fora do sistema de armazenamento
- Estado de carga atual do sistema de armazenamento em percentual
O número de blocos da rede é exibido na metade inferior.
Dados adicionais sobre os geradores e sistemas de armazenamento podem ser consultados através da guia "console".
[ta3_powerterminal|image]
### TA3 Motor Elétrico
O Motor Elétrico TA3 é necessário para operar as máquinas TA2 através da rede elétrica. O Motor Elétrico TA3 converte eletricidade em potência de eixo.
Se o motor elétrico não for alimentado com energia suficiente, ele entra em um estado de falha e deve ser reativado com um clique direito.
O motor elétrico consome no máximo 40 ku de eletricidade e fornece do outro lado no máximo 39 ku como potência de eixo. Portanto, ele consome um ku para a conversão.
[ta3_motor|image]
## TA3 Forno Industrial
O forno industrial TA3 serve como complemento aos fornos normais. Isso significa que todos os produtos podem ser fabricados com receitas de "cozimento", mesmo em um forno industrial. No entanto, também existem receitas especiais que só podem ser feitas em um forno industrial.
O forno industrial possui seu próprio menu para seleção de receitas. Dependendo dos produtos no inventário do forno industrial à esquerda, o produto de saída pode ser selecionado à direita.
O forno industrial requer eletricidade (para o impulsionador) e óleo combustível/gasolina para o queimador. O forno industrial deve ser montado conforme mostrado no plano à direita.
Veja também o aquecedor TA4.
[ta3_furnace|plan]
### TA3 Forno - Queimador de Óleo
Parte do forno industrial TA3.
O queimador de óleo pode ser operado com óleo bruto, óleo combustível, nafta ou gasolina. O tempo de queima é de 64 s para óleo bruto, 80 s para óleo combustível, 90 s para nafta e 100 s para gasolina.
O queimador de óleo pode armazenar apenas 50 unidades de combustível. Portanto, é aconselhável um tanque adicional e uma bomba.
[ta3_furnacefirebox|image]
### TA3 Forno - Parte Superior
Faz parte do forno industrial TA3. Consulte o forno industrial TA3.
[ta3_furnace|image]
### TA3 Reforço
Faz parte do forno industrial TA3. Consulte o forno industrial TA3.
[ta3_booster|image]
## Líquidos
Líquidos como água ou óleo só podem ser bombeados através de tubulações especiais e armazenados em tanques. Assim como com a água, existem recipientes (latas, barris) nos quais o líquido pode ser armazenado e transportado.
Também é possível conectar vários tanques usando as tubulações amarelas e conectores. No entanto, os tanques devem ter o mesmo conteúdo e sempre deve haver pelo menos um tubo amarelo entre o tanque, a bomba e o tubo distribuidor.
Por exemplo, não é possível conectar dois tanques diretamente a um tubo distribuidor.
O enchimento de líquidos é usado para transferir líquidos de recipientes para tanques. O plano mostra como latas ou barris com líquidos são empurrados para um enchimento de líquidos através de empurradores. O recipiente é esvaziado no enchimento de líquidos e o líquido é conduzido para baixo no tanque.
O enchimento de líquidos também pode ser colocado sob um tanque para esvaziar o tanque.
[ta3_tank|plan]
### TA3 Tanque
Líquidos podem ser armazenados em um tanque. Um tanque pode ser preenchido ou esvaziado usando uma bomba. Para fazer isso, a bomba deve ser conectada ao tanque por meio de um tubo (tubos amarelos).
Um tanque também pode ser preenchido ou esvaziado manualmente clicando no tanque com um recipiente de líquido cheio ou vazio (barril, galão). Deve-se observar que os barris só podem ser completamente preenchidos ou esvaziados. Se, por exemplo, houver menos de 10 unidades no tanque, esse restante deve ser removido com galões ou esvaziado com uma bomba.
Um tanque TA3 pode armazenar 1000 unidades ou 100 barris de líquido.
[ta3_tank|image]
### TA3 Bomba
A bomba pode ser usada para bombear líquidos de tanques ou recipientes para outros tanques ou recipientes. A direção da bomba (seta) deve ser observada. As linhas amarelas e os conectores também permitem organizar vários tanques em cada lado da bomba. No entanto, os tanques devem ter o mesmo conteúdo.
A bomba TA3 bombeia 4 unidades de líquido a cada dois segundos.
Observação 1: A bomba não deve ser colocada diretamente ao lado do tanque. Deve sempre haver pelo menos um pedaço de tubo amarelo entre eles.
[ta3_pump|image]
### TA Liquid Filler
O liquid filler é usado para transferir líquidos entre recipientes e tanques.
- Se o liquid filler for colocado sob um tanque e barris vazios forem colocados no liquid filler com um empurrador ou manualmente, o conteúdo do tanque é transferido para os barris e os barris podem ser removidos da saída
- Se o liquid filler for colocado em cima de um tanque e se recipientes cheios forem colocados no liquid filler com um empurrador ou manualmente, o conteúdo é transferido para o tanque e os recipientes vazios podem ser removidos no lado de saída
Deve-se observar que os barris só podem ser completamente cheios ou esvaziados. Se, por exemplo, houver menos de 10 unidades no tanque, este restante deve ser removido com recipientes ou bombeado vazio.
[ta3_filler|image]
### TA4 Tubos(pipe)
Os tubos amarelos são usados para a transmissão de gás e líquidos.
O comprimento máximo do tubo é 100m.
[ta3_pipe|image]
### TA3 Tubos de parede (entre-blocos)
Os blocos servem como aberturas de parede para os tubos, para que não fiquem buracos abertos.
[ta3_pipe_wall_entry|image]
### TA Válvula
Existe uma válvula para os tubos amarelos, que pode ser aberta e fechada com um clique do mouse.
A válvula também pode ser controlada por comandos ligar/desligar.
[ta3_valve|image]
## Produção de Óleo
Para alimentar seus geradores e fogões com óleo, você deve primeiro procurar óleo e construir uma torre de perfuração para extrair o óleo.
Para isso, são utilizados o explorador de óleo TA3, a caixa de perfuração de óleo TA3 e o macaco de bomba de óleo TA3.
[techage_ta3|image]
### TA3 Explorador de petróleo
Você pode procurar petróleo com o explorador de petróleo. Para fazer isso, coloque o bloco no chão e clique com o botão direito para iniciar a busca. O explorador de petróleo pode ser usado tanto acima quanto abaixo do solo em todas as profundidades.
A saída do chat mostra a profundidade até a qual o petróleo foi procurado e quanto petróleo foi encontrado.
Você pode clicar várias vezes no bloco para procurar petróleo em áreas mais profundas. Os campos de petróleo variam em tamanho de 4.000 a 20.000 itens.
Se a busca não der certo, você deve mover o bloco aproximadamente 16 m para frente.
O explorador de petróleo sempre procura petróleo em todo o bloco do mapa e abaixo, no qual foi colocado. Uma nova busca no mesmo bloco do mapa (campo 16x16) portanto, não faz sentido.
Se o petróleo for encontrado, a localização para a torre de perfuração é exibida. Você precisa erguer a torre de perfuração dentro da área mostrada, é melhor marcar o local com uma placa e proteger toda a área contra jogadores estrangeiros.
Não desista de procurar petróleo muito rapidamente. Se tiver azar, pode levar muito tempo para encontrar um poço de petróleo.
Também não faz sentido procurar em uma área que outro jogador já tenha procurado. A chance de encontrar petróleo é a mesma para todos os jogadores.
O explorador de petróleo pode ser sempre usado para procurar petróleo.
[ta3_oilexplorer|image]
### TA3 Caixa de perfuração de petróleo
A caixa de perfuração de petróleo deve ser colocada na posição indicada pelo explorador de petróleo. Perfurar petróleo em outro lugar não tem sentido.
Se o botão na caixa de perfuração de petróleo for clicado, a torre de perfuração será erguida acima da caixa. Isso leva alguns segundos.
A caixa de perfuração de petróleo tem 4 lados, em IN o tubo de perfuração deve ser entregue via pusher e em OUT o material de perfuração deve ser removido. A caixa de perfuração de petróleo deve ser alimentada com eletricidade por um dos outros dois lados.
A caixa de perfuração de petróleo perfura até o campo de petróleo (1 metro em 16 s) e requer 16 ku de eletricidade.
Depois que o campo de petróleo for alcançado, a torre de perfuração pode ser desmontada e a caixa removida.
[ta3_drillbox|image]
### TA3 Bomba de petróleo
A bomba de petróleo (pumpjack) deve ser colocada no lugar da caixa de perfuração de petróleo. A bomba de petróleo também requer eletricidade (16 ku) e fornece uma unidade de petróleo a cada 8 segundos. O petróleo deve ser coletado em um tanque. Para fazer isso, a bomba de petróleo deve ser conectada ao tanque por meio de tubos amarelos.
Depois que todo o petróleo for bombeado para fora, a bomba de petróleo também pode ser removida.
[ta3_pumpjack|image]
### TA3 Haste de perfuração
A haste de perfuração é necessária para perfurar. Tantos itens de haste de perfuração são necessários quanto a profundidade especificada para o campo de petróleo. A haste de perfuração é inútil após a perfuração, mas também não pode ser desmontada e permanece no solo. No entanto, há uma ferramenta para remover os blocos de haste de perfuração (-> Ferramentas -> TA3 Alicate de haste de perfuração(drill pipe pliers)).
[ta3_drillbit|image]
### Tanque de petróleo
O tanque de petróleo é a versão grande do tanque TA3 (ver líquidos -> Tanque TA3).
O tanque grande pode armazenar 4000 unidades de petróleo, mas também qualquer outro tipo de líquido.
[oiltank|image]
## Transporte de Petróleo
### Transporte de Petróleo por Vagões Tanque
Os vagões tanque podem ser usados para transportar petróleo do poço de petróleo para a usina de processamento de petróleo. Um vagão tanque pode ser preenchido ou esvaziado diretamente usando bombas. Em ambos os casos, os tubos amarelos devem ser conectados ao vagão tanque de cima.
Os seguintes passos são necessários:
- Coloque o vagão tanque na frente do bloco para-choque da ferrovia. O bloco para-choque ainda não deve estar programado com um tempo para que o vagão tanque não comece automaticamente.
- Conecte o vagão tanque à bomba usando tubos amarelos.
- Ligue a bomba.
- Programe o para-choque com um tempo (10 - 20s).
Essa sequência deve ser observada em ambos os lados (encher / esvaziar).
[tank_cart|image]
### Oil transportation with barrels over Minecarts
Canisters and barrels can be loaded into the Minecarts. To do this, the oil must first be transferred to barrels. The oil barrels can be pushed directly into the Minecart with a pusher and tubes (see map). The empty barrels, which come back from the unloading station by Minecart, can be unloaded using a hopper, which is placed under the rail at the stop.
It is not possible with the hopper to both **unload the empty barrels and load the full barrels at a stop**. The hopper immediately unloads the full barrels. It is therefore advisable to set up 2 stations on the loading and unloading side and then program the Minecart accordingly using a recording run.
The plan shows how the oil can be pumped into a tank and filled into barrels via a liquid filler and loaded into Minecarts.
For the Minecarts to start again automatically, the bumper blocks must be configured with the station name and waiting time. 5 s are sufficient for unloading. However, since the pushers always go into standby for several seconds when there is no Minecart, a time of 15 or more seconds must be entered for loading.
[ta3_loading|plan]
### Transporte de Petróleo com Barris por Minecarts
As latas e barris podem ser carregados nos Minecarts. Para fazer isso, o petróleo deve primeiro ser transferido para os barris. Os barris de petróleo podem ser empurrados diretamente para dentro do Minecart com um empurrador e tubos (veja o mapa). Os barris vazios, que retornam da estação de descarga por Minecart, podem ser descarregados usando um funil, que é colocado sob os trilhos na parada.
Não é possível com o funil **descarregar os barris vazios e carregar os barris cheios em uma parada**. O funil descarrega imediatamente os barris cheios. Portanto, é aconselhável configurar 2 estações no lado de carregamento e descarregamento e, em seguida, programar o Minecart de acordo com uma corrida de gravação.
O plano mostra como o petróleo pode ser bombeado para um tanque, preenchido em barris via um dispositivo de enchimento de líquidos e carregado em Minecarts.
Para que os Minecarts reiniciem automaticamente, os blocos para-choque devem ser configurados com o nome da estação e o tempo de espera. 5 segundos são suficientes para descarregar. No entanto, como os empurradores sempre entram em espera por vários segundos quando não há Minecart, um tempo de 15 segundos ou mais deve ser inserido para carregar.
[ta3_loading|plan]
### Carrinho-tanque
O carrinho-tanque é usado para transportar líquidos. Assim como os tanques, ele pode ser cheio com bombas ou esvaziado. Em ambos os casos, o tubo amarelo deve ser conectado ao caminhão-tanque de cima.
Cabem 200 unidades no caminhão-tanque.
[tank_cart|image]
### Carrinho-baú
O carrinho-baú é usado para transportar itens. Assim como os baús, ele pode ser cheio ou esvaziado usando um empurrador.
Cabem 4 pilhas no carrinho de baú.
[chest_cart|image]
## Processamento de Petróleo
O petróleo é uma mistura de substâncias e consiste em muitos componentes. O petróleo pode ser decomposto em seus principais componentes, como betume, óleo combustível, nafta, gasolina e gás propano, por meio de uma torre de destilação.
O processamento adicional para produtos finais ocorre no reator químico.
[techage_ta31|image]
### Torre de Destilação
A torre de destilação deve ser montada como no plano no canto superior direito.
O betume é drenado pelo bloco de base. A saída está na parte de trás do bloco de base (observe a direção da seta).
Os blocos "torre de destilação" com os números: 1, 2, 3, 2, 3, 2, 3, 4 são colocados sobre este bloco base.
Óleo combustível, nafta e gasolina são drenados das aberturas de baixo para cima. O gás propano é capturado no topo.
Todas as aberturas na torre devem ser conectadas a tanques.
O reboiler deve ser conectado ao bloco "torre de destilação 1".
O reboiler precisa de eletricidade (não mostrado no plano)!
[ta3_distiller|plan]
#### Refervedor(Reboiler)
O reboiler aquece o petróleo para aproximadamente 400 °C. Ele evapora em grande parte e é alimentado na torre de destilação para resfriamento.
O reboiler requer 14 unidades de eletricidade e produz uma unidade de betume, óleo combustível, nafta, gasolina e propano a cada 16s.
Para isso, o reboiler deve ser alimentado com petróleo por meio de uma bomba.
[reboiler|image]
## Blocos Lógicos / de Comutação
Além dos tubos para transporte de mercadorias, bem como os tubos de gás e energia, há também um nível de comunicação sem fio através do qual os blocos podem trocar dados entre si. Não é necessário desenhar linhas para isso, a conexão entre transmissor e receptor é feita apenas através do número do bloco.
**Info:** Um número de bloco é um número único gerado pelo Techage quando muitos blocos do Techage são colocados. O número do bloco é usado para endereçamento durante a comunicação entre controladores e máquinas Techage. Todos os blocos que podem participar dessa comunicação mostram o número do bloco como texto de informações se você fixar o bloco com o cursor do mouse.
Quais comandos um bloco suporta podem ser lidos e exibidos com a TechAge Info Tool (chave inglesa ou wrench).
Os comandos mais simples suportados por quase todos os blocos são:
- `on` - para ligar o bloco / máquina / lâmpada
- `off` - para desligar o bloco / máquina / lâmpada
Com a ajuda do Terminal TA3, esses comandos podem ser testados muito facilmente. Suponha que uma lâmpada de sinalização seja o número 123.
Então com:
cmd 123 on
a lâmpada pode ser ligada e com:
cmd 123 off
a lâmpada pode ser desligada novamente. Esses comandos devem ser inseridos no campo de entrada do terminal TA3.
Comandos como `on` e `off` são enviados ao destinatário sem que uma resposta seja enviada de volta. Portanto, esses comandos podem ser enviados para vários destinatários ao mesmo tempo, por exemplo, com um botão de pressão / interruptor, se vários números forem inseridos no campo de entrada.
Um comando como `state` solicita o status de um bloco. O bloco então envia seu status de volta. Esse tipo de comando confirmado só pode ser enviado para um destinatário de cada vez.
Esse comando também pode ser testado com o terminal TA3 em um empurrador, por exemplo:
cmd 123 state
As respostas possíveis do empurrador são:
- `running` -> Estou funcionando
- `stopped` -> desligado
- `standby` -> nada a fazer porque o inventário da fonte está vazio
- `blocked` -> não pode fazer nada porque o inventário de destino está cheio
Esse status e outras informações também são exibidos quando a chave inglesa(wrench) é clicada no bloco.
[ta3_logic|image]
### TA3 Botão / Interruptor
O botão/interruptor envia comandos `on` / `off` para os blocos que foram configurados através dos números.
O botão/interruptor pode ser configurado como um botão ou um interruptor. Se for configurado como um botão, o tempo entre os comandos `on` e `off` pode ser definido. Com o modo de operação "no botão", apenas um comando `on` e nenhum comando `off` é enviado.
A caixa de seleção "público" pode ser usada para definir se o botão pode ser usado por todos (marcado) ou apenas pelo próprio proprietário (não marcado).
Nota: Com o programador, os números dos blocos podem ser facilmente coletados e configurados.
[ta3_button|image]
### TA3 Conversor de Comandos
Com o conversor de comandos TA3, os comandos `on` / `off` podem ser convertidos em outros comandos, e o encaminhamento pode ser impedido ou atrasado.
Deve-se inserir o número do bloco de destino ou os números dos blocos de destino, os comandos a serem enviados e os tempos de atraso em segundos. Se nenhum comando for inserido, nada será enviado.
Os números também podem ser programados usando o programador Techage(programmer).
[ta3_command_converter|image]
### TA3 Flip-Flop
O flip-flop TA3 muda de estado a cada comando `on` recebido. Os comandos `off` recebidos são ignorados. Dependendo da alteração de status, os comandos `on` / `off` são enviados alternadamente. Deve-se inserir o número do bloco de destino ou os números dos blocos de destino. Os números também podem ser programados usando o programador Techage.
Por exemplo, lâmpadas podem ser ligadas e desligadas com a ajuda de botões.
[ta3_flipflop|image]
### Bloco Lógico TA3
O bloco lógico TA3 pode ser programado de forma que um ou mais comandos de entrada estejam vinculados a um comando de saída e sejam enviados. Este bloco pode, portanto, substituir vários elementos lógicos, como AND, OR, NOT, XOR, etc.
Os comandos de entrada para o bloco lógico são comandos `ligar` / `desligar`.
Os comandos de entrada são referenciados pelo número, por exemplo, `1234` para o comando do remetente com o número 1234.
O mesmo se aplica aos comandos de saída.
Uma regra é estruturada da seguinte forma:
```
<output> = on/off if <expressão-de-entrada> is true
```
`<output>` é o número do bloco para o qual o comando deve ser enviado.
`<expressão-de-entrada>` é uma expressão booleana onde os números de entrada são avaliados.
**Exemplos para a expressão de entrada**
Negar sinal (NOT):
1234 == off
AND lógico:
1234 == on e 2345 == on
OR lógico:
1234 == ligar ou 2345 == ligar
Os seguintes operadores são permitidos: `and` `or` `on` `off` `me` `==` `~=` `(` `)`
Se a expressão for verdadeira, um comando é enviado para o bloco com o número `<output>`.
Até quatro regras podem ser definidas, sendo que todas as regras são sempre verificadas quando um comando é recebido.
O tempo interno de processamento para todos os comandos é de 100 ms.
Seu próprio número de nó pode ser referenciado usando a palavra-chave `me`. Isso permite que o bloco envie a si mesmo um comando (função flip-flop).
O tempo de bloqueio define uma pausa após um comando, durante a qual o bloco lógico não aceita mais comandos externos. Comandos recebidos durante o período de bloqueio são descartados. O tempo de bloqueio pode ser definido em segundos.
[ta3_logic|image]
### TA3 Repetidor
O repetidor envia o sinal recebido para todos os números configurados.
Isso pode fazer sentido, por exemplo, se você quiser controlar muitos blocos ao mesmo tempo. O repetidor pode ser configurado com o programador, o que não é possível com todos os blocos.
[ta3_repeater|image]
### TA3 Sequenciador
O sequenciador pode enviar uma série de comandos `on` / `off`, em que o intervalo entre os comandos deve ser especificado em segundos. Você pode usá-lo para fazer uma lâmpada piscar, por exemplo.
Até 8 comandos podem ser configurados, cada um com número de bloco de destino e aguardando o próximo comando.
O sequenciador repete os comandos indefinidamente quando "Run endless" está ativado.
Se nada for selecionado, apenas o tempo especificado em segundos é aguardado.
[ta3_sequencer|image]
### TA3 Temporizador
O temporizador pode enviar comandos controlados pelo tempo. O horário, o(s) número(s) de destino e o comando em si podem ser especificados para cada linha de comando. Isso significa que as lâmpadas podem ser ligadas à noite e desligadas pela manhã.
[ta3_timer|image]
### TA3 Terminal
O terminal é usado principalmente para testar a interface de comando de outros blocos (veja "Blocos lógicos / de comutação").
Você também pode atribuir comandos a teclas e usar o terminal de maneira produtiva.
set <número-do-botão> <texto-do-botão> <comando>
Com `set 1 ON cmd 123 on`, por exemplo, a tecla do usuário 1 pode ser programada com o comando `cmd 123 on`. Se a tecla for pressionada, o comando é enviado e a resposta é exibida na tela.
O terminal possui os seguintes comandos locais:
- `clear` limpa a tela
- `help` exibe uma página de ajuda
- `pub` alterna para o modo público
- `priv` alterna para o modo privado
No modo privado, o terminal só pode ser usado por jogadores que podem construir neste local, ou seja, que têm direitos de proteção.
No modo público, todos os jogadores podem usar as teclas preconfiguradas.
[ta3_terminal|image]
### Lâmpada Colorida TechAge
A lâmpada de sinalização pode ser ligada ou desligada com o comando `on` / `off`. Esta lâmpada não precisa de eletricidade e pode ser colorida com a ferramenta de aerografia do mod "Dyes Unificados" e via comandos Lua/Beduino.
Com o comando de chat `/ta_color`, a paleta de cores com os valores para os comandos Lua/Beduino é exibida e com `/ta_send color <num>` a cor pode ser alterada.
[ta3_colorlamp|image]
### Blocos de Porta/Portão
Com esses blocos, você pode criar portas e portões que podem ser abertos por meio de comandos (blocos desaparecem) e fechados novamente. Um controlador de porta é necessário para cada portão ou porta.
A aparência dos blocos pode ser ajustada por meio do menu de blocos.
Isso permite a criação de portas secretas que só se abrem para certos jogadores (com a ajuda do detector de jogadores).
[ta3_doorblock|image]
### TA3 Controlador de Porta
O controlador de porta é usado para controlar os blocos de porta/portão TA3. Com o controlador de porta, os números dos blocos de porta/portão devem ser inseridos. Se um comando `on` / `off` for enviado para o controlador de porta, isso abre/fecha a porta ou portão.
[ta3_doorcontroller|image]
### Controlador de Porta TA3 II
O Controlador de Porta II pode remover e definir todos os tipos de blocos. Para ensinar ao Controlador de Porta II, o botão "Record" deve ser pressionado. Em seguida, todos os blocos que devem fazer parte da porta/portão devem ser clicados. Depois, o botão "Done" deve ser pressionado. Até 16 blocos podem ser selecionados. Os blocos removidos são salvos no inventário do controlador. A função do controlador pode ser testada manualmente usando os botões "Remove" ou "Set". Se um comando `on` /`off` for enviado para o Controlador de Porta II, ele remove ou define os blocos também.
Com `$send_cmnd(número_do_nó, "exchange", 2)` blocos individuais podem ser definidos, removidos ou substituídos por outros blocos do inventário.
Com `$send_cmnd(número_do_nó, "set", 2)` um bloco do inventário pode ser definido explicitamente, desde que o slot do inventário não esteja vazio.
Um bloco pode ser removido novamente com `$send_cmnd(número_do_nó, "dig", 2)` se o slot do inventário estiver vazio.
O nome do bloco definido é retornado com `$send_cmnd(número_do_nó, "get", 2)`.
O número do slot do inventário (1 .. 16) deve ser passado como carga útil em todos os três casos.
Isso também pode ser usado para simular escadas extensíveis e coisas do tipo.
[ta3_doorcontroller|image]
### TA3 Bloco de Som
Diferentes sons podem ser reproduzidos com o bloco de som. Todos os sons dos Mods Techage, Signs Bot, Hyperloop, Unified Inventory, TA4 Jetpack e Minetest Game estão disponíveis.
Os sons podem ser selecionados e reproduzidos pelo menu e via comando.
- Comando `on` para reproduzir um som
- Comando `sound <índice>` para selecionar um som via o índice
- Comando `gain <volume>` para ajustar o volume via o valor `<volume>` (1 a 5).
[ta3_soundblock|image]
### TA3 Conversor Mesecons
O conversor Mesecons é utilizado para converter comandos de ligar/desligar do Techage em sinais Mesecons e vice-versa.
Para fazer isso, um ou mais números de nó devem ser inseridos e o conversor deve ser conectado a blocos Mesecons por meio de cabos Mesecons. O conversor Mesecons também pode ser configurado com o programador.
O conversor Mesecons aceita até 5 comandos por segundo; ele se desativa em cargas mais altas.
**Este nó só existe se o mod mesecons estiver ativo!**
[ta3_mesecons_converter|image]
## Detectores
Os detectores escaneiam o ambiente e enviam um comando `on` quando a busca é reconhecida.
[ta3_nodedetector|image]
### TA3 Detector
O detector é um bloco de tubo especial que detecta quando itens passam pelo tubo. Para fazer isso, ele deve ser conectado a tubos dos dois lados. Se os itens forem empurrados para o detector com um empurrador(pusher), eles são passados automaticamente.
Ele envia um comando `on` quando um item é reconhecido, seguido por um `off` um segundo depois.
Em seguida, outros comandos são bloqueados por 8 segundos.
O tempo de espera e os itens que devem acionar um comando podem ser configurados usando o menu de chave inglesa(wrench).
[ta3_detector|image]
### TA3 Cart Detector
O detector de carrinho envia um comando `on` se reconhecer um carrinho (Minecart) diretamente na frente dele. Além disso, o detector também pode reiniciar o carrinho quando recebe um comando `on`.
O detector também pode ser programado com seu próprio número. Nesse caso, ele empurra todos os vagões que param perto dele (um bloco em todas as direções).
[ta3_cartdetector|image]
### TA3 Node Detector
O detector de nó envia um comando `on` se detectar que nós (blocos) aparecem ou desaparecem na frente dele, mas deve ser configurado de acordo. Após retornar o detector ao estado padrão (bloco cinza), um comando `off` é enviado. Blocos válidos são todos os tipos de blocos e plantas, mas não animais ou jogadores. O alcance do sensor é de 3 blocos por metro na direção da seta.
[ta3_nodedetector|image]
### TA3 Detector de jogador(Player detector)
O detector de jogador envia um comando `on` se detectar um jogador dentro de 4m do bloco. Se o jogador sair da área, um comando `off` é enviado.
Se a pesquisa deve ser limitada a jogadores específicos, esses nomes de jogador também podem ser inseridos.
[ta3_playerdetector|image]
### TA3 Detector de luz(Light detector)
O detector de luz envia um comando `on` se o nível de luz do bloco acima exceder um certo nível, que pode ser definido através do menu de clique direito.
Se você tiver um Controlador Lua TA4, pode obter o nível exato de luz com $get_cmd(num, 'light_level')
[ta3_lightdetector|image]
## Máquinas TA3
TA3 possui as mesmas máquinas que o TA2, apenas estas são mais poderosas e requerem eletricidade em vez de movimento por eixo.
Portanto, abaixo são fornecidos apenas os dados técnicos diferentes.
[ta3_grinder|image]
### TA3 Pusher
A função corresponde à do TA2.
A capacidade de processamento é de 6 itens a cada 2 segundos.
[ta3_pusher|image]
### TA3 Distributor
A função do Distribuidor TA3 corresponde à do TA2.
A capacidade de processamento é de 12 itens a cada 4 segundos.
[ta3_distributor|image]
### TA3 Autocrafter
A função corresponde à do TA2.
A capacidade de processamento é de 2 itens a cada 4 segundos. O autocrafter requer 6 ku de eletricidade.
[ta3_autocrafter|image]
### TA3 Electronic Fab
A função corresponde à do TA2, apenas os chips WLAN do TA4 são produzidos aqui.
A capacidade de processamento é de um chip a cada 6 segundos. O bloco requer 12 ku de eletricidade para isso.
[ta3_electronicfab|image]
### TA3 Quarry
A função corresponde à do TA2.
A profundidade máxima é de 40 metros. A pedreira requer 12 ku de eletricidade.
[ta3_quarry|image]
### TA3 Gravel Sieve
A função corresponde à do TA2.
A capacidade de processamento é de 2 itens a cada 4 segundos. O bloco requer 4 ku de eletricidade.
[ta3_gravelsieve|image]
### TA3 Gravel Rinser
A função corresponde à do TA2.
A probabilidade também é a mesma que a do TA2. O bloco também requer 3 ku de eletricidade.
Mas, ao contrário do TA2, o status do bloco TA3 pode ser lido (controlador)
[ta3_gravelrinser|image]
### TA3 Grinder
A função corresponde à do TA2.
A capacidade de processamento é de 2 itens a cada 4 segundos. O bloco requer 6 ku de eletricidade.
[ta3_grinder|image]
### TA3 Injetor
O injetor é um TA3 pusher com propriedades especiais. Ele possui um menu para configuração. Até 8 itens podem ser configurados aqui. Ele apenas pega esses itens de um baú para passá-los para as máquinas com receitas (autocrafter, forno industrial e electronic fab).
Ao passar, apenas uma posição no inventário é usada na máquina de destino. Se, por exemplo, apenas as três primeiras entradas estiverem configuradas no injetor, apenas as três primeiras posições de armazenamento no inventário da máquina serão usadas. Isso evita o transbordamento no inventário da máquina.
O injetor também pode ser alternado para o "modo pull". Então ele apenas retira itens do baú das posições que estão definidas na configuração do injetor. Nesse caso, o tipo e a posição do item devem corresponder. Isso permite esvaziar entradas específicas do inventário de um baú.
A capacidade de processamento é de até 8 vezes um item a cada 4 segundos.
[ta3_injector|image]
## Ferramentas
### Techage Info Tool
O Techage Info Tool (chave inglesa de ponta aberta) possui várias funções. Ele mostra a hora, posição, temperatura e bioma quando um bloco desconhecido é clicado.
Se você clicar em um bloco TechAge com interface de comando, todos os dados disponíveis serão mostrados (consulte também "Blocos lógicos / de comutação").
Com Shift + clique direito, um menu estendido pode ser aberto para alguns blocos. Dependendo do bloco, dados adicionais podem ser chamados ou configurações especiais podem ser feitas aqui. No caso de um gerador, por exemplo, a curva de carga/desligamento pode ser programada.
[ta3_end_wrench|image]
### TechAge Programmer (Programador)
Com o programador, números de bloco podem ser coletados de vários blocos com um clique direito e gravados em um bloco como um botão / interruptor com um clique esquerdo.
Se você clicar no ar, a memória interna é apagada.
[ta3_programmer|image]
### TechAge Trowel / Trowel
A colher de pedreiro é usada para revestir cabos de energia. Veja também "Cabo de energia TA".
[ta3_trowel|image]
### TA3 chave de cano
Esta ferramenta pode ser usada para remover blocos de tubo se, por exemplo, um túnel precisar passar por lá.
[ta3_drill_pipe_wrench|image]
### Techage Screwdriver
A chave de fenda Techage serve como substituto da chave de fenda normal. Ela possui as seguintes funções:
- Clique esquerdo: girar o bloco para a esquerda
- Clique direito: girar a face visível do bloco para cima
- Shift + clique esquerdo: salvar o alinhamento do bloco clicado
- Shift + clique direito: aplicar o alinhamento salvo ao bloco clicado
[ta3_screwdriver|image]
### TechAge Assembly Tool
A TechAge Assembly Tool é usada para remover e reposicionar blocos Techage sem que esses blocos percam seu número de bloco ou recebam um novo número ao serem configurados. Isso é útil, por exemplo, para pedreiras, já que muitas vezes precisam ser movidas.
- Botão esquerdo: remover um bloco
- Botão direito: configurar um bloco
O bloco que foi removido anteriormente com a ferramenta de montagem e que será colocado novamente deve estar no extremo esquerdo do inventário do jogador.
[techage:assembly_tool|image]

View File

@ -740,9 +740,7 @@ Pro Spieler kann nur ein Teilchenbeschleuniger betrieben werden. Es macht also k
Ein Teilchenbeschleuniger besteht aus einem "Ring" aus Röhren und Magneten sowie dem Detektor mit Kühlanlage.
- Der Detektor ist das Herz der Anlage. Hier finden die wissenschaftlichen Experimente statt. Der Detektor ist 3x3x7 Blöcke groß.
- 22 TA4 Collider Magnete (nicht die TA4 Collider Detector Magnete!) müssen über jeweils 5 Blöcken der TA4 Vakuumröhre miteinander verbunden werden. Jeder Magnet benötigt zusätzlich Strom und einen Gasanschluss für die Kühlung. Das ganze bildet (wie rechts im Plan abgebildet) ein Quadrat mit einer Kantenlänge von 37 Metern.
- Zusätzlich wird eine Kühlung benötigt, welche zusätzlich beim Detektor aufgebaut werden muss. Für die Kühlung wird Isobutan benötigt.
- Die Anlage benötigt einiges an Strom. Daher ist eine eigene Stromversorgung sinnvoll.
- 22 TA4 Collider Magnete (nicht die TA4 Collider Detector Magnete!) müssen über jeweils 5 Blöcken der TA4 Vakuumröhre miteinander verbunden werden. Das ganze bildet (wie rechts im Plan abgebildet) ein Quadrat mit einer Kantenlänge von 37 Metern.
Der Plan zeigt die Anlage von oben:
@ -783,15 +781,19 @@ Tritt beim `start` an einem Magneten ein Fehler auf, so wird die Nummer des Magn
[ta4_terminal|image]
### Kühlung und Strom
Jeder TA4 Collider Magnet muss zusätzlich (wie rechts im Plan abgebildet) mit Strom sowie mit Isobutan zur Kühlung versorgt werden:
- Der Anschluss für den Strom ist auf der Oberseite des Magneten.
- Der Anschluss für die Kühlung ist auf der Vorderseite des Magneten.
- Für die Kühlung der gesamten Anlage wird zusätzlich eine TA4 Pumpe und ein TA4 Tank mit mindestens 250 Einheiten Isobutan benötigt.
- Die Anlage benötigt auch einiges an Strom. Daher ist eine eigene Stromversorgung mit mindestens 145 ku sinnvoll.
[techage_collider_plan2|plan]
### Aufbau
Für den Teilchenbeschleunigers wird außer den Blöcken für den Bau folgendes benötigt:
- Strom (145 ku)
- TA4 Tank mit mindestens 250 Einheiten Isobutan
Beim Aufbau des Teilchenbeschleunigers empfiehlt sich folgende Reihenfolge:
- Einen Forceload Block setzen. Nur der Detektor mit der Kühlanlage muss sich im Bereich des Forceload Blockes befinden.
@ -832,12 +834,16 @@ Die Verarbeitungsleistung beträgt 4 Items alle 4 s. Der Autocrafter benötigt h
Zusätzlich unterstützt der TA4 Autocrafter die Auswahl unterschiedlicher Rezepte über folgende Kommandos:
`recipe <number>.<index>` schaltet den Autocrafter auf ein Rezept des TA4 Rezept Blocks um. `<number>` ist die Nummer des Rezept Blocks, `<index>` die Rezept-Nummer. Beispiel: `$send_cmnd(1234, "recipe", 5467.1)`
`recipe "<number>.<index>"` schaltet den Autocrafter auf ein Rezept des TA4 Rezept Blocks um. `<number>` ist die Nummer des Rezept Blocks, `<index>` die Rezept-Nummer. Beispiel: `$send_cmnd(1234, "recipe", "5467.1")`
Alternativ kann ein Rezept auch über die Zutatenliste ausgewählt werden, wie bspw.:
`$send_cmnd(1234, "recipe", "default:coal_lump,,,default:stick")`
Hier müssen alle technische Namen eines Rezeptes durch Kommas getrennt angegeben werden. Siehe auch das Kommando `input` beim TA4 Rezept Block.
Das Kommando `flush` verschiebt alle Artikel vom Eingabeinventar in das Ausgabeinventar. Das Kommando liefert `true` zurück, wenn das Eingabeinventar dabei vollständig geleert wurde. Falls `false` zurückgeliefert wurde (Ausgabeinventar voll), muss das Kommando zu einem späteren Zeitpunkt wiederholt werden.
[ta4_autocrafter|image]
### TA4 Tank / TA4 Tank
@ -943,6 +949,8 @@ Der Kiste besitzt ein zusätzliches Kommandos für den Lua Controller:
- `count` dient zur Anfrage, wie viele Items in der Kiste sind.
Beispiel 1: `$send_cmnd(CHEST, "count")` --> Summe der Items über alle 8 Speicher
Beispiel 2: `$send_cmnd(CHEST, "count", 2)` --> Anzahl der Items in Speicher 2 (zweiter von links)
- `storesize` wird verwendet, um die Größe eines der acht Speicher auszulesen
Beispiel: `$send_cmnd(CHEST, "storesize")` -> Funktion liefert bspw. 6000 zurück
[ta4_8x2000_chest|image]

View File

@ -732,8 +732,6 @@ A collider consists of a "ring" made of tubes and magnets as well as a detector
- The detector is the heart of the system. This is where the scientific experiments take place. The detector is 3x3x7 blocks in size.
- 22 TA4 Collider Magnets (not the TA4 Collider Detector Magnets!) must be connected to each other via 5 blocks of the TA4 vacuum tube. Each magnet also requires electricity and a gas connection for cooling. The whole thing forms (as shown in the plan on the right) a square with an edge length of 37 meters.
- In addition, cooling is required, which must also be installed at the detector. Isobutane is required for cooling.
- The system requires quite a bit of electricity. Therefore, it makes sense to have your own power supply.
The plan shows the facility from above:
@ -756,6 +754,10 @@ Note: The arrow on the heat exchanger must point away from the detector. The hea
[ta4_cooler|plan]
- In addition, cooling is required, which must also be installed at the detector. Isobutane is required for cooling.
- The system requires quite a bit of electricity. Therefore, it makes sense to have your own power supply.
### Control / TA4 Terminal
The collider is controlled via a TA4 terminal (not via the TA4 Lua controller terminal).
@ -774,15 +776,19 @@ If an error occurs on a magnet during the `start`, the number of the magnet is o
[ta4_terminal|image]
### Cooling and power
Each TA4 Collider magnet must also be supplied with electricity (as shown on the right in the plan) and with Isobutane for cooling:
- The connection for the power is on the top of the magnet.
- The connection for the cooling is on the front of the magnet.
- A TA4 pump and a TA4 tank with at least 250 units of isobutane are also required to cool the entire system.
- The system also requires a lot of electricity. It therefore makes sense to have your own power supply with at least 145 ku.
[techage_collider_plan2|plan]
### Construction
In addition to the building blocks, the following is required for the collider:
- electricity (145 ku)
- TA4 tank with at least 250 units of isobutane
The following sequence is recommended when setting up the collider:
- Put a forceload block. Only the detector with the cooling system has to be in the area of the forceload block.
@ -823,12 +829,14 @@ The processing power is 4 items every 4 s. The autocrafter requires 9 ku of elec
In addition, the TA4 Autocrafter supports the selection of different recipes using the following commands:
`recipe <number>.<index>` switches the autocrafter to a recipe from the TA4 Recipe Block. `<number>` is the number of the recipe block, `<index>` the recipe number. Example: `$send_cmnd(1234, "recipe", 5467.1)`
`recipe "<number>.<index>"` switches the autocrafter to a recipe from the TA4 Recipe Block. `<number>` is the number of the recipe block, `<index>` the recipe number. Example: `$send_cmnd(1234, "recipe", "5467.1")`
Alternatively, a recipe can also be selected via the list of ingredients, such as:
`$send_cmnd(1234, "recipe", "default:coal_lump,,,default:stick")`
All technical names of a recipe must be specified here, separated by commas. See also the command `input` in the TA4 recipe block.
The `flush` command moves all items from the input inventory to the output inventory. The command returns `true` if the input inventory was completely emptied. If `false` was returned (output inventory full), the command must be repeated at a later time.
[ta4_autocrafter|image]
### TA4 Tank
@ -933,6 +941,8 @@ The chest has an additional command for the Lua controller:
- `count` is used to request how many items are in the chest.
Example 1: `$send_cmnd(CHEST, "count")` -> Sum of items across all 8 stores
Example 2: `$send_cmnd(CHEST, "count", 2)` -> number of items in store 2 (second from left)
- `storesize` is used to read the size of one of the eight stores:
Example: `$send_cmnd(CHEST, "storesize")` -> function returns e.g. 6000
[ta4_8x2000_chest|image]

1017
manuals/manual_ta4_pt-BR.md Normal file

File diff suppressed because it is too large Load Diff

177
manuals/manual_ta5_pt-BR.md Normal file
View File

@ -0,0 +1,177 @@
# TA5: Futuro
Máquinas para superar o espaço e o tempo, novas fontes de energia e outras conquistas moldam sua vida.
São necessários pontos de experiência para a fabricação e o uso de máquinas e blocos TA5. Eles só podem ser calculados usando o colisor do TA4.
[techage_ta5|image]
## Fontes de energia
### Reator de fusão TA5
A fusão nuclear significa a fusão de dois núcleos atômicos. Dependendo da reação, grandes quantidades de energia podem ser liberadas. As fusões nucleares, nas quais a energia é liberada, ocorrem na forma de reações em cadeia. Elas são a fonte de energia das estrelas, inclusive do nosso sol, por exemplo. Um reator de fusão converte a energia liberada durante a fusão nuclear controlada em eletricidade.
**Como funcionam os reatores de fusão?**
Um reator de fusão funciona de acordo com o princípio clássico de uma usina de energia térmica: a água é aquecida e aciona uma turbina a vapor, cuja energia cinética é convertida em eletricidade por um gerador.
Uma usina de fusão requer inicialmente uma grande quantidade de energia, pois é necessário gerar um plasma. "Plasma" é o nome dado ao quarto estado da matéria, depois do sólido, líquido e gasoso. Isso requer uma grande quantidade de eletricidade. Somente por meio dessa concentração extrema de energia é que a reação de fusão se inflama e o calor liberado é usado para gerar eletricidade por meio do trocador de calor. O gerador fornece então 800 ku de eletricidade.
A planta à direita mostra uma seção do reator de fusão.
São necessários 60 pontos de experiência para operar o reator de fusão. O reator de fusão deve ser construído inteiramente em uma área de bloco de carga.
[ta5_fusion_reactor|plan]
#### Ímã do reator de fusão TA5
Um total de 60 ímãs de reator de fusão TA5 é necessário para configurar o reator de fusão. Eles formam o anel no qual o plasma se forma. O TA5 Fusion Reactor Magnets requer energia e tem duas portas para resfriamento.
Há dois tipos de ímãs, portanto, todos os lados do ímã voltados para o anel de plasma também podem ser protegidos com um protetor térmico.
Com os ímãs de canto na parte interna do anel, um lado da conexão é coberto (energia ou resfriamento) e, portanto, não pode ser conectado. Isso não é tecnicamente viável e, portanto, não influencia a função do reator de fusão.
[ta5_magnet|image]
#### Bomba TA5
A bomba é necessária para encher o circuito de resfriamento com isobutano. São necessárias cerca de 350 unidades de isobutano.
Observação: A bomba TA5 só pode ser usada para encher o circuito de resfriamento; não é possível bombear o líquido de arrefecimento para fora. Portanto, a bomba não deve ser ligada até que os ímãs estejam corretamente posicionados e todas as linhas de alimentação e resfriamento estejam conectadas.
[ta5_pump|image]
#### Trocador de calor TA5
O trocador de calor TA5 é necessário para converter o calor gerado no reator de fusão primeiro em vapor e depois em eletricidade. O próprio trocador de calor requer 5 ku de eletricidade. A estrutura é semelhante à do trocador de calor do depósito de energia do TA4.
Observação: O trocador de calor TA5 tem duas conexões (azul e verde) para o circuito de resfriamento. O trocador de calor e todos os ímãs devem ser conectados para formar um circuito de resfriamento por meio dos tubos verde e azul.
É possível verificar se o circuito de resfriamento está completo usando o botão de partida no trocador de calor, mesmo que o líquido de arrefecimento ainda não tenha sido abastecido.
[ta5_heatexchanger|plan]
#### Controlador do reator de fusão TA5
O reator de fusão é ligado por meio do controlador do reator de fusão TA5. O resfriamento/trocador de calor deve ser ligado primeiro e depois o controlador. Leva cerca de 2 minutos para o reator iniciar e fornecer eletricidade. O reator de fusão e, portanto, o controlador requerem 400 ku de eletricidade para manter o plasma.
[ta5_fr_controller|image]
#### Carcaça do reator de fusão TA5
O reator inteiro deve ser cercado por um invólucro que absorva a enorme pressão que os ímãs exercem sobre o plasma e proteja o ambiente da radiação. Sem esse invólucro, o reator não pode ser iniciado. Com a TechAge Trowel, os cabos de energia e os tubos de resfriamento do reator de fusão também podem ser integrados à carcaça.
[ta5_fr_shell|image]
#### Núcleo do reator de fusão TA5
O núcleo deve ficar no centro do reator. Veja a ilustração em "TA5 Fusion Reactor". A espátula TechAge também é necessária para isso.
[ta5_fr_nucleus|image]
## Armazenamento de energia
### Armazenamento híbrido TA5 (planejado)
## Blocos lógicos
## Transporte e tráfego
### Controlador de voo TA5
O controlador de voo TA5 é semelhante ao controlador de movimento TA4. Ao contrário do TA4 Move Controller, vários movimentos podem ser combinados em uma rota de voo. Essa rota de voo pode ser definida no campo de entrada usando várias entradas x,y,z (um movimento por linha). A rota de voo é verificada e salva por meio de "Save" (Salvar). Em caso de erro, é emitida uma mensagem de erro.
Com o botão "Test" (Testar), a rota de voo com as coordenadas absolutas é emitida para verificação no bate-papo.
A distância máxima para toda a distância de voo é de 1.500 m. Até 32 blocos podem ser treinados.
O uso do controlador de voo TA5 requer 40 pontos de experiência.
**Modo teletransporte**
Se o "Teleport Mode" (Modo de teletransporte) estiver ativado, o jogador também poderá ser movido sem blocos. Para fazer isso, a posição inicial deve ser configurada usando o botão "Record" (Registrar). Somente uma posição pode ser configurada aqui. O jogador a ser movido deve estar nessa posição.
[ta5_flycontroller|image]
### TA5 Hyperloop Chest
O TA5 Hyperloop Chest permite que objetos sejam transportados em uma rede Hyperloop.
O Baú Hyperloop TA5 deve ser colocado em uma Junção Hyperloop. O baú tem um menu especial, com o qual você pode emparelhar dois baús. Os itens que estão no baú são teletransportados para a estação remota. O baú também pode ser preenchido/esvaziado com um empurrador.
Para fazer o emparelhamento, primeiro você precisa inserir um nome para o baú de um lado e, em seguida, selecionar esse nome para o outro baú e, assim, conectar os dois blocos.
O uso do Baú do Hyperloop TA5 requer 15 pontos de experiência.
[ta5_chest|image]
### Tanque de hyperloop TA5
O TA5 Hyperloop Tank permite o transporte de líquidos em uma rede Hyperloop.
O TA5 Hyperloop Tank deve ser colocado em um Hyperloop Junction. O tanque tem um menu especial, com o qual você pode emparelhar dois tanques. Os líquidos no tanque serão teletransportados para a estação remota. O tanque também pode ser enchido/esvaziado com uma bomba.
Para fazer o emparelhamento, primeiro é necessário inserir um nome para o tanque de um lado e, em seguida, selecionar esse nome para o outro tanque e, assim, conectar os dois blocos.
O uso do TA5 Hyperloop Tank requer 15 pontos de experiência.
[ta5_tank|image]
## Blocos de teletransporte
Os blocos de teletransporte permitem a transferência de objetos entre dois blocos de teletransporte sem a necessidade de um cano ou tubo entre eles. Para emparelhar os blocos, primeiro é preciso digitar um nome para o bloco de um lado e, em seguida, selecionar esse nome para o outro bloco e, assim, conectar os dois blocos. O emparelhamento só pode ser realizado por um jogador (o nome do jogador é verificado) e deve ser concluído antes de o servidor ser reiniciado. Caso contrário, os dados de emparelhamento serão perdidos.
O mapa à direita mostra como os blocos podem ser usados.
[ta5_teleport|plan]
### Itens do bloco de teletransporte TA5
Esses blocos de teletransporte permitem a transferência de itens e, portanto, substituem um tubo. Distâncias de até 500 blocos podem ser transpostas.
Cada bloco de teletransporte requer 12 ku de eletricidade.
São necessários 30 pontos de experiência para usar os blocos de teletransporte.
[ta5_tele_tube|image]
### Líquidos do bloco de teletransporte TA5
Esses blocos de teletransporte permitem a transferência de líquidos e, portanto, substituem um cano. Distâncias de até 500 blocos podem ser transpostas.
Cada bloco de teletransporte requer 12 ku de eletricidade.
São necessários 30 pontos de experiência para usar os blocos de teletransporte.
[ta5_tele_pipe|image]
### Blocos de teletransporte Hyperloop (planejados)
Os blocos de teletransporte Hyperloop permitem a construção de uma rede Hyperloop sem tubos Hyperloop.
O uso dos blocos de teletransporte Hyperloop requer 60 pontos de experiência.
## Mais blocos/itens TA5
### Contêiner TA5 (planejado)
O contêiner TA5 permite que os sistemas Techage sejam embalados e desembalados em outro local.
São necessários 80 pontos de experiência para usar o contêiner TA5.
### Chip TA5 AI
O chip TA5 AI é parcialmente necessário para a produção de blocos TA5. O chip de IA TA5 só pode ser fabricado na fábrica de eletrônicos TA4. Isso requer 10 pontos de experiência.
[ta5_aichip|image]
### Chip TA5 AI II
O TA5 AI Chip II é necessário para construir o Reator de Fusão TA5. O TA5 AI Chip II só pode ser fabricado na fábrica de eletrônicos TA4. Isso requer 25 pontos de experiência.
[ta5_aichip2|image]

View File

@ -1,272 +0,0 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
import re
import sys
import pprint
import mistune # must be v0.8.4, install with 'sudo pip install mistune==0.8.4'
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')
#print ">>>>"+text+"<<<<"
return text
def header_escsape(header):
header = header.lower()
header = header.replace(" ", "-")
header = header.replace("/", "")
return header
lTitel = []
lText = []
lItemName = []
lPlanTable = []
lTocLinks = []
def reset():
global lTitel, lText, lItemName, lPlanTable, lTocLinks
lTitel = []
lText = []
lItemName = []
lPlanTable = []
lTocLinks = []
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_text_table(name, lData):
lOut = []
lOut.append("%s = {" % name)
for lines in lData:
for line in lines[:-1]:
line = line.replace('<br>', '\\n')
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 WikiLinkInlineLexer(mistune.InlineLexer):
def enable_wiki_link(self):
# add wiki_link rules
self.rules.wiki_link = re.compile(
r'\[' # [
r'([\s\S]+?\|[\s\S]+?)' # name| img-type
r'\](?!\])' # ]
)
# Add wiki_link parser to default rules
# you can insert it some place you like
# but place matters, maybe 3 is not good
self.default_rules.insert(3, 'wiki_link')
def output_wiki_link(self, m):
text = m.group(1)
name, itype = text.split('|')
# you can create an custom render
# you can also return the html if you like
return self.renderer.wiki_link(name, itype)
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")
lines = [" " + item for item in lines]
self.TextChunck.extend(lines)
self.TextChunck.append("")
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)))
lTocLinks.append({"level": level, "header": formspec_escape(text), "link": self.src_name})
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 ""
def wiki_link(self, name, itype):
"""
Used for plans and images:
[myimage|image]
[myplan|plan]
"""
if itype == "image":
self.ItemName = name
elif itype == "plan":
self.PlanTable = name
return ""
def autolink(self, link, is_email=False):
return link
def linebreak(self):
return "\\n"
def newline(self):
return "\\n"
def inline_html(self, text):
print(text)
# ~
# ~ double_emphasis(text)
# ~ image(src, title, alt_text)
# ~ link(link, title, content)
# ~ strikethrough(text)
# ~ inline_html(text)
def parse_md_file(src_name, mod, manual):
print("Read Lua file '%s'" % src_name)
renderer = MyRenderer()
inline = WikiLinkInlineLexer(renderer)
# enable the feature
inline.enable_wiki_link()
md = mistune.Markdown(renderer=renderer, inline=inline)
md.renderer.src_name = src_name
md.render(open(src_name, 'r').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_text_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))
open(dest_name, "w").write("".join(lOut))
def gen_toc_md_file(dest_name, titel, level_range=[1,6]):
print("Write MD file '%s'" % dest_name)
lOut = ["# "+ titel]
lOut.append("")
for item in lTocLinks:
if item["level"] in range(*level_range):
list_item = " " * (item["level"] - level_range[0]) + "-"
link = "%s#%s" % (item["link"], header_escsape(item["header"]))
lOut.append("%s [%s](%s)" % (list_item, item["header"], link))
open(dest_name, "w").write("\n".join(lOut))
def gen_file_local_toc(dest_name, level_range=[1,6]):
lOut = []
for item in lTocLinks:
if item["level"] in range(*level_range):
list_item = " " * (item["level"] - level_range[0]) + "-"
link = "#%s" % (item["header"].replace(" ", "-").replace("\\", ""))
lOut.append("%s [%s](%s)" % (list_item, item["header"].replace("\\", ""), link))
open(dest_name, "w").write("\n".join(lOut))
########################### German #########################
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)
parse_md_file("./manual_ta3_DE.md", mod, manual)
parse_md_file("./manual_ta4_DE.md", mod, manual)
parse_md_file("./manual_ta5_DE.md", mod, manual)
gen_lua_file("../doc/manual_DE.lua")
gen_toc_md_file("./toc_DE.md", "Inhaltsverzeichnis")
########################### English #########################
reset()
mod = "techage"
manual = "manual_EN"
parse_md_file("./manual_EN.md", mod, manual)
parse_md_file("./manual_ta1_EN.md", mod, manual)
parse_md_file("./manual_ta2_EN.md", mod, manual)
parse_md_file("./manual_ta3_EN.md", mod, manual)
parse_md_file("./manual_ta4_EN.md", mod, manual)
parse_md_file("./manual_ta5_EN.md", mod, manual)
gen_lua_file("../doc/manual_EN.lua")
gen_toc_md_file("./toc_EN.md", "Table of Contents")
########################### Lua Manual #########################
reset()
parse_md_file("./ta4_lua_controller_EN.md", mod, manual)
gen_file_local_toc("toc.txt", level_range=[2,4])

View File

@ -216,6 +216,7 @@ m2l = MarkdownToLua()
m2l.parse_md_file("./manual_ta5_DE.md")
m2l.gen_lua_file("../doc/manual_ta5_DE.lua")
m2l = MarkdownToLua()
m2l.parse_md_file("./manual_EN.md")
m2l.gen_lua_file("../doc/manual_EN.lua")
@ -239,3 +240,28 @@ m2l.gen_lua_file("../doc/manual_ta4_EN.lua")
m2l = MarkdownToLua()
m2l.parse_md_file("./manual_ta5_EN.md")
m2l.gen_lua_file("../doc/manual_ta5_EN.lua")
m2l = MarkdownToLua()
m2l.parse_md_file("./manual_pt-BR.md")
m2l.gen_lua_file("../doc/manual_pt-BR.lua")
m2l = MarkdownToLua()
m2l.parse_md_file("./manual_ta1_pt-BR.md")
m2l.gen_lua_file("../doc/manual_ta1_pt-BR.lua")
m2l = MarkdownToLua()
m2l.parse_md_file("./manual_ta2_pt-BR.md")
m2l.gen_lua_file("../doc/manual_ta2_pt-BR.lua")
m2l = MarkdownToLua()
m2l.parse_md_file("./manual_ta3_pt-BR.md")
m2l.gen_lua_file("../doc/manual_ta3_pt-BR.lua")
m2l = MarkdownToLua()
m2l.parse_md_file("./manual_ta4_pt-BR.md")
m2l.gen_lua_file("../doc/manual_ta4_pt-BR.lua")
m2l = MarkdownToLua()
m2l.parse_md_file("./manual_ta5_pt-BR.md")
m2l.gen_lua_file("../doc/manual_ta5_pt-BR.lua")

View File

@ -48,7 +48,7 @@ Für jede Regel kann eine der folgenden Bedingungen konfiguriert werden. Pro Reg
- `inputs` - Damit kann der empfangene Wert `on` / `off` eines Kommandos (Ereignis) ausgewertet werden. Hier bitte beachten: Bei Regeln, die Ereignis-gesteuert ausgeführt werden sollen, muss als Zykluszeit 0 angegeben werden.
- `read block state` - Damit kann der Status einer Maschine abgefragt werden. Die Nummer der Maschine muss eingegeben werden. Mögliche Maschinenzustände sind:
- `read block state` - Damit kann der Status einer Maschine abgefragt werden. Die Nummer der Maschine (Blocknummer) muss eingegeben werden. Mögliche Maschinenzustände sind:
- `running` --> Maschine ist am arbeiten
- `stopped` --> Maschine ist ausgeschaltet
@ -59,8 +59,10 @@ Für jede Regel kann eine der folgenden Bedingungen konfiguriert werden. Pro Reg
Ist eine konfigurierte Bedingung erfüllt, also bspw. `block nummer 456 is stopped`, so wird die Aktion ausgeführt.
Welche Maschinen welche Statusinformationen liefern, kann am einfachsten mit dem Schraubenschlüssel /Techage Info Werkzeug direkt an der Maschine festgestellt werden.
**Info:** Eine **Blocknummer** ist eine eindeutige Zahl, die von Techage beim Setzen von vielen Techage Blöcken generiert und als Infotext hinter dem Blocknamen angezeigt wird. Die Blocknummer dient zur Adressierung bei der Kommunikation zwischen Techage Controllern und Maschinen.
Welche Maschinen welche Statusinformationen liefern, kann am einfachsten mit dem Schraubenschlüssel /Techage Info Werkzeug direkt an der Maschine festgestellt werden.
- `read amount of fuel` - Damit kann ausgelesen werden, wie viel Sprit eine Maschine noch hat (typisch 0-99 Einheiten) und mit einem Wert auf 'größer' oder 'kleiner' verglichen werden. Ist die konfigurierte Bedingung erfüllt, wird die Aktion ausgeführt.
`read power/liquid load` - Damit kann die Ladung eines Akkus oder des Wärmespeichers in Prozent (Werte von 0..100) abgefragt und mit der konfigurierten Bedingung auf 'größer'/'kleiner' geprüft werden. Ist die Bedingung erfüllt, wird die Aktion ausgeführt.

View File

@ -48,7 +48,7 @@ One of the following conditions can be configured for each rule. However, only o
- `inputs` - This enables the received value `on` / `off` of a command (event) to be evaluated. Please note here: For rules that are to be executed event-controlled, cycle time 0 must be specified.
- `read block state` - This allows the status of a machine to be queried. The machine number must be entered. Possible machine states are:
- `read block state` - This allows the status of a machine to be queried. The machine number (block number) must be entered. Possible machine states are:
- `running` -> machine is working
- `stopped` -> machine is switched off
@ -59,8 +59,10 @@ One of the following conditions can be configured for each rule. However, only o
If a configured condition is fulfilled, e.g. `block number 456 is stopped`, the action is carried out.
The easiest way to determine which machines provide which status information is with the wrench / Techage Info tool directly on the machine.
**Info:** A **block number** is a unique number that is generated by Techage when many Techage blocks are placed and is displayed as information text behind the block name. The block number is used for addressing during communication between Techage controllers and machines.
The easiest way to determine which machines provide which status information is with the wrench / Techage Info tool directly on the machine.
- `read amount of fuel` - This can be used to read out how much fuel a machine still has (typically 0-99 units) and to compare it with a value of 'larger' or 'smaller'. If the configured condition is met, the action is carried out.
`read power / liquid load` - This means that the charge of a battery or the heat storage device can be queried in percent (values from 0..100) and checked for 'larger' / 'smaller' with the configured condition. If the condition is met, the action is carried out.

View File

@ -17,31 +17,41 @@ https://github.com/joe7575/techage/blob/master/manuals/ta4_lua_controller_EN.pdf
## Table of Contents
- [TA4 Lua Controller Blocks](#TA4-Lua-Controller-Blocks)
- [TA4 Lua Controller](#TA4-Lua-Controller)
- [Battery](#Battery)
- [TA4 Lua Server](#TA4-Lua-Server)
- [TA4 Lua Controller Terminal](#TA4-Lua-Controller-Terminal)
- [TA4 Sensor Chest](#TA4-Sensor-Chest)
- [Lua Functions and Environment](#Lua-Functions-and-Environment)
- [Lua Functions and Limitations](#Lua-Functions-and-Limitations)
- [Arrays, Stores, and Sets](#Arrays,-Stores,-and-Sets)
- [Initialization, Cyclic Task, and Events](#Initialization,-Cyclic-Task,-and-Events)
- [Lua Controller Functions](#Lua-Controller-Functions)
- [Controller local Functions](#Controller-local-Functions)
- [Techage Command Functions](#Techage-Command-Functions)
- [Server and Terminal Functions](#Server-and-Terminal-Functions)
- [Further Functions](#Further-Functions)
- [Example Scripts](#Example-Scripts)
- [Simple Counter](#Simple-Counter)
- [Hello World](#Hello-World)
- [For Loop with range(from, to)](#For-Loop-with-range(from,-to))
- [Monitoring Chest & Furnace](#Monitoring-Chest-&-Furnace)
- [Simple Calculator](#Simple-Calculator)
- [Welcome Display](#Welcome-Display)
- [Sensor Chest](#Sensor-Chest)
- [Read the "TA4 4x Button"](#Read-the-TA4-4x-Button)
- [Emails](#Emails)
- [TA4 Lua Controller](#ta4-lua-controller)
- [Table of Contents](#table-of-contents)
- [TA4 Lua Controller Blocks](#ta4-lua-controller-blocks)
- [TA4 Lua Controller](#ta4-lua-controller-1)
- [Battery](#battery)
- [TA4 Lua Server](#ta4-lua-server)
- [TA4 Lua Controller Terminal](#ta4-lua-controller-terminal)
- [TA4 Sensor Chest](#ta4-sensor-chest)
- [Lua Functions and Environment](#lua-functions-and-environment)
- [Lua Functions and Limitations](#lua-functions-and-limitations)
- [Arrays, Stores, and Sets](#arrays-stores-and-sets)
- [Arrays](#arrays)
- [Stores](#stores)
- [Sets](#sets)
- [Initialization, Cyclic Task, and Events](#initialization-cyclic-task-and-events)
- [Initialization](#initialization)
- [Cyclic Task](#cyclic-task)
- [Events](#events)
- [Lua Controller Functions](#lua-controller-functions)
- [Controller local Functions](#controller-local-functions)
- [Input Example](#input-example)
- [Techage Command Functions](#techage-command-functions)
- [Server and Terminal Functions](#server-and-terminal-functions)
- [Communication between Lua Controllers](#communication-between-lua-controllers)
- [Further Functions](#further-functions)
- [Example Scripts](#example-scripts)
- [Simple Counter](#simple-counter)
- [Hello World](#hello-world)
- [For Loop with range(from, to)](#for-loop-with-rangefrom-to)
- [Monitoring Chest \& Furnace](#monitoring-chest--furnace)
- [Simple Calculator](#simple-calculator)
- [Welcome Display](#welcome-display)
- [Sensor Chest](#sensor-chest)
- [Read the "TA4 4x Button"](#read-the-ta4-4x-button)
- [Emails](#emails)
@ -333,7 +343,7 @@ In addition to Lua standard function the Lua Controller provides the following f
- `$loopcycle(seconds)` - This function allows to change the call frequency of the controller loop() function, witch is per default one second. For more info, see "Cyclic Task"
- `$events(bool)` - Enable/disable event handling. For more info, see "Events"
- `$get_ms_time()` - Returns the time with millisecond precision
- `get_gametime()` - Returns the time, in seconds, since the world was created
- `$get_gametime()` - Returns the time, in seconds, since the world was created
- `$time_as_str()` - Read the time of day (ingame) as text string in 24h format, like "18:45"
- `$time_as_num()` - Read the time of day (ingame) as integer number in 24h format, like 1845
- `$get_input(num)` - Read an input value provided by an external block with the given number _num_. The block has to be configured with the number of the controller to be able to send status messages (on/off commands) to the controller. _num_ is the number (data type string) of the remote block, like "1234".

View File

@ -2,3 +2,4 @@ name = techage
depends = default,doors,flowers,tubelib2,networks,basic_materials,bucket,stairs,screwdriver,minecart,lcdlib,safer_lua,doclib
optional_depends = unified_inventory,wielded_light,unifieddyes,moreores,ethereal,mesecons,mesecons_materials,mesecons_mvps,digtron,bakedclay,moreblocks,i3,creative,craftguide,farming
description = Techage, go through 5 tech ages in search of wealth and power!
supported_games = minetest_game

View File

@ -75,7 +75,7 @@ for idx,pgn in ipairs(tPgns) do
minetest.swap_node(pos, node)
end
if fields.exit then
meta:set_string("formspec", nil)
meta:set_string("formspec", "")
local number = techage.add_node(pos, node.name)
meta:set_string("infotext", S("TechAge Door Block").." "..number)
end

View File

@ -79,7 +79,6 @@ local function formspec(nvm, meta)
"label[0.3,6.3;" .. status .. "]"
end
minetest.register_node("techage:ta5_flycontroller", {
description = S("TA5 Fly Controller"),
tiles = {
@ -258,8 +257,7 @@ techage.register_node({"techage:ta5_flycontroller"}, {
return 2, ""
end,
on_node_load = function(pos, node)
local nvm = techage.get_nvm(pos)
nvm.running = false
M(pos):set_string("status", "")
end,
})

View File

@ -61,7 +61,7 @@ for idx,pgn in ipairs(tPgns) do
minetest.swap_node(pos, node)
end
if fields.exit then
meta:set_string("formspec", nil)
meta:set_string("formspec", "")
local number = techage.add_node(pos, node.name)
meta:set_string("infotext", S("TechAge Gate Block").." "..number)
end

View File

@ -261,9 +261,8 @@ techage.register_node({"techage:ta4_movecontroller"}, {
return 2, ""
end,
on_node_load = function(pos, node)
local nvm = techage.get_nvm(pos)
M(pos):set_string("teleport_mode", "") -- delete not working op mode
nvm.running = false
M(pos):set_string("teleport_mode", "") -- delete not working (legacy) op mode
M(pos):set_string("status", "")
end,
})
@ -299,7 +298,7 @@ minetest.register_node("techage:moveblock", {
description = "Techage Invisible Move Block",
drawtype = "glasslike_framed_optional",
inventory_image = 'techage_inv_invisible.png',
tiles = {"techage_invisible.png"},
tiles = {"blank.png"},
selection_box = {
type = "fixed",
fixed = {

View File

@ -38,7 +38,6 @@ local function formspec(nvm, meta)
"label[0.3,2.5;" .. status .. "]"
end
minetest.register_node("techage:ta4_turncontroller", {
description = S("TA4 Turn Controller"),
tiles = {
@ -193,6 +192,9 @@ techage.register_node({"techage:ta4_turncontroller"}, {
return 2
end
end,
on_node_load = function(pos, node)
M(pos):set_string("status", "")
end,
})
minetest.register_craft({

View File

@ -51,6 +51,8 @@ local function oil_amount(pos)
local amount = math.random(OIL_MIN, OIL_MAX)
return amount
end
-- Generate new randomseed after use
math.randomseed(os.time())
return 0
end

View File

@ -24,13 +24,19 @@ local Axle = tubelib2.Tube:new({
max_tube_length = 10,
show_infotext = false,
tube_type = "axle",
primary_node_names = {"techage:axle", "techage:axle_on"},
primary_node_names = {"techage:axle", "techage:axle_on", "techage:ta2_clutch_on"},
secondary_node_names = {},
after_place_tube = function(pos, param2, tube_type, num_tubes, state)
if state == "on" then
minetest.swap_node(pos, {name = "techage:axle_on", param2 = param2})
local node = minetest.get_node(pos)
local name = node.name
if name == "techage:axle_on" or name == "techage:axle" then
if state == "on" then -- texture state
minetest.swap_node(pos, {name = "techage:axle_on", param2 = param2})
else
minetest.swap_node(pos, {name = "techage:axle", param2 = param2})
end
else
minetest.swap_node(pos, {name = "techage:axle", param2 = param2})
minetest.swap_node(pos, {name = name, param2 = param2})
end
end,
})

View File

@ -187,7 +187,7 @@ end
function techage.generator_formspec(self, pos, nvm, label, provided, max_available, ta2)
local tooltip = ""
if not ta2 then
tooltip = techage.wrench_tooltip(4.4, -0.1)
tooltip = techage.wrench_tooltip(4.4, -0.05)
end
return "size[5,4]" ..
default.gui_bg ..

View File

@ -275,7 +275,7 @@ techage.register_node({"techage:powerswitch", "techage:powerswitch_on",
end,
on_beduino_request_data = function(pos, src, topic, payload)
local node = techage.get_node_lvm(pos)
if topic == 142 then
if topic == 131 or topic == 142 then
if node.name == "techage:powerswitch_on" or
node.name == "techage:powerswitchsmall_on" then
return 0, {1}

View File

@ -135,7 +135,7 @@ minetest.register_node("techage:ta4_power_box", {
type = "connected",
fixed = {
{ -3/16, -3/16, -3/16, 3/16, 3/16, 3/16}, -- box
{ -1/16, -7/16, -1/16, 1/16, -4/16, 1/16}, -- post
{ -1/16, -7/16, -1/16, 1/16, -3/16, 1/16}, -- post
{ -3/16, -8/16, -3/16, 3/16, -7/16, 3/16}, -- base
},

BIN
sounds/techage_tool1.ogg Normal file

Binary file not shown.

BIN
sounds/techage_tool2.ogg Normal file

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More