From b2eb3ce11aaa0af694a925aab0f1d04595d2c8a0 Mon Sep 17 00:00:00 2001 From: Joachim Stolberg Date: Tue, 17 Mar 2020 21:43:30 +0100 Subject: [PATCH] further ta4 machines and ta4 tube added --- basic_machines/autocrafter.lua | 3 +- basic_machines/distributor.lua | 8 ++ basic_machines/electronic_fab.lua | 3 +- basic_machines/gravelrinser.lua | 2 +- basic_machines/gravelsieve.lua | 20 +++ basic_machines/grinder.lua | 9 ++ basic_machines/pusher.lua | 8 ++ basis/tubes_ta4.lua | 132 +++++++++++++++++++ doc/items.lua | 6 +- doc/manual_DE.lua | 50 ++++++- init.lua | 1 + items/plastic.lua | 2 +- locale/techage.de.tr | 3 +- locale/template.txt | 1 + manuals/manual_ta3_DE.md | 3 +- manuals/manual_ta4_DE.md | 41 +++++- manuals/toc_DE.md | 12 +- textures/techage_smartline_collector_inv.png | Bin 413 -> 410 bytes textures/techage_tubeta4_hole2.png | Bin 0 -> 488 bytes textures/techage_tubeta4_knee.png | Bin 0 -> 725 bytes textures/techage_tubeta4_knee2.png | Bin 0 -> 579 bytes textures/techage_tubeta4_tube.png | Bin 0 -> 541 bytes 22 files changed, 282 insertions(+), 22 deletions(-) create mode 100644 basis/tubes_ta4.lua create mode 100644 textures/techage_tubeta4_hole2.png create mode 100644 textures/techage_tubeta4_knee.png create mode 100644 textures/techage_tubeta4_knee2.png create mode 100644 textures/techage_tubeta4_tube.png 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 cbd28c614d2aaa053dfd2295bdfdeec84a7141be..b6ce1d1f6e34cac9a9f0b031d866330a224b20ae 100644 GIT binary patch delta 314 zcmV-A0mc5E1DXSnK@tgYNLh0L01FcU01FcV0GgZ_kv=Sc5>QN3ML>+U%FoLH002gr z$KT}OZLZQ{t=ho=008JoL_t(I%dOPg4Z|P|1yHYGHi*>?GC?9%VEQN3Mc?G$%FoM2na4nkwg3PCZLZQ7U8cSO008Sr zL_t(I%dOPg4Z|P|1yCYo0ZUAf6<8pVyaM~LQp2?&c4^d)psEOtFE6Q0wU%;7!?*Rd zrWc`1RST?;Pmsm!5$(~cpQBXA8B<8KGMn*T%=bC$j3)|kwF`OF%F8F0Wws; zssm&U&_yTg4A5i9kra|a@*n{PM1BD+pM4`DyLp(7AghtK2y_EGt`sk!jlN-{*gDXn z4akgjq`O+*Z~h3jv+X}28(apZAaDUP&zmDa077Jd3>6SD$n(yK*gbShJ;sE4096Y2 z0LlP9(CYv`&?5@*ZTXKNXJ0_A_}MT18Qy{qmE&|N?MB5-00000NkvXXu0mjfdY*w9 diff --git a/textures/techage_tubeta4_hole2.png b/textures/techage_tubeta4_hole2.png new file mode 100644 index 0000000000000000000000000000000000000000..e7f3663b2c2de2e5c2097697a25d0e175ebfa407 GIT binary patch literal 488 zcmVP)przp|Btvu(QA_dAo%2QGWibBd$ zlAs_6N;M(ji5ifYsVq9Ki{WrU=dJ<3$#J8a zBiIF7r=&UsyL=8+l%Tc7j5PpDWe}miCX98Ve1#Oy$twBWNFhnEVoki>OA-ylER0`P zAdBx`|0hRKH4ffDo(C?%$urSx0l>@4JMNK-X{~9|k_8&aZ7`jLC{q!PMnp3gfNa}3VZ@RiKO>&Om#H?0000**{zo)1B-*6*0awGqzqH2!K*=0=-DS`r&d=Arvam3Z))Cg`2q_V{MaD6WAKx)1CN_rM-S=$1 z*#zLxeGiS>b&g*cFqsjyeq;0l-5wI3+)q=lT1xdm)cs#tv?4K zr5ef4SqHx|Qv8rDOS7;p5bFG~p_E3d^5cXQXst;~!s)AKe$o-=*<)i+lL-p2&XM%l zOk%XY2SBrVNE8{Iv)J5rAJ_18E9tKR_73vQk3X6**;#i^d>mMqKh z-j^m648S`NeXVD6i|*6UX1}wu!{VLAQd^_Z2m|ox<0p<=$3#YByN8J^M@_^un@1R9 zkV5iwZ3_!|KA6z41|5wI4OXN*Q8j4}K;IN;sRqc{Y5 zy&nC3pENaCTc5s9Q^V0wL6+rYnTZzxl`LjVDM3WetX13;{P6%SH`;$~5h^7s5#f~x zByzsFh(?KuAA#kYYn?9XMB)+f&QaSM?>!;3Pg(xLIgj@aXC1Y(@kJPd2f%qhkBYxN z5e6R?*3P<9LIBOu_mxIqI2@u9MQSu|?kK4((#a^x3S$iWU-yB>aR>}{2Ml%xm$2N9 z-v{nw7`=S;f^PQ#CT+LPX6-zXRG5s9Q6dz@A#dMDBCxS>kFBjujA?7%A5UpQ10BP- zsu0oSc^0_}LO@(AK&uj_EUI3)h*fY>g0rLn@6j&cPMVYtfTK<#_kpumzWuFE!&Tv* zFT-b5`Gx7EEw{bBpX8k!(e1W++Wsw@JY!r|C{Y|11=C3mKvf#%ZE<*>gWoh}q@~Xl R+X4Up002ovPDHLkV1n|5`HcVo literal 0 HcmV?d00001 diff --git a/textures/techage_tubeta4_tube.png b/textures/techage_tubeta4_tube.png new file mode 100644 index 0000000000000000000000000000000000000000..01319a2bf2bf6cc11cf6465c86b3aba4e28dcc8d GIT binary patch literal 541 zcmV+&0^Wh>QAbGJ+%e&>*rr=Hk;!t?ZDGncZi7! z06FsvvUGDQBeh5U46y%_08NHa{rW+StbPpI$FUZAD+GZatUgh2HJLLIO2jlge<(T z-jMOx+Dk%o23`_c8c4(#z#`zt@S4EZ;DS6Fjv!WanA_BMJ!n<0kSdS!$|DV?LS(pJ zWe#xeRgn$=BG62p_(0YZ5&$cTcHA@8fGo|3oWX*s%0pF9*EQO<9XngbW^|dn#U5dW z(9ozfl4OxX^H$ZMo*Uz<>EV?J2`jv>z$`QA-|LI1@2DM;NJe~0WJ;7xA!p=>7{dp1 zz!f?=FZxpK?HmZ>y7a0_6wvl@i_qr;j5Yr?2TDVRg$wuQHtzR(n1^q_)93yc+^^4; fpOOU&7Mv8%O)}=IVLtT(00000NkvXXu0mjfF81rv literal 0 HcmV?d00001