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
This commit is contained in:
Joachim Stolberg 2023-11-01 18:12:00 +01:00
parent 2c16b9d01f
commit 2a157dc825
7 changed files with 86 additions and 29 deletions

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)

View File

@ -28,6 +28,22 @@ 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
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 +76,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 +84,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 +127,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 +174,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)
@ -223,6 +240,7 @@ techage.register_node({"techage:ta4_magnet"}, {
return send_to_next(pos, in_dir, topic, payload)
end
elseif topic == "test" then
handle_legacy_magnet(pos)
if payload and tonumber(payload) == nvm.number then
if not nvm.liquid or not nvm.liquid.amount or nvm.liquid.amount < CAPACITY then
return false, "no gas"

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"..
@ -929,6 +932,7 @@ return {
"",
"",
"ta4_terminal",
"",
"techage_ta4c",
"",
"ta4_recipeblock",
@ -1022,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"..
@ -928,6 +934,7 @@ return {
"",
"",
"ta4_terminal",
"",
"techage_ta4c",
"",
"ta4_recipeblock",
@ -1021,6 +1028,7 @@ return {
"techage_collider_plan",
"ta4_cooler",
"",
"techage_collider_plan2",
"",
"",
"",

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", ""}
@ -482,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
--

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.

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.