Collider system added

This commit is contained in:
Joachim Stolberg 2021-12-12 20:41:49 +01:00
parent dee6c47555
commit cef31ea0cf
21 changed files with 420 additions and 71 deletions

View File

@ -164,3 +164,100 @@ end
function techage.recipes.add_group_item(group, default_item_name)
GROUP_ITEMS[group] = default_item_name
end
-------------------------------------------------------------------------------
-- Borrowed from ghaydn
-------------------------------------------------------------------------------
local has_i3 = minetest.get_modpath("i3")
local has_ui = minetest.get_modpath("unified_inventory")
local has_cg = minetest.get_modpath("craftguide")
local function format_i3(input)
local output = {}
for _, entry in ipairs(input) do
local secondput = ""
if type(entry) == "table" then
for _, secondtry in ipairs(entry) do
secondput = secondput..secondtry..","
end
table.insert(output, secondput)
else
table.insert(output, entry)
end
end
return output
end
techage.recipes.register_craft_type = function(name, def)
if has_cg then
local cg_def = {
description = def.description,
icon = def.icon,
}
craftguide.register_craft_type(name, cg_def)
end
if has_i3 then
local i3_def = {
description = def.description,
icon = def.icon,
width = def.width or 3,
height = def.height or 3,
dynamic_display_size = def.dynamic_display_size or nil,
uses_crafting_grid = def.uses_crafting_grid,
}
i3.register_craft_type(name, i3_def)
end
if has_ui then
local ui_def = {
description = def.description,
icon = def.icon,
width = def.width or 3,
height = def.height or 3,
dynamic_display_size = def.dynamic_display_size or nil,
uses_crafting_grid = def.uses_crafting_grid,
}
unified_inventory.register_craft_type(name, ui_def)
end
end
techage.recipes.register_craft = function(def)
if not def.items then
if def.input then
def.items = table.copy(def.input)
elseif def.recipe then
def.items = table.copy(def.recipe)
end
end
if not def.result then
if def.output then def.result = def.output end
end
if has_cg then
local cg_def = {
result = def.result,
type = def.type,
items = def.items,
}
craftguide.register_craft(cg_def)
end
if has_i3 then
local i3_def = {
result = def.result,
type = def.type,
items = format_i3(def.items),
width = def.width or 3,
}
i3.register_craft(i3_def)
end
if has_ui then
local ui_def = {
output = def.result,
type = def.type,
items = def.items,
width = def.width or 3,
height = def.height or 3,
}
unified_inventory.register_craft(ui_def)
end
end

View File

@ -240,6 +240,7 @@ local function start_task(pos)
coroutine.yield()
local resp = techage.tube_inlet_command(pos2, "enumerate", 1)
if not check_expr(own_num, term_num, "- Check number of magnets", resp == TNO_MAGNETS) then
nvm.locked = false
return
end
@ -248,23 +249,27 @@ local function start_task(pos)
resp = techage.tube_inlet_command(pos2, "distance")
if resp ~= true then
techage.send_single(own_num, term_num, "append", "#" .. resp .. " defect!!!")
nvm.locked = false
return
end
techage.send_single(own_num, term_num, "append", "ok")
coroutine.yield()
techage.send_single(own_num, term_num, "text", "- Start magnets...")
local t = {}
for num = 1, TNO_MAGNETS do
local resp = techage.tube_inlet_command(pos2, "pos", num)
if not resp or type(resp) ~= "table" then
techage.send_single(own_num, term_num, "append", "#" .. num .. " defect!!!")
nvm.magnet_positions = nil
nvm.locked = false
return
else
nvm.magnet_positions[#nvm.magnet_positions + 1] = resp
t[#t + 1] = resp
end
coroutine.yield()
end
nvm.magnet_positions = t
techage.send_single(own_num, term_num, "append", "ok")
coroutine.yield()
@ -276,6 +281,7 @@ local function start_task(pos)
if nvm.magnet_positions then
techage.send_single(own_num, term_num, "append", "ok")
else
nvm.locked = false
return
end
@ -291,11 +297,13 @@ local function start_task(pos)
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()
@ -303,7 +311,7 @@ local function start_task(pos)
techage.send_single(own_num, term_num, "append", "ok")
coroutine.yield()
techage.send_single(own_num, term_num, "text", "Ready.")
techage.send_single(own_num, term_num, "text", "Collider started.")
nvm.ticks = 0
nvm.running = true
end
@ -330,11 +338,14 @@ techage.register_node({"techage:ta4_detector_core"}, {
M(pos):set_string("term_num", src)
return true
elseif topic == "start" then
-- Worker block
nvm.locked = true
create_task(pos, start_task)
return true
elseif topic == "stop" then
nvm.running = false
techage.del_laser(pos)
nvm.locked = false
return "Detector stopped."
elseif topic == "status" then
if nvm.running == true then

View File

@ -110,7 +110,7 @@ minetest.register_craft({
output = "techage:ta4_collider_tube_inlet",
recipe = {
{'', '', ''},
{'techage:ta4_vtubeS', 'default:steelblock', ''},
{'techage:ta4_vtubeS', 'techage:ta4_colliderblock', ''},
{'', '', ''},
},
})
@ -204,7 +204,7 @@ minetest.register_craft({
output = "techage:ta4_collider_pipe_inlet",
recipe = {
{'', '', ''},
{'techage:ta3_pipeS', 'default:steelblock', ''},
{'techage:ta3_pipeS', 'techage:ta4_colliderblock', ''},
{'', '', ''},
},
})
@ -292,7 +292,7 @@ minetest.register_craft({
output = "techage:ta4_collider_pipe_outlet",
recipe = {
{'', 'techage:ta3_pipeS', ''},
{'', 'default:steelblock', ''},
{'', 'techage:ta4_colliderblock', ''},
{'', '', ''},
},
})
@ -358,7 +358,7 @@ minetest.register_craft({
output = "techage:ta4_collider_cable_inlet",
recipe = {
{'', '', ''},
{'techage:electric_cableS', 'default:steelblock', ''},
{'techage:electric_cableS', 'techage:ta4_colliderblock', ''},
{'', '', ''},
},
})

View File

@ -28,6 +28,17 @@ local VTube = techage.VTube
local power = networks.power
local liquid = networks.liquid
minetest.register_node("techage:ta4_colliderblock", {
description = S("TA4 Collider Steel Block"),
tiles = {
"default_steel_block.png",
},
paramtype2 = "facedir",
groups = {cracky = 1},
is_ground_content = false,
sounds = default.node_sound_metal_defaults(),
})
minetest.register_node("techage:ta4_detector_magnet", {
description = S("TA4 Collider Detector Magnet"),
tiles = {
@ -197,6 +208,7 @@ techage.register_node({"techage:ta4_magnet"}, {
return send_to_next(pos, in_dir, topic, payload + 1)
elseif topic == "pos" then
if payload and tonumber(payload) == nvm.number then
nvm.tube_damage = nil
return pos
else
return send_to_next(pos, in_dir, topic, payload)
@ -242,6 +254,15 @@ minetest.register_node("techage:ta4_magnet_base", {
sounds = default.node_sound_metal_defaults(),
})
minetest.register_craft({
output = "techage:ta4_colliderblock",
recipe = {
{'techage:aluminum', '', 'default:steel_ingot'},
{'', '', ''},
{'default:steel_ingot', '', 'techage:aluminum'},
},
})
minetest.register_craft({
output = "techage:ta4_detector_magnet 2",

View File

@ -22,28 +22,27 @@ local AssemblyPlan = {
-- level 1
-- left/right
{ 1, {3,3,3,2}, 0, "default:steelblock"},
{ 1, {3,3,3}, 0, "default:steelblock"},
{ 1, {3,3,3,0}, 0, "default:steelblock"},
{ 1, {1,1,1,2}, 0, "default:steelblock"},
{ 1, {1,1,1}, 0, "default:steelblock"},
{ 1, {1,1,1,0}, 0, "default:steelblock"},
{ 1, {3,3,3,2}, 0, "techage:ta4_colliderblock"},
{ 1, {3,3,3}, 0, "techage:ta4_colliderblock"},
{ 1, {3,3,3,0}, 0, "techage:ta4_colliderblock"},
{ 1, {1,1,1,2}, 0, "techage:ta4_colliderblock"},
{ 1, {1,1,1}, 0, "techage:ta4_colliderblock"},
{ 1, {1,1,1,0}, 0, "techage:ta4_colliderblock"},
-- front
{ 1, {3,3,2}, 0, "default:steelblock"},
{ 1, {3,2}, 0, "default:steelblock"},
{ 1, {2}, 0, "default:steelblock"},
{ 1, {1,2}, 0, "default:steelblock"},
{ 1, {1,1,2}, 0, "default:steelblock"},
{ 1, {3,3,2}, 0, "techage:ta4_colliderblock"},
{ 1, {3,2}, 0, "techage:ta4_colliderblock"},
{ 1, {2}, 0, "techage:ta4_colliderblock"},
{ 1, {1,2}, 0, "techage:ta4_colliderblock"},
{ 1, {1,1,2}, 0, "techage:ta4_colliderblock"},
-- back
{ 1, {3,3,0}, 0, "default:steelblock"},
{ 1, {3,0}, 0, "default:steelblock"},
{ 1, {3,3,0}, 0, "techage:ta4_colliderblock"},
{ 1, {3,0}, 0, "techage:ta4_colliderblock"},
{ 1, {0}, 2, "techage:ta4_collider_pipe_inlet"},
{ 1, {1,0}, 0, "default:steelblock"},
{ 1, {1,1,0}, 0, "default:steelblock"},
{ 1, {1,0}, 0, "techage:ta4_colliderblock"},
{ 1, {1,1,0}, 0, "techage:ta4_colliderblock"},
-- middle
{ 1, {3,3}, 0, "techage:ta4_detector_magnet"},
{ 1, {3}, 0, "techage:ta4_detector_magnet"},
{ 1, {}, 0, "techage:ta4_detector_core"},
{ 1, {1}, 0, "techage:ta4_detector_magnet"},
{ 1, {1,1}, 0, "techage:ta4_detector_magnet"},
@ -51,10 +50,10 @@ local AssemblyPlan = {
-- left/right
{ 2, {3,3,3,2}, 1, "techage:ta4_collider_pipe_inlet"},
{ 2, {3,3,3}, 1, "techage:ta4_collider_tube_inlet"},
{ 2, {3,3,3,0}, 0, "default:steelblock"},
{ 2, {3,3,3,0}, 0, "techage:ta4_colliderblock"},
{ 2, {1,1,1,2}, 3, "techage:ta4_collider_pipe_inlet"},
{ 2, {1,1,1}, 3, "techage:ta4_collider_tube_inlet"},
{ 2, {1,1,1,0}, 0, "default:steelblock"},
{ 2, {1,1,1,0}, 0, "techage:ta4_colliderblock"},
-- front
{ 2, {3,3,2}, 0, "techage:ta4_detector_magnet"},
{ 2, {3,2}, 0, "techage:ta4_detector_magnet"},
@ -64,36 +63,39 @@ local AssemblyPlan = {
-- back
{ 2, {3,3,0}, 0, "techage:ta4_detector_magnet"},
{ 2, {3,0}, 0, "techage:ta4_detector_magnet"},
{ 2, {0}, 0, "default:steelblock"},
{ 2, {0}, 0, "techage:ta4_colliderblock"},
{ 2, {1,0}, 0, "techage:ta4_detector_magnet"},
{ 2, {1,1,0}, 0, "techage:ta4_detector_magnet"},
-- level 3
-- left/right
{ 3, {3,3,3,2}, 0, "default:steelblock"},
{ 3, {3,3,3,2}, 0, "techage:ta4_colliderblock"},
{ 3, {3,3,3}, 1, "techage:ta4_collider_cable_inlet"},
{ 3, {3,3,3,0}, 0, "default:steelblock"},
{ 3, {1,1,1,2}, 0, "default:steelblock"},
{ 3, {3,3,3,0}, 0, "techage:ta4_colliderblock"},
{ 3, {1,1,1,2}, 0, "techage:ta4_colliderblock"},
{ 3, {1,1,1}, 3, "techage:ta4_collider_cable_inlet"},
{ 3, {1,1,1,0}, 0, "default:steelblock"},
{ 3, {1,1,1,0}, 0, "techage:ta4_colliderblock"},
-- front
{ 3, {3,3,2}, 0, "default:steelblock"},
{ 3, {3,2}, 0, "default:steelblock"},
{ 3, {2}, 0, "default:steelblock"},
{ 3, {1,2}, 0, "default:steelblock"},
{ 3, {1,1,2}, 0, "default:steelblock"},
{ 3, {3,3,2}, 0, "techage:ta4_colliderblock"},
{ 3, {3,2}, 0, "techage:ta4_colliderblock"},
{ 3, {2}, 0, "techage:ta4_colliderblock"},
{ 3, {1,2}, 0, "techage:ta4_colliderblock"},
{ 3, {1,1,2}, 0, "techage:ta4_colliderblock"},
-- back
{ 3, {3,3,0}, 0, "default:steelblock"},
{ 3, {3,0}, 0, "default:steelblock"},
{ 3, {3,3,0}, 0, "techage:ta4_colliderblock"},
{ 3, {3,0}, 0, "techage:ta4_colliderblock"},
{ 3, {0}, 2, "techage:ta4_collider_pipe_inlet"},
{ 3, {1,0}, 0, "default:steelblock"},
{ 3, {1,1,0}, 0, "default:steelblock"},
{ 3, {1,0}, 0, "techage:ta4_colliderblock"},
{ 3, {1,1,0}, 0, "techage:ta4_colliderblock"},
-- middle
{ 3, {3,3}, 0, "techage:ta4_detector_magnet"},
{ 3, {3}, 0, "techage:ta4_detector_magnet"},
{ 3, {}, 0, "techage:ta4_collider_pipe_outlet"},
{ 3, {1}, 0, "techage:ta4_detector_magnet"},
{ 3, {1,1}, 0, "techage:ta4_detector_magnet"},
-- Core block
{ 1, {}, 0, "techage:ta4_detector_core"},
}
local t = {}
@ -167,7 +169,10 @@ minetest.register_node("techage:ta4_collider_detector_worker", {
end
elseif fields.remove then
if not nvm.assemble_locked then
remove(pos, player:get_player_name())
local nvm = techage.get_nvm({x=pos.x, y=pos.y + 1, z=pos.z})
if not nvm.locked then
remove(pos, player:get_player_name())
end
end
end
end,

View File

@ -13,6 +13,8 @@ local function tooltip(item)
local img, name = item[1], item[2]
if img == "" then -- larger image for the plan?
return "", name
elseif img == "10x10" then -- huge image for the plan?
return "10x10", name
end
local ndef = minetest.registered_nodes[name]
if ndef and ndef.description then
@ -41,6 +43,9 @@ local function plan(images)
elseif img == "" then
img = tooltip -- use tooltip for bigger image
tbl[#tbl+1] = "image["..x_offs..","..y_offs..";2.2,2.2;"..img.."]"
elseif img == "10x10" then
img = tooltip -- use tooltip for bigger image
tbl[#tbl+1] = "image["..x_offs..","..y_offs..";10,10;"..img.."]"
elseif string.find(img, ":") then
tbl[#tbl+1] = "item_image["..x_offs..","..y_offs..";1,1;"..img.."]"
else

View File

@ -126,6 +126,7 @@ techage.Items = {
ta3_injector = "techage:ta3_injector_pas",
----------------------------
techage_ta4 = "techage_ta4.png",
techage_ta4c = "techage_ta4c.png",
ta4_windturbine = "techage:ta4_wind_turbine",
ta4_pillar = "techage:pillar",
ta4_blinklamp = "techage:rotor_signal_lamp_off",
@ -198,6 +199,7 @@ techage.Items = {
ta4_turncontroller = "techage:ta4_turncontroller",
ta4_signallamp_2x = "techage:ta4_signallamp_2x",
ta4_signallamp_4x = "techage:ta4_signallamp_4x",
ta4_terminal = "techage:terminal3",
}
function techage.add_manual_items(table_with_items)

View File

@ -138,7 +138,7 @@ techage.manual_DE.aTitel = {
"3,TechAge Programmer",
"3,TechAge Kelle / Trowel",
"3,TA3 Bohrgestängezange / TA3 Drill Pipe Wrench",
"1,TA4: Zukunft",
"1,TA4: Jetzt-Zeitalter",
"2,Windkraftanlage",
"3,TA4 Windkraftanlage / Wind Turbine",
"3,TA4 Windkraftanlagengondel / Wind Turbine Nacelle",
@ -203,6 +203,10 @@ techage.manual_DE.aTitel = {
"3,Fundament-Ebene",
"3,Schotter-Ebene",
"3,Einfüll-Ebene",
"2,TA4 Teilchenbeschleuniger / Collider",
"3,Detektor",
"3,Steuerung / TA4 Terminal",
"3,Aufbau",
"2,Weitere TA4 Blöcke",
"3,TA4 Tank / TA4 Tank",
"3,TA4 Pumpe / TA4 Pump",
@ -224,7 +228,7 @@ techage.manual_DE.aTitel = {
}
techage.manual_DE.aText = {
"Tech Age ist eine Technik-Mod mit 4 Entwicklungsstufen:\n"..
"Tech Age ist eine Technik-Mod mit 5 Entwicklungsstufen:\n"..
"\n"..
"TA1: Eisenzeitalter (Iron Age) \n"..
"Benutze Werkzeuge und Hilfsmittel wie Köhler\\, Kohlebrenner\\, Kiessieb\\, Hammer\\, Hopper um notwendige Erze und Metalle zu schürfen und zu verarbeiten.\n"..
@ -235,9 +239,12 @@ techage.manual_DE.aText = {
"TA3: Ölzeitalter (Oil Age)\n"..
"Suche und fördere Öl\\, baute Schienenwege zur Ölbeförderung. Ein Kraftwerk liefert den notwendigen Strom für deine Maschinen. Elektrisches Licht erhellt deine Industrieanlagen.\n"..
"\n"..
"TA4: Zukunft (Future Age)\n"..
"TA4: Jetzt-Zeitalter (Now Age)\n"..
"Regenerative Energiequellen wie Wind\\, Sonne und Biokraft helfen dir\\, das Ölzeitalter zu verlassen. Mit modernen Technologien und intelligenten Maschinen machst du dich auf in die Zukunft.\n"..
"\n"..
"TA5: Zukunft (Future Age)\n"..
"Maschinen zur Überwindung von Raum und Zeit\\, neue Energiequellen und andere Errungenschaften prägen dein Leben.\n"..
"\n"..
"Hinweis: Mit Klicken auf die Pluszeichen kommst du in die Unterkapitel dieser Anleitung.\n"..
"\n"..
"\n"..
@ -1720,6 +1727,75 @@ techage.manual_DE.aText = {
"\n"..
"\n"..
"\n",
"Der Teilchenbeschleuniger ist eine Forschungsanlage\\, bei der Grundlagenforschung betrieben wird. Hier können Erfahrungspunkte (experience points) gesammelt werden\\, welche für TA5 (Future Age) benötigt werden.\n"..
"\n"..
"Der Teilchenbeschleuniger muss wie sein Original am CERN in Genf unterirdisch aufgebaut werden. Die Standardeinstellung ist hier Y <= -28. Der Wert kann aber per Konfiguration vom Server Personal geändert werden. Ab besten nachfragen\\, oder mit dem \"TA4 Collider Detector Worker\" Block ausprobieren.\n"..
"\n"..
"Pro Spieler kann nur ein Teilchenbeschleuniger betrieben werden. Es macht also keinen Sinn\\, zwei oder mehrere Teilchenbeschleuniger aufzubauen. Erfahrungspunkte werden dem Spieler gutgeschrieben\\, dem der Teilchenbeschleuniger gehört. Die Erfahrungspunkte können nicht übertragen werden.\n"..
"\n"..
"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"..
" - Die TA4 Collider Detector Magnete (22 Stück) 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 Wasserstoff benötigt.\n"..
" - Die Anlage benötigt einiges an Strom. Daher ist eine eigene Stromversorgung sinnvoll.\n"..
"\n"..
"Der Plan zeigt die Anlage von oben:\n"..
"\n"..
" - der graue Block ist der Detektor mit dem Worker-Block in der Mitte\n"..
" - die roten Blöcke sind die Magnete\\, das blaue die Vakuumröhren\n"..
"\n"..
"\n"..
"\n",
"Der Detektor wird mit Hilfe des \"TA4 Collider Detector Worker\" Blocks automatisch aufgebaut (ähnlich wie beim Bohrturm). Alle dazu notwendigen Materialien müssen zuvor in den Worker-Block gelegt werden. Auf dem Worker-Block ist der Detektor symbolisch dargestellt. Der Detektor wird über dem Worker-Block in Querrichtung errichtet.\n"..
"\n"..
"Der Detektor kann mit Hilfe des Worker-Blocks auch wieder abgebaut werden.\n"..
"\n"..
"Auf den beiden Stirnseiten des Detektors befinden sich die Anschlüsse für Strom\\, Gas und Vakuumröhre. Oben muss eine TA4 Pumpe angeschlossen werden\\, um die Röhre leer zu saugen / das Vakuum zu erzeugen.\n"..
"\n"..
"Auf der Rückseite des Detektors muss das Kühlsystem angeschlossen werden. Im Plan rechts ist das Kühlsystem abgebildet. Hier wird neben dem TA4 Wärmetauscher des Energiespeichers (welcher hier zur Kühlung genutzt wird)\\, auch ein TA4 Kühlerblock benötigt. \n"..
"\n"..
"Hinweis: Der Pfeil des Wärmetauschers muss vom Detektor weg zeigen. Auch der Wärmetauscher muss mit Strom versorgt werden.\n"..
"\n"..
"\n"..
"\n",
"Der Teilchenbeschleuniger wird über ein TA4 Terminal gesteuert (nicht über das TA4 Lua Controller Terminal).\n"..
"\n"..
"Dieses Terminal muss mit dem Detektor verbunden werden. Die Nummer des Detektors wird als Infotext am Worker-Block angezeigt.\n"..
"\n"..
"Das Terminal unterstützt folgende Kommandos:\n"..
"\n"..
" - 'connect <number>' (verbinden mit dem Detektor)\n"..
" - 'start' (starten des Detektors)\n"..
" - 'stop' (stoppen des Detektors)\n"..
" - 'test <number>' (überprüfen eines Magneten)\n"..
" - 'points' (abfragen der bereits erreichten Erfahrungspunkte)\n"..
"\n"..
"Tritt beim 'start' an einem Magneten ein Fehler auf\\, so wird die Nummer des Magneten ausgegeben. Über das 'test' Kommando können weitere Informationen zum Fehler des Magneten angefordert werden.\n"..
"\n"..
"\n"..
"\n",
"Für den Teilchenbeschleunigers wird außer den Blöcken für den Bau folgendes benötigt:\n"..
"\n"..
" - Strom (145 ku)\n"..
" - TA4 Tank mit mindestens 250 Einheiten Wasserstoff\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"..
" - Den Worker-Block setzen\\, mit Items füllen und den Detektor über das Menü aufbauen\n"..
" - Den Ring mit Röhren und Magneten aufbauen\n"..
" - Alle Magneten und den Detektor mit Stromkabel verbinden\n"..
" - Alle Magneten und den Detektor mit den gelben Röhren verbinden und mit Wasserstoff füllen\n"..
" - Eine TA4 Pumpe als Vakuumpumpe auf dem Detektor installieren und einschalten (es wird kein zusätzlicher Tank benötigt). Geht die Pumpe in den \"standby\"\\, ist das Vakuum hergestellt. Dies dauert einige Sekunden\n"..
" - den Kühler (Wärmetauscher) aufbauen und mit dem Stromkabel verbinden\n"..
" - Das TA4 Terminal vor den Detektor setzen und über 'connect <nummer>' mit dem Detektor verbinden\n"..
" - Die Stromversorgung einschalten/herstellen\n"..
" - den Kühler (Wärmetauscher) einschalten\n"..
" - den Detektor über 'start' am TA4 Terminal einschalten. Der Detektor geht nach einigen Prüfschritten in den Normalbetrieb oder gibt einen Fehler aus.\n"..
"\n"..
"\n"..
"\n",
"",
"Siehe TA3 Tank.\n"..
"\n"..
@ -2050,6 +2126,10 @@ techage.manual_DE.aItemName = {
"",
"",
"",
"",
"ta4_terminal",
"techage_ta4c",
"",
"ta4_tank",
"ta4_pump",
"ta4_furnaceheater",
@ -2272,6 +2352,10 @@ techage.manual_DE.aPlanTable = {
"ta4_liquid_filter_base",
"ta4_liquid_filter_gravel",
"ta4_liquid_filter_top",
"techage_collider_plan",
"ta4_cooler",
"",
"",
"",
"",
"",

View File

@ -138,7 +138,7 @@ techage.manual_EN.aTitel = {
"3,TechAge Programmer",
"3,TechAge Trowel / Trowel",
"3,TA3 drill pipe wrench",
"1,TA4: Future",
"1,TA4: Now Age",
"2,Wind Turbine",
"3,TA4 Wind Turbine",
"3,TA4 Wind Turbine Nacelle",
@ -223,7 +223,7 @@ techage.manual_EN.aTitel = {
}
techage.manual_EN.aText = {
"Tech Age is a technology mod with 4 development stages:\n"..
"Tech Age is a technology mod with 5 development stages:\n"..
"\n"..
"TA1: Iron Age\n"..
"Use tools and aids such as coal burners\\, coal burners\\, gravel sieves\\, hammers and hoppers to mine and process the necessary ores and metals.\n"..
@ -234,9 +234,12 @@ techage.manual_EN.aText = {
"TA3: Oil Age\n"..
"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: Future Age\n"..
"TA4: Now Age\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"..
"\n"..
"TA5: Future Age\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"..
"\n"..
"\n"..

View File

@ -24,6 +24,7 @@ local IMG41 = {"", "techage_ta4_tes.png"}
local IMG42 = {"", "techage_ta4_solar.png"}
local IMG43 = {"", "techage_reactor_inv.png"}
local IMG44 = {"", "techage_ta4_filter.png"}
local IMG45 = {"10x10", "techage_collider_plan.png"}
local TOP_V = {"top_view", ""}
local SIDEV = {"side_view", ""}
@ -462,6 +463,36 @@ techage.ConstructionPlans["ta4_liquid_filter_top"] = {
{false, CONCR, CONCR, CONCR, CONCR, CONCR},
}
--
-- TA4 Collider
--
local STEEL = {"default_steel_block.png", "techage:ta4_colliderblock"}
local COOL4 = {"techage_filling_ta4.png^techage_frame_ta4.png^techage_cooler.png", "techage:ta4_collider_cooler"}
techage.ConstructionPlans["techage_collider_plan"] = {
{IMG45, false, false, false},
{false, false, false, false},
{false, false, false, false},
{false, false, false, false},
{false, false, false, false},
{false, false, false, false},
}
--
-- TA4 Detector Cooler
--
local STEEL = {"default_steel_block.png", "techage:ta4_colliderblock"}
local COOL4 = {"techage_filling_ta4.png^techage_frame_ta4.png^techage_cooler.png", "techage:ta4_collider_cooler"}
techage.ConstructionPlans["ta4_cooler"] = {
{false, false, false, SIDEV, false, false, false, false, false},
{false, false, false, false, false, false, false, false, false},
{false, STEEL, PIPEH, HEXR1, PIPEH, COOL4, PN270, false, false},
{false, STEEL, false, HEXR2, false, false, PIPEV, false, false},
{false, STEEL, PIPEH, HEXR3, PIPEH, PIPEH, PN180, false, false},
{false, false, false, false, false, false, false, false, false},
}
function techage.add_manual_plans(table_with_plans)
for name, tbl in pairs(table_with_plans) do
techage.ConstructionPlans[name] = tbl

View File

@ -192,14 +192,12 @@ function techage.furnace.reset_cooking(nvm)
end
if minetest.global_exists("unified_inventory") then
unified_inventory.register_craft_type("ta3_melting", {
description = S("TA3 Melting"),
icon = "techage_concrete.png^techage_appl_furnace.png^techage_frame_ta3.png",
width = 2,
height = 2,
})
end
techage.recipes.register_craft_type("ta3_melting", {
description = S("TA3 Melting"),
icon = "techage_concrete.png^techage_appl_furnace.png^techage_frame_ta3.png",
width = 2,
height = 2,
})
function techage.furnace.register_recipe(recipe)
local words = string.split(recipe.output, " ")
@ -224,9 +222,7 @@ function techage.furnace.register_recipe(recipe)
end
end
if minetest.global_exists("unified_inventory") then
recipe.items = recipe.recipe
recipe.type = "ta3_melting"
unified_inventory.register_craft(recipe)
end
recipe.items = recipe.recipe
recipe.type = "ta3_melting"
techage.recipes.register_craft(recipe)
end

View File

@ -55,7 +55,7 @@ techage.max_num_forceload_blocks = tonumber(minetest.settings:get("techage_max_n
techage.basalt_stone_enabled = minetest.settings:get_bool("techage_basalt_stone_enabled") ~= false
techage.ore_rarity = tonumber(minetest.settings:get("techage_ore_rarity")) or 1
techage.modified_recipes_enabled = minetest.settings:get_bool("techage_modified_recipes_enabled") ~= false
techage.collider_min_depth = tonumber(minetest.settings:get("techage_collider_min_depth")) or -30
techage.collider_min_depth = tonumber(minetest.settings:get("techage_collider_min_depth")) or -28
-- allow to load marshal and sqlite3
techage.IE = minetest.request_insecure_environment()

View File

@ -3,12 +3,13 @@
The Techage Modpack is an extensive collection of technical mods with many machines and systems, which unfortunately cannot be set up intuitively. Therefore, there is this Quick Start Guide and further manuals for the different mods.
Techage represents four technological ages:
Techage represents five 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
- Future Age (TA4) - Electricity from renewable energy sources such as sun and wind
- Now Age (TA4) - Electricity from renewable energy sources such as sun and wind
- Future Age (TA5)
Since the levels build on each other, all ages have to be run through one after the other.
@ -61,7 +62,7 @@ Since the levels build on each other, all ages have to be run through one after
## Future Age (TA4)
## Now Age (TA4)
1. Build solar and wind plants to get renewable energy
2. Build a Thermal Energy Storage to store the energy

View File

@ -1,6 +1,6 @@
# Tech Age Mod
Tech Age ist eine Technik-Mod mit 4 Entwicklungsstufen:
Tech Age ist eine Technik-Mod mit 5 Entwicklungsstufen:
TA1: Eisenzeitalter (Iron Age)
Benutze Werkzeuge und Hilfsmittel wie Köhler, Kohlebrenner, Kiessieb, Hammer, Hopper um notwendige Erze und Metalle zu schürfen und zu verarbeiten.
@ -11,9 +11,13 @@ Baue eine Dampfmaschine mit Antriebsachsen und betreibe damit deine ersten Masch
TA3: Ölzeitalter (Oil Age)
Suche und fördere Öl, baute Schienenwege zur Ölbeförderung. Ein Kraftwerk liefert den notwendigen Strom für deine Maschinen. Elektrisches Licht erhellt deine Industrieanlagen.
TA4: Zukunft (Future Age)
TA4: Jetzt-Zeitalter (Now Age)
Regenerative Energiequellen wie Wind, Sonne und Biokraft helfen dir, das Ölzeitalter zu verlassen. Mit modernen Technologien und intelligenten Maschinen machst du dich auf in die Zukunft.
TA5: Zukunft (Future Age)
Maschinen zur Überwindung von Raum und Zeit, neue Energiequellen und andere Errungenschaften prägen dein Leben.
Hinweis: Mit Klicken auf die Pluszeichen kommst du in die Unterkapitel dieser Anleitung.
[techage_ta4|image]

View File

@ -1,6 +1,6 @@
# Tech Age Mod
Tech Age is a technology mod with 4 development stages:
Tech Age is a technology mod with 5 development stages:
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.
@ -11,9 +11,13 @@ Build a steam engine with drive axles and use it to operate your first ore proce
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: Future Age
TA4: Now Age
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.
TA5: Future Age
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.
[techage_ta4|image]

View File

@ -1,4 +1,4 @@
# TA4: Zukunft
# TA4: Jetzt-Zeitalter
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.
@ -674,6 +674,87 @@ In den Einfüllstutzen muss Rotschlamm mittels einer Pumpe geleitet werden.
## TA4 Teilchenbeschleuniger / Collider
Der Teilchenbeschleuniger ist eine Forschungsanlage, bei der Grundlagenforschung betrieben wird. Hier können Erfahrungspunkte (experience points) gesammelt werden, welche für TA5 (Future Age) benötigt werden.
Der Teilchenbeschleuniger muss wie sein Original am CERN in Genf unterirdisch aufgebaut werden. Die Standardeinstellung ist hier Y <= -28. Der Wert kann aber per Konfiguration vom Server Personal geändert werden. Ab besten nachfragen, oder mit dem "TA4 Collider Detector Worker" Block ausprobieren.
Pro Spieler kann nur ein Teilchenbeschleuniger betrieben werden. Es macht also keinen Sinn, zwei oder mehrere Teilchenbeschleuniger aufzubauen. Erfahrungspunkte werden dem Spieler gutgeschrieben, dem der Teilchenbeschleuniger gehört. Die Erfahrungspunkte können nicht übertragen werden.
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ß.
- Die TA4 Collider Detector Magnete (22 Stück) 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 Wasserstoff benötigt.
- Die Anlage benötigt einiges an Strom. Daher ist eine eigene Stromversorgung sinnvoll.
Der Plan zeigt die Anlage von oben:
- der graue Block ist der Detektor mit dem Worker-Block in der Mitte
- die roten Blöcke sind die Magnete, das blaue die Vakuumröhren
[techage_collider_plan|plan]
### Detektor
Der Detektor wird mit Hilfe des "TA4 Collider Detector Worker" Blocks automatisch aufgebaut (ähnlich wie beim Bohrturm). Alle dazu notwendigen Materialien müssen zuvor in den Worker-Block gelegt werden. Auf dem Worker-Block ist der Detektor symbolisch dargestellt. Der Detektor wird über dem Worker-Block in Querrichtung errichtet.
Der Detektor kann mit Hilfe des Worker-Blocks auch wieder abgebaut werden.
Auf den beiden Stirnseiten des Detektors befinden sich die Anschlüsse für Strom, Gas und Vakuumröhre. Oben muss eine TA4 Pumpe angeschlossen werden, um die Röhre leer zu saugen / das Vakuum zu erzeugen.
Auf der Rückseite des Detektors muss das Kühlsystem angeschlossen werden. Im Plan rechts ist das Kühlsystem abgebildet. Hier wird neben dem TA4 Wärmetauscher des Energiespeichers (welcher hier zur Kühlung genutzt wird), auch ein TA4 Kühlerblock benötigt.
Hinweis: Der Pfeil des Wärmetauschers muss vom Detektor weg zeigen. Auch der Wärmetauscher muss mit Strom versorgt werden.
[ta4_cooler|plan]
### Steuerung / TA4 Terminal
Der Teilchenbeschleuniger wird über ein TA4 Terminal gesteuert (nicht über das TA4 Lua Controller Terminal).
Dieses Terminal muss mit dem Detektor verbunden werden. Die Nummer des Detektors wird als Infotext am Worker-Block angezeigt.
Das Terminal unterstützt folgende Kommandos:
- `connect <number>` (verbinden mit dem Detektor)
- `start` (starten des Detektors)
- `stop` (stoppen des Detektors)
- `test <number>` (überprüfen eines Magneten)
- `points` (abfragen der bereits erreichten Erfahrungspunkte)
Tritt beim `start` an einem Magneten ein Fehler auf, so wird die Nummer des Magneten ausgegeben. Über das `test` Kommando können weitere Informationen zum Fehler des Magneten angefordert werden.
[ta4_terminal|image]
### 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 Wasserstoff
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.
- Den Worker-Block setzen, mit Items füllen und den Detektor über das Menü aufbauen
- Den Ring mit Röhren und Magneten aufbauen
- Alle Magneten und den Detektor mit Stromkabel verbinden
- Alle Magneten und den Detektor mit den gelben Röhren verbinden und mit Wasserstoff füllen
- Eine TA4 Pumpe als Vakuumpumpe auf dem Detektor installieren und einschalten (es wird kein zusätzlicher Tank benötigt). Geht die Pumpe in den "standby", ist das Vakuum hergestellt. Dies dauert einige Sekunden
- den Kühler (Wärmetauscher) aufbauen und mit dem Stromkabel verbinden
- Das TA4 Terminal vor den Detektor setzen und über `connect <nummer>` mit dem Detektor verbinden
- Die Stromversorgung einschalten/herstellen
- den Kühler (Wärmetauscher) einschalten
- den Detektor über `start` am TA4 Terminal einschalten. Der Detektor geht nach einigen Prüfschritten in den Normalbetrieb oder gibt einen Fehler aus.
[techage_ta4c|image]
## Weitere TA4 Blöcke

View File

@ -1,4 +1,4 @@
# TA4: Future
# TA4: Now Age
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.

View File

@ -389,7 +389,7 @@ Please note, that this is not a technical distinction, only a logical.
| "on", "off" | nil | turn a node on/off (machine, lamp,...) |
| "red, "amber", "green", "off" | nil | set Signal Tower color |
| "red, "amber", "green", "off" | lamp number (1..4) | Set the signal lamp color. Valid for "TA4 2x Signal Lamp" and "TA4 4x Signal Lamp" |
| "port" | `<color>=on/off` | Enable/disable a Distributor filter slot..<br />Example: `yellow=on`<br />colors: "red", "green", "blue", "yellow" |
| "port" | string<br />`<color>=on/off` | Enable/disable a Distributor filter slot..<br />Example: `"yellow=on"`<br />colors: red, green, blue, yellow |
| "text" | text string | Text to be used for the Sensor Chest menu |
| "reset" | nil | Reset the item counter of the TA4 Item Detector block |
| "pull" | item string | Start the TA4 pusher to pull/push items.<br /> Example: `default:dirt 8` |

View File

@ -137,7 +137,7 @@
- [TechAge Programmer](./manual_ta3_DE.md#techage-programmer)
- [TechAge Kelle / Trowel](./manual_ta3_DE.md#techage-kelle--trowel)
- [TA3 Bohrgestängezange / TA3 Drill Pipe Wrench](./manual_ta3_DE.md#ta3-bohrgestängezange--ta3-drill-pipe-wrench)
- [TA4: Zukunft](./manual_ta4_DE.md#ta4:-zukunft)
- [TA4: Jetzt-Zeitalter](./manual_ta4_DE.md#ta4:-jetzt-zeitalter)
- [Windkraftanlage](./manual_ta4_DE.md#windkraftanlage)
- [TA4 Windkraftanlage / Wind Turbine](./manual_ta4_DE.md#ta4-windkraftanlage--wind-turbine)
- [TA4 Windkraftanlagengondel / Wind Turbine Nacelle](./manual_ta4_DE.md#ta4-windkraftanlagengondel--wind-turbine-nacelle)
@ -202,6 +202,10 @@
- [Fundament-Ebene](./manual_ta4_DE.md#fundament-ebene)
- [Schotter-Ebene](./manual_ta4_DE.md#schotter-ebene)
- [Einfüll-Ebene](./manual_ta4_DE.md#einfüll-ebene)
- [TA4 Teilchenbeschleuniger / Collider](./manual_ta4_DE.md#ta4-teilchenbeschleuniger--collider)
- [Detektor](./manual_ta4_DE.md#detektor)
- [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 Tank / TA4 Tank](./manual_ta4_DE.md#ta4-tank--ta4-tank)
- [TA4 Pumpe / TA4 Pump](./manual_ta4_DE.md#ta4-pumpe--ta4-pump)

View File

@ -137,7 +137,7 @@
- [TechAge Programmer](./manual_ta3_EN.md#techage-programmer)
- [TechAge Trowel / Trowel](./manual_ta3_EN.md#techage-trowel--trowel)
- [TA3 drill pipe wrench](./manual_ta3_EN.md#ta3-drill-pipe-wrench)
- [TA4: Future](./manual_ta4_EN.md#ta4:-future)
- [TA4: Now Age](./manual_ta4_EN.md#ta4:-now-age)
- [Wind Turbine](./manual_ta4_EN.md#wind-turbine)
- [TA4 Wind Turbine](./manual_ta4_EN.md#ta4-wind-turbine)
- [TA4 Wind Turbine Nacelle](./manual_ta4_EN.md#ta4-wind-turbine-nacelle)

BIN
textures/techage_ta4c.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB