diff --git a/basic_machines/autocrafter.lua b/basic_machines/autocrafter.lua index d3a2d29..ef432a2 100644 --- a/basic_machines/autocrafter.lua +++ b/basic_machines/autocrafter.lua @@ -385,7 +385,8 @@ local node_name_ta2, node_name_ta3, node_name_ta4 = sounds = default.node_sound_wood_defaults(), num_items = {0,1,2,4}, power_consumption = {0,4,6,9}, - }) + }, + {false, true, true, false}) -- TA2/TA3 minetest.register_craft({ output = node_name_ta2, diff --git a/basic_machines/distributor.lua b/basic_machines/distributor.lua index b8b9c3f..e451794 100644 --- a/basic_machines/distributor.lua +++ b/basic_machines/distributor.lua @@ -518,3 +518,11 @@ minetest.register_craft({ }, }) +minetest.register_craft({ + output = node_name_ta4, + recipe = { + {"", "techage:iron_ingot", ""}, + {"", node_name_ta3, ""}, + {"", "techage:ta4_wlanchip", ""}, + }, +}) diff --git a/basic_machines/electronic_fab.lua b/basic_machines/electronic_fab.lua index d59c64a..3064c8c 100644 --- a/basic_machines/electronic_fab.lua +++ b/basic_machines/electronic_fab.lua @@ -220,7 +220,8 @@ local node_name_ta2, node_name_ta3, node_name_ta4 = sounds = default.node_sound_wood_defaults(), num_items = {0,1,1,1}, power_consumption = {0,8,12,18}, - }) + }, + {false, true, true, false}) -- TA2/TA3 minetest.register_craft({ output = node_name_ta2, diff --git a/basic_machines/gravelrinser.lua b/basic_machines/gravelrinser.lua index 9cef7e2..73107ea 100644 --- a/basic_machines/gravelrinser.lua +++ b/basic_machines/gravelrinser.lua @@ -333,7 +333,7 @@ end minetest.register_lbm({ label = "[techage] Rinser update", name = "techage:update", - nodenames = {"techage:ta2_rinser_act"}, + nodenames = {"techage:ta2_rinser_act", "techage:ta3_rinser_act"}, run_at_every_load = true, action = function(pos, node) remove_objects({x=pos.x, y=pos.y+1, z=pos.z}) diff --git a/basic_machines/gravelsieve.lua b/basic_machines/gravelsieve.lua index 4e78619..5d9b316 100644 --- a/basic_machines/gravelsieve.lua +++ b/basic_machines/gravelsieve.lua @@ -232,6 +232,15 @@ minetest.register_craft({ }, }) +minetest.register_craft({ + output = node_name_ta4, + recipe = { + {"", "default:mese_crystal", ""}, + {"", node_name_ta3, ""}, + {"", "techage:ta4_wlanchip", ""}, + }, +}) + if minetest.global_exists("unified_inventory") then unified_inventory.register_craft_type("ta2_gravelsieve", { description = S("TA2 Gravel Sieve"), @@ -245,6 +254,12 @@ if minetest.global_exists("unified_inventory") then width = 1, height = 1, }) + unified_inventory.register_craft_type("ta4_gravelsieve", { + description = S("TA4 Gravel Sieve"), + icon = 'techage_filling_ta4.png^techage_appl_sieve.png^techage_frame_ta4.png', + width = 1, + height = 1, + }) unified_inventory.register_craft({ output = "techage:sieved_basalt_gravel", items = {"techage:basalt_gravel"}, @@ -255,4 +270,9 @@ if minetest.global_exists("unified_inventory") then items = {"techage:basalt_gravel"}, type = "ta3_gravelsieve", }) + unified_inventory.register_craft({ + output = "techage:sieved_basalt_gravel", + items = {"techage:basalt_gravel"}, + type = "ta4_gravelsieve", + }) end diff --git a/basic_machines/grinder.lua b/basic_machines/grinder.lua index 9a76776..a6bf571 100644 --- a/basic_machines/grinder.lua +++ b/basic_machines/grinder.lua @@ -245,6 +245,15 @@ minetest.register_craft({ }, }) +minetest.register_craft({ + output = node_name_ta4, + recipe = { + {"", "default:mese_crystal", ""}, + {"", node_name_ta4, ""}, + {"", "techage:ta4_wlanchip", ""}, + }, +}) + if minetest.global_exists("unified_inventory") then unified_inventory.register_craft_type("grinding", { description = S("Grinding"), diff --git a/basic_machines/pusher.lua b/basic_machines/pusher.lua index abbae68..98ab49f 100644 --- a/basic_machines/pusher.lua +++ b/basic_machines/pusher.lua @@ -159,4 +159,12 @@ minetest.register_craft({ }, }) +minetest.register_craft({ + output = node_name_ta4, + recipe = { + {"", "techage:iron_ingot", ""}, + {"", node_name_ta3, ""}, + {"", "techage:ta4_wlanchip", ""}, + }, +}) diff --git a/basis/tubes_ta4.lua b/basis/tubes_ta4.lua new file mode 100644 index 0000000..8f15d44 --- /dev/null +++ b/basis/tubes_ta4.lua @@ -0,0 +1,132 @@ +--[[ + + TechAge + ======= + + Copyright (C) 2020 Joachim Stolberg + + GPL v3 + See LICENSE.txt for more information + + Tubes in TA4 design based on tubelib2 + +]]-- + + + +-- used for registered nodes +techage.KnownNodes = { + ["techage:ta4_tubeS"] = true, + ["techage:ta4_tubeA"] = true, +} + + +local Tube = tubelib2.Tube:new({ + -- North, East, South, West, Down, Up + dirs_to_check = {1,2,3,4,5,6}, + max_tube_length = 300, + show_infotext = false, + primary_node_names = {"techage:ta4_tubeS", "techage:ta4_tubeA"}, + after_place_tube = function(pos, param2, tube_type, num_tubes, tbl) + minetest.swap_node(pos, {name = "techage:ta4_tube"..tube_type, param2 = param2}) + end, +}) + +techage.Tube = Tube + +minetest.register_node("techage:ta4_tubeS", { + description = "TA4 Tube", + tiles = { -- Top, base, right, left, front, back + "techage_tubeta4_tube.png^[transformR90", + "techage_tubeta4_tube.png^[transformR90", + "techage_tubeta4_tube.png", + "techage_tubeta4_tube.png", + "techage_tube_hole.png", + "techage_tube_hole.png", + }, + + after_place_node = function(pos, placer, itemstack, pointed_thing) + if not Tube:after_place_tube(pos, placer, pointed_thing) then + minetest.remove_node(pos) + return true + end + return false + end, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + Tube:after_dig_tube(pos, oldnode, oldmetadata) + end, + + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-2/8, -2/8, -4/8, 2/8, 2/8, 4/8}, + }, + }, + selection_box = { + type = "fixed", + fixed = { -1/4, -1/4, -1/2, 1/4, 1/4, 1/2 }, + }, + collision_box = { + type = "fixed", + fixed = { -1/4, -1/4, -1/2, 1/4, 1/4, 1/2 }, + }, + on_rotate = screwdriver.disallow, + paramtype = "light", + sunlight_propagates = true, + is_ground_content = false, + groups = {choppy=2, cracky=3, stone=1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("techage:ta4_tubeA", { + description = "TA4 Tube", + tiles = { -- Top, base, right, left, front, back + "techage_tubeta4_knee2.png", + "techage_tubeta4_hole2.png^[transformR180", + "techage_tubeta4_knee.png^[transformR270", + "techage_tubeta4_knee.png", + "techage_tubeta4_knee2.png", + "techage_tubeta4_hole2.png", + }, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + Tube:after_dig_tube(pos, oldnode, oldmetadata) + end, + + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-2/8, -4/8, -2/8, 2/8, 2/8, 2/8}, + {-2/8, -2/8, -4/8, 2/8, 2/8, -2/8}, + }, + }, + selection_box = { + type = "fixed", + fixed = { -1/4, -1/2, -1/2, 1/4, 1/4, 1/4 }, + }, + collision_box = { + type = "fixed", + fixed = { -1/4, -1/2, -1/2, 1/4, 1/4, 1/4 }, + }, + on_rotate = screwdriver.disallow, + paramtype = "light", + sunlight_propagates = true, + is_ground_content = false, + groups = {choppy=2, cracky=3, stone=1, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + drop = "techage:tubeS", +}) + +minetest.register_craft({ + output = "techage:ta4_tubeS 6", + recipe = { + {"dye:blue", "", "basic_materials:plastic_sheet"}, + {"", "basic_materials:plastic_sheet", ""}, + {"basic_materials:plastic_sheet", "", "techage:aluminum"}, + }, +}) diff --git a/doc/items.lua b/doc/items.lua index 3e59ece..ada459b 100644 --- a/doc/items.lua +++ b/doc/items.lua @@ -63,7 +63,6 @@ techage.Items = { ta3_autocrafter = "techage:ta3_autocrafter_pas", ta3_electronicfab = "techage:ta3_electronic_fab_pas", ta3_gravelsieve = "techage:ta3_gravelsieve_pas", - ta3_gravelrinser = "techage:ta3_rinser_pas", ta3_liquidsampler = "techage:ta3_liquidsampler_pas", ta3_powercable = "techage:electric_cableS", ta3_powerline = "techage:power_lineS", @@ -113,6 +112,7 @@ techage.Items = { ta4_nacelle = "techage:ta4_wind_turbine_nacelle", ta4_minicell = "techage:ta4_solar_minicell", ta4_pipe = "techage:ta4_pipeS", + ta4_tube = "techage:ta4_tubeS", ta4_junctionpipe = "techage:ta4_junctionpipe25", ta4_pipeinlet = "techage:ta4_pipe_inlet", ta4_turbine = "techage:ta4_turbine", @@ -148,5 +148,9 @@ techage.Items = { ta4_button = "techage:ta4_button_off", ta4_playerdetector = "techage:ta4_playerdetector_off", ta4_collector = "techage:ta4_collector", + ta4_pusher = "techage:ta4_pusher_pas", + ta4_distributor = "techage:ta4_distributor_pas", + ta4_gravelsieve = "techage:ta4_gravelsieve_pas", + ta4_grinder = "techage:ta4_grinder_pas", --ta4_ "", } diff --git a/doc/manual_DE.lua b/doc/manual_DE.lua index 26c04be..3b72662 100644 --- a/doc/manual_DE.lua +++ b/doc/manual_DE.lua @@ -148,16 +148,20 @@ techage.manual_DE.aTitel = { "3,TA4 Lua Server", "3,TA4 Sensor Kiste/Chest", "3,TA4 Lua Controller Terminal", - "2,TA4 Logik-/Schalt-Blöcke", + "2,TA4 Logik-/Schalt-Module", "3,TA4 Taster/Schalter / Button/Switch", "3,TA4 Spieler Detektor / Player Detector", - "3,TA4 Collector", - "3, ", + "3,TA4 Zustandssammler / State Collector", "2,Weitere TA4 Blöcke", "3,TA4 Tank / TA4 Tank", "3,TA4 Pumpe / TA4 Pump", "3,TA4 Ofenheizung / furnace heater", "3,TA4 Wasserpumpe / Water Pump", + "3,TA4 Röhren / TA4 Tube", + "3,TA4 Schieber / Pusher", + "3,TA4 Verteiler / Distributor", + "3,TA4 Kiessieb / Gravel Sieve", + "3,TA4 Mühle / Grinder", } techage.manual_DE.aText = { @@ -923,7 +927,8 @@ techage.manual_DE.aText = { "\n".. "\n", "Die Funktion entspricht der von TA2.\n".. - "Die Wahrscheinlichkeit ist wie bei TA2. Der Block benötigt 3 ku Strom.\n".. + "Auch die Wahrscheinlichkeit ist wie bei TA2. Der Block benötigt auch 3 ku Strom.\n".. + "Aber im Gegensatz zu TA2 kann beim TA3 Block bspw. der Status abgefragt werden (Controller)\n".. "\n".. "\n".. "\n", @@ -1233,9 +1238,10 @@ techage.manual_DE.aText = { "\n".. "\n", "\n".. + "\n".. + "Der Zustandssammler fragt der Reihe nach alle konfigurierten Maschinen nach dem Status ab. Wenn eine der Maschinen einen vorkonfigurierte Status erreicht oder überschritten hat\\, wird ein \"on\" Kommando gesendet. Damit können bspw. vom einem Lua Controller aus sehr einfach viele Maschinen auf Störungen überwacht werden.\n".. "\n", "", - "", "Siehe TA3 Tank.\n".. "\n".. "In einen TA4 Tank passen 2000 Einheiten oder 200 Fässer einer Flüssigkeit.\n".. @@ -1258,6 +1264,30 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", + "TA4 hat auch seine eigenen Röhren im TA4 Design. Die maximale Länge beträgt 300 m (Blöcke). Ansonsten entsprechen die TA4 Röhren den Standard Röhren.\n".. + "\n".. + "\n".. + "\n", + "Die Funktion entspricht der von TA2.\n".. + "Die Verarbeitungsleistung beträgt 18 Items alle 2 s.\n".. + "\n".. + "\n".. + "\n", + "Die Funktion entspricht der von TA2.\n".. + "Die Verarbeitungsleistung beträgt 36 Items alle 4 s.\n".. + "\n".. + "\n".. + "\n", + "Die Funktion entspricht der von TA2.\n".. + "Die Verarbeitungsleistung beträgt 4 Items alle 4 s. Der Block benötigt 5 ku Strom.\n".. + "\n".. + "\n".. + "\n", + "Die Funktion entspricht der von TA2.\n".. + "Die Verarbeitungsleistung beträgt 4 Items alle 4 s. Der Block benötigt 9 ku Strom.\n".. + "\n".. + "\n".. + "\n", } techage.manual_DE.aItemName = { @@ -1413,11 +1443,15 @@ techage.manual_DE.aItemName = { "ta4_playerdetector", "ta4_collector", "", - "", "ta4_tank", "ta4_pump", "ta4_furnaceheater", "ta4_waterpump", + "ta4_tube", + "ta4_pusher", + "ta4_distributor", + "ta4_gravelsieve", + "ta4_grinder", } techage.manual_DE.aPlanTable = { @@ -1578,5 +1612,9 @@ techage.manual_DE.aPlanTable = { "", "", "", + "", + "", + "", + "", } diff --git a/init.lua b/init.lua index 9569a4d..8d2fedd 100644 --- a/init.lua +++ b/init.lua @@ -26,6 +26,7 @@ else dofile(MP.."/basis/gravel_lib.lua") -- ore probability dofile(MP.."/basis/node_states.lua") -- state model dofile(MP.."/basis/tubes.lua") -- tubes for item transport + dofile(MP.."/basis/tubes_ta4.lua") -- TA4 tubes for item transport dofile(MP.."/basis/command.lua") -- command API dofile(MP.."/basis/firebox_lib.lua") -- common firebox functions dofile(MP.."/basis/boiler_lib.lua") -- common boiler functions diff --git a/items/plastic.lua b/items/plastic.lua index e8b0ec0..e072a2a 100644 --- a/items/plastic.lua +++ b/items/plastic.lua @@ -27,7 +27,7 @@ techage.recipes.add("ta4_doser", { }) techage.furnace.register_recipe({ - output = "basic_materials:plastic_sheet", + output = "basic_materials:plastic_sheet 4", recipe = {"techage:plastic_granules"}, time = 2, diff --git a/locale/techage.de.tr b/locale/techage.de.tr index e154e80..b180474 100644 --- a/locale/techage.de.tr +++ b/locale/techage.de.tr @@ -262,6 +262,7 @@ TA4 Fuel Cell=TA4 Brennstoffzelle TA4 Fuel Cell Stack=Brennstoffzellenstapel TA4 Furnace Heater=TA4 Ofenheizung TA4 Generator=TA4 Generator +TA4 Gravel Sieve=TA4 Kiessieb TA4 Heat Exchanger=TA4 Wärmetauscher TA4 Heat Exchanger 1=TA4 Wärmetauscher 1 TA4 Heat Exchanger 2=TA4 Wärmetauscher 2 @@ -377,4 +378,4 @@ stopped=gestoppt storage empty?=Speicher leer? water temperature=Wassertemperatur wrong storage diameter=Falscher Wärmespeicher-Durchmesser -##### not used anymore ##### +##### not used anymore ##### \ No newline at end of file diff --git a/locale/template.txt b/locale/template.txt index 4b9cc57..daf21b2 100644 --- a/locale/template.txt +++ b/locale/template.txt @@ -260,6 +260,7 @@ TA4 Fuel Cell= TA4 Fuel Cell Stack= TA4 Furnace Heater= TA4 Generator= +TA4 Gravel Sieve= TA4 Heat Exchanger= TA4 Heat Exchanger 1= TA4 Heat Exchanger 2= diff --git a/manuals/manual_ta3_DE.md b/manuals/manual_ta3_DE.md index 45de439..3c0ac45 100644 --- a/manuals/manual_ta3_DE.md +++ b/manuals/manual_ta3_DE.md @@ -636,7 +636,8 @@ Die Verarbeitungsleistung beträgt 2 Items alle 4 s. Der Block benötigt 4 ku St ### TA3 Kieswaschanlage / Gravel Rinser Die Funktion entspricht der von TA2. -Die Wahrscheinlichkeit ist wie bei TA2. Der Block benötigt 3 ku Strom. +Auch die Wahrscheinlichkeit ist wie bei TA2. Der Block benötigt auch 3 ku Strom. +Aber im Gegensatz zu TA2 kann beim TA3 Block bspw. der Status abgefragt werden (Controller) [ta3_gravelrinser|image] diff --git a/manuals/manual_ta4_DE.md b/manuals/manual_ta4_DE.md index 99fd5ad..e22e4e2 100644 --- a/manuals/manual_ta4_DE.md +++ b/manuals/manual_ta4_DE.md @@ -404,7 +404,6 @@ Der Zustandssammler fragt der Reihe nach alle konfigurierten Maschinen nach dem ## Weitere TA4 Blöcke - ### TA4 Tank / TA4 Tank Siehe TA3 Tank. @@ -413,7 +412,6 @@ In einen TA4 Tank passen 2000 Einheiten oder 200 Fässer einer Flüssigkeit. [ta4_tank|image] - ### TA4 Pumpe / TA4 Pump Siehe TA3 Pumpe. @@ -422,7 +420,6 @@ Die TA4 Pumpe pumpt 8 Einheiten Flüssigkeit alle zwei Sekunden. [ta4_pump|image] - ### TA4 Ofenheizung / furnace heater Mit TA4 hat der Industrieofen auch seine elektrische Heizung. Der Ölbrenner und auch das Gebläse können mit der Ofenheizung ersetzt werden. @@ -431,9 +428,43 @@ Die Ofenheizung benötigt 14 ku Strom. [ta4_furnaceheater|image] - ### TA4 Wasserpumpe / Water Pump Mit der Wasserpumpe kann Wasser über Flüssigkeitsleitungen in Tanks gepumpt und so für Rezepte genutzt werden. Die Wasserpumpe muss dazu ins Meer gesetzt werden Ein "Pool" aus ein paar Wasserblöcken geht nicht! -[ta4_waterpump|image] \ No newline at end of file +[ta4_waterpump|image] + +### TA4 Röhren / TA4 Tube + +TA4 hat auch seine eigenen Röhren im TA4 Design. Die maximale Länge beträgt 300 m (Blöcke). Ansonsten entsprechen die TA4 Röhren den Standard Röhren. + +[ta4_tube|image] + +### TA4 Schieber / Pusher + +Die Funktion entspricht der von TA2. +Die Verarbeitungsleistung beträgt 18 Items alle 2 s. + +[ta4_pusher|image] + +### TA4 Verteiler / Distributor + +Die Funktion entspricht der von TA2. +Die Verarbeitungsleistung beträgt 36 Items alle 4 s. + +[ta4_distributor|image] + +### TA4 Kiessieb / Gravel Sieve + +Die Funktion entspricht der von TA2. +Die Verarbeitungsleistung beträgt 4 Items alle 4 s. Der Block benötigt 5 ku Strom. + +[ta4_gravelsieve|image] + +### TA4 Mühle / Grinder + +Die Funktion entspricht der von TA2. +Die Verarbeitungsleistung beträgt 4 Items alle 4 s. Der Block benötigt 9 ku Strom. + +[ta4_grinder|image] + diff --git a/manuals/toc_DE.md b/manuals/toc_DE.md index a1cdad3..0fb6b5c 100644 --- a/manuals/toc_DE.md +++ b/manuals/toc_DE.md @@ -147,13 +147,17 @@ - [TA4 Lua Server](./manual_ta4_DE.md#ta4-lua-server) - [TA4 Sensor Kiste/Chest](./manual_ta4_DE.md#ta4-sensor-kistechest) - [TA4 Lua Controller Terminal](./manual_ta4_DE.md#ta4-lua-controller-terminal) - - [TA4 Logik-/Schalt-Blöcke](./manual_ta4_DE.md#ta4-logik-schalt-blöcke) + - [TA4 Logik-/Schalt-Module](./manual_ta4_DE.md#ta4-logik-schalt-module) - [TA4 Taster/Schalter / Button/Switch](./manual_ta4_DE.md#ta4-tasterschalter--buttonswitch) - [TA4 Spieler Detektor / Player Detector](./manual_ta4_DE.md#ta4-spieler-detektor--player-detector) - - [TA4 Collector](./manual_ta4_DE.md#ta4-collector) - - [ ](./manual_ta4_DE.md#-) + - [TA4 Zustandssammler / State Collector](./manual_ta4_DE.md#ta4-zustandssammler--state-collector) - [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) - [TA4 Ofenheizung / furnace heater](./manual_ta4_DE.md#ta4-ofenheizung--furnace-heater) - - [TA4 Wasserpumpe / Water Pump](./manual_ta4_DE.md#ta4-wasserpumpe--water-pump) \ No newline at end of file + - [TA4 Wasserpumpe / Water Pump](./manual_ta4_DE.md#ta4-wasserpumpe--water-pump) + - [TA4 Röhren / TA4 Tube](./manual_ta4_DE.md#ta4-röhren--ta4-tube) + - [TA4 Schieber / Pusher](./manual_ta4_DE.md#ta4-schieber--pusher) + - [TA4 Verteiler / Distributor](./manual_ta4_DE.md#ta4-verteiler--distributor) + - [TA4 Kiessieb / Gravel Sieve](./manual_ta4_DE.md#ta4-kiessieb--gravel-sieve) + - [TA4 Mühle / Grinder](./manual_ta4_DE.md#ta4-mühle--grinder) \ No newline at end of file diff --git a/textures/techage_smartline_collector_inv.png b/textures/techage_smartline_collector_inv.png index cbd28c6..b6ce1d1 100644 Binary files a/textures/techage_smartline_collector_inv.png and b/textures/techage_smartline_collector_inv.png differ diff --git a/textures/techage_tubeta4_hole2.png b/textures/techage_tubeta4_hole2.png new file mode 100644 index 0000000..e7f3663 Binary files /dev/null and b/textures/techage_tubeta4_hole2.png differ diff --git a/textures/techage_tubeta4_knee.png b/textures/techage_tubeta4_knee.png new file mode 100644 index 0000000..3ce7049 Binary files /dev/null and b/textures/techage_tubeta4_knee.png differ diff --git a/textures/techage_tubeta4_knee2.png b/textures/techage_tubeta4_knee2.png new file mode 100644 index 0000000..da448bf Binary files /dev/null and b/textures/techage_tubeta4_knee2.png differ diff --git a/textures/techage_tubeta4_tube.png b/textures/techage_tubeta4_tube.png new file mode 100644 index 0000000..01319a2 Binary files /dev/null and b/textures/techage_tubeta4_tube.png differ