Improve collider, add further nodes to manual

This commit is contained in:
Joachim Stolberg 2021-12-18 20:11:34 +01:00
parent 4c7e75279e
commit 7d76cd4717
18 changed files with 466 additions and 114 deletions

View File

@ -11,11 +11,10 @@ Tech Age, a mod to go through 5 tech ages in search of wealth and power.
Important facts:
- techage is not backwards compatible and cannot be installed on a server together with TechPack
- techage is significantly more extensive, since additional mods are integrated
- techage represents 4 technological ages:
- techage represents 5 technological ages:
- Iron Age (TA1) - simple tools like coal pile, coal burner, gravel sieve, hammer for getting ores and making goods
- Steam Age (TA2) - Simple machines that are powered by steam engines and drive axles
- Oil Age (TA3) - More modern machines that are powered by electricity.
The electricity is generated by coal & oil power plants. The oil must be explored, extracted and transported.
- Now Age (TA4) - Electricity from renewable energy sources such as sun and wind.
- Future Age (TA5) - Machines to overcome space and time, new sources of energy and other achievements.
- Since the levels build on each other, all ages have to be run through one after the other

View File

@ -21,17 +21,10 @@ local getpos = techage.assemble.get_pos
local CYCLE_TIME = 2
local TNO_MAGNETS = 22
local PROBABILITY = 90 -- every 30 min.
local PROBABILITY = 180 -- check every 20 s => 20 * 180 * 50% = 30 min
local function tube_damage_check(pos, node, meta, nvm)
local resp = techage.tube_inlet_command(pos, "check")
if resp then
return true
end
return false, "Tube defect"
end
local Schedule = {[0] =
local TIME_SLOTS = 10
local Schedule = {[0] =
-- Route: 0 = forward, 1 = right, 2 = backward, 3 = left
-- Gas left/right
{name = "techage:ta4_collider_pipe_inlet", yoffs = 1, route = {3,3,3,2}, check = techage.gas_inlet_check},
@ -39,18 +32,15 @@ local Schedule = {[0] =
-- Power left/right
{name = "techage:ta4_collider_cable_inlet", yoffs = 2, route = {3,3,3}, check = techage.power_inlet_check},
{name = "techage:ta4_collider_cable_inlet", yoffs = 2, route = {1,1,1}, check = techage.power_inlet_check},
-- Tube left/right
--{name = "techage:ta4_collider_tube_inlet", yoffs = 1, route = {3,3,3}, check = techage.tube_inlet_check, no_vacuum=true},
--{name = "techage:ta4_collider_tube_inlet", yoffs = 1, route = {1,1,1}, check = techage.tube_inlet_check, no_vacuum=true},
-- Cooler
{name = "techage:ta4_collider_pipe_inlet", yoffs = 0, route = {0}, check = techage.cooler_check},
{name = "techage:ta4_collider_pipe_inlet", yoffs = 2, route = {0}, check = techage.cooler_check},
-- Air outlet
{name = "techage:ta4_collider_pipe_outlet", yoffs = 2, route = {}, check = techage.air_outlet_check},
-- All nodes
{name = "shell", yoffs = 0, route = {}, check = nil},
}
local TIME_SLOTS = #Schedule + 2
local function play_sound(pos)
minetest.sound_play("techage_hum", {
pos = pos,
@ -81,6 +71,20 @@ local function experience_points(pos)
end
end
local function check_shell(pos, param2)
local pos1 = getpos(pos, param2, {3,3,3,2}, 0)
local pos2 = getpos(pos, param2, {1,1,1,0}, 2)
local _, tbl = minetest.find_nodes_in_area(pos1, pos2, {"techage:ta4_detector_magnet", "techage:ta4_colliderblock", "default:obsidian_glass"})
if tbl["techage:ta4_detector_magnet"] < 16 then
return false, "Magnet missing"
elseif tbl["techage:ta4_colliderblock"] < 31 then
return false, "Steel block missing"
elseif tbl["default:obsidian_glass"] < 1 then
return false, "Obsidian glass missing"
end
return true
end
local function check_state(pos)
-- Cyclically check all connections
local param2 = minetest.get_node(pos).param2
@ -94,13 +98,8 @@ local function check_state(pos)
end
if item then
local pos2 = getpos(pos, param2, item.route, item.yoffs)
local nvm2 = techage.get_nvm(pos2)
local meta2 = M(pos2)
local node2 = minetest.get_node(pos2)
if item.name == node2.name then
local res, err = item.check(pos2, node2, meta2, nvm2)
--print("check_state", idx, res, err)
if item.name == "shell" then
local res, err = check_shell(pos, param2)
if not res then
nvm.result = false
nvm.runnning = false
@ -108,9 +107,24 @@ local function check_state(pos)
return nvm.result
end
else
nvm.result = false
nvm.runnning = false
terminal_message(pos, "Detector defect!!!")
local pos2 = getpos(pos, param2, item.route, item.yoffs)
local nvm2 = techage.get_nvm(pos2)
local meta2 = M(pos2)
local node2 = minetest.get_node(pos2)
if item.name == node2.name then
local res, err = item.check(pos2, node2, meta2, nvm2)
--print("check_state", idx, res, err)
if not res then
nvm.result = false
nvm.runnning = false
terminal_message(pos, (err or "unknown") .. "!!!")
return nvm.result
end
else
nvm.result = false
nvm.runnning = false
terminal_message(pos, "Detector defect!!!")
end
end
elseif idx == #Schedule + 1 then
return nvm.result
@ -180,7 +194,7 @@ minetest.register_node("techage:ta4_detector_core", {
local own_num = techage.add_node(pos, "techage:ta4_detector_core")
meta:set_string("node_number", own_num)
meta:set_string("owner", placer:get_player_name())
M({x=pos.x, y=pos.y - 1, z=pos.z}):set_string("infotext", S("TA4 Collider Detector " .. own_num))
M({x=pos.x, y=pos.y - 1, z=pos.z}):set_string("infotext", S("TA4 Collider Detector") .. " " .. own_num)
minetest.get_node_timer(pos):start(CYCLE_TIME)
end,
@ -288,12 +302,8 @@ local function start_task(pos)
coroutine.yield()
techage.send_single(own_num, term_num, "text", "- Check detector...")
for _,item in ipairs(Schedule)do
local pos2 = getpos(pos, param2, item.route, item.yoffs)
local nvm2 = techage.get_nvm(pos2)
local meta2 = M(pos2)
local node2 = minetest.get_node(pos2)
if item.name == node2.name then
local res, err = item.check(pos2, node2, meta2, nvm2)
if item.name == "shell" then
local res, err = check_shell(pos, param2)
if not res then
techage.send_single(own_num, term_num, "append", err .. "!!!")
nvm.magnet_positions = nil
@ -301,12 +311,26 @@ local function start_task(pos)
return
end
else
techage.send_single(own_num, term_num, "append", "defect!!!")
nvm.magnet_positions = nil
nvm.locked = false
return
local pos2 = getpos(pos, param2, item.route, item.yoffs)
local nvm2 = techage.get_nvm(pos2)
local meta2 = M(pos2)
local node2 = minetest.get_node(pos2)
if item.name == node2.name then
local res, err = item.check(pos2, node2, meta2, nvm2)
if not res then
techage.send_single(own_num, term_num, "append", err .. "!!!")
nvm.magnet_positions = nil
nvm.locked = false
return
end
else
techage.send_single(own_num, term_num, "append", "defect!!!")
nvm.magnet_positions = nil
nvm.locked = false
return
end
coroutine.yield()
end
coroutine.yield()
end
techage.send_single(own_num, term_num, "append", "ok")

View File

@ -8,7 +8,7 @@
AGPL v3
See LICENSE.txt for more information
TA4 Tube/Pipe Inlets as part of the Collider
TA4 Tube/Pipe Inputs/Outputs as part of the Collider
]]--
@ -28,10 +28,10 @@ local power = networks.power
local liquid = networks.liquid
--------------------------------------------------------------------------------
-- Tube Inlet
-- Tube Input
--------------------------------------------------------------------------------
minetest.register_node("techage:ta4_collider_tube_inlet", {
description = S("TA4 Collider Tube Inlet"),
description = S("TA4 Collider Tube Input"),
tiles = {
-- up, down, right, left, back, front
"default_steel_block.png",
@ -116,10 +116,10 @@ minetest.register_craft({
})
--------------------------------------------------------------------------------
-- Pipe Inlet (gas)
-- Pipe Input (gas)
--------------------------------------------------------------------------------
minetest.register_node("techage:ta4_collider_pipe_inlet", {
description = S("TA4 Collider Pipe Inlet"),
description = S("TA4 Collider Pipe Input"),
tiles = {
-- up, down, right, left, back, front
"default_steel_block.png",
@ -211,7 +211,7 @@ minetest.register_craft({
--------------------------------------------------------------------------------
-- Pipe Outlet (air)
-- Pipe Output (air)
--------------------------------------------------------------------------------
local function init_air(nvm)
nvm.liquid = {
@ -222,7 +222,7 @@ local function init_air(nvm)
end
minetest.register_node("techage:ta4_collider_pipe_outlet", {
description = S("TA4 Collider Pipe Outlet"),
description = S("TA4 Collider Pipe Output"),
tiles = {
-- up, down, right, left, back, front
"default_steel_block.png^techage_appl_hole_pipe.png",
@ -298,10 +298,10 @@ minetest.register_craft({
})
--------------------------------------------------------------------------------
-- Cable Inlet (power)
-- Cable Input (power)
--------------------------------------------------------------------------------
minetest.register_node("techage:ta4_collider_cable_inlet", {
description = S("TA4 Collider Cable Inlet"),
description = S("TA4 Collider Cable Input"),
tiles = {
-- up, down, right, left, back, front
"default_steel_block.png",

View File

@ -215,7 +215,7 @@ techage.register_node({"techage:ta4_magnet"}, {
end
elseif topic == "test" then
if payload and tonumber(payload) == nvm.number then
if not nvm.liquid or nvm.liquid.amount < CAPACITY then
if not nvm.liquid or not nvm.liquid.amount or nvm.liquid.amount < CAPACITY then
return false, "no gas"
elseif nvm.liquid.name ~= "techage:hydrogen" then
return false, "wrong gas"

View File

@ -200,6 +200,8 @@ techage.Items = {
ta4_signallamp_2x = "techage:ta4_signallamp_2x",
ta4_signallamp_4x = "techage:ta4_signallamp_4x",
ta4_terminal = "techage:terminal3",
ta4_autocrafter = "techage:ta4_autocrafter_pas",
ta4_recipeblock = "techage:ta4_recipeblock",
}
function techage.add_manual_items(table_with_items)

View File

@ -117,6 +117,7 @@ techage.manual_DE.aTitel = {
"3,Tür/Tor Blöcke / Door/Gate Blocks",
"3,TA3 Tür Controller / Door Controller",
"3,TA3 Tür Controller II / Door Controller II",
"3,TA3 Sound Block",
"3,TA3 Mesecons Umsetzer / TA3 Mesecons Converter",
"2,Detektoren",
"3,TA3 Detektor / Detector",
@ -194,7 +195,6 @@ techage.manual_DE.aTitel = {
"2,Move/Dreh-Controller",
"3,TA4 Move Controller",
"3,TA4 Drehcontroller / Turn Controller",
"3, ",
"2,TA4 Lampen",
"3,TA4 LED Pflanzenlampe / TA4 LED Grow Light",
"3,TA4 LED Straßenlampe / TA4 LED Street Lamp",
@ -208,6 +208,8 @@ techage.manual_DE.aTitel = {
"3,Steuerung / TA4 Terminal",
"3,Aufbau",
"2,Weitere TA4 Blöcke",
"3,TA4 Rezept Block",
"3,TA4 Autocrafter",
"3,TA4 Tank / TA4 Tank",
"3,TA4 Pumpe / TA4 Pump",
"3,TA4 Ofenheizung / furnace heater",
@ -1126,6 +1128,16 @@ techage.manual_DE.aText = {
"\n"..
"\n"..
"\n",
"Mir dem Sound Block können veschiedene Sounds/Laute abgespielt werden. Es sind alle Sounds der Mods Techage\\, Signs Bot\\, Hyperloop\\, Unified Inventory\\, TA4 Jetpack und Minetest Game verfügbar.\n"..
"\n"..
"Die Sounds können über das Menü und über ein Kommando ausgewählt und abgespielt werden.\n"..
"\n"..
" - Kommando 'on' zum Abspielen eines Sounds\n"..
" - Kommando 'sound <idx>' zur Auswahl eines Sounds über den Index\n"..
" - Kommando 'gain <volume>' zum Einstellen der Lautstärke über den '<volume>' Wert (0 bis 1.0).\n"..
"\n"..
"\n"..
"\n",
"Der Mesecons Umsetzer dient zur Umwandlung von Techage on/off Kommandos in Mesecons Signale und umgekehrt.\n"..
"Dazu müssen eine oder mehrere Knotennummern eingegeben und der Konverter mit Mesecons Blöcken \n"..
"über Mesecons Leitungen verbunden werden. Den Mesecons Umsetzer kann man auch mit dem Programmer konfigurieren.\n"..
@ -1674,7 +1686,6 @@ techage.manual_DE.aText = {
"\n"..
"\n"..
"\n",
"",
"TA4 beinhaltet eine Reihe von leistungsstarken Lampen\\, die eine bessere Ausleuchtung ermöglichen oder Spezialaufgaben übernehmen.\n"..
"\n",
"Die TA4 LED Pflanzenlampe ermöglicht ein schnelles und kräftiges Wachstum aller Pflanzen aus der 'farming' Mod. Die Lampe beleuchtet ein 3x3 großes Feld\\, so dass sich damit auch Pflanzen unter Tage anbauen lassen.\n"..
@ -1797,6 +1808,28 @@ techage.manual_DE.aText = {
"\n"..
"\n",
"",
"Im Rezept Block können bis zu 10 Rezepte gespeichert werden. Diese Rezepte können dann über ein TA4 Autocrafter Kommando abgerufen werden. Dies ermöglicht eine Rezept-Konfiguration des Autocrafters über ein Kommando. Die Rezepte des Rezept Blocks können auch direkt per Kommando abgefragt werden.\n"..
"\n"..
"'input <index>' liest ein Rezept aus dem TA4 Rezeptblock. '<index>' ist die Nummer des Rezepts. Der Block gibt eine Liste von Rezept-Zutaten zurück. \n"..
"\n"..
"Beispiel: '$send_cmnd(1234\\, \"input\"\\, 1)'\n"..
"\n"..
"\n"..
"\n",
"Die Funktion entspricht der von TA3. \n"..
"\n"..
"Die Verarbeitungsleistung beträgt 4 Items alle 4 s. Der Autocrafter benötigt hierfür 9 ku Strom.\n"..
"\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"..
"\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"..
"\n"..
"\n",
"Siehe TA3 Tank.\n"..
"\n"..
"In einen TA4 Tank passen 2000 Einheiten oder 200 Fässer einer Flüssigkeit.\n"..
@ -2039,6 +2072,7 @@ techage.manual_DE.aItemName = {
"ta3_doorblock",
"ta3_doorcontroller",
"ta3_doorcontroller",
"ta3_soundblock",
"ta3_mesecons_converter",
"ta3_nodedetector",
"ta3_detector",
@ -2117,7 +2151,6 @@ techage.manual_DE.aItemName = {
"ta4_movecontroller",
"ta4_turncontroller",
"",
"",
"ta4_growlight",
"ta4_streetlamp",
"ta4_industriallamp",
@ -2130,6 +2163,8 @@ techage.manual_DE.aItemName = {
"ta4_terminal",
"techage_ta4c",
"",
"ta4_recipeblock",
"ta4_autocrafter",
"ta4_tank",
"ta4_pump",
"ta4_furnaceheater",
@ -2288,6 +2323,7 @@ techage.manual_DE.aPlanTable = {
"",
"",
"",
"",
"ta4_windturbine",
"",
"",
@ -2348,7 +2384,6 @@ techage.manual_DE.aPlanTable = {
"",
"",
"",
"",
"ta4_liquid_filter_base",
"ta4_liquid_filter_gravel",
"ta4_liquid_filter_top",
@ -2374,5 +2409,7 @@ techage.manual_DE.aPlanTable = {
"",
"",
"",
"",
"",
}

View File

@ -117,6 +117,7 @@ techage.manual_EN.aTitel = {
"3,Door/Gate Blocks",
"3,TA3 Door Controller",
"3,TA3 Door Controller II",
"3,TA3 sound block",
"3,TA3 Mesecons Converter",
"2,Detectors",
"3,TA3 Detector",
@ -203,6 +204,8 @@ techage.manual_EN.aTitel = {
"3,Gravel Layer",
"3,Filling Layer",
"2,More TA4 Blocks",
"3,TA4 Recipe Block",
"3,TA4 Autocrafter",
"3,TA4 Tank",
"3,TA4 Pump",
"3,TA4 Furnace Heater",
@ -1120,6 +1123,16 @@ techage.manual_EN.aText = {
"\n"..
"\n"..
"\n",
"Different sounds can be played with the sound block. All sounds of the Mods Techage\\, Signs Bot\\, Hyperloop\\, Unified Inventory\\, TA4 Jetpack and Minetest Game are available.\n"..
"\n"..
"The sounds can be selected and played via the menu and via command.\n"..
"\n"..
" - Command 'on' to play a sound\n"..
" - Command 'sound <idx>' to select a sound via the index\n"..
" - Command 'gain <volume>' to adjust the volume via the '<volume>' value (0 to 1.0).\n"..
"\n"..
"\n"..
"\n",
"The Mesecons converter is used to convert Techage on/off commands into Mesecons signals and vice versa.\n"..
"To do this\\, one or more node numbers must be entered and the converter with Mesecons blocks\n"..
"has to be connected via Mesecons cables. The Mesecons converter can also be configured with the programmer.\n"..
@ -1720,6 +1733,28 @@ techage.manual_EN.aText = {
"\n"..
"\n",
"",
"Up to 10 recipes can be saved in the recipe block. These recipes can then be called up via a TA4 Autocrafter command. This enables the autocrafter's recipe to be configured using a command. The recipes in the recipe block can also be queried directly using a command.\n"..
"\n"..
"'input <index>' reads a recipe from the TA4 recipe block. '<index>' is the number of the recipe. The block returns a list of recipe ingredients.\n"..
"\n"..
"Example: '$send_cmnd(1234\\, \"input\"\\, 1)'\n"..
"\n"..
" \n"..
"\n",
"The function corresponds to that of TA3.\n"..
"\n"..
"The processing power is 4 items every 4 s. The autocrafter requires 9 ku of electricity for this.\n"..
"\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"..
"\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"..
" \n"..
"\n",
"See TA3 tank.\n"..
"\n"..
"A TA4 tank can hold 2000 units or 200 barrels of liquid.\n"..
@ -1963,6 +1998,7 @@ techage.manual_EN.aItemName = {
"ta3_doorblock",
"ta3_doorcontroller",
"ta3_doorcontroller",
"ta3_soundblock",
"ta3_mesecons_converter",
"ta3_nodedetector",
"ta3_detector",
@ -2049,6 +2085,8 @@ techage.manual_EN.aItemName = {
"",
"",
"",
"ta4_recipeblock",
"ta4_autocrafter",
"ta4_tank",
"ta4_pump",
"ta4_furnaceheater",
@ -2207,6 +2245,7 @@ techage.manual_EN.aPlanTable = {
"",
"",
"",
"",
"ta4_windturbine",
"",
"",
@ -2288,5 +2327,7 @@ techage.manual_EN.aPlanTable = {
"",
"",
"",
"",
"",
}

View File

@ -196,6 +196,7 @@ Cement Powder=Zement Pulver
TA4 Ceramic Material=TA4 Keramik Material
TA4 Furnace Ceramic=TA4 Ofen Keramik
TA4 Round Ceramic=TA4 Rund-Keramik
### charcoalpile.lua ###
@ -238,6 +239,7 @@ TA3 Melting=TA3 Schmelzen
### cooler.lua ###
TA3 Cooler=TA3 Kühler
TA4 Collider Cooler=TA4 Collider Kühler
### counting.lua ###
@ -257,6 +259,8 @@ Configured Items=Konfigurierte Gegenstände
Items which generate an 'on' command.@nIf empty, all passed items generate an 'on' command.=Items, die einen 'on'-Kommando generieren.@nWenn leer, generieren alle übergebenen Items einen 'on'-Befehl.
On Time=ON Zeit
TA3 Detector=TA3 Detektor
TA4 Collider Detector=TA4 Collider Detektor
TA4 Collider Detector Core=TA4 Collider Detektorkern
TA4 Detector=TA4 Detektor
The time after the 'off' command@nuntil the next 'on' command is accepted.=Die Zeit nach dem 'off' Kommando,@nbis das nächste 'on' Kommando akzeptiert wird.
The time between the 'on' and 'off' commands.=Die Zeit zwischen den 'on' und 'off' Kommandos.
@ -309,7 +313,9 @@ TA3 Door Controller II=TA3 Tür Controller II
with door sound=mit Türgeräusch
### doorcontroller2.lua ###
### flycontroller.lua ###
### movecontroller.lua ###
### turncontroller.lua ###
Done=Fertig
Record=Aufzeichnen
@ -371,6 +377,7 @@ TA3 Vacuum Tube=TA3 Vakuumröhre
TA4 LEDs=TA4 LEDs
TA4 RAM Chip=RAM Chip
TA4 WLAN Chip=TA4 WLAN Chip
TA5 AI Chip=TA5 KI Chip
WLAN Chip=WLAN Chip
### electronic_fab.lua ###
@ -409,6 +416,49 @@ TA3 Power Station Firebox=TA3 Kraftwerks-Feuerbox
Firebox=Feuerkasten
### fly_lib.lua ###
Destination position is protected=Zielposition ist geschützt
Error: Max. length of the flight route exceeded !!=Fehler: Max. Flugstreckenlänge überschritten !!
No valid destination position=Keine gültige Zielposition
No valid node at the start position=Kein gültiger Block an der Startposition
Start position is protected=Startposition ist geschützt
### fly_lib.lua ###
### flycontroller.lua ###
Error: Invalid path !!=Fehler: Ungültiger Pfad !!
### flycontroller.lua ###
Error: Recording is missing !!=Fehler: Aufzeichnung fehlt !!
Move=Bewege
Move path (A to B)=Bewegungspfad (A nach B)
See chat output=Siehe chat Ausgabe
TA5 Fly Controller=TA5 Flug Controller
Test=Test
[TA4 Fly Controller] Invalid path!=[TA5 Flug Controller] Ungültiger Pfad!
[TA4 Fly Controller] Recording is missing!=[TA5 Flug Controller] Aufzeichnung fehlt!
### flycontroller.lua ###
### logic_block.lua ###
### lua_logic.lua ###
### movecontroller.lua ###
Store=Speichern
### flycontroller.lua ###
### movecontroller.lua ###
Click on all blocks that shall be moved=Klicke auf alle Blöcke, die verschoben werden sollen
Maximum Speed=Maximalgeschwindigkeit
Maximum speed for moving blocks=Maximale Geschwindigkeit für bewegliche Blöcke
Move A-B=Bewege A-B
Move B-A=Bewege B-A
Move block height=Move Block Höhe
Stored=Gespeichert
Value in the range of 0.0 to 1.0=Wert im Bereich von 0.0 bis 1.0
### flywheel.lua ###
Flywheel=Schwungrad
@ -538,6 +588,7 @@ TA4 Heat Exchanger 1=TA4 Wärmetauscher 1
### heatexchanger2.lua ###
No power=Kein Strom
Power network connection error=Stromnetz Verbindungsfehler
TA4 Heat Exchanger=TA4 Wärmetauscher
TA4 Heat Exchanger 2=TA4 Wärmetauscher 2
@ -567,6 +618,7 @@ Remote name=Name entfernter Block
### hyperloop.lua ###
### sensorchest.lua ###
### terminal.lua ###
not connected=nicht verbunden
@ -594,6 +646,13 @@ wrong diameter (should be 5, 7, or 9)=falscher Durchmesser (sollte 5, 7, oder 9
wrong number of gravel nodes=falsche Anzahl von Kiesblöcken
wrong number of shell nodes=falsche Anzahl von Blöcken bei der Hülle
### inlets.lua ###
TA4 Collider Cable Input=TA4 Collider Kabelausgang
TA4 Collider Pipe Input=TA4 Collider Leitungseingang
TA4 Collider Pipe Output=TA4 Collider Leitungsausgang
TA4 Collider Tube Input=TA4 Collider Rohreneingang
### inverter.lua ###
Inverter=Wechselrichter
@ -630,6 +689,7 @@ Block has an@nadditional wrench menu=Block besitzt ein@nzusätzliches@nSchrauben
### lib.lua ###
### sensorchest.lua ###
### terminal.lua ###
connected with=verbunden mit
@ -687,12 +747,6 @@ Syntax=Syntax
TA3 Logic Block=TA3 Logikblock
Update=Update
### logic_block.lua ###
### lua_logic.lua ###
### movecontroller.lua ###
Store=Speichern
### logic_block.lua ###
### sequencer2.lua ###
@ -704,6 +758,17 @@ Lye=Lauge
Lye Barrel=Lauge Fass
Lye Canister=Lauge Kanister
### magnet.lua ###
TA4 Collider Detector Magnet=TA4 Collider Detektormagnet
TA4 Collider Magnet=TA4 Collider Magnet
TA4 Collider Magnet Base=TA4 Collider Magnetfuß
TA4 Collider Steel Block=TA4 Collider Stahlblock
### mba_detector.lua ###
TA4 Mapblock Active Detector=TA4 Aktiver Mapblock Detektor
### meltingpot.lua ###
Heat=Hitze
@ -757,25 +822,13 @@ TA4 Streetlamp Solar Cell=TA4 Straßenlampen-Solarzelle
### movecontroller.lua ###
Click on all blocks that shall be moved=Klicke auf alle Blöcke, die verschoben werden sollen
Destination position is protected=Zielposition ist geschützt
Error: Distance > 100 m !!=Fehler: Distanz > 100 m !!
Error: Invalid distance !!=Fehler: Ungültige Entfernung !!
Handover to A=Übergabe an A
Handover to B=Übergabe an B
Maximum Speed=Maximalgeschwindigkeit
Maximum speed for moving blocks=Maximale Geschwindigkeit für bewegliche Blöcke
Move A-B=Bewege A-B
Move B-A=Bewege B-A
Move block height=Move Block Höhe
Move distance (A to B)=Entfernung (A nach B)
No valid destination position=Keine gültige Zielposition
No valid node at the start position=Kein gültiger Block an der Startposition
Number of the next movecontroller.=Nummer des nächsten Move Controllers.
Number of the previous movecontroller.=Nummer des vorherigen Move Controllers.
Position list error=Positionslistenfehler
Start position is protected=Startposition ist geschützt
Number of the next movecontroller=Nummer des nächsten Move Controllers
Number of the previous movecontroller=Nummer des vorhergehenden Move Controllers
TA4 Move Controller=TA4 Move Controller
Value in the range of 0.0 to 1.0=Wert im Bereich von 0.0 bis 1.0
### node_detector.lua ###
@ -903,6 +956,8 @@ Allow to dig/place Techage power lines nearby power poles=Erlaubt TODO
TA3 Pump=TA3 Pumpe
TA4 Pump=TA4 Pumpe
Total flow rate=Gesamtdurchfluss
Total flow rate in liquid units=Gesamtdurchfluss in Flüssigkeitseinheiten
### pumpjack.lua ###
@ -933,6 +988,7 @@ inventory full=Inventar ist voll
TA3 Oil Reboiler=TA3 Aufkocher
### recipe_lib.lua ###
### recipeblock.lua ###
Recipe=Rezept
@ -941,6 +997,10 @@ Recipe=Rezept
Catalyst=Katalysator
### recipeblock.lua ###
TA4 Recipe Block=TA4 Rezept Block
### recipes.lua ###
Flint and Iron=Flint and Iron
@ -1068,6 +1128,11 @@ light=Licht
power=Strom
### soundblock.lua ###
Play=Abspielen
TA3 Sound Block=TA3 Sound Block
### source.lua ###
Axle Power Source=Achsenkraftquelle
@ -1189,10 +1254,10 @@ TA Tank Cart=TA Tankwagen
### terminal.lua ###
Switched to private use!=Zur privaten Nutzung umgeschaltet
Switched to public use!=Zur öffentlichen Nutzung umgeschaltet
Syntax error, try help=Syntax Fehler, nutze help
TA3 Terminal=TA3 Terminal
TA4 Collider Terminal=TA4 Collider Terminal
TA4 Terminal=TA4 Terminal
commands like: help=Kommandos wie: help
### timer.lua ###
@ -1238,11 +1303,22 @@ TA4 Tube=TA4 Röhre
TA3 Turbine=TA3 Turbine
TA4 Turbine=TA4 Turbine
### turncontroller.lua ###
Click on all blocks that shall be turned=Klicke auf all Blöcke, die gedreht werden sollen
TA4 Turn Controller=TA4 Dreh Controller
Turn left=Drehe links
Turn right=Drehe rechts
### usmium.lua ###
Usmium Nuggets=Usmium Nuggets
Usmium Powder=Usmium Pulver
### vacuumtube.lua ###
TA4 Vacuum Tube=TA4 Vakuumröhre
### valve.lua ###
TA Valve=TA Ventil
@ -1277,7 +1353,22 @@ This is not the surface of the ocean!=Das ist nicht die Meeresoberfläche!
biome and no ocean!=Biom und keine Meer (ocean)!
is a suitable place for a wind turbine!=ist ein geeigneter Ort für eine Windkraftanlage!
### worker.lua ###
Build detector=Baue Detektor
Item list=Teileliste
Remove detector=Entferne Detektor
TA4 Collider Detector Worker=TA4 Collider Detektor Worker
[TA4] Detector is being built!=[TA4] Detektor wird gebaut!
[TA4] Detector is being removed!=[TA4] Detektor wird entfernt!
##### not used anymore #####
Error: Distance > 100 m !!=Fehler: Distanz > 100 m !!
Number of the next movecontroller.=Nummer des nächsten Move Controllers.
Number of the previous movecontroller.=Nummer des vorherigen Move Controllers.
Position list error=Positionslistenfehler
Switched to private use!=Zur privaten Nutzung umgeschaltet
Switched to public use!=Zur öffentlichen Nutzung umgeschaltet
[techage] The limit for commands per minute has been exceeded.=[techage] Das Limit für Befehle pro Minute wurde überschritten.

View File

@ -196,6 +196,7 @@ Cement Powder=
TA4 Ceramic Material=
TA4 Furnace Ceramic=
TA4 Round Ceramic=
### charcoalpile.lua ###
@ -238,6 +239,7 @@ TA3 Melting=
### cooler.lua ###
TA3 Cooler=
TA4 Collider Cooler=
### counting.lua ###
@ -257,6 +259,8 @@ Configured Items=
Items which generate an 'on' command.@nIf empty, all passed items generate an 'on' command.=
On Time=
TA3 Detector=
TA4 Collider Detector=
TA4 Collider Detector Core=
TA4 Detector=
The time after the 'off' command@nuntil the next 'on' command is accepted.=
The time between the 'on' and 'off' commands.=
@ -309,7 +313,9 @@ TA3 Door Controller II=
with door sound=
### doorcontroller2.lua ###
### flycontroller.lua ###
### movecontroller.lua ###
### turncontroller.lua ###
Done=
Record=
@ -371,6 +377,7 @@ TA3 Vacuum Tube=
TA4 LEDs=
TA4 RAM Chip=
TA4 WLAN Chip=
TA5 AI Chip=
WLAN Chip=
### electronic_fab.lua ###
@ -409,6 +416,49 @@ TA3 Power Station Firebox=
Firebox=
### fly_lib.lua ###
Destination position is protected=
Error: Max. length of the flight route exceeded !!=
No valid destination position=
No valid node at the start position=
Start position is protected=
### fly_lib.lua ###
### flycontroller.lua ###
Error: Invalid path !!=
### flycontroller.lua ###
Error: Recording is missing !!=
Move=
Move path (A to B)=
See chat output=
TA5 Fly Controller=
Test=
[TA4 Fly Controller] Invalid path!=
[TA4 Fly Controller] Recording is missing!=
### flycontroller.lua ###
### logic_block.lua ###
### lua_logic.lua ###
### movecontroller.lua ###
Store=
### flycontroller.lua ###
### movecontroller.lua ###
Click on all blocks that shall be moved=
Maximum Speed=
Maximum speed for moving blocks=
Move A-B=
Move B-A=
Move block height=
Stored=
Value in the range of 0.0 to 1.0=
### flywheel.lua ###
Flywheel=
@ -538,6 +588,7 @@ TA4 Heat Exchanger 1=
### heatexchanger2.lua ###
No power=
Power network connection error=
TA4 Heat Exchanger=
TA4 Heat Exchanger 2=
@ -567,6 +618,7 @@ Remote name=
### hyperloop.lua ###
### sensorchest.lua ###
### terminal.lua ###
not connected=
@ -594,6 +646,13 @@ wrong diameter (should be 5, 7, or 9)=
wrong number of gravel nodes=
wrong number of shell nodes=
### inlets.lua ###
TA4 Collider Cable Input=
TA4 Collider Pipe Input=
TA4 Collider Pipe Output=
TA4 Collider Tube Input=
### inverter.lua ###
Inverter=
@ -630,6 +689,7 @@ Block has an@nadditional wrench menu=
### lib.lua ###
### sensorchest.lua ###
### terminal.lua ###
connected with=
@ -687,12 +747,6 @@ Syntax=
TA3 Logic Block=
Update=
### logic_block.lua ###
### lua_logic.lua ###
### movecontroller.lua ###
Store=
### logic_block.lua ###
### sequencer2.lua ###
@ -704,6 +758,17 @@ Lye=
Lye Barrel=
Lye Canister=
### magnet.lua ###
TA4 Collider Detector Magnet=
TA4 Collider Magnet=
TA4 Collider Magnet Base=
TA4 Collider Steel Block=
### mba_detector.lua ###
TA4 Mapblock Active Detector=
### meltingpot.lua ###
Heat=
@ -757,25 +822,13 @@ TA4 Streetlamp Solar Cell=
### movecontroller.lua ###
Click on all blocks that shall be moved=
Destination position is protected=
Error: Distance > 100 m !!=
Error: Invalid distance !!=
Handover to A=
Handover to B=
Maximum Speed=
Maximum speed for moving blocks=
Move A-B=
Move B-A=
Move block height=
Move distance (A to B)=
No valid destination position=
No valid node at the start position=
Number of the next movecontroller.=
Number of the previous movecontroller.=
Position list error=
Start position is protected=
Number of the next movecontroller=
Number of the previous movecontroller=
TA4 Move Controller=
Value in the range of 0.0 to 1.0=
### node_detector.lua ###
@ -903,6 +956,8 @@ Allow to dig/place Techage power lines nearby power poles=
TA3 Pump=
TA4 Pump=
Total flow rate=
Total flow rate in liquid units=
### pumpjack.lua ###
@ -933,6 +988,7 @@ inventory full=
TA3 Oil Reboiler=
### recipe_lib.lua ###
### recipeblock.lua ###
Recipe=
@ -941,6 +997,10 @@ Recipe=
Catalyst=
### recipeblock.lua ###
TA4 Recipe Block=
### recipes.lua ###
Flint and Iron=
@ -1068,6 +1128,11 @@ light=
power=
### soundblock.lua ###
Play=
TA3 Sound Block=
### source.lua ###
Axle Power Source=
@ -1189,10 +1254,10 @@ TA Tank Cart=
### terminal.lua ###
Switched to private use!=
Switched to public use!=
Syntax error, try help=
TA3 Terminal=
TA4 Collider Terminal=
TA4 Terminal=
commands like: help=
### timer.lua ###
@ -1238,11 +1303,24 @@ TA4 Tube=
TA3 Turbine=
TA4 Turbine=
### turncontroller.lua ###
Center Pos=
Center block position for the turn, e.g.: 237,6,-125=
Click on all blocks that shall be turned=
TA4 Turn Controller=
Turn left=
Turn right=
### usmium.lua ###
Usmium Nuggets=
Usmium Powder=
### vacuumtube.lua ###
TA4 Vacuum Tube=
### valve.lua ###
TA Valve=
@ -1276,3 +1354,12 @@ This is not the surface of the ocean!=
[TA4 Wind Turbine]=
biome and no ocean!=
is a suitable place for a wind turbine!=
### worker.lua ###
Build detector=
Item list=
Remove detector=
TA4 Collider Detector Worker=
[TA4] Detector is being built!=
[TA4] Detector is being removed!=

View File

@ -671,6 +671,18 @@ Damit lassen sich auch ausfahrbare Treppen und ähnliches simulieren.
[ta3_doorcontroller|image]
### TA3 Sound Block
Mir dem Sound Block können veschiedene Sounds/Laute abgespielt werden. Es sind alle Sounds der Mods Techage, Signs Bot, Hyperloop, Unified Inventory, TA4 Jetpack und Minetest Game verfügbar.
Die Sounds können über das Menü und über ein Kommando ausgewählt und abgespielt werden.
- Kommando `on` zum Abspielen eines Sounds
- Kommando `sound <idx>` zur Auswahl eines Sounds über den Index
- Kommando `gain <volume>` zum Einstellen der Lautstärke über den `<volume>` Wert (0 bis 1.0).
[ta3_soundblock|image]
### TA3 Mesecons Umsetzer / TA3 Mesecons Converter
Der Mesecons Umsetzer dient zur Umwandlung von Techage on/off Kommandos in Mesecons Signale und umgekehrt.

View File

@ -664,6 +664,17 @@ This can also be used to simulate extendable stairs and the like.
[ta3_doorcontroller|image]
### TA3 sound block
Different sounds can be played with the sound block. All sounds of the Mods Techage, Signs Bot, Hyperloop, Unified Inventory, TA4 Jetpack and Minetest Game are available.
The sounds can be selected and played via the menu and via command.
- Command `on` to play a sound
- Command `sound <idx>` to select a sound via the index
- Command `gain <volume>` to adjust the volume via the `<volume>` value (0 to 1.0).
[ta3_soundblock|image]
### TA3 Mesecons Converter

View File

@ -599,7 +599,7 @@ Der Drehcontroller unterstützt folgende techage Kommandos:
[ta4_turncontroller|image]
###
## TA4 Lampen
@ -758,6 +758,32 @@ Beim Aufbau des Teilchenbeschleunigers empfiehlt sich folgende Reihenfolge:
## Weitere TA4 Blöcke
### TA4 Rezept Block
Im Rezept Block können bis zu 10 Rezepte gespeichert werden. Diese Rezepte können dann über ein TA4 Autocrafter Kommando abgerufen werden. Dies ermöglicht eine Rezept-Konfiguration des Autocrafters über ein Kommando. Die Rezepte des Rezept Blocks können auch direkt per Kommando abgefragt werden.
`input <index>` liest ein Rezept aus dem TA4 Rezeptblock. `<index>` ist die Nummer des Rezepts. Der Block gibt eine Liste von Rezept-Zutaten zurück.
Beispiel: `$send_cmnd(1234, "input", 1)`
[ta4_recipeblock|image]
### TA4 Autocrafter
Die Funktion entspricht der von TA3.
Die Verarbeitungsleistung beträgt 4 Items alle 4 s. Der Autocrafter benötigt hierfür 9 ku Strom.
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)`
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.
[ta4_autocrafter|image]
### TA4 Tank / TA4 Tank
Siehe TA3 Tank.

View File

@ -669,6 +669,32 @@ The red mud must be pumped into the filler pipe.
## More TA4 Blocks
### TA4 Recipe Block
Up to 10 recipes can be saved in the recipe block. These recipes can then be called up via a TA4 Autocrafter command. This enables the autocrafter's recipe to be configured using a command. The recipes in the recipe block can also be queried directly using a command.
`input <index>` reads a recipe from the TA4 recipe block. `<index>` is the number of the recipe. The block returns a list of recipe ingredients.
Example: `$send_cmnd(1234, "input", 1)`
[ta4_recipeblock|image]
### TA4 Autocrafter
The function corresponds to that of TA3.
The processing power is 4 items every 4 s. The autocrafter requires 9 ku of electricity for this.
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)`
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.
[ta4_autocrafter|image]
### TA4 Tank
See TA3 tank.

View File

@ -405,7 +405,8 @@ Please note, that this is not a technical distinction, only a logical.
| "recipe" | `<number>.<index>` | Set the TA4 Autocrafter recipe with a recipe from a TA4 Recipe Block.<br />`<number>` is the TA4 Recipe Block number<br />`<index>` is the number of the recipe in the TA4 Recipe Block |
| "goto" | `<slot>` | Start command for the TA4 Sequencer. `<slot>` is the time slot like `[1]` where the execution starts. |
| "stop" | nil | Stop command for the TA4 Sequencer. |
| "gain" | volume | Set volume of the sound block (`volume` is a value between 0 and 1.0) |
| "sound" | index | Select sound sample of the sound block |
### Server and Terminal Functions

Binary file not shown.

View File

@ -116,6 +116,7 @@
- [Tür/Tor Blöcke / Door/Gate Blocks](./manual_ta3_DE.md#türtor-blöcke--doorgate-blocks)
- [TA3 Tür Controller / Door Controller](./manual_ta3_DE.md#ta3-tür-controller--door-controller)
- [TA3 Tür Controller II / Door Controller II](./manual_ta3_DE.md#ta3-tür-controller-ii--door-controller-ii)
- [TA3 Sound Block](./manual_ta3_DE.md#ta3-sound-block)
- [TA3 Mesecons Umsetzer / TA3 Mesecons Converter](./manual_ta3_DE.md#ta3-mesecons-umsetzer--ta3-mesecons-converter)
- [Detektoren](./manual_ta3_DE.md#detektoren)
- [TA3 Detektor / Detector](./manual_ta3_DE.md#ta3-detektor--detector)
@ -193,7 +194,6 @@
- [Move/Dreh-Controller](./manual_ta4_DE.md#movedreh-controller)
- [TA4 Move Controller](./manual_ta4_DE.md#ta4-move-controller)
- [TA4 Drehcontroller / Turn Controller](./manual_ta4_DE.md#ta4-drehcontroller--turn-controller)
- [ ](./manual_ta4_DE.md#-)
- [TA4 Lampen](./manual_ta4_DE.md#ta4-lampen)
- [TA4 LED Pflanzenlampe / TA4 LED Grow Light](./manual_ta4_DE.md#ta4-led-pflanzenlampe--ta4-led-grow-light)
- [TA4 LED Straßenlampe / TA4 LED Street Lamp](./manual_ta4_DE.md#ta4-led-straßenlampe--ta4-led-street-lamp)
@ -207,6 +207,8 @@
- [Steuerung / TA4 Terminal](./manual_ta4_DE.md#steuerung--ta4-terminal)
- [Aufbau](./manual_ta4_DE.md#aufbau)
- [Weitere TA4 Blöcke](./manual_ta4_DE.md#weitere-ta4-blöcke)
- [TA4 Rezept Block](./manual_ta4_DE.md#ta4-rezept-block)
- [TA4 Autocrafter](./manual_ta4_DE.md#ta4-autocrafter)
- [TA4 Tank / TA4 Tank](./manual_ta4_DE.md#ta4-tank--ta4-tank)
- [TA4 Pumpe / TA4 Pump](./manual_ta4_DE.md#ta4-pumpe--ta4-pump)
- [TA4 Ofenheizung / furnace heater](./manual_ta4_DE.md#ta4-ofenheizung--furnace-heater)

View File

@ -116,6 +116,7 @@
- [Door/Gate Blocks](./manual_ta3_EN.md#doorgate-blocks)
- [TA3 Door Controller](./manual_ta3_EN.md#ta3-door-controller)
- [TA3 Door Controller II](./manual_ta3_EN.md#ta3-door-controller-ii)
- [TA3 sound block](./manual_ta3_EN.md#ta3-sound-block)
- [TA3 Mesecons Converter](./manual_ta3_EN.md#ta3-mesecons-converter)
- [Detectors](./manual_ta3_EN.md#detectors)
- [TA3 Detector](./manual_ta3_EN.md#ta3-detector)
@ -202,6 +203,8 @@
- [Gravel Layer](./manual_ta4_EN.md#gravel-layer)
- [Filling Layer](./manual_ta4_EN.md#filling-layer)
- [More TA4 Blocks](./manual_ta4_EN.md#more-ta4-blocks)
- [TA4 Recipe Block](./manual_ta4_EN.md#ta4-recipe-block)
- [TA4 Autocrafter](./manual_ta4_EN.md#ta4-autocrafter)
- [TA4 Tank](./manual_ta4_EN.md#ta4-tank)
- [TA4 Pump](./manual_ta4_EN.md#ta4-pump)
- [TA4 Furnace Heater](./manual_ta4_EN.md#ta4-furnace-heater)

View File

@ -23,23 +23,14 @@ local fly = dofile(MP .. "/basis/fly_lib.lua")
local mark = dofile(MP .. "/basis/mark_lib.lua")
local MAX_BLOCKS = 16
local WRENCH_MENU = {
{
type = "ascii",
name = "center",
label = S("Center Pos"),
tooltip = S("Center block position for the turn, e.g.: 237,6,-125"),
default = "",
},
}
local function formspec(nvm, meta)
local status = meta:get_string("status")
local path = meta:contains("path") and meta:get_string("path") or "0,3,0"
return "size[8,3]" ..
"box[0,-0.1;7.2,0.5;#c6e8ff]" ..
"box[0,-0.1;7.8,0.5;#c6e8ff]" ..
"label[0.2,-0.1;" .. minetest.colorize( "#000000", S("TA4 Turn Controller")) .. "]" ..
techage.wrench_image(7.4, -0.05) ..
--techage.wrench_image(7.4, -0.05) ..
"button[0.1,0.7;3.8,1;record;" .. S("Record") .. "]" ..
"button[4.1,0.7;3.8,1;done;" .. S("Done") .. "]" ..
"button[0.1,1.5;3.8,1;left;" .. S("Turn left") .. "]" ..
@ -118,7 +109,6 @@ minetest.register_node("techage:ta4_turncontroller", {
techage.remove_node(pos, oldnode, oldmetadata)
end,
ta4_formspec = WRENCH_MENU,
paramtype2 = "facedir",
groups = {choppy=2, cracky=2, crumbly=2},
is_ground_content = false,