From b8d77627a4d28c624e63423eef317dd09c68e533 Mon Sep 17 00:00:00 2001 From: RealBadAngel Date: Thu, 13 Dec 2012 01:49:02 +0100 Subject: [PATCH] update the mod --- coal_furnace.lua | 171 ----- config.lua | 3 - technic/modpack.txt | 1 + technic/pipeworks/.gitignore | 1 + technic/pipeworks/README | 34 + technic/pipeworks/autoplace.lua | 176 ++++++ technic/pipeworks/changelog.txt | 46 ++ technic/pipeworks/crafts.lua | 94 +++ technic/pipeworks/depends.txt | 2 + technic/pipeworks/devices.lua | 471 ++++++++++++++ technic/pipeworks/init.lua | 322 ++++++++++ technic/pipeworks/oldpipes.lua | 360 +++++++++++ .../textures/pipeworks_intake_sides.png | Bin 0 -> 6739 bytes .../textures/pipeworks_intake_top.png | Bin 0 -> 7121 bytes .../textures/pipeworks_outlet_sides.png | Bin 0 -> 5152 bytes .../textures/pipeworks_outlet_top.png | Bin 0 -> 5707 bytes .../pipeworks/textures/pipeworks_pipe_end.png | Bin 0 -> 2149 bytes .../textures/pipeworks_pipe_end_empty.png | Bin 0 -> 2144 bytes .../textures/pipeworks_pipe_end_loaded.png | Bin 0 -> 2185 bytes .../pipeworks/textures/pipeworks_plain.png | Bin 0 -> 1872 bytes .../textures/pipeworks_plastic_sheeting.png | Bin 0 -> 198 bytes .../textures/pipeworks_pump_ends.png | Bin 0 -> 6410 bytes .../pipeworks/textures/pipeworks_pump_off.png | Bin 0 -> 5185 bytes .../pipeworks/textures/pipeworks_pump_on.png | Bin 0 -> 6488 bytes .../textures/pipeworks_pump_sides.png | Bin 0 -> 5389 bytes .../textures/pipeworks_pump_top_x.png | Bin 0 -> 5389 bytes .../textures/pipeworks_pump_top_z.png | Bin 0 -> 5207 bytes .../textures/pipeworks_storage_tank_back.png | Bin 0 -> 4593 bytes .../pipeworks_storage_tank_fittings.png | Bin 0 -> 5359 bytes .../pipeworks_storage_tank_front_0.png | Bin 0 -> 5126 bytes .../pipeworks_storage_tank_front_1.png | Bin 0 -> 5139 bytes .../pipeworks_storage_tank_front_10.png | Bin 0 -> 5131 bytes .../pipeworks_storage_tank_front_2.png | Bin 0 -> 5135 bytes .../pipeworks_storage_tank_front_3.png | Bin 0 -> 5148 bytes .../pipeworks_storage_tank_front_4.png | Bin 0 -> 5146 bytes .../pipeworks_storage_tank_front_5.png | Bin 0 -> 5136 bytes .../pipeworks_storage_tank_front_6.png | Bin 0 -> 5145 bytes .../pipeworks_storage_tank_front_7.png | Bin 0 -> 5130 bytes .../pipeworks_storage_tank_front_8.png | Bin 0 -> 5128 bytes .../pipeworks_storage_tank_front_9.png | Bin 0 -> 5155 bytes .../textures/pipeworks_testobject.png | Bin 0 -> 4781 bytes .../pipeworks/textures/pipeworks_tube_end.png | Bin 0 -> 2577 bytes .../pipeworks/textures/pipeworks_tube_inv.png | Bin 0 -> 1217 bytes .../textures/pipeworks_tube_noctr.png | Bin 0 -> 1979 bytes .../textures/pipeworks_tube_plain.png | Bin 0 -> 2444 bytes .../textures/pipeworks_tube_short.png | Bin 0 -> 1248 bytes .../textures/pipeworks_tube_transparent.png | Bin 0 -> 109 bytes .../textures/pipeworks_valvebody_bottom.png | Bin 0 -> 5321 bytes .../textures/pipeworks_valvebody_ends.png | Bin 0 -> 6138 bytes .../textures/pipeworks_valvebody_sides.png | Bin 0 -> 4592 bytes .../textures/pipeworks_valvebody_top_off.png | Bin 0 -> 4557 bytes .../pipeworks_valvebody_top_off_x.png | Bin 0 -> 4557 bytes .../pipeworks_valvebody_top_off_z.png | Bin 0 -> 4768 bytes .../textures/pipeworks_valvebody_top_on.png | Bin 0 -> 4559 bytes .../textures/pipeworks_valvebody_top_on_x.png | Bin 0 -> 4559 bytes .../textures/pipeworks_valvebody_top_on_z.png | Bin 0 -> 4726 bytes .../textures/pipeworks_windowed_empty.png | Bin 0 -> 1945 bytes .../textures/pipeworks_windowed_loaded.png | Bin 0 -> 1950 bytes technic/pipeworks/tubes.lua | 217 +++++++ .../technic/alloy_furnace.lua | 14 +- .../technic/battery_box.lua | 0 .../technic/battery_box_mv.lua | 4 +- cans.lua => technic/technic/cans.lua | 67 +- chainsaw.lua => technic/technic/chainsaw.lua | 2 +- concrete.lua => technic/technic/concrete.lua | 11 +- technic/technic/config.lua | 10 + .../technic/constructor.lua | 0 .../technic/copper_chest.lua | 0 technic/technic/creative.lua | 21 + depends.txt => technic/technic/depends.txt | 2 +- deployer.lua => technic/technic/deployer.lua | 0 electric.lua => technic/technic/electric.lua | 0 .../technic/electric_furnace.lua | 3 +- .../technic/flashlight.lua | 2 +- technic/technic/flashlight_old.lua | 176 ++++++ .../technic/generator.lua | 0 .../technic/geothermal.lua | 0 .../technic/gold_chest.lua | 0 grinder.lua => technic/technic/grinder.lua | 10 +- technic/technic/grinder_gloopores.lua | 55 ++ init.lua => technic/technic/init.lua | 69 +- injector.lua => technic/technic/injector.lua | 0 technic/technic/injector1.lua | 248 ++++++++ .../technic/iron_chest.lua | 13 - .../technic/item_drop.lua | 0 .../technic/item_pickup.lua | 0 items.lua => technic/technic/items.lua | 12 +- .../technic/mining_drill.lua | 4 +- .../technic/mining_laser_mk1.lua | 0 .../technic/mithril_chest.lua | 0 technic/technic/mithril_subspace_chest.lua | 145 +++++ .../technic/music_player.lua | 0 .../technic/node_breaker.lua | 0 ores.lua => technic/technic/ores.lua | 142 ++++- .../technic/project_table.lua | 0 rubber.lua => technic/technic/rubber.lua | 0 .../technic/screwdriver.lua | 0 .../technic/silver_chest.lua | 0 .../technic/solar_panel.lua | 2 +- .../technic/solar_panel_mv.lua | 0 .../technic/sonic_screwdriver.lua | 0 .../technic/sounds}/chainsaw.ogg | Bin .../technic/sounds}/item_drop_pickup.1.ogg | Bin .../technic/sounds}/item_drop_pickup.2.ogg | Bin .../technic/sounds}/item_drop_pickup.3.ogg | Bin .../technic/sounds}/item_drop_pickup.4.ogg | Bin .../technic/sounds}/mining_drill.ogg | Bin .../technic/sounds}/technic_laser.ogg | Bin .../sounds}/technic_sonic_screwdriver.ogg | Bin technic/technic/tetris.lua | 17 + .../textures}/technic_alloy_furnace_front.png | Bin .../technic_alloy_furnace_front_active.png | Bin .../textures}/technic_alloy_furnace_side.png | Bin .../textures}/technic_alloy_furnace_top.png | Bin .../technic/textures}/technic_battery.png | Bin .../textures}/technic_battery_box_bottom.png | Bin .../textures}/technic_battery_box_side0.png | Bin .../textures}/technic_battery_box_top.png | Bin .../textures}/technic_battery_reload.png | Bin .../technic/textures}/technic_brass_dust.png | Bin .../technic/textures}/technic_brass_ingot.png | Bin .../technic/textures}/technic_bronze_dust.png | Bin .../technic/textures}/technic_chainsaw.png | Bin .../textures}/technic_chromium_dust.png | Bin .../textures}/technic_chromium_ingot.png | Bin .../textures}/technic_chromium_lump.png | Bin .../technic_coal_alloy_furnace_bottom.png | Bin .../technic_coal_alloy_furnace_front.png | Bin ...echnic_coal_alloy_furnace_front_active.png | Bin .../technic_coal_alloy_furnace_side.png | Bin .../technic_coal_alloy_furnace_top.png | Bin .../technic/textures}/technic_coal_dust.png | Bin .../textures}/technic_concrete_block.png | Bin .../textures}/technic_constructor_back.png | Bin .../technic_constructor_front_off.png | Bin .../technic_constructor_front_on.png | Bin .../technic_constructor_mk1_bottom_off.png | Bin .../technic_constructor_mk1_bottom_on.png | Bin .../technic_constructor_mk1_side1_off.png | Bin .../technic_constructor_mk1_side1_on.png | Bin .../technic_constructor_mk1_side2_off.png | Bin .../technic_constructor_mk1_side2_on.png | Bin .../technic_constructor_mk1_top_off.png | Bin .../technic_constructor_mk1_top_on.png | Bin .../technic_constructor_mk2_bottom_off.png | Bin .../technic_constructor_mk2_bottom_on.png | Bin .../technic_constructor_mk2_side1_off.png | Bin .../technic_constructor_mk2_side1_on.png | Bin .../technic_constructor_mk2_side2_off.png | Bin .../technic_constructor_mk2_side2_on.png | Bin .../technic_constructor_mk2_top_off.png | Bin .../technic_constructor_mk2_top_on.png | Bin .../technic_constructor_mk3_bottom_off.png | Bin .../technic_constructor_mk3_bottom_on.png | Bin .../technic_constructor_mk3_side1_off.png | Bin .../technic_constructor_mk3_side1_on.png | Bin .../technic_constructor_mk3_side2_off.png | Bin .../technic_constructor_mk3_side2_on.png | Bin .../technic_constructor_mk3_top_off.png | Bin .../technic_constructor_mk3_top_on.png | Bin .../textures}/technic_copper_chest_front.png | Bin .../textures}/technic_copper_chest_locked.png | Bin .../textures}/technic_copper_chest_side.png | Bin .../textures}/technic_copper_chest_top.png | Bin .../technic/textures}/technic_copper_coil.png | Bin .../technic/textures}/technic_copper_dust.png | Bin .../textures}/technic_deployer_back.png | Bin .../textures}/technic_deployer_bottom.png | Bin .../textures}/technic_deployer_front_off.png | Bin .../textures}/technic_deployer_front_on.png | Bin .../textures}/technic_deployer_side.png | Bin .../textures}/technic_deployer_side1.png | Bin .../textures}/technic_deployer_side2.png | Bin .../textures}/technic_deployer_top.png | Bin .../technic/textures}/technic_diamond.png | Bin .../textures}/technic_diamond_block.png | Bin .../textures}/technic_diamond_block_blue.png | Bin .../textures}/technic_diamond_block_green.png | Bin .../textures}/technic_diamond_block_red.png | Bin .../textures}/technic_diamond_drill_head.png | Bin .../textures}/technic_doped_silicon_wafer.png | Bin .../textures/technic_electric_furnace_GUI.png | Bin 0 -> 68120 bytes .../textures/technic_electric_furnace_GUI.xcf | Bin 0 -> 610035 bytes .../technic_electric_furnace_bottom.png | Bin .../technic_electric_furnace_front.png | Bin .../technic_electric_furnace_front_active.png | Bin .../technic_electric_furnace_side.png | Bin .../technic_electric_furnace_top.png | Bin .../textures}/technic_fine_copper_wire.png | Bin .../technic/textures}/technic_flashlight.png | Bin .../textures}/technic_generator_front.png | Bin .../technic_generator_front_active.png | Bin .../textures}/technic_generator_side.png | Bin .../textures}/technic_generator_top.png | Bin .../textures}/technic_geothermal_side.png | Bin .../textures}/technic_geothermal_top.png | Bin .../technic_geothermal_top_active.png | Bin .../textures}/technic_gold_chest_front.png | Bin .../technic_gold_chest_front_black.png | Bin .../technic_gold_chest_front_blue.png | Bin .../technic_gold_chest_front_brown.png | Bin .../technic_gold_chest_front_cyan.png | Bin .../technic_gold_chest_front_dark_green.png | Bin .../technic_gold_chest_front_dark_grey.png | Bin .../technic_gold_chest_front_green.png | Bin .../technic_gold_chest_front_grey.png | Bin .../technic_gold_chest_front_magenta.png | Bin .../technic_gold_chest_front_orange.png | Bin .../technic_gold_chest_front_pink.png | Bin .../technic_gold_chest_front_red.png | Bin .../technic_gold_chest_front_violet.png | Bin .../technic_gold_chest_front_white.png | Bin .../technic_gold_chest_front_yellow.png | Bin .../textures}/technic_gold_chest_locked.png | Bin .../technic_gold_chest_locked_black.png | Bin .../technic_gold_chest_locked_blue.png | Bin .../technic_gold_chest_locked_brown.png | Bin .../technic_gold_chest_locked_cyan.png | Bin .../technic_gold_chest_locked_dark_green.png | Bin .../technic_gold_chest_locked_dark_grey.png | Bin .../technic_gold_chest_locked_green.png | Bin .../technic_gold_chest_locked_grey.png | Bin .../technic_gold_chest_locked_magenta.png | Bin .../technic_gold_chest_locked_orange.png | Bin .../technic_gold_chest_locked_pink.png | Bin .../technic_gold_chest_locked_red.png | Bin .../technic_gold_chest_locked_violet.png | Bin .../technic_gold_chest_locked_white.png | Bin .../technic_gold_chest_locked_yellow.png | Bin .../textures}/technic_gold_chest_side.png | Bin .../textures}/technic_gold_chest_top.png | Bin .../technic/textures}/technic_gold_dust.png | Bin .../technic/textures}/technic_granite.png | Bin .../textures}/technic_grinder_front.png | Bin .../textures}/technic_grinder_side.png | Bin .../technic/textures}/technic_grinder_top.png | Bin .../textures}/technic_iron_chest_front.png | Bin .../textures}/technic_iron_chest_locked.png | Bin .../textures}/technic_iron_chest_side.png | Bin .../textures}/technic_iron_chest_top.png | Bin .../technic/textures}/technic_iron_dust.png | Bin .../technic/textures}/technic_laser_beam.png | Bin .../technic/textures}/technic_lava_can.png | Bin .../technic/textures}/technic_light.png | Bin .../technic/textures}/technic_lv_cable.png | Bin .../textures}/technic_lv_cable_wield.png | Bin .../textures}/technic_machine_bottom.png | Bin .../technic/textures}/technic_marble.png | Bin .../textures}/technic_marble_bricks.png | Bin .../technic/textures}/technic_menu_bg.png | Bin .../textures}/technic_mineral_chromium.png | Bin .../textures}/technic_mineral_diamond.png | Bin .../textures}/technic_mineral_uranium.png | Bin .../textures}/technic_mineral_zinc.png | Bin .../textures}/technic_mining_drill.png | Bin .../textures}/technic_mining_laser_mk1.png | Bin .../textures}/technic_mithril_chest_front.png | Bin .../technic_mithril_chest_locked.png | Bin .../textures}/technic_mithril_chest_side.png | Bin .../textures}/technic_mithril_chest_top.png | Bin .../textures}/technic_mithril_dust.png | Bin .../technic/textures}/technic_motor.png | Bin .../textures}/technic_music_player_bottom.png | Bin .../textures}/technic_music_player_side.png | Bin .../textures}/technic_music_player_top.png | Bin .../technic_mv_battery_box_bottom.png | Bin .../technic_mv_battery_box_side0.png | Bin .../textures}/technic_mv_battery_box_top.png | Bin .../technic/textures}/technic_mv_cable.png | Bin .../textures}/technic_mv_cable_wield.png | Bin .../technic_mv_solar_panel_bottom.png | Bin .../textures}/technic_mv_solar_panel_side.png | Bin .../textures}/technic_mv_solar_panel_top.png | Bin .../textures}/technic_mv_transformer.png | Bin .../textures}/technic_nodebreaker_back.png | Bin .../textures}/technic_nodebreaker_bottom.png | Bin .../technic_nodebreaker_bottom_off.png | Bin .../technic_nodebreaker_bottom_on.png | Bin .../technic_nodebreaker_front_off.png | Bin .../technic_nodebreaker_front_on.png | Bin .../textures}/technic_nodebreaker_side.png | Bin .../textures}/technic_nodebreaker_side1.png | Bin .../technic_nodebreaker_side1_off.png | Bin .../technic_nodebreaker_side1_on.png | Bin .../textures}/technic_nodebreaker_side2.png | Bin .../technic_nodebreaker_side2_off.png | Bin .../technic_nodebreaker_side2_on.png | Bin .../textures}/technic_nodebreaker_top.png | Bin .../textures}/technic_nodebreaker_top_off.png | Bin .../textures}/technic_nodebreaker_top_on.png | Bin .../technic/textures}/technic_power_meter.png | Bin .../textures}/technic_power_meter1.png | Bin .../textures}/technic_power_meter2.png | Bin .../textures}/technic_power_meter3.png | Bin .../textures}/technic_power_meter4.png | Bin .../textures}/technic_power_meter5.png | Bin .../textures}/technic_power_meter6.png | Bin .../textures}/technic_power_meter7.png | Bin .../textures}/technic_power_meter8.png | Bin .../textures}/technic_power_meter_bg.png | Bin .../textures}/technic_power_meter_fg.png | Bin .../technic/textures}/technic_raw_latex.png | Bin .../technic/textures}/technic_rebar.png | Bin .../technic/textures}/technic_rubber.png | Bin .../textures}/technic_rubber_sapling.png | Bin .../textures}/technic_rubber_tree_empty.png | Bin .../textures}/technic_rubber_tree_full.png | Bin .../technic/textures}/technic_screwdriver.png | Bin .../textures}/technic_silicon_wafer.png | Bin .../textures}/technic_silver_chest_front.png | Bin .../textures}/technic_silver_chest_locked.png | Bin .../textures}/technic_silver_chest_side.png | Bin .../textures}/technic_silver_chest_top.png | Bin .../technic/textures}/technic_silver_dust.png | Bin .../textures}/technic_solar_panel_bottom.png | Bin .../textures}/technic_solar_panel_side.png | Bin .../textures}/technic_solar_panel_top.png | Bin .../textures}/technic_sonic_screwdriver.png | Bin .../technic_stainless_steel_dust.png | Bin .../technic_stainless_steel_ingot.png | Bin .../technic/textures}/technic_tin_dust.png | Bin .../technic/textures}/technic_tree_tap.png | Bin .../technic/textures}/technic_uranium.png | Bin .../technic/textures}/technic_water_can.png | Bin .../textures}/technic_water_mill_side.png | Bin .../textures}/technic_water_mill_top.png | Bin .../technic_water_mill_top_active.png | Bin .../textures}/technic_workshop_bottom.png | Bin .../textures}/technic_workshop_side.png | Bin .../textures}/technic_workshop_top.png | Bin .../technic/textures}/technic_zinc_dust.png | Bin .../technic/textures}/technic_zinc_ingot.png | Bin .../technic/textures}/technic_zinc_lump.png | Bin .../textures/tetris_machine_front1.png | Bin 0 -> 20501 bytes .../textures/tetris_machine_front2.png | Bin 0 -> 24305 bytes .../textures/tetris_machine_side1B.png | Bin 0 -> 2805 bytes .../textures/tetris_machine_side1L.png | Bin 0 -> 15928 bytes .../textures/tetris_machine_side1P.png | Bin 0 -> 15928 bytes .../textures/tetris_machine_side2B.png | Bin 0 -> 17424 bytes .../textures/tetris_machine_side2L.png | Bin 0 -> 16242 bytes .../textures/tetris_machine_side2P.png | Bin 0 -> 16192 bytes .../technic/textures/tetris_machine_top.png | Bin 0 -> 2805 bytes .../technic/tool_workshop.lua | 0 tree_tap.lua => technic/technic/tree_tap.lua | 2 +- technic/technic/water.lua | 588 ++++++++++++++++++ .../technic/water_mill.lua | 0 wires.lua => technic/technic/wires.lua | 0 wires_mv.lua => technic/technic/wires_mv.lua | 0 348 files changed, 3263 insertions(+), 254 deletions(-) delete mode 100644 coal_furnace.lua delete mode 100644 config.lua create mode 100644 technic/modpack.txt create mode 100644 technic/pipeworks/.gitignore create mode 100644 technic/pipeworks/README create mode 100644 technic/pipeworks/autoplace.lua create mode 100644 technic/pipeworks/changelog.txt create mode 100644 technic/pipeworks/crafts.lua create mode 100644 technic/pipeworks/depends.txt create mode 100644 technic/pipeworks/devices.lua create mode 100644 technic/pipeworks/init.lua create mode 100644 technic/pipeworks/oldpipes.lua create mode 100644 technic/pipeworks/textures/pipeworks_intake_sides.png create mode 100644 technic/pipeworks/textures/pipeworks_intake_top.png create mode 100644 technic/pipeworks/textures/pipeworks_outlet_sides.png create mode 100644 technic/pipeworks/textures/pipeworks_outlet_top.png create mode 100644 technic/pipeworks/textures/pipeworks_pipe_end.png create mode 100644 technic/pipeworks/textures/pipeworks_pipe_end_empty.png create mode 100644 technic/pipeworks/textures/pipeworks_pipe_end_loaded.png create mode 100644 technic/pipeworks/textures/pipeworks_plain.png create mode 100644 technic/pipeworks/textures/pipeworks_plastic_sheeting.png create mode 100644 technic/pipeworks/textures/pipeworks_pump_ends.png create mode 100644 technic/pipeworks/textures/pipeworks_pump_off.png create mode 100644 technic/pipeworks/textures/pipeworks_pump_on.png create mode 100644 technic/pipeworks/textures/pipeworks_pump_sides.png create mode 100644 technic/pipeworks/textures/pipeworks_pump_top_x.png create mode 100644 technic/pipeworks/textures/pipeworks_pump_top_z.png create mode 100644 technic/pipeworks/textures/pipeworks_storage_tank_back.png create mode 100644 technic/pipeworks/textures/pipeworks_storage_tank_fittings.png create mode 100644 technic/pipeworks/textures/pipeworks_storage_tank_front_0.png create mode 100644 technic/pipeworks/textures/pipeworks_storage_tank_front_1.png create mode 100644 technic/pipeworks/textures/pipeworks_storage_tank_front_10.png create mode 100644 technic/pipeworks/textures/pipeworks_storage_tank_front_2.png create mode 100644 technic/pipeworks/textures/pipeworks_storage_tank_front_3.png create mode 100644 technic/pipeworks/textures/pipeworks_storage_tank_front_4.png create mode 100644 technic/pipeworks/textures/pipeworks_storage_tank_front_5.png create mode 100644 technic/pipeworks/textures/pipeworks_storage_tank_front_6.png create mode 100644 technic/pipeworks/textures/pipeworks_storage_tank_front_7.png create mode 100644 technic/pipeworks/textures/pipeworks_storage_tank_front_8.png create mode 100644 technic/pipeworks/textures/pipeworks_storage_tank_front_9.png create mode 100644 technic/pipeworks/textures/pipeworks_testobject.png create mode 100644 technic/pipeworks/textures/pipeworks_tube_end.png create mode 100644 technic/pipeworks/textures/pipeworks_tube_inv.png create mode 100644 technic/pipeworks/textures/pipeworks_tube_noctr.png create mode 100644 technic/pipeworks/textures/pipeworks_tube_plain.png create mode 100644 technic/pipeworks/textures/pipeworks_tube_short.png create mode 100644 technic/pipeworks/textures/pipeworks_tube_transparent.png create mode 100644 technic/pipeworks/textures/pipeworks_valvebody_bottom.png create mode 100644 technic/pipeworks/textures/pipeworks_valvebody_ends.png create mode 100644 technic/pipeworks/textures/pipeworks_valvebody_sides.png create mode 100644 technic/pipeworks/textures/pipeworks_valvebody_top_off.png create mode 100644 technic/pipeworks/textures/pipeworks_valvebody_top_off_x.png create mode 100644 technic/pipeworks/textures/pipeworks_valvebody_top_off_z.png create mode 100644 technic/pipeworks/textures/pipeworks_valvebody_top_on.png create mode 100644 technic/pipeworks/textures/pipeworks_valvebody_top_on_x.png create mode 100644 technic/pipeworks/textures/pipeworks_valvebody_top_on_z.png create mode 100644 technic/pipeworks/textures/pipeworks_windowed_empty.png create mode 100644 technic/pipeworks/textures/pipeworks_windowed_loaded.png create mode 100644 technic/pipeworks/tubes.lua rename alloy_furnace.lua => technic/technic/alloy_furnace.lua (98%) rename battery_box.lua => technic/technic/battery_box.lua (100%) rename battery_box_mv.lua => technic/technic/battery_box_mv.lua (99%) rename cans.lua => technic/technic/cans.lua (68%) rename chainsaw.lua => technic/technic/chainsaw.lua (94%) rename concrete.lua => technic/technic/concrete.lua (88%) create mode 100644 technic/technic/config.lua rename constructor.lua => technic/technic/constructor.lua (100%) rename copper_chest.lua => technic/technic/copper_chest.lua (100%) create mode 100644 technic/technic/creative.lua rename depends.txt => technic/technic/depends.txt (76%) rename deployer.lua => technic/technic/deployer.lua (100%) rename electric.lua => technic/technic/electric.lua (100%) rename electric_furnace.lua => technic/technic/electric_furnace.lua (98%) rename flashlight.lua => technic/technic/flashlight.lua (99%) create mode 100644 technic/technic/flashlight_old.lua rename generator.lua => technic/technic/generator.lua (100%) rename geothermal.lua => technic/technic/geothermal.lua (100%) rename gold_chest.lua => technic/technic/gold_chest.lua (100%) rename grinder.lua => technic/technic/grinder.lua (98%) create mode 100644 technic/technic/grinder_gloopores.lua rename init.lua => technic/technic/init.lua (86%) rename injector.lua => technic/technic/injector.lua (100%) create mode 100644 technic/technic/injector1.lua rename iron_chest.lua => technic/technic/iron_chest.lua (94%) rename item_drop.lua => technic/technic/item_drop.lua (100%) rename item_pickup.lua => technic/technic/item_pickup.lua (100%) rename items.lua => technic/technic/items.lua (92%) rename mining_drill.lua => technic/technic/mining_drill.lua (90%) rename mining_laser_mk1.lua => technic/technic/mining_laser_mk1.lua (100%) rename mithril_chest.lua => technic/technic/mithril_chest.lua (100%) create mode 100644 technic/technic/mithril_subspace_chest.lua rename music_player.lua => technic/technic/music_player.lua (100%) rename node_breaker.lua => technic/technic/node_breaker.lua (100%) rename ores.lua => technic/technic/ores.lua (59%) rename project_table.lua => technic/technic/project_table.lua (100%) rename rubber.lua => technic/technic/rubber.lua (100%) rename screwdriver.lua => technic/technic/screwdriver.lua (100%) rename silver_chest.lua => technic/technic/silver_chest.lua (100%) rename solar_panel.lua => technic/technic/solar_panel.lua (99%) rename solar_panel_mv.lua => technic/technic/solar_panel_mv.lua (100%) rename sonic_screwdriver.lua => technic/technic/sonic_screwdriver.lua (100%) rename {sounds => technic/technic/sounds}/chainsaw.ogg (100%) rename {sounds => technic/technic/sounds}/item_drop_pickup.1.ogg (100%) rename {sounds => technic/technic/sounds}/item_drop_pickup.2.ogg (100%) rename {sounds => technic/technic/sounds}/item_drop_pickup.3.ogg (100%) rename {sounds => technic/technic/sounds}/item_drop_pickup.4.ogg (100%) rename {sounds => technic/technic/sounds}/mining_drill.ogg (100%) rename {sounds => technic/technic/sounds}/technic_laser.ogg (100%) rename {sounds => technic/technic/sounds}/technic_sonic_screwdriver.ogg (100%) create mode 100644 technic/technic/tetris.lua rename {textures => technic/technic/textures}/technic_alloy_furnace_front.png (100%) rename {textures => technic/technic/textures}/technic_alloy_furnace_front_active.png (100%) rename {textures => technic/technic/textures}/technic_alloy_furnace_side.png (100%) rename {textures => technic/technic/textures}/technic_alloy_furnace_top.png (100%) rename {textures => technic/technic/textures}/technic_battery.png (100%) rename {textures => technic/technic/textures}/technic_battery_box_bottom.png (100%) rename {textures => technic/technic/textures}/technic_battery_box_side0.png (100%) rename {textures => technic/technic/textures}/technic_battery_box_top.png (100%) rename {textures => technic/technic/textures}/technic_battery_reload.png (100%) rename {textures => technic/technic/textures}/technic_brass_dust.png (100%) rename {textures => technic/technic/textures}/technic_brass_ingot.png (100%) rename {textures => technic/technic/textures}/technic_bronze_dust.png (100%) rename {textures => technic/technic/textures}/technic_chainsaw.png (100%) rename {textures => technic/technic/textures}/technic_chromium_dust.png (100%) rename {textures => technic/technic/textures}/technic_chromium_ingot.png (100%) rename {textures => technic/technic/textures}/technic_chromium_lump.png (100%) rename {textures => technic/technic/textures}/technic_coal_alloy_furnace_bottom.png (100%) rename {textures => technic/technic/textures}/technic_coal_alloy_furnace_front.png (100%) rename {textures => technic/technic/textures}/technic_coal_alloy_furnace_front_active.png (100%) rename {textures => technic/technic/textures}/technic_coal_alloy_furnace_side.png (100%) rename {textures => technic/technic/textures}/technic_coal_alloy_furnace_top.png (100%) rename {textures => technic/technic/textures}/technic_coal_dust.png (100%) rename {textures => technic/technic/textures}/technic_concrete_block.png (100%) rename {textures => technic/technic/textures}/technic_constructor_back.png (100%) rename {textures => technic/technic/textures}/technic_constructor_front_off.png (100%) rename {textures => technic/technic/textures}/technic_constructor_front_on.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk1_bottom_off.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk1_bottom_on.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk1_side1_off.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk1_side1_on.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk1_side2_off.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk1_side2_on.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk1_top_off.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk1_top_on.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk2_bottom_off.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk2_bottom_on.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk2_side1_off.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk2_side1_on.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk2_side2_off.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk2_side2_on.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk2_top_off.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk2_top_on.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk3_bottom_off.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk3_bottom_on.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk3_side1_off.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk3_side1_on.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk3_side2_off.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk3_side2_on.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk3_top_off.png (100%) rename {textures => technic/technic/textures}/technic_constructor_mk3_top_on.png (100%) rename {textures => technic/technic/textures}/technic_copper_chest_front.png (100%) rename {textures => technic/technic/textures}/technic_copper_chest_locked.png (100%) rename {textures => technic/technic/textures}/technic_copper_chest_side.png (100%) rename {textures => technic/technic/textures}/technic_copper_chest_top.png (100%) rename {textures => technic/technic/textures}/technic_copper_coil.png (100%) rename {textures => technic/technic/textures}/technic_copper_dust.png (100%) rename {textures => technic/technic/textures}/technic_deployer_back.png (100%) rename {textures => technic/technic/textures}/technic_deployer_bottom.png (100%) rename {textures => technic/technic/textures}/technic_deployer_front_off.png (100%) rename {textures => technic/technic/textures}/technic_deployer_front_on.png (100%) rename {textures => technic/technic/textures}/technic_deployer_side.png (100%) rename {textures => technic/technic/textures}/technic_deployer_side1.png (100%) rename {textures => technic/technic/textures}/technic_deployer_side2.png (100%) rename {textures => technic/technic/textures}/technic_deployer_top.png (100%) rename {textures => technic/technic/textures}/technic_diamond.png (100%) rename {textures => technic/technic/textures}/technic_diamond_block.png (100%) rename {textures => technic/technic/textures}/technic_diamond_block_blue.png (100%) rename {textures => technic/technic/textures}/technic_diamond_block_green.png (100%) rename {textures => technic/technic/textures}/technic_diamond_block_red.png (100%) rename {textures => technic/technic/textures}/technic_diamond_drill_head.png (100%) rename {textures => technic/technic/textures}/technic_doped_silicon_wafer.png (100%) create mode 100644 technic/technic/textures/technic_electric_furnace_GUI.png create mode 100644 technic/technic/textures/technic_electric_furnace_GUI.xcf rename {textures => technic/technic/textures}/technic_electric_furnace_bottom.png (100%) rename {textures => technic/technic/textures}/technic_electric_furnace_front.png (100%) rename {textures => technic/technic/textures}/technic_electric_furnace_front_active.png (100%) rename {textures => technic/technic/textures}/technic_electric_furnace_side.png (100%) rename {textures => technic/technic/textures}/technic_electric_furnace_top.png (100%) rename {textures => technic/technic/textures}/technic_fine_copper_wire.png (100%) rename {textures => technic/technic/textures}/technic_flashlight.png (100%) rename {textures => technic/technic/textures}/technic_generator_front.png (100%) rename {textures => technic/technic/textures}/technic_generator_front_active.png (100%) rename {textures => technic/technic/textures}/technic_generator_side.png (100%) rename {textures => technic/technic/textures}/technic_generator_top.png (100%) rename {textures => technic/technic/textures}/technic_geothermal_side.png (100%) rename {textures => technic/technic/textures}/technic_geothermal_top.png (100%) rename {textures => technic/technic/textures}/technic_geothermal_top_active.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front_black.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front_blue.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front_brown.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front_cyan.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front_dark_green.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front_dark_grey.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front_green.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front_grey.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front_magenta.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front_orange.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front_pink.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front_red.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front_violet.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front_white.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_front_yellow.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked_black.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked_blue.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked_brown.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked_cyan.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked_dark_green.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked_dark_grey.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked_green.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked_grey.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked_magenta.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked_orange.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked_pink.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked_red.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked_violet.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked_white.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_locked_yellow.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_side.png (100%) rename {textures => technic/technic/textures}/technic_gold_chest_top.png (100%) rename {textures => technic/technic/textures}/technic_gold_dust.png (100%) rename {textures => technic/technic/textures}/technic_granite.png (100%) rename {textures => technic/technic/textures}/technic_grinder_front.png (100%) rename {textures => technic/technic/textures}/technic_grinder_side.png (100%) rename {textures => technic/technic/textures}/technic_grinder_top.png (100%) rename {textures => technic/technic/textures}/technic_iron_chest_front.png (100%) rename {textures => technic/technic/textures}/technic_iron_chest_locked.png (100%) rename {textures => technic/technic/textures}/technic_iron_chest_side.png (100%) rename {textures => technic/technic/textures}/technic_iron_chest_top.png (100%) rename {textures => technic/technic/textures}/technic_iron_dust.png (100%) rename {textures => technic/technic/textures}/technic_laser_beam.png (100%) rename {textures => technic/technic/textures}/technic_lava_can.png (100%) rename {textures => technic/technic/textures}/technic_light.png (100%) rename {textures => technic/technic/textures}/technic_lv_cable.png (100%) rename {textures => technic/technic/textures}/technic_lv_cable_wield.png (100%) rename {textures => technic/technic/textures}/technic_machine_bottom.png (100%) rename {textures => technic/technic/textures}/technic_marble.png (100%) rename {textures => technic/technic/textures}/technic_marble_bricks.png (100%) rename {textures => technic/technic/textures}/technic_menu_bg.png (100%) rename {textures => technic/technic/textures}/technic_mineral_chromium.png (100%) rename {textures => technic/technic/textures}/technic_mineral_diamond.png (100%) rename {textures => technic/technic/textures}/technic_mineral_uranium.png (100%) rename {textures => technic/technic/textures}/technic_mineral_zinc.png (100%) rename {textures => technic/technic/textures}/technic_mining_drill.png (100%) rename {textures => technic/technic/textures}/technic_mining_laser_mk1.png (100%) rename {textures => technic/technic/textures}/technic_mithril_chest_front.png (100%) rename {textures => technic/technic/textures}/technic_mithril_chest_locked.png (100%) rename {textures => technic/technic/textures}/technic_mithril_chest_side.png (100%) rename {textures => technic/technic/textures}/technic_mithril_chest_top.png (100%) rename {textures => technic/technic/textures}/technic_mithril_dust.png (100%) rename {textures => technic/technic/textures}/technic_motor.png (100%) rename {textures => technic/technic/textures}/technic_music_player_bottom.png (100%) rename {textures => technic/technic/textures}/technic_music_player_side.png (100%) rename {textures => technic/technic/textures}/technic_music_player_top.png (100%) rename {textures => technic/technic/textures}/technic_mv_battery_box_bottom.png (100%) rename {textures => technic/technic/textures}/technic_mv_battery_box_side0.png (100%) rename {textures => technic/technic/textures}/technic_mv_battery_box_top.png (100%) rename {textures => technic/technic/textures}/technic_mv_cable.png (100%) rename {textures => technic/technic/textures}/technic_mv_cable_wield.png (100%) rename {textures => technic/technic/textures}/technic_mv_solar_panel_bottom.png (100%) rename {textures => technic/technic/textures}/technic_mv_solar_panel_side.png (100%) rename {textures => technic/technic/textures}/technic_mv_solar_panel_top.png (100%) rename {textures => technic/technic/textures}/technic_mv_transformer.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_back.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_bottom.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_bottom_off.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_bottom_on.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_front_off.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_front_on.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_side.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_side1.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_side1_off.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_side1_on.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_side2.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_side2_off.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_side2_on.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_top.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_top_off.png (100%) rename {textures => technic/technic/textures}/technic_nodebreaker_top_on.png (100%) rename {textures => technic/technic/textures}/technic_power_meter.png (100%) rename {textures => technic/technic/textures}/technic_power_meter1.png (100%) rename {textures => technic/technic/textures}/technic_power_meter2.png (100%) rename {textures => technic/technic/textures}/technic_power_meter3.png (100%) rename {textures => technic/technic/textures}/technic_power_meter4.png (100%) rename {textures => technic/technic/textures}/technic_power_meter5.png (100%) rename {textures => technic/technic/textures}/technic_power_meter6.png (100%) rename {textures => technic/technic/textures}/technic_power_meter7.png (100%) rename {textures => technic/technic/textures}/technic_power_meter8.png (100%) rename {textures => technic/technic/textures}/technic_power_meter_bg.png (100%) rename {textures => technic/technic/textures}/technic_power_meter_fg.png (100%) rename {textures => technic/technic/textures}/technic_raw_latex.png (100%) rename {textures => technic/technic/textures}/technic_rebar.png (100%) rename {textures => technic/technic/textures}/technic_rubber.png (100%) rename {textures => technic/technic/textures}/technic_rubber_sapling.png (100%) rename {textures => technic/technic/textures}/technic_rubber_tree_empty.png (100%) rename {textures => technic/technic/textures}/technic_rubber_tree_full.png (100%) rename {textures => technic/technic/textures}/technic_screwdriver.png (100%) rename {textures => technic/technic/textures}/technic_silicon_wafer.png (100%) rename {textures => technic/technic/textures}/technic_silver_chest_front.png (100%) rename {textures => technic/technic/textures}/technic_silver_chest_locked.png (100%) rename {textures => technic/technic/textures}/technic_silver_chest_side.png (100%) rename {textures => technic/technic/textures}/technic_silver_chest_top.png (100%) rename {textures => technic/technic/textures}/technic_silver_dust.png (100%) rename {textures => technic/technic/textures}/technic_solar_panel_bottom.png (100%) rename {textures => technic/technic/textures}/technic_solar_panel_side.png (100%) rename {textures => technic/technic/textures}/technic_solar_panel_top.png (100%) rename {textures => technic/technic/textures}/technic_sonic_screwdriver.png (100%) rename {textures => technic/technic/textures}/technic_stainless_steel_dust.png (100%) rename {textures => technic/technic/textures}/technic_stainless_steel_ingot.png (100%) rename {textures => technic/technic/textures}/technic_tin_dust.png (100%) rename {textures => technic/technic/textures}/technic_tree_tap.png (100%) rename {textures => technic/technic/textures}/technic_uranium.png (100%) rename {textures => technic/technic/textures}/technic_water_can.png (100%) rename {textures => technic/technic/textures}/technic_water_mill_side.png (100%) rename {textures => technic/technic/textures}/technic_water_mill_top.png (100%) rename {textures => technic/technic/textures}/technic_water_mill_top_active.png (100%) rename {textures => technic/technic/textures}/technic_workshop_bottom.png (100%) rename {textures => technic/technic/textures}/technic_workshop_side.png (100%) rename {textures => technic/technic/textures}/technic_workshop_top.png (100%) rename {textures => technic/technic/textures}/technic_zinc_dust.png (100%) rename {textures => technic/technic/textures}/technic_zinc_ingot.png (100%) rename {textures => technic/technic/textures}/technic_zinc_lump.png (100%) create mode 100644 technic/technic/textures/tetris_machine_front1.png create mode 100644 technic/technic/textures/tetris_machine_front2.png create mode 100644 technic/technic/textures/tetris_machine_side1B.png create mode 100644 technic/technic/textures/tetris_machine_side1L.png create mode 100644 technic/technic/textures/tetris_machine_side1P.png create mode 100644 technic/technic/textures/tetris_machine_side2B.png create mode 100644 technic/technic/textures/tetris_machine_side2L.png create mode 100644 technic/technic/textures/tetris_machine_side2P.png create mode 100644 technic/technic/textures/tetris_machine_top.png rename tool_workshop.lua => technic/technic/tool_workshop.lua (100%) rename tree_tap.lua => technic/technic/tree_tap.lua (95%) create mode 100644 technic/technic/water.lua rename water_mill.lua => technic/technic/water_mill.lua (100%) rename wires.lua => technic/technic/wires.lua (100%) rename wires_mv.lua => technic/technic/wires_mv.lua (100%) diff --git a/coal_furnace.lua b/coal_furnace.lua deleted file mode 100644 index 9727795..0000000 --- a/coal_furnace.lua +++ /dev/null @@ -1,171 +0,0 @@ -minetest.register_alias("coal_furnace", "technic:coal_furnace") - -minetest.register_craft({ - output = 'technic:coal_furnace', - recipe = { - {'default:stone', 'default:stone', 'default:stone'}, - {'default:stone', '', 'default:stone'}, - {'default:stone', 'default:stone', 'default:stone'}, - } -}) - - -coal_furnace_formspec = - "invsize[8,9;]".. - "image[1,1;1,2;technic_power_meter_bg.png]".. - "list[current_name;src;3,1;1,1;]".. - "list[current_name;dst;5,1;2,2;]".. - "list[current_player;main;0,5;8,4;]".. - "label[0,0;Coal Furnace]") - -minetest.register_node("technic:coal_furnace", { - description = "Coal furnace", - tiles = {"technic_electric_furnace_top.png", "technic_electric_furnace_bottom.png", "technic_electric_furnace_side.png", - "technic_electric_furnace_side.png", "technic_electric_furnace_side.png", "technic_electric_furnace_front.png"}, - paramtype2 = "facedir", - groups = {cracky=2}, - legacy_facedir_simple = true, - sounds = default.node_sound_stone_defaults(), - technic_power_machine=1, - internal_EU_buffer=0; - interal_EU_buffer_size=2000; - on_construct = function(pos) - local meta = minetest.env:get_meta(pos) - meta:set_string("formspec", coal_furnace_formspec) - meta:set_string("infotext", "Coal furnace") - local inv = meta:get_inventory() - inv:set_size("src", 1) - inv:set_size("dst", 4) - local EU_used = 0 - local furnace_is_cookin = 0 - local cooked = nil - meta:set_float("internal_EU_buffer",0) - meta:set_float("internal_EU_buffer_size",2000) - - end, - can_dig = function(pos,player) - local meta = minetest.env:get_meta(pos); - local inv = meta:get_inventory() - if not inv:is_empty("dst") then - return false - elseif not inv:is_empty("src") then - return false - end - return true - end, -}) - -minetest.register_node("technic:coal_furnace_active", { - description = "Coal Furnace", - tiles = {"technic_electric_furnace_top.png", "technic_electric_furnace_bottom.png", "technic_electric_furnace_side.png", - "technic_electric_furnace_side.png", "technic_electric_furnace_side.png", "technic_electric_furnace_front_active.png"}, - paramtype2 = "facedir", - light_source = 8, - drop = "technic:coal_furnace", - groups = {cracky=2, not_in_creative_inventory=1}, - legacy_facedir_simple = true, - sounds = default.node_sound_stone_defaults(), - internal_EU_buffer=0; - interal_EU_buffer_size=2000; - technic_power_machine=1, - on_construct = function(pos) - local meta = minetest.env:get_meta(pos) - meta:set_string("formspec", electric_furnace_formspec) - meta:set_string("infotext", "Coal furnace"); - local inv = meta:get_inventory() - inv:set_size("src", 1) - inv:set_size("dst", 4) - local EU_used = 0 - local furnace_is_cookin = 0 - local cooked = nil - end, - can_dig = function(pos,player) - local meta = minetest.env:get_meta(pos); - local inv = meta:get_inventory() - if not inv:is_empty("dst") then - return false - elseif not inv:is_empty("src") then - return false - end - return true - end, -}) - -minetest.register_abm({ - nodenames = {"technic:coal_furnace","technic:coal_furnace_active"}, - interval = 1, - chance = 1, - - action = function(pos, node, active_object_count, active_object_count_wider) - - local meta = minetest.env:get_meta(pos) - internal_EU_buffer=meta:get_float("internal_EU_buffer") - internal_EU_buffer_size=meta:get_float("internal_EU_buffer") - local load = math.floor(internal_EU_buffer/2000 * 100) - meta:set_string("formspec", - "invsize[8,9;]".. - "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. - (load)..":technic_power_meter_fg.png]".. - "list[current_name;src;3,1;1,1;]".. - "list[current_name;dst;5,1;2,2;]".. - "list[current_player;main;0,5;8,4;]".. - "label[0,0;Electric Furnace]") - - local inv = meta:get_inventory() - - local furnace_is_cookin = meta:get_float("furnace_is_cookin") - - - local srclist = inv:get_list("src") - local cooked=nil - - if srclist then - cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) - end - - - if (furnace_is_cookin == 1) then - if internal_EU_buffer>=150 then - internal_EU_buffer=internal_EU_buffer-150; - meta:set_float("internal_EU_buffer",internal_EU_buffer) - meta:set_float("src_time", meta:get_float("src_time") + 3) - if cooked and cooked.item and meta:get_float("src_time") >= cooked.time then - -- check if there's room for output in "dst" list - if inv:room_for_item("dst",cooked.item) then - -- Put result in "dst" list - inv:add_item("dst", cooked.item) - -- take stuff from "src" list - srcstack = inv:get_stack("src", 1) - srcstack:take_item() - inv:set_stack("src", 1, srcstack) - else - print("Furnace inventory full!") - end - meta:set_string("src_time", 0) - end - end - end - - - - - if srclist then - cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) - if cooked.time>0 then - hacky_swap_node(pos,"technic:coal_furnace_active") - meta:set_string("infotext","Furnace active") - meta:set_string("furnace_is_cookin",1) - meta:set_string("src_time", 0) - return - end - - end - - hacky_swap_node(pos,"technic:coal_furnace") - meta:set_string("infotext","Furnace inactive") - meta:set_string("furnace_is_cookin",0) - meta:set_string("src_time", 0) - - -end, -}) \ No newline at end of file diff --git a/config.lua b/config.lua deleted file mode 100644 index 88662d3..0000000 --- a/config.lua +++ /dev/null @@ -1,3 +0,0 @@ --- Please note that item_drop module already contains item_pickup -enable_item_drop=false -enable_item_pickup=true diff --git a/technic/modpack.txt b/technic/modpack.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/technic/modpack.txt @@ -0,0 +1 @@ + diff --git a/technic/pipeworks/.gitignore b/technic/pipeworks/.gitignore new file mode 100644 index 0000000..b25c15b --- /dev/null +++ b/technic/pipeworks/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/technic/pipeworks/README b/technic/pipeworks/README new file mode 100644 index 0000000..fb18d4f --- /dev/null +++ b/technic/pipeworks/README @@ -0,0 +1,34 @@ +This simple mod uses nodeboxes to supply a complete set of 3D flanged pipes, +along with "valve" and "pump" devices. + +Unlike the previous version of this mod, these pipes are rounded, and when +placed, they'll automatically join together as needed. Pipes can go vertically +or horizontally, and there are enough nodes defined to allow for all possible +connections. Valves and pumps can only be placed horizontally, and will +automatically rotate and join with neighboring pipes as objects are added, as +well as joining with each other under certain circumstances. + +Pipes come in two variants: one type bears one or more dark windows on each +pipe, suggesting they're empty, while the other type bears green-tinted +windows, as if full (the two colors should also be easy to select if you want +to change them in a paint program). These windows only appear on straight +lengths and on certain junctions. + +There are no crafting recipes, yet, but you can use /giveme as usual, namely +"/giveme pipeworks:pipe 999" or so, and then place them as needed. See +init.lua for more details. + +This mod is intended to be used as a basis or at least as sort of a model for +something else to build on (perhaps a nicer-looking oil mod?), and does not +provide any of the code necessary to cause anything to flow through them. Like +the pipes, the valve and pump don't do anything useful yet, but you can punch +them to turn them "on" and "off". Note that the valve and pump textures and +shapes are not yet complete (hence their boxy appearance). + +This mod is a work in progress. + +Please note that owing to the nature of this mod, I have opted to use 64px +textures. Anything less just looks terrible. + +If you don't need the old node names from the previous version of this mod, +edit init.lua and comment-out the 'dofile' line at the top. diff --git a/technic/pipeworks/autoplace.lua b/technic/pipeworks/autoplace.lua new file mode 100644 index 0000000..390c66a --- /dev/null +++ b/technic/pipeworks/autoplace.lua @@ -0,0 +1,176 @@ +-- autorouting for pipes + +function pipe_scanforobjects(pos) + pipe_autoroute({ x=pos.x-1, y=pos.y , z=pos.z }, "_loaded") + pipe_autoroute({ x=pos.x+1, y=pos.y , z=pos.z }, "_loaded") + pipe_autoroute({ x=pos.x , y=pos.y-1, z=pos.z }, "_loaded") + pipe_autoroute({ x=pos.x , y=pos.y+1, z=pos.z }, "_loaded") + pipe_autoroute({ x=pos.x , y=pos.y , z=pos.z-1 }, "_loaded") + pipe_autoroute({ x=pos.x , y=pos.y , z=pos.z+1 }, "_loaded") + pipe_autoroute(pos, "_loaded") + + pipe_autoroute({ x=pos.x-1, y=pos.y , z=pos.z }, "_empty") + pipe_autoroute({ x=pos.x+1, y=pos.y , z=pos.z }, "_empty") + pipe_autoroute({ x=pos.x , y=pos.y-1, z=pos.z }, "_empty") + pipe_autoroute({ x=pos.x , y=pos.y+1, z=pos.z }, "_empty") + pipe_autoroute({ x=pos.x , y=pos.y , z=pos.z-1 }, "_empty") + pipe_autoroute({ x=pos.x , y=pos.y , z=pos.z+1 }, "_empty") + pipe_autoroute(pos, "_empty") +end + +function pipe_autoroute(pos, state) + nctr = minetest.env:get_node(pos) + if (string.find(nctr.name, "pipeworks:pipe_") == nil) then return end + + pipes_scansurroundings(pos) + + nsurround = pxm..pxp..pym..pyp..pzm..pzp + if nsurround == "000000" then nsurround = "110000" end + minetest.env:add_node(pos, { name = "pipeworks:pipe_"..nsurround..state }) +end + +-- autorouting for pneumatic tubes + +function tube_scanforobjects(pos) + tube_autoroute({ x=pos.x-1, y=pos.y , z=pos.z }) + tube_autoroute({ x=pos.x+1, y=pos.y , z=pos.z }) + tube_autoroute({ x=pos.x , y=pos.y-1, z=pos.z }) + tube_autoroute({ x=pos.x , y=pos.y+1, z=pos.z }) + tube_autoroute({ x=pos.x , y=pos.y , z=pos.z-1 }) + tube_autoroute({ x=pos.x , y=pos.y , z=pos.z+1 }) + tube_autoroute(pos) +end + +function tube_autoroute(pos) + nctr = minetest.env:get_node(pos) + print ("minetest.get_item_group("..nctr.name..',"tubedevice") == '..minetest.get_item_group(nctr.name, "tubedevice")) + if (string.find(nctr.name, "pipeworks:tube_") == nil) + and minetest.get_item_group(nctr.name, "tubedevice") ~= 1 then return end + + pxm=0 + pxp=0 + pym=0 + pyp=0 + pzm=0 + pzp=0 + + nxm = minetest.env:get_node({ x=pos.x-1, y=pos.y , z=pos.z }) + nxp = minetest.env:get_node({ x=pos.x+1, y=pos.y , z=pos.z }) + nym = minetest.env:get_node({ x=pos.x , y=pos.y-1, z=pos.z }) + nyp = minetest.env:get_node({ x=pos.x , y=pos.y+1, z=pos.z }) + nzm = minetest.env:get_node({ x=pos.x , y=pos.y , z=pos.z-1 }) + nzp = minetest.env:get_node({ x=pos.x , y=pos.y , z=pos.z+1 }) + + if (string.find(nxm.name, "pipeworks:tube_") ~= nil) + or minetest.get_item_group(nxm.name, "tubedevice") == 1 then pxm=1 end + if (string.find(nxp.name, "pipeworks:tube_") ~= nil) + or minetest.get_item_group(nxp.name, "tubedevice") == 1 then pxp=1 end + if (string.find(nym.name, "pipeworks:tube_") ~= nil) + or minetest.get_item_group(nym.name, "tubedevice") == 1 then pym=1 end + if (string.find(nyp.name, "pipeworks:tube_") ~= nil) + or minetest.get_item_group(nyp.name, "tubedevice") == 1 then pyp=1 end + if (string.find(nzm.name, "pipeworks:tube_") ~= nil) + or minetest.get_item_group(nzm.name, "tubedevice") == 1 then pzm=1 end + if (string.find(nzp.name, "pipeworks:tube_") ~= nil) + or minetest.get_item_group(nzp.name, "tubedevice") == 1 then pzp=1 end + + nsurround = pxm..pxp..pym..pyp..pzm..pzp + if minetest.get_item_group(nctr.name, "tubedevice") ~= 1 then + minetest.env:add_node(pos, { name = "pipeworks:tube_"..nsurround }) + end + +end + +-- auto-rotation code for various devices the tubes attach to + +function pipe_device_autorotate(pos, state, bname) + + if state == nil then + nname = bname + else + nname = bname.."_"..state + end + + local nctr = minetest.env:get_node(pos) + + pipes_scansurroundings(pos) + + if (pxm+pxp) ~= 0 then + minetest.env:add_node(pos, { name = nname.."_x" }) + return + end + + if (pzm+pzp) ~= 0 then + minetest.env:add_node(pos, { name = nname.."_z" }) + end + +end + +function pipes_scansurroundings(pos) + pxm=0 + pxp=0 + pym=0 + pyp=0 + pzm=0 + pzp=0 + + nxm = minetest.env:get_node({ x=pos.x-1, y=pos.y , z=pos.z }) + nxp = minetest.env:get_node({ x=pos.x+1, y=pos.y , z=pos.z }) + nym = minetest.env:get_node({ x=pos.x , y=pos.y-1, z=pos.z }) + nyp = minetest.env:get_node({ x=pos.x , y=pos.y+1, z=pos.z }) + nzm = minetest.env:get_node({ x=pos.x , y=pos.y , z=pos.z-1 }) + nzp = minetest.env:get_node({ x=pos.x , y=pos.y , z=pos.z+1 }) + + if (string.find(nxm.name, "pipeworks:pipe_") ~= nil) then pxm=1 end + if (string.find(nxp.name, "pipeworks:pipe_") ~= nil) then pxp=1 end + if (string.find(nym.name, "pipeworks:pipe_") ~= nil) then pym=1 end + if (string.find(nyp.name, "pipeworks:pipe_") ~= nil) then pyp=1 end + if (string.find(nzm.name, "pipeworks:pipe_") ~= nil) then pzm=1 end + if (string.find(nzp.name, "pipeworks:pipe_") ~= nil) then pzp=1 end + + for p in ipairs(pipes_devicelist) do + pdev = pipes_devicelist[p] + if (string.find(nxm.name, "pipeworks:"..pdev.."_off_x") ~= nil) or + (string.find(nxm.name, "pipeworks:"..pdev.."_on_x") ~= nil) or + (string.find(nxm.name, "pipeworks:"..pdev.."_x") ~= nil) then + pxm=1 + end + + if (string.find(nxp.name, "pipeworks:"..pdev.."_off_x") ~= nil) or + (string.find(nxp.name, "pipeworks:"..pdev.."_on_x") ~= nil) or + (string.find(nxp.name, "pipeworks:"..pdev.."_x") ~= nil) then + pxp=1 + end + + if (string.find(nzm.name, "pipeworks:"..pdev.."_off_z") ~= nil) or + (string.find(nzm.name, "pipeworks:"..pdev.."_on_z") ~= nil) or + (string.find(nzm.name, "pipeworks:"..pdev.."_z") ~= nil) then + pzm=1 + end + + if (string.find(nzp.name, "pipeworks:"..pdev.."_off_z") ~= nil) or + (string.find(nzp.name, "pipeworks:"..pdev.."_on_z") ~= nil) or + (string.find(nzp.name, "pipeworks:"..pdev.."_z") ~= nil) then + pzp=1 + end + end + + -- storage tanks and intake grates have vertical connections + -- also, so they require a special case + + if (string.find(nym.name, "pipeworks:storage_tank_") ~= nil) or + (string.find(nym.name, "pipeworks:intake") ~= nil) or + (string.find(nym.name, "pipeworks:outlet") ~= nil) then + pym=1 + end +end + +function pipe_look_for_stackable_tanks(pos) + tym = minetest.env:get_node({ x=pos.x , y=pos.y-1, z=pos.z }) + + if string.find(tym.name, "pipeworks:storage_tank_") ~= nil or + string.find(tym.name, "pipeworks:expansion_tank_") ~= nil then + minetest.env:add_node(pos, { name = "pipeworks:expansion_tank_0"}) + end +end + diff --git a/technic/pipeworks/changelog.txt b/technic/pipeworks/changelog.txt new file mode 100644 index 0000000..9e51430 --- /dev/null +++ b/technic/pipeworks/changelog.txt @@ -0,0 +1,46 @@ +Changelog +--------- + +2012-08-24: Added square-ish pneumatic tubes, with their own autoplace code +(they do not connect to the steel pipes or their related devices). + +2012-08-22: Added outlet grate, made it participate in autoplace algorithm. +Extended storage tank to show fill level in 10% steps (0% to 100%). Added +"expansion tank" that appears if the user stacks tanks upwards. (Downwards is +not checked). + +2012-08-21: Made storage tank participate in autoplace algorithm. Tuned API a +little to allow for more flexible placement. Re-organized code a bit to allow +for some upcoming rules changes. Made storage tanks' upper/lower fittins and +intake grate participate in autoplace algorithm. + +2012-08-20: Added temporary nodes for storage tank and intake grating, but +without autoplace. + +2012-08-19: Pumps and valves now fully participate in the +auto-rotate/auto-place algorithm. + +2012-08-18: Total rewrite again. All pipes are now nice and round-looking, and +they auto-connect! Also added temporary nodes for pump and valve (each with an +on/off setting - punch to change). No crafting recipes yet and the pipes still +don't do anything useful yet. Soon. + +2012-08-06: Moved this changelog off the forum post and into a separate file. + +2012-08-05 (multiple updates): Rewrote pipeworks to use loops and tables to +create the nodes. Requires far less code now. Added -X, +X, -Y, +Y, -Z, +Z +capped stubs and a short centered horizontal segment. Changed node definitions +so that the aforementioned "short centered" segment is given on dig/drop. +Renamed it to just "pipeworks:pipe" (and pipe_loaded). Added empty/loaded +indicator images to the capped ends, removed some redundant comments. Made the +empty/loaded indication at the capped end more prominent. + +2012-07-21: Added screenshot showing pipes as they look now that nodebox +texture rotation is fixed. + +2012-07-18: Changed the mod name and all internals to 'pipeworks' instead of +'pipes'... after a couple of mistakes :-) + +2012-07-12: moved project to github. + +2012-06-23: Initial release, followed by reworking the textures a bit. diff --git a/technic/pipeworks/crafts.lua b/technic/pipeworks/crafts.lua new file mode 100644 index 0000000..493fdcf --- /dev/null +++ b/technic/pipeworks/crafts.lua @@ -0,0 +1,94 @@ +-- Crafting recipes for pipeworks + +-- If the technic mod is present, then don't bother registering these recipes +-- as that mod supplies its own. + +if io.open(minetest.get_modpath("pipeworks").."/../technic/init.lua", "r") == nil then + + -- If homedecor is not installed, we need to register a few of its crafts + -- manually so we can use them. + + if minetest.get_modpath("homedecor") == nil then + + minetest.register_craftitem(":homedecor:plastic_sheeting", { + description = "Plastic sheet", + inventory_image = "pipeworks_plastic_sheeting.png", + }) + + minetest.register_craft({ + type = "cooking", + output = "homedecor:plastic_sheeting", + recipe = "default:junglegrass", + }) + + minetest.register_craft({ + type = 'fuel', + recipe = 'homedecor:plastic_sheeting', + burntime = 30, + }) + end + + minetest.register_craft( { + output = "pipeworks:pipe_110000_empty 12", + recipe = { + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, + { "", "", "" }, + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:pump 2", + recipe = { + { "default:stone", "default:stone", "default:stone" }, + { "default:steel_ingot", "default:stick", "default:steel_ingot" }, + { "default:stone", "default:stone", "default:stone" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:valve 2", + recipe = { + { "", "default:stick", "" }, + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, + { "", "default:steel_ingot", "" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:storage_tank 2", + recipe = { + { "", "default:steel_ingot", "default:steel_ingot" }, + { "default:steel_ingot", "default:glass", "default:steel_ingot" }, + { "default:steel_ingot", "default:steel_ingot", "" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:intake 2", + recipe = { + { "", "default:steel_ingot", "" }, + { "default:steel_ingot", "", "default:steel_ingot" }, + { "", "default:steel_ingot", "" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:outlet 2", + recipe = { + { "default:steel_ingot", "", "default:steel_ingot" }, + { "", "default:steel_ingot", "" }, + { "default:steel_ingot", "", "default:steel_ingot" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:tube 12", + recipe = { + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "", "", "" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } + }, + }) + +end diff --git a/technic/pipeworks/depends.txt b/technic/pipeworks/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/technic/pipeworks/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/technic/pipeworks/devices.lua b/technic/pipeworks/devices.lua new file mode 100644 index 0000000..5f1ce0d --- /dev/null +++ b/technic/pipeworks/devices.lua @@ -0,0 +1,471 @@ +-- List of devices that should participate in the autoplace algorithm + +pipes_devicelist = { + "pump", + "valve", + "storage_tank_0", + "storage_tank_1", + "storage_tank_2", + "storage_tank_3", + "storage_tank_4", + "storage_tank_5", + "storage_tank_6", + "storage_tank_7", + "storage_tank_8", + "storage_tank_9", + "storage_tank_10" +} + +-- tables + +minetest.register_alias("pipeworks:pump", "pipeworks:pump_off_x") +minetest.register_alias("pipeworks:valve", "pipeworks:valve_off_x") +minetest.register_alias("pipeworks:storage_tank", "pipeworks:storage_tank_0_x") + +pipe_pumpbody_x = { + { -6/16, -8/16, -6/16, 6/16, 8/16, 6/16 } +} + +pipe_pumpbody_z = { + { -6/16, -8/16, -6/16, 6/16, 8/16, 6/16 } +} + +pipe_valvebody_x = { + { -4/16, -4/16, -4/16, 4/16, 4/16, 4/16 } +} + +pipe_valvebody_z = { + { -4/16, -4/16, -4/16, 4/16, 4/16, 4/16 } +} + +pipe_valvehandle_on_x = { + { -5/16, 4/16, -1/16, 0, 5/16, 1/16 } +} + +pipe_valvehandle_on_z = { + { -1/16, 4/16, -5/16, 1/16, 5/16, 0 } +} + +pipe_valvehandle_off_x = { + { -1/16, 4/16, -5/16, 1/16, 5/16, 0 } +} + +pipe_valvehandle_off_z = { + { -5/16, 4/16, -1/16, 0, 5/16, 1/16 } +} + +-- Now define the nodes. + +local states = { "on", "off" } +local dgroups = "" + +for s in ipairs(states) do + + if states[s] == "off" then + dgroups = {snappy=3, pipe=1} + else + dgroups = {snappy=3, pipe=1, not_in_creative_inventory=1} + end + + local pumpboxes = {} + pipe_addbox(pumpboxes, pipe_leftstub) + pipe_addbox(pumpboxes, pipe_pumpbody_x) + pipe_addbox(pumpboxes, pipe_rightstub) + local tilex = "pipeworks_pump_ends.png" + local tilez = "pipeworks_pump_"..states[s]..".png" + + minetest.register_node("pipeworks:pump_"..states[s].."_x", { + description = "Pump Module ("..states[s]..")", + drawtype = "nodebox", + tiles = { + "pipeworks_pump_top_x.png", + "pipeworks_pump_sides.png", + tilex, + tilex, + "pipeworks_pump_sides.png", + tilez + }, + paramtype = "light", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = pumpboxes + }, + groups = dgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + after_place_node = function(pos) + pipe_device_autorotate(pos, states[s], "pipeworks:pump") + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + drop = "pipeworks:pump_off_x" + }) + + local pumpboxes = {} + pipe_addbox(pumpboxes, pipe_frontstub) + pipe_addbox(pumpboxes, pipe_pumpbody_z) + pipe_addbox(pumpboxes, pipe_backstub) + + minetest.register_node("pipeworks:pump_"..states[s].."_z", { + description = "Pump Module ("..states[s]..", Z-axis)", + drawtype = "nodebox", + tiles = { + "pipeworks_pump_top_z.png", + "pipeworks_pump_sides.png", + tilez, + tilez, + "pipeworks_pump_sides.png", + tilex + }, + paramtype = "light", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = pumpboxes + }, + groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + after_place_node = function(pos) + pipe_device_autorotate(pos, states[s], "pipeworks:pump") + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + drop = "pipeworks:pump_off_x" + }) + + local valveboxes = {} + pipe_addbox(valveboxes, pipe_leftstub) + pipe_addbox(valveboxes, pipe_valvebody_x) + if states[s] == "off" then + pipe_addbox(valveboxes, pipe_valvehandle_off_x) + else + pipe_addbox(valveboxes, pipe_valvehandle_on_x) + end + pipe_addbox(valveboxes, pipe_rightstub) + local tilex = "pipeworks_valvebody_ends.png" + local tilez = "pipeworks_valvebody_sides.png" + + minetest.register_node("pipeworks:valve_"..states[s].."_x", { + description = "Valve ("..states[s]..")", + drawtype = "nodebox", + tiles = { + "pipeworks_valvebody_top_"..states[s].."_x.png", + "pipeworks_valvebody_bottom.png", + tilex, + tilex, + tilez, + tilez, + }, + paramtype = "light", + selection_box = { + type = "fixed", + fixed = { -8/16, -4/16, -5/16, 8/16, 5/16, 5/16 } + }, + node_box = { + type = "fixed", + fixed = valveboxes + }, + groups = dgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + after_place_node = function(pos) + pipe_device_autorotate(pos, states[s], "pipeworks:valve") + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + drop = "pipeworks:valve_off_x", + pipelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, + }) + + local valveboxes = {} + pipe_addbox(valveboxes, pipe_frontstub) + pipe_addbox(valveboxes, pipe_valvebody_z) + if states[s] == "off" then + pipe_addbox(valveboxes, pipe_valvehandle_off_z) + else + pipe_addbox(valveboxes, pipe_valvehandle_on_z) + end + pipe_addbox(valveboxes, pipe_backstub) + + minetest.register_node("pipeworks:valve_"..states[s].."_z", { + description = "Valve ("..states[s]..", Z-axis)", + drawtype = "nodebox", + tiles = { + "pipeworks_valvebody_top_"..states[s].."_z.png", + "pipeworks_valvebody_bottom.png", + tilez, + tilez, + tilex, + tilex, + }, + paramtype = "light", + selection_box = { + type = "fixed", + fixed = { -5/16, -4/16, -8/16, 5/16, 5/16, 8/16 } + }, + node_box = { + type = "fixed", + fixed = valveboxes + }, + groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + after_place_node = function(pos) + pipe_device_autorotate(pos, states[s], "pipeworks:valve") + pipe_scanforobjects(pos) + + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + drop = "pipeworks:valve_off_x", + pipelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, + }) +end + +-- intake grate + +minetest.register_node("pipeworks:intake", { + description = "Intake grate", + drawtype = "nodebox", + tiles = { + "pipeworks_intake_top.png", + "pipeworks_intake_sides.png", + "pipeworks_intake_sides.png", + "pipeworks_intake_sides.png", + "pipeworks_intake_sides.png", + "pipeworks_intake_sides.png" + }, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + paramtype = "light", + groups = {snappy=3, pipe=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + after_place_node = function(pos) + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + pipelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, +}) + +-- outlet grate + +minetest.register_node("pipeworks:outlet", { + description = "Outlet grate", + drawtype = "nodebox", + tiles = { + "pipeworks_outlet_top.png", + "pipeworks_outlet_sides.png", + "pipeworks_outlet_sides.png", + "pipeworks_outlet_sides.png", + "pipeworks_outlet_sides.png", + "pipeworks_outlet_sides.png" + }, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + node_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } + }, + paramtype = "light", + groups = {snappy=3, pipe=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + after_place_node = function(pos) + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + pipelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, +}) + +-- tanks + +for fill = 0, 10 do + if fill == 0 then + filldesc="empty" + sgroups = {snappy=3, pipe=1, tankfill=fill+1} + else + filldesc=fill.."0% full" + sgroups = {snappy=3, pipe=1, tankfill=fill+1, not_in_creative_inventory=1} + end + + minetest.register_node("pipeworks:expansion_tank_"..fill, { + description = "Expansion Tank ("..filldesc..")... You hacker, you.", + tiles = { + "pipeworks_storage_tank_fittings.png", + "pipeworks_storage_tank_fittings.png", + "pipeworks_storage_tank_back.png", + "pipeworks_storage_tank_back.png", + "pipeworks_storage_tank_back.png", + "pipeworks_storage_tank_front_"..fill..".png" + }, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3, pipe=1, tankfill=fill+1, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + drop = "pipeworks:storage_tank_"..fill.."_x", + after_place_node = function(pos) + pipe_look_for_stackable_tanks(pos) + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + pipelike=0, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",0) + end, + }) + + minetest.register_node("pipeworks:storage_tank_"..fill.."_x", { + description = "Fluid Storage Tank ("..filldesc..")", + tiles = { + "pipeworks_storage_tank_fittings.png", + "pipeworks_storage_tank_back.png", + "pipeworks_storage_tank_fittings.png", + "pipeworks_storage_tank_fittings.png", + "pipeworks_storage_tank_back.png", + "pipeworks_storage_tank_front_"..fill..".png" + }, + paramtype = "light", + groups = sgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + after_place_node = function(pos) + pipe_look_for_stackable_tanks(pos) + if string.find(minetest.env:get_node(pos).name, "pipeworks:storage_tank_") ~= nil then + pipe_device_autorotate(pos, nil, "pipeworks:storage_tank_"..fill) + end + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + pipelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, + }) + + minetest.register_node("pipeworks:storage_tank_"..fill.."_z", { + description = "Fluid Storage Tank (Z axis, "..filldesc..")... You hacker, you.", + tiles = { + "pipeworks_storage_tank_fittings.png", + "pipeworks_storage_tank_back.png", + "pipeworks_storage_tank_front_"..fill..".png", + "pipeworks_storage_tank_back.png", + "pipeworks_storage_tank_fittings.png", + "pipeworks_storage_tank_fittings.png" + }, + paramtype = "light", + groups = {snappy=3, pipe=1, tankfill=fill+1, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + drop = "pipeworks:storage_tank_"..fill.."_x", + after_place_node = function(pos) + pipe_look_for_stackable_tanks(pos) + if string.find(minetest.env:get_node(pos).name, "pipeworks:storage_tank_") ~= nil then + pipe_device_autorotate(pos, nil, "pipeworks:storage_tank_"..fill) + end + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + pipelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, + }) +end + +-- various actions + +local axes = { "x", "z" } + +for a in ipairs(axes) do + minetest.register_on_punchnode(function (pos, node) + if node.name=="pipeworks:valve_on_"..axes[a] then + minetest.env:add_node(pos, { name = "pipeworks:valve_off_"..axes[a] }) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",0) + end + end) + + minetest.register_on_punchnode(function (pos, node) + if node.name=="pipeworks:valve_off_"..axes[a] then + minetest.env:add_node(pos, { name = "pipeworks:valve_on_"..axes[a] }) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end + end) + + minetest.register_on_punchnode(function (pos, node) + if node.name=="pipeworks:pump_on_"..axes[a] then + minetest.env:add_node(pos, { name = "pipeworks:pump_off_"..axes[a] }) + end + end) + + minetest.register_on_punchnode(function (pos, node) + if node.name=="pipeworks:pump_off_"..axes[a] then + minetest.env:add_node(pos, { name = "pipeworks:pump_on_"..axes[a] }) + end + end) +end + diff --git a/technic/pipeworks/init.lua b/technic/pipeworks/init.lua new file mode 100644 index 0000000..0c6a501 --- /dev/null +++ b/technic/pipeworks/init.lua @@ -0,0 +1,322 @@ +-- Pipeworks mod by Vanessa Ezekowitz - 2012-08-05 +-- +-- Entirely my own code. This mod supplies various shapes of pipes +-- and devices that they can connect to such as pumps, valves, etc. +-- All pipes autoconnect as you lay them out, and devices will auto- +-- connect to them. +-- +-- License: WTFPL +-- + +-- Un-comment the following dofile line to re-enable the old pipe nodes. +-- dofile(minetest.get_modpath("pipeworks").."/oldpipes.lua") + +minetest.register_alias("pipeworks:pipe", "pipeworks:pipe_110000_empty") + +pipe_leftstub = { + { -32/64, -2/64, -6/64, 1/64, 2/64, 6/64 }, -- pipe segment against -X face + { -32/64, -4/64, -5/64, 1/64, 4/64, 5/64 }, + { -32/64, -5/64, -4/64, 1/64, 5/64, 4/64 }, + { -32/64, -6/64, -2/64, 1/64, 6/64, 2/64 }, + + { -32/64, -3/64, -8/64, -30/64, 3/64, 8/64 }, -- (the flange for it) + { -32/64, -5/64, -7/64, -30/64, 5/64, 7/64 }, + { -32/64, -6/64, -6/64, -30/64, 6/64, 6/64 }, + { -32/64, -7/64, -5/64, -30/64, 7/64, 5/64 }, + { -32/64, -8/64, -3/64, -30/64, 8/64, 3/64 } +} + +pipe_rightstub = { + { -1/64, -2/64, -6/64, 32/64, 2/64, 6/64 }, -- pipe segment against +X face + { -1/64, -4/64, -5/64, 32/64, 4/64, 5/64 }, + { -1/64, -5/64, -4/64, 32/64, 5/64, 4/64 }, + { -1/64, -6/64, -2/64, 32/64, 6/64, 2/64 }, + + { 30/64, -3/64, -8/64, 32/64, 3/64, 8/64 }, -- (the flange for it) + { 30/64, -5/64, -7/64, 32/64, 5/64, 7/64 }, + { 30/64, -6/64, -6/64, 32/64, 6/64, 6/64 }, + { 30/64, -7/64, -5/64, 32/64, 7/64, 5/64 }, + { 30/64, -8/64, -3/64, 32/64, 8/64, 3/64 } +} + +pipe_bottomstub = { + { -2/64, -32/64, -6/64, 2/64, 1/64, 6/64 }, -- pipe segment against -Y face + { -4/64, -32/64, -5/64, 4/64, 1/64, 5/64 }, + { -5/64, -32/64, -4/64, 5/64, 1/64, 4/64 }, + { -6/64, -32/64, -2/64, 6/64, 1/64, 2/64 }, + + { -3/64, -32/64, -8/64, 3/64, -30/64, 8/64 }, -- (the flange for it) + { -5/64, -32/64, -7/64, 5/64, -30/64, 7/64 }, + { -6/64, -32/64, -6/64, 6/64, -30/64, 6/64 }, + { -7/64, -32/64, -5/64, 7/64, -30/64, 5/64 }, + { -8/64, -32/64, -3/64, 8/64, -30/64, 3/64 } +} + + +pipe_topstub = { + { -2/64, -1/64, -6/64, 2/64, 32/64, 6/64 }, -- pipe segment against +Y face + { -4/64, -1/64, -5/64, 4/64, 32/64, 5/64 }, + { -5/64, -1/64, -4/64, 5/64, 32/64, 4/64 }, + { -6/64, -1/64, -2/64, 6/64, 32/64, 2/64 }, + + { -3/64, 30/64, -8/64, 3/64, 32/64, 8/64 }, -- (the flange for it) + { -5/64, 30/64, -7/64, 5/64, 32/64, 7/64 }, + { -6/64, 30/64, -6/64, 6/64, 32/64, 6/64 }, + { -7/64, 30/64, -5/64, 7/64, 32/64, 5/64 }, + { -8/64, 30/64, -3/64, 8/64, 32/64, 3/64 } +} + +pipe_frontstub = { + { -6/64, -2/64, -32/64, 6/64, 2/64, 1/64 }, -- pipe segment against -Z face + { -5/64, -4/64, -32/64, 5/64, 4/64, 1/64 }, + { -4/64, -5/64, -32/64, 4/64, 5/64, 1/64 }, + { -2/64, -6/64, -32/64, 2/64, 6/64, 1/64 }, + + { -8/64, -3/64, -32/64, 8/64, 3/64, -30/64 }, -- (the flange for it) + { -7/64, -5/64, -32/64, 7/64, 5/64, -30/64 }, + { -6/64, -6/64, -32/64, 6/64, 6/64, -30/64 }, + { -5/64, -7/64, -32/64, 5/64, 7/64, -30/64 }, + { -3/64, -8/64, -32/64, 3/64, 8/64, -30/64 } +} + +pipe_backstub = { + { -6/64, -2/64, -1/64, 6/64, 2/64, 32/64 }, -- pipe segment against -Z face + { -5/64, -4/64, -1/64, 5/64, 4/64, 32/64 }, + { -4/64, -5/64, -1/64, 4/64, 5/64, 32/64 }, + { -2/64, -6/64, -1/64, 2/64, 6/64, 32/64 }, + + { -8/64, -3/64, 30/64, 8/64, 3/64, 32/64 }, -- (the flange for it) + { -7/64, -5/64, 30/64, 7/64, 5/64, 32/64 }, + { -6/64, -6/64, 30/64, 6/64, 6/64, 32/64 }, + { -5/64, -7/64, 30/64, 5/64, 7/64, 32/64 }, + { -3/64, -8/64, 30/64, 3/64, 8/64, 32/64 } +} + +pipe_selectboxes = { + { -32/64, -8/64, -8/64, 8/64, 8/64, 8/64 }, + { -8/64 , -8/64, -8/64, 32/64, 8/64, 8/64 }, + { -8/64 , -32/64, -8/64, 8/64, 8/64, 8/64 }, + { -8/64 , -8/64, -8/64, 8/64, 32/64, 8/64 }, + { -8/64 , -8/64, -32/64, 8/64, 8/64, 8/64 }, + { -8/64 , -8/64, -8/64, 8/64, 8/64, 32/64 } +} + +pipe_bendsphere = { + { -4/64, -4/64, -4/64, 4/64, 4/64, 4/64 }, + { -5/64, -3/64, -3/64, 5/64, 3/64, 3/64 }, + { -3/64, -5/64, -3/64, 3/64, 5/64, 3/64 }, + { -3/64, -3/64, -5/64, 3/64, 3/64, 5/64 } +} + +-- Functions + +dbg = function(s) + if DEBUG == 1 then + print('[PIPEWORKS] ' .. s) + end +end + +function pipes_fix_image_names(table, replacement) + outtable={} + for i in ipairs(table) do + outtable[i]=string.gsub(table[i], "_XXXXX", replacement) + end + + return outtable +end + +function pipe_addbox(t, b) + for i in ipairs(b) + do table.insert(t, b[i]) + end +end + +-- now define the nodes! + +for xm = 0, 1 do +for xp = 0, 1 do +for ym = 0, 1 do +for yp = 0, 1 do +for zm = 0, 1 do +for zp = 0, 1 do + local outboxes = {} + local outsel = {} + local outimgs = {} + + if yp==1 then + pipe_addbox(outboxes, pipe_topstub) + table.insert(outsel, pipe_selectboxes[4]) + table.insert(outimgs, "pipeworks_pipe_end.png") + else + table.insert(outimgs, "pipeworks_plain.png") + end + if ym==1 then + pipe_addbox(outboxes, pipe_bottomstub) + table.insert(outsel, pipe_selectboxes[3]) + table.insert(outimgs, "pipeworks_pipe_end.png") + else + table.insert(outimgs, "pipeworks_plain.png") + end + if xp==1 then + pipe_addbox(outboxes, pipe_rightstub) + table.insert(outsel, pipe_selectboxes[2]) + table.insert(outimgs, "pipeworks_pipe_end.png") + else + table.insert(outimgs, "pipeworks_plain.png") + end + if xm==1 then + pipe_addbox(outboxes, pipe_leftstub) + table.insert(outsel, pipe_selectboxes[1]) + table.insert(outimgs, "pipeworks_pipe_end.png") + else + table.insert(outimgs, "pipeworks_plain.png") + end + if zp==1 then + pipe_addbox(outboxes, pipe_backstub) + table.insert(outsel, pipe_selectboxes[6]) + table.insert(outimgs, "pipeworks_pipe_end.png") + else + table.insert(outimgs, "pipeworks_plain.png") + end + if zm==1 then + pipe_addbox(outboxes, pipe_frontstub) + table.insert(outsel, pipe_selectboxes[5]) + table.insert(outimgs, "pipeworks_pipe_end.png") + else + table.insert(outimgs, "pipeworks_plain.png") + end + + local jx = xp+xm + local jy = yp+ym + local jz = zp+zm + + if (jx+jy+jz) == 1 then + if xm == 1 then + table.remove(outimgs, 3) + table.insert(outimgs, 3, "pipeworks_pipe_end_XXXXX.png") + end + if xp == 1 then + table.remove(outimgs, 4) + table.insert(outimgs, 4, "pipeworks_pipe_end_XXXXX.png") + end + if ym == 1 then + table.remove(outimgs, 1) + table.insert(outimgs, 1, "pipeworks_pipe_end_XXXXX.png") + end + if xp == 1 then + table.remove(outimgs, 2) + table.insert(outimgs, 2, "pipeworks_pipe_end_XXXXX.png") + end + if zm == 1 then + table.remove(outimgs, 5) + table.insert(outimgs, 5, "pipeworks_pipe_end_XXXXX.png") + end + if zp == 1 then + table.remove(outimgs, 6) + table.insert(outimgs, 6, "pipeworks_pipe_end_XXXXX.png") + end + end + + if (jx==1 and jy==1 and jz~=1) or (jx==1 and jy~=1 and jz==1) or (jx~= 1 and jy==1 and jz==1) then + pipe_addbox(outboxes, pipe_bendsphere) + end + + if (jx==2 and jy~=2 and jz~=2) then + table.remove(outimgs, 5) + table.remove(outimgs, 5) + table.insert(outimgs, 5, "pipeworks_windowed_XXXXX.png") + table.insert(outimgs, 5, "pipeworks_windowed_XXXXX.png") + end + + if (jx~=2 and jy~=2 and jz==2) or (jx~=2 and jy==2 and jz~=2) then + table.remove(outimgs, 3) + table.remove(outimgs, 3) + table.insert(outimgs, 3, "pipeworks_windowed_XXXXX.png") + table.insert(outimgs, 3, "pipeworks_windowed_XXXXX.png") + end + + local pname = xm..xp..ym..yp..zm..zp + local pgroups = "" + + if pname ~= "110000" then + pgroups = {snappy=3, pipe=1, not_in_creative_inventory=1} + pipedesc = "Pipe segment (empty, "..pname..")... You hacker, you." + else + pgroups = {snappy=3, pipe=1} + pipedesc = "Pipe segment" + end + + minetest.register_node("pipeworks:pipe_"..pname.."_empty", { + description = pipedesc, + drawtype = "nodebox", + tiles = pipes_fix_image_names(outimgs, "_empty"), + paramtype = "light", + selection_box = { + type = "fixed", + fixed = outsel + }, + node_box = { + type = "fixed", + fixed = outboxes + }, + groups = pgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + drop = "pipeworks:pipe_110000_empty", + pipelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, + after_place_node = function(pos) + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end, + }) + + minetest.register_node("pipeworks:pipe_"..pname.."_loaded", { + description = "Pipe segment (loaded, "..pname..")... You hacker, you.", + drawtype = "nodebox", + tiles = pipes_fix_image_names(outimgs, "_loaded"), + paramtype = "light", + selection_box = { + type = "fixed", + fixed = outsel + }, + node_box = { + type = "fixed", + fixed = outboxes + }, + groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + drop = "pipeworks:pipe_110000_loaded", + pipelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("pipelike",1) + end, + after_place_node = function(pos) + pipe_scanforobjects(pos) + end, + after_dig_node = function(pos) + pipe_scanforobjects(pos) + end + }) +end +end +end +end +end +end + +dofile(minetest.get_modpath("pipeworks").."/tubes.lua") +dofile(minetest.get_modpath("pipeworks").."/devices.lua") +dofile(minetest.get_modpath("pipeworks").."/autoplace.lua") +dofile(minetest.get_modpath("pipeworks").."/crafts.lua") + +print("Pipeworks loaded!") diff --git a/technic/pipeworks/oldpipes.lua b/technic/pipeworks/oldpipes.lua new file mode 100644 index 0000000..90c8a27 --- /dev/null +++ b/technic/pipeworks/oldpipes.lua @@ -0,0 +1,360 @@ +-- This file is basically most of the old init.lua and only supplies the +-- old nodes created by the previous verison of Pipeworks. +-- +-- License: WTFPL +-- + +local nodenames = { + "vertical", + "horizontal", + "junction_xy", + "junction_xz", + "bend_xy_down", + "bend_xy_up", + "bend_xz", + "crossing_xz", + "crossing_xy", + "crossing_xyz", + "pipe_segment", + "cap_neg_x", + "cap_pos_x", + "cap_neg_y", + "cap_pos_y", + "cap_neg_z", + "cap_pos_z" +} + +local descriptions = { + "vertical", + "horizontal", + "junction between X and Y axes", + "junction between X and Z axes", + "downward bend between X and Y axes", + "upward bend between X and Y axes", + "bend between X/Z axes", + "4-way crossing between X and Z axes", + "4-way crossing between X/Z and Y axes", + "6-way crossing", + "basic segment", + "capped, negative X half only", + "capped, positive X half only", + "capped, negative Y half only", + "capped, positive Y half only", + "capped, negative Z half only", + "capped, positive Z half only" +} + +local nodeimages = { + {"pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_plain.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_plain.png"}, + + {"pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png"}, + + {"pipeworks_plain.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png"}, + + {"pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png"}, + +-- horizontal short segment + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_pipe_end.png", + "pipeworks_plain.png", + "pipeworks_plain.png"}, + +-- capped + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_pipe_end.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png"}, + + {"pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_windowed_XXXXX.png", + "pipeworks_pipe_end.png", + "pipeworks_windowed_XXXXX.png"}, +} + +local selectionboxes = { + { -0.15, -0.5, -0.15, 0.15, 0.5, 0.15 }, + { -0.5, -0.15, -0.15, 0.5, 0.15, 0.15 }, + { -0.15, -0.5, -0.15, 0.5, 0.5, 0.15 }, + { -0.5, -0.15, -0.15, 0.5, 0.15, 0.5 }, + { -0.15, -0.5, -0.15, 0.5, 0.15, 0.15 }, + { -0.15, -0.15, -0.15, 0.5, 0.5, 0.15 }, + { -0.15, -0.15, -0.15, 0.5, 0.15, 0.5 }, + { -0.5, -0.15, -0.5, 0.5, 0.15, 0.5 }, + { -0.5, -0.5, -0.15, 0.5, 0.5, 0.15 }, + { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }, + { -0.3, -0.15, -0.15, 0.3, 0.15, 0.15 }, + { -0.5, -0.15, -0.15, 0, 0.15, 0.15 }, + { 0, -0.15, -0.15, 0.5, 0.15, 0.15 }, + { -0.15, -0.5, -0.15, 0.15, 0, 0.15 }, + { -0.15, 0, -0.15, 0.15, 0.5, 0.15 }, + { -0.15, -0.15, -0.5, 0.15, 0.15, 0 }, + { -0.15, -0.15, 0, 0.15, 0.15, 0.5 }, +} + +local nodeboxes = { + {{ -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 }, -- vertical + { -0.1 , -0.45, -0.1 , 0.1 , 0.45, 0.1 }, + { -0.15, 0.45, -0.15, 0.15, 0.5 , 0.15 }}, + + {{ -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 }, -- horizontal + { -0.45, -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }}, + + {{ -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 }, -- vertical with X/Z junction + { -0.1 , -0.45, -0.1 , 0.1 , 0.45, 0.1 }, + { -0.15, 0.45, -0.15, 0.15, 0.5 , 0.15 }, + { 0.1 , -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }}, + + {{ -0.15, -0.15, 0.45, 0.15, 0.15, 0.5 }, -- horizontal with X/Z junction + { -0.1 , -0.1 , 0.1 , 0.1 , 0.1 , 0.45 }, + { -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 }, + { -0.45, -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }}, + + {{ -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 }, -- bend down from X/Z to Y axis + { -0.1 , -0.45, -0.1 , 0.1 , 0.1 , 0.1 }, + { -0.1 , -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }}, + + {{ -0.15, 0.45 , -0.15, 0.15, 0.5, 0.15 }, -- bend up from X/Z to Y axis + { -0.1 , -0.1 , -0.1 , 0.1 , 0.45, 0.1 }, + { -0.1 , -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }}, + + {{ -0.15, -0.15, 0.45, 0.15, 0.15, 0.5 }, -- bend between X and Z axes + { -0.1 , -0.1 , 0.1 , 0.1 , 0.1 , 0.45 }, + { -0.1 , -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }}, + + {{ -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 }, -- 4-way crossing between X and Z axes + { -0.45, -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }, + { -0.15, -0.15, -0.5 , 0.15, 0.15, -0.45 }, + { -0.1 , -0.1 , -0.45, 0.1 , 0.1 , 0.45 }, + { -0.15, -0.15, 0.45, 0.15, 0.15, 0.5 }}, + + {{ -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 }, -- 4-way crossing between X/Z and Y axes + { -0.1 , -0.45, -0.1 , 0.1 , 0.45, 0.1 }, + { -0.15, 0.45, -0.15, 0.15, 0.5 , 0.15 }, + { -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 }, + { -0.45, -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }}, + + {{ -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 }, -- 6-way crossing (all 3 axes) + { -0.45, -0.1 , -0.1 , 0.45, 0.1 , 0.1 }, + { 0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 }, + { -0.15, -0.15, -0.5 , 0.15, 0.15, -0.45 }, + { -0.1 , -0.1 , -0.45, 0.1 , 0.1 , 0.45 }, + { -0.15, -0.15, 0.45, 0.15, 0.15, 0.5 }, + { -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 }, + { -0.1 , -0.45, -0.1 , 0.1 , 0.45, 0.1 }, + { -0.15, 0.45, -0.15, 0.15, 0.5 , 0.15 }}, + + {{ -0.3 , -0.15, -0.15, -0.25, 0.15, 0.15 }, -- main center segment + { -0.25, -0.1 , -0.1 , 0.25, 0.1 , 0.1 }, + { 0.25, -0.15, -0.15, 0.3 , 0.15, 0.15 }}, + + {{ -0.5, -0.15, -0.15, -0.45, 0.15, 0.15 }, -- anchored at -X + { -0.45, -0.1, -0.1, -0.2, 0.1, 0.1 }, + { -0.2, -0.15, -0.15, -0.15, 0.15, 0.15 }, + { -0.15, -0.12, -0.12, -0.1, 0.12, 0.12 }, + { -0.1, -0.08, -0.08, -0.05, 0.08, 0.08 }, + { -0.05, -0.04, -0.04, 0, 0.04, 0.04 }}, + + {{ 0.45, -0.15, -0.15, 0.5, 0.15, 0.15 }, -- anchored at +X + { 0.2, -0.1, -0.1, 0.45, 0.1, 0.1 }, + { 0.15, -0.15, -0.15, 0.2, 0.15, 0.15 }, + { 0.1, -0.12, -0.12, 0.15, 0.12, 0.12 }, + { 0.05, -0.08, -0.08, 0.1, 0.08, 0.08 }, + { 0, -0.04, -0.04, 0.05, 0.04, 0.04 }}, + + {{ -0.15, -0.5, -0.15, 0.15, -0.45, 0.15 }, -- anchored at -Y + { -0.1, -0.45, -0.1, 0.1, -0.2, 0.1 }, + { -0.15, -0.2, -0.15, 0.15, -0.15, 0.15 }, + { -0.12, -0.15, -0.12, 0.12, -0.1, 0.12 }, + { -0.08, -0.1, -0.08, 0.08, -0.05, 0.08 }, + { -0.04, -0.05, -0.04, 0.04, 0, 0.04 }}, + + {{ -0.15, 0.45, -0.15, 0.15, 0.5, 0.15 }, -- anchored at +Y + { -0.1, 0.2, -0.1, 0.1, 0.45, 0.1 }, + { -0.15, 0.15, -0.15, 0.15, 0.2, 0.15 }, + { -0.12, 0.1, -0.12, 0.12, 0.15, 0.12 }, + { -0.08, 0.05, -0.08, 0.08, 0.1, 0.08 } , + { -0.04, 0, -0.04, 0.04, 0.05, 0.04 }}, + + {{ -0.15, -0.15, -0.5, 0.15, 0.15, -0.45 }, -- anchored at -Z + { -0.1, -0.1, -0.45, 0.1, 0.1, -0.2 }, + { -0.15, -0.15, -0.2, 0.15, 0.15, -0.15 }, + { -0.12, -0.12, -0.15, 0.12, 0.12, -0.1 }, + { -0.08, -0.08, -0.1, 0.08, 0.08, -0.05 }, + { -0.04, -0.04, -0.05, 0.04, 0.04, 0 }}, + + {{ -0.15, -0.15, 0.45, 0.15, 0.15, 0.5 }, -- anchored at +Z + { -0.1, -0.1, 0.2, 0.1, 0.1, 0.45 }, + { -0.15, -0.15, 0.15, 0.15, 0.15, 0.2 }, + { -0.12, -0.12, 0.1, 0.12, 0.12, 0.15 }, + { -0.08, -0.08, 0.05, 0.08, 0.08, 0.1 }, + { -0.04, -0.04, 0, 0.04, 0.04, 0.05 }}, +} + +function fix_image_names(node, replacement) + outtable={} + for i in ipairs(nodeimages[node]) do + outtable[i]=string.gsub(nodeimages[node][i], "_XXXXX", replacement) + end + + return outtable +end + +-- Now define the actual nodes + +for node in ipairs(nodenames) do + + if node ~= 2 then + pgroups = {snappy=3, pipe=1, not_in_creative_inventory=1} + else + pgroups = {snappy=3, pipe=1} + end + + minetest.register_node("pipeworks:"..nodenames[node], { + description = "Empty Pipe ("..descriptions[node]..")", + drawtype = "nodebox", + tiles = fix_image_names(node, "_empty"), + paramtype = "light", + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = selectionboxes[node], + }, + node_box = { + type = "fixed", + fixed = nodeboxes[node] + }, + groups = pgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + drop = "pipeworks:pipe" + }) + + minetest.register_node("pipeworks:"..nodenames[node].."_loaded", { + description = "Loaded Pipe ("..descriptions[node]..")", + drawtype = "nodebox", + tiles = fix_image_names(node, "_loaded"), + paramtype = "light", + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = selectionboxes[node], + }, + node_box = { + type = "fixed", + fixed = nodeboxes[node] + }, + groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + drop = "pipeworks:pipe" + }) +end + diff --git a/technic/pipeworks/textures/pipeworks_intake_sides.png b/technic/pipeworks/textures/pipeworks_intake_sides.png new file mode 100644 index 0000000000000000000000000000000000000000..5237f0e102e88bcf76dcd6f7a778c394e73cd194 GIT binary patch literal 6739 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 Ts6pU$9GjK7of+}f;lZJAw{}efLgv5k2_mP<6 z$1qoiW09G$Va+h(|Mhz9yU*+Oe4l4~UeEjUet+JdC&k(lE^tEP1Q!>V0K&}pHW2j> zA6_2dyV5sg76^R7W{#m;T>PgFA8xMPJaJ$U6o#-c0sZ1Vb5iLd_@tZx7uTr{gt38b zpHNyw4MSm=$Uz#E8=#-&%+ zE>0hNReSQQ+D-lYR`}Oc=gyi6hnGxd*%I?FHGYO%5K3sn6+nFF+T-le@f_yVG9OCX5T_}a?K z+XZ9^FiIiSFy9i+*l|JskKDA&Y0oViJ)f{wByjG!Pwm|bBBcWB-xE^R&;V0bR_=HD z`2A7YPApbEeFB=+JcF%M3iY=+y~2!ka(2E`PRvp@HLieH8zR(6>5P+`+vJZQxyfKe zCH05w+p-TU&Gy+|D=aqf?)T_gI4tMZX_Kt|U8+i&Y02cl5~B&2P(TLuia=LXDgY-! z39E!!Oi;pX?J#A;4?KxaQ;V(9kX*vy9N<8`9L>?dh$NmSQBM4zrI#vaVp9sNajPL0 zYYwW3X=nz|Kf#o?#jw5z9qhB|)esJV@Z{79IWAhlX8$E+fk=8A%ZaL3)A~T(7oRSr zTsq1nw^)mp_76Ge0-b+U{Sz02Lx&A2<38JGdbiP-%n*f{+1ko#wY;hI)4tBJcBcaa6`*=OAY2O_%A1g16|B?DE zlOZFp8N5#^FAS`%&`~ry#TPMy1ZV;9&SS5SyB*JK0_UfB=jGb^pnB&b{a{v^lMDrT7~selBFp zfd;j}c;zf8pO7-idLfPgW?pGtX%5eMVkXzUO&7)27GHk+{rDOw^m%tt%hvL8NyhbF zaVg}uO&Qi-D)c{9Z>R)i+9LxNBI(aq8uA8?6bKgyp#ih4-%pzqEu?D=n~iPY&jo3Y5=vk%{t`Gzg!Jj~sQtg0W@91Lr5%|}i;_KKI(6Lf#x^+(d0$hpAGVGZ&d zrNPf$gJ+1)v@0#EYQT?OY2SWu3SWzD-8A>8p2${qeyM8e;1>1XH`i3mH7tt~-l7)6 zqBYo@{@^Q-hW7vv0zNG2d*8}_PdSg5#h3j;eARNy&;xaQ4mJlQ@lnreJ0euAR~@RA zpANh=5v5nv%x~`dNOc0nsc;YgQEr(fF^{Kn z=a97TxhoEa^R)m?{5uM_N6*GGhU{m_Z(70le!8|Gjeh-rjm*b>)D@r-=zW4xqEsPZnQxfvRIJ)tut1h+C%g zvx8bUOm8x6V)7&v!RtVRyG6*0=u4M|M9PR&>h_`O1_fkJES=3W%j!KB^m&O~nDC_? z{fb_%6q+~p+4t4OS1F-E`!zqPOiA2eoh|O?M5MNTZdp1jL{e+YeyV|SfI#<&mz4SD zU2su4185Zmp6x}u_EPoAN>zhG>en66NI-6{$+t3#w|UY+XVFke@I>_d9~OOXu5zo7 z;lss?+9^<=0|h6@E&?^kma&{oSj>V?GPh;IhhS5m)#HF_)#5h{-``^pg6v|7jEuEt zjSFCwhW8ZK^~^m%m0)i#M@?yb$m(9G&1vk{e+#`F6%ZmwO(~0ur^@%#O@@sy4DAR} zNzrpTiDnD+qXmFKTuy}`03?PL-?`vfho(`_ z0_=GW11eT_cDBpGS9k#dKj@>wymVw1$hhnuCEV_I@MG3JT{|(frg99vpC$7I2gmN+EUL*=G8+bmwcISk86QxMbJL4ANx#_*JggyTX}4Iew-pYzp!&Y?s;Y9 z_*%Hs0h`l4P!~388s1m8s<(%m^wTXIbovO0e;p52q}pH&pwWVks1Hyc*uuvXyXNV< zGIJ%f!P3}7ZAn3fR-T|n`at5btj^|upI^>AR__?0xJFanSBpLi33G?_F>cI8dQhY9 zri`Pcqx*6*ba(qEj)WnXPj-cDn^e2mVP2{#4Axipxa=+*A zuqV8w*Wc-#HOZoi2=E+r5dNCb`XoUa?NTG6V~BSl^L*>}XxtyaW7QxhW6SyE%)eRG z%|D@GEOH6-+Z~P~M@hBItb)6vupog=HrN{|(p#*#gsGL4N{EJvULj$E%5++Bw8Px- zYlgeu8=g8|2N#!;F%KFg&@G6KmLhf@lK3mTds9FPIf#zo^dt7BinrT!*Kx7wCHuA! z!IBeXacuoo~;RX&Oyfh>8w))&K3!qgd0LsZeG-5sJk(kzt?C-s?qN7KJ$2G#D zWvmW#S2sr2{%FsF7LBl|{X}XR|6%cVX3$#bPMV5~G0{f>^|PeL>PB?X0R8cSK89)U zM5^U9k|Vd{beoO#qr#$sV?2*45TO>%ZM~%63IG>%@Lb$XO0k)uqGIllH|@=SSq-0^ z9VaeJCQXo+5#JZp8aG`7;?6WoGC1;WzFDtm!>)kby(jH0ESHHP(_0zClg!{57kWvC z?n*l<>JP@@QEr)L*mCB_rQEU*QOS;2$Ls?Ncju@P3hWD&XwYnI*Mc+y&IVw`!kzrl_)Rvf0teFi2acw_>XF*clf=NeQ;g@Z9g5_(@4>K0J40Njo<{LY% zb>I8IPB}fB!7CT@OiIeWqnVK<_;GxMzB*moo%^sLs@K$JF;e&Kkfc?PQ2k(c;U=JH z`(-gV(|I%$G@Er2yY%b7|F?E&IZPAW)pdWqm1or8f1?v!_pa&$=JrM%-!CAL16e55 z-nbmGP2|g`s=wXNyB=h;4)=i=_ z#%`)qpW{B1t>-E!9wh^bF$)`we-_tiwvmf>ioc0pxM(p>H?{)c0i$S~k$lT?;_b-1 zb4)&A1JBgJf3DkoRzYPsp#^WNiXW{G^L0g&eu^3^Mt&;>DhLT*J8l|OCGqb^4VwwZ%(S~WicPW=*B1e326L+fFgmaA!HPlc zAbmn~n;SpUPeAUQM%M@_3CwS77<7JXqr39Tf2@jlb-oiHTR+uwGK;uLrF@Is@ut%= zOHs}9=i|4FV1PVVn2ZkAg$<{0pqEv3426p7Z`K6r7Pfppf0;Pseo=@v?&Rng!sd&6 zMme}9D|hqVQDafYOAJQzwN&4+u=r)sbi4;((=TLbkJ&ZTxN#LL+wYA$4Zn5M9yRhS z+OjjLRYk8LM+_f|MaS%l$qcI6t+MGI9kg4o_@-$yEeDfa-gFtWxw*nFBH2UDI4C{t zS>&VP60-E?y1!M6=qXrZ^INxJ4Ry_@@<+$pge^lL+ z^1#4AhcK5KDLzI>koB`@OZIosKzEd!jIlHbKFOCaWv5{FHOhWmFVDBmU#GQ(^g^ZG z$E0(g!v?Te+8Ad?hHV|s$}mVxSJIYFGqp6bb{x-dxwbds(t3j^DR+cyW;=>m3Z3q^ z^t@Gm2jB`zV?U0k{SKt03X5&-xAo5u@;iw()}O|~IVrqucvT%OC}ceQkpDjV%j@&d z13|J_QDyxr3?_NrQY`b5VLO|q<$riL@IvMJ;66CeFTh2T{daopX$RbKL%2dMP~jPUU{8`JuK1OifKQJeK7>H#c9Yi=WHOeIf=bt{+kZ=(1k8Po8Qmq0x zv*%z>^#a^c$p_0UHaJR+$M1y-*`+bR?1K@3wHFq?%=a6XT=xFGyz&`-2NqHF%cNgG zfW_PE0gu1S4XOqFYOH+^Zzm$>7J`|3BmjbWA?_j~|HH`07{D`()SwoMek`m{*G4z8 zMY=iZGKBoAtMM%Q3#fxjND}ko<%EcegokH@xvfYFdt?$_Z6T_aJD%(HbHYP9Hzy{u z%iuP$4v(TP>Ws>EC>n#r1Dsr4foiLq@LM{}2OJS3Kq%QQ!U<-9+03GPekp0i3Ag3t z^-bX7WTQFeO~r0-bgm74!6kyqKt{!P*Bx$)%wcPmO z0^AOqG2ZB1=GMYeM6HJecoHXF&$dcqyV<~PPoq+&zj{XQzirx%*?>K0l7cKo$`LvW zzt3Iz2Fns&m$Ch{D(LyZ`1CtjryxDI#)EWN-Vv0R{@1ujS->H$&i=bcqQQ9?>Wac# zQz=|R7mtiQxd;5CUexe`w}ls z1$g&n7?q59hWF(|R(IvJu0B*6tm}!(D@`B>XOUyxKoEZus>%)T-%NbN3*7E;Axtcd Jv4;2m{XhRNid_Hz literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_outlet_top.png b/technic/pipeworks/textures/pipeworks_outlet_top.png new file mode 100644 index 0000000000000000000000000000000000000000..7de76defe5dcf47936e8699c6a417ada3cf85031 GIT binary patch literal 5707 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 literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_pipe_end.png b/technic/pipeworks/textures/pipeworks_pipe_end.png new file mode 100644 index 0000000000000000000000000000000000000000..cb0e4b9b3a2d394586972548b46aaf114ad7a860 GIT binary patch literal 2149 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 W8YmxPgyR?h0000Do literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_pipe_end_loaded.png b/technic/pipeworks/textures/pipeworks_pipe_end_loaded.png new file mode 100644 index 0000000000000000000000000000000000000000..5624b834747f5014ecc05c4f75e73796199439c9 GIT binary patch literal 2185 zcmV;42zK|0P)00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-pn69NkzSc0TD000OmNkl3jP(u-!t26}z*lsHnsd zeYL^vYuDLRRkfe>g7FU#Rb^Gxpmn`oqpBgubX_%Qy%h^<{UBymmAoPnBm}!05aNiQ zMU>gBS5;9JTNJUsHTy98A^&D}D=J#-FF>pD=5D{BAnmCT-|MN$%X*{gbs;zGsU*U%?nDKDuiv-#4+iEKe%?kStlX9HT$o9|gNlp53JCX-JpD;aCMLR6Mf z&cbZ5r908ri#MQ0#3-tvM1r|n%MvG1neVCPNkLoFPL(-X#_23_Hlp9=dm=)_sD+U- zg9O!}EG$VxSMOUgA(gmi%{gdUxI~}xLn|LT`;SFWL;w&)SR@E15eY#XeaOmv3&GVq zt~NA+9vm!P;9KJKx#aiLZPae`L=-b;sx)>N7G8@S^R%+0%0jjQ%x%X8V(CJs5~f2h z(=gkM9uZ?DANsa8bj(A!f)%m%PF9FrKW_DGktbEP2DT03U# zfqYMd0M!P2T3JX;ukEZXofH+e7~+OrWS>%)q8FdyyCVnt$gv&BIpD#Ke4kS4wWJfO zo$qBGeOlp$J?IyavmnrHz!ZJs`x4~~s-9(S=gw+>))w=~(e07rjY0Q_wFvY|!8oVo zWvy0T=Sa8COZ2(kt!lx8BBvTtke6NZ-CC!aQ(Y+vnc1VPx}P~Mt5rsSu)gomBM{8v zz9g{AfgC4=ta}(JJF%m`U-IxW77A({*QH z%oX(c8UQdF9i*=eY3W9@jW6Skh7<;km~{Z#$u+@4($v#DrB^P z!4f$O^aOxN;L$r460bvL;p1g+pS7>0owc@KY%2iR`hh%@$b%qGso(TfoinQLhW^=a z&mRB!_{GZ?_!i!L|K?YBzq+2TAB7(MV&4n^BEpj=PqNUoWbWl;DXGG#t75f~O;y^1 zA0Ax&d=)Uz1>sv5uSI&BF5kQS`o`C5=p#j3$y#z*>rKsdAZr#8HWnH?LuF1II>Ung z>X)mhS5HF-Kp;_~#GpY{e+oZ+eEs9Q@7$gG9tqKSamJVo*gBvDm)EuVk%`8K|%eZF_| zU4MX60Zj;BYIm}yTHU+6_vJTVhW-HnpWgoTlMg;Q6M7<3ONj93(W7>hl7|Ycn>lB# z);|0B*>~T6_u}P?i+3*W+`e=Fv-|gM-a7|+tWqy;#KVUV-B7XXTF$Q&vgAAwebGf& z$0`oc8${nE=c&H;QZMGg+;S3_&j`=2((pvz7nu#Nsn_`=@T6JVAsX|b$bmeSD=*u0 zdNK)Yhh+!O(x!9F^P$hv3Oisb!`;~=P^PC38zzB^X%zI$)mhL}LjK18 zR3QKa7!9pYL;v-J_6XH(Cr|*rJKV)#EM((GxfO8#{kJ3<`Vhi@))yx)(Oaq+00000 LNkvXXu0mjfY??UU literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_plain.png b/technic/pipeworks/textures/pipeworks_plain.png new file mode 100644 index 0000000000000000000000000000000000000000..3bd1b6aff4bdd652f81df62b991ac122fafe9a96 GIT binary patch literal 1872 zcmV-W2e0^vP)00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-pn5)1)2TT9ZK000K>Nkl6#oN2o&)BpSUUV z0}nj9$2m5We4C8xI3+?+V3V1plu}A&Mnq<2W_Wz5>hqu~0EGg!nWGA`?Ptdis4szK z#8)epVu$jtY8WwC-G2qzHt*(+H|$fL{I*y~i>aWa9)omI41Sjb0nm9sVHqf2kZLcU$nork7Hs4f73f4XY zhS|#%s_t9%h`voeK+nt>W~q9Do7?J;UNG#>)Z?V0ZDD7odU?dz&T|gYpV?kSm^oWz zq{1M{ESW-a0d~7?jfAWEy;_MukHQ&!i4SXh820}udJ!R_3@DJG7l4$k(+6(WtpwNN zxb2}6^kQHPj_-jp#!@`ba8S?aMI;x_G<0@{Lhn4sEp3Xcv5+5tYCo}sSO(W=gc;Cd z>t-*}Gjnca+z{V!S@|0OX4uG~mj&Bn_#gmV{2mME)RANK9>y5}49QFj{3qKFZc=_> z7cNtqqBgk4g8u5%_7>-i=t+di1`OpJp&@k-@zj%5Buw{N41SM&Ag-+SY1Fo#Er`)1 zQ(f0$I_qX?ZXZyV-4EFcOSXE9+LLT0!U4U%W#+O0wT@%sqisJJqIRzou+6n=)V|60 zB23iw;BOlX!S&i>W*MX?)O|=hdf=5(*rG=a@n_HB(R2I+N(@ABE8kz&HEPKqR0rGR z9{qL04KL77o-+|>*}xWk=lkmA6IJh`b}(n#f6*3u&#`mQiJRf@$}I_uO2Ij&$7Rb_ zQRiS7*BO1uceh&bEzfD2smSXo#cFNP%vT$!3RyLxY`S0dnzL0w|F*s#&@&0`{k{fp zh=JlKm94KyA;ZQVU0q{h(3pBX)mD>I=(_F)jCq5; z%poGD(M9@V3G09!`#^luIUoA{t?jFjkWQm0wqDS0sQT^N>O>)D5ta&`L~_NsvwiiS zK%=EF+}Iwg=O8ArgWBpuA+r#Z@Sbw2?U{*5!hSjng&JTiEOsjG-OBJ#A+tLSSI?Qy z3lXzWL?2iPQHNr(@$B3`t!w2m*N%gIgot}RP?{2@5v12O9{R1$SylH^1pfd%$HB1} zsEJHF$e~*nQYvPpuuvHz<>%<9m69KKNw3z?pe*@*F(WRzJ*EC+ItG<$jgq7aL31eti4zH|T>dDtVxOYwz>? z9b*>B`2+N|9FUArDcGO#eUY5spwA(>H8EGo2Q%gTflA{a*j}WBai!6HC-AFY+TZwn z(WIfKFWu=)C$L|Zz1d6K_A!5lzH}@6f~hulcb!0NZyydifm1h%#^UNH=p{1~S1}jv z{&!K^T31KCwC8Trx9Ew4ShBbh^@GT*sdmpf-nx47d%4fGzeL~G4DZKC;9i~u@(uXmkuz*< z&wrs5W+q@EA*ROn5;*J@eT^2%3QP6L%l}x{hH2c<3rlP1o}f3g^3>wH=(%Q>&(QZK zGzGqwN=s+9cg*Fv(Oz4Pxa%p0sOk8_jfB51t~rHS?3tI5LYiStiQqm$E9I={Q%X6R zQ6fsTZnV8kaI_vwTH0000< KMNUMnLSTY_EVo<$ literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_plastic_sheeting.png b/technic/pipeworks/textures/pipeworks_plastic_sheeting.png new file mode 100644 index 0000000000000000000000000000000000000000..810ea2aa36bf372822035dda39af75f15334b429 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4jVU-U|r9h1MVUd?{ q+etLVF0xGenpFO#UB5i|A21isa!OBlrELzhkipZ{&t;ucLK6VmwLl*L literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_pump_ends.png b/technic/pipeworks/textures/pipeworks_pump_ends.png new file mode 100644 index 0000000000000000000000000000000000000000..a76aea10162ee46acce63fadc747e8a773664bd9 GIT binary patch literal 6410 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 literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_pump_off.png b/technic/pipeworks/textures/pipeworks_pump_off.png new file mode 100644 index 0000000000000000000000000000000000000000..4705a9a391ee9455eca2f12c1ff354822e7c071b GIT binary patch literal 5185 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 literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_pump_top_x.png b/technic/pipeworks/textures/pipeworks_pump_top_x.png new file mode 100644 index 0000000000000000000000000000000000000000..9228bdd0cb302a6e35ceedad85dd30f61bee9067 GIT binary patch literal 5389 zcmWldc|6m99LLFGG)E;(Ek_9}X>znQSBPPbm1B&skl)-_uF0*Oh46FdSXs?|M46B+ zgo-SQC26!Wx#rC8`}^a&@8j|PW1sKi{eHdP&)55V&)U*NROFZlA0MA6+SCXO-1Yyz z!25vT(+7Us18%|rrnq1}z5|EPO!yOpw;oR5y2?HFcgDO;M5?Dom8jlF^cA54D4 z-L9*v!{vG4T3K99$2#fGiz$~ndlqkRmwU&FkfE8U2ON#_`pA91a<9S^Y$KV}Vh7iR z^sYsU_6D@$!<>&A+f24PGrg&sJqsbrs1e@oTIBETn90_0N4N(xdAL14|7i7COqc(p z9no2`51BdK-ch?v%c^)%%i*jQl51Ml8CkM{FfW{9;(Ui6%tSs>a~wHa++^nKb7Ov%er9J4umE{^R|hdk{W_WNsA29^5ebyFxj&;*BGxc+~MC#!zO9=EeLA>%SD=?2^C&OXa5c(rlYf~e4S+6(-%4{!3Iv(CIVqr z4T1))>HiLS2Exu(e?yiId2-eO-B5>Cil?_FIspyMwO=%9e63o1c-SF_TqE%y!o9WS?pvLgDXH;k8#u$5DlZRCwc zHD-~+>|ny%&FICBOxp*BY&%K&O7Z+=?E#oG3WG78eW5YmBHEoFP)=q{0^M?u}uxfkFv{EljyV9khgTbxh1ClKshm8tTlX7wBEBQ@%j-|1-KkclbNa+x5{J zb-baP-|9Py)RoC9W%FOgjNT`X_w)FlcGOO`u95CQlPQ!Z1gRepF3wCJ)QOjPRjbE2 z65qm6#|Q(BRf@C7JS)1^8DT z#SGr!NTmlp<7h*AcVlFY4{q|?_8?YKS;yq;XOW(`Fzu3!W5z+9F7ojFK@S+iyE~$k zNClMd|K6NBcTT_pN$@i@wnwt_22Y>g*j({qhI$u%Aon8f=ll-iZ0l|UeIEy{y$T}w z{y&q}No5Mcnu779t<`&OJy+9bO_l0TTmhF}O`c%fsAM`u`AZ|#?M&Ow1P%YIGWezv z`}5DAKLN;JVJ{Gn$3b^uVul+n;QNiV*#+X5(Irhbo*5eATSz{C{=8&?LpvdI!0-S~_k;1nW65Fy65ec(cs9bV+uhlMFnk>oJD`E7V-j(BhaA&fnkQCGpEWUu z_rIbFLDhKg)iJJb%xXAmA|;CReeMTAapQ$$@4A<$y)%3nNfjSzux26&2gQ14tvY~W zDCbCAA?g$j6~s>d&SOh4o6gD-B+XJ}#vHlv5d8hqI+5snnzdYtpJ*#)tYfBCio zkos!LZb+CIX7pV?jmr(YOv!{FXfrexmXDWvj#o9S*^E|AT>1;$-G)6+n|9=+S4#aW zV8QqucDZN>HSz+l8Y`|0uYN|M_&RNzx}WbMZM?C%dXws*Qsphu@RW0`S`A{z;z_(F zd#`VkMm5Gilf4Vc2Dv38Y#O&_`^7wKepNI!U2~n5b;5O@=ql+3JhUBO%j86Mip9%; z<3|^&a?hl?ce-@Fe5wDd;6+-WJH`KsSH~vJpNh!_Y4&QvZ5+=126a}pFSKc3xSYS# zIBq1LZPeQgdm%6v2Q2u6sAqdF%{6Y5y*CKw|H&|RA51%{} zAgeQ1RdxNss=4~-7Aub*c_DpM>DalE;EhuS0_#+} zvn*bO8eSQFh%D1JXc~9pJp_6f6ze3g*y0<7l6gwehKV87d?zo+PV-z?KbB6UYpc`L zF2(eSCAn?PGQ`>VJP%u2{%MpX*lQ(RsLB;)@=I`_Tv^0gZzP!F*XdFj^UiSmGdeBQ zIiDRNX}q#o9N|MX7O!7(JhOTAn3*|AcK5Q# z)E{g8kC#kR9(n+jR?R<9Av_%2j<-&~pEl&Vl67ZCpfgIlq(WJ{Yy^NhFY2y_@FrVt zZ$d+K+DXzFQ27hYXq9(rRh5VIJ~ybJ)^SC0uFviZXgE{gBF=v!P1aA*- zL}z9x+veNzw4x!wX(^BajFBEJ|9WLbT~pvpY#dS;wV43b7k^STck5Zha6zE^VH&s0 zQVF7NQAD8tIK<^W{b&aNsDZJOOn<9@E-fotu#rnztMWE``t>u7M(a6tw;-~5zK+QW zYF9W%hbEWg2DRhO;4HIw`zs=ujs$8GU0VGZ+po~my(gm7Fp4~LI+5>O9cHir5&IKZ+PBV~G(0<%au$D^xBg>X|5jg{;( znqaTAbGL0IyDbh5IDir_h$fniz{*aD z_8Li+@h7J14vAE)tdt^@ogl=2%X;?{!aBMmk3aqQ&I)^^)fav6iFS#&9OuW%<`@T; zw|i*|E&he8V<>6}y&N0lb)B@kb>vhbJ}2a_*iCqKK$Fs)<7r3pvb6r0lu9e|V1{Cz zmbY3xKAiKkmiWxz%z6TJ!&cm3`)Ug0wDEYO$|S(cwL;o6%1>_B9(gr?@H7zH$d1J4 zC%#UFPQ`Rxq^n3BplTXe4}dL)L8iKoZLi$jjJBi~%mFH9Eg#*wV}h0j`R9Cc@bVY3 z9@Zv43RKqDZd6Vk@)U^p;-iHb1&9^;?+$qSorb8Nx>hJNRGA(nmM|Nik_iRk70&Xr z&d6*rzb9q7x9bvq{<#10)MJlwQHj?yt|8%Phgf{Mig~((MQMLy;tjqFuBL_L)e*lo zLbFZybAE|4;d+7~z~ZNtO~GnKL&NNq(a~$bbSv6Z6sj6`#C+VNr}&9x6!csu?|1OR zop5J&`v) z^s^)*^L9`S_D#J8RC(wfPsj5~Zcx+2J2$?Q&T#@lr9i;eVuofs7%-)9I+Rm4qjigh zo}B$Ymy7Pega0fo0c+IjokgBYm$Z{VVvD#sehe?%Dw>~zLh0(Bw1d)Nkc4v^|HuJp z!y|Q6MxmQWN-kkX{bQf5a#nw9{P6Q5giht8^qee0OJag;{q4-qle%p%;^M z4k?or0;F+cn|H^@5W$6c`ZfsZg;b|iEYWJ}Q!}l5-o$xi(8a~&Sxf$4l3+#!_~U`* zAjIrIaDEw^;_-Z=VB*P^Q59tf6`zoq8- zbEBi9jWQp31LrFqk_L5Cf9Y76)#Q$~*^qNv=#CfrH-$5|XeJi%GEaW>&gjb^G4R1g z3T4VKMPOK>B=gq4bq)`5*nQrzCJFkNJr;`3rpBu;P$&gg-nqPHzkpchz~#A}Ho>yH zH@BAt9pW8{^<@q5^Eef$rynUQgM)MNaz=};1=(uW)6?eTwSoA%3>bJrC^8vdR z%81)IJ$yo~1J%w|^=)yrz8++T7r$S_^IZQlkBsj_SvdiMVrb8-LBsB{^Mn)yqgb^vYOK9;F11cUnCp z`2lOTw2Bdbe*5D7xb@$Y7l+^Jj9i9^nbn-XK|_G*z0n6y(!$BzpLn}|Z30v9MSzOr z3)&|dhXTcL-%MwKr5hF9;D8`KM(>*nKkA{;Fm@42Vpww|3WnQLQiS9|Si$UYl*|gs ze^Lu`&GL0ety3LS0vdfZSM;kPt~Yw4Zgip9kqV4A4(F-Fw{0HRM;);XY)e!-VDrdg zoT@h$|N6pIc>Y!r)DBsBd-zK;Z|qQR__1(s!)COM@q52EV3qz+E4mRIp7I4SVm?35 z^RDIiiL9;Fg;4|qV0W*W3Q-rG{nk_6qI)+c%hD{{$h$@-OXEotE{x;M{#BPNW?g3K zvE&C>$D#d|QH_y}M&>Nw$F5nVVidqbSVCNocv|bs>%6q{^H^0q{&ySh%}BP2t!+eG z|>;&xm|ZGr&`g;GE_I;cEv+IMdMgABD|o0r}fYGSs-c?#cXvdZ`7f;M+{U<@@- za1gI$999!-mCi&&0(E&^(3I7va!*hozA~eh18r!UNI#@qVyO_&!A>srQWTLVuf*!z z-C|XGMHi`>vz2i-EZW1Y_6_?a?G>818qlU=%2~#4Z*xwc{$`6 zjFQ2zW4aix`){JTYSj{CW7Od;EJu=4(Rpi7b=1yt$xu7WdNIouxQv#OQ9J zc-znV;-%_)MW5#?WLqzT;vzj<+-fxlcd?<>Q6tWI`#omaZ|e8@tN71Og#JD1)WwZ*6}>YT zt-Gfd39t4lIeh!QRk3g)y>`aMy^suif(t3YrW!u4<>((-6uc5-`FJ#_T_yD-<{Apz zT0DlazXv3N&a|XdrnBu4`_Ojl*Ukr@{NcVoAfFpxDFW}?E}%`NE~Dzxo!T*@h!C4a zNeFmwD)<(Hudh#p#rspWl=eimR{YT=^jG#sS^HZ-^@mtp6w2B))H%mif${$z{T272 X99~33Iu8S%GWpQPmPWN#T;u-(PF#2; literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_pump_top_z.png b/technic/pipeworks/textures/pipeworks_pump_top_z.png new file mode 100644 index 0000000000000000000000000000000000000000..45837e7429748407ceb8bdcfe74874803c393bf2 GIT binary patch literal 5207 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 PD9B;~vo@`{?iTYufLbZ! literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_storage_tank_back.png b/technic/pipeworks/textures/pipeworks_storage_tank_back.png new file mode 100644 index 0000000000000000000000000000000000000000..aeecdf99e3accc4ac97d85de8ae570e0fe0ae7da GIT binary patch literal 4593 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 b%fkK-Mr_MqNrh+m00000NkvXXu0mjfY2v83 literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_storage_tank_fittings.png b/technic/pipeworks/textures/pipeworks_storage_tank_fittings.png new file mode 100644 index 0000000000000000000000000000000000000000..2460b86505e6c00f6949170d7897af3223da30bb GIT binary patch literal 5359 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 z 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�+m9#~M7)6F#R-}}4E9d1v zU1&yWOVetA%KIA!2DYGbP3bOG7X-RQjXkGLT#uQWe&0`KV8Y&OLj0>%E7o>)zNpOB zgE)eIs8Ra?NB7@qcPuQfI)`aNmCnS6InPB6h)R1wJZlT~dre&VBR{$by^FWZM&1c5 ztDM+ue7am!R#ui!jTSF)FMFo({6CELFirABYZ}sr3Bd(lUNngc20h_}e3Q{v7+M+wJT^UNyB@U)Lk-`8cr2 zhN#WxM)0X%+ zeye7Q_U>IA^vQxTYeEWa7UT7Mu^?gsWX7V3Zy4T5L?CBx}4Xqi%=K4>B{GjL}c9}+e`7j(Ii3#J{pO&E&RCqv&isafi8f`Avpn2 zw(yZ|6JT3KrA%*bj`gwEE*L-fuv3Yvfp)lu9X6#8LEGB#w4^nGw$Por!a;58%=$zF zty4y|nTw71PbD&TVyg20zUOY4@4WBIZw{2Ko4eTOo}2fOMDh37+yhYX1l zui`e)=-+0e?@?Qg1!$z(uAC5Jk=R-g9-xQ^jvkJ1G8F$H-OMOuFU&*A8$;8D{q31H zIlb|xQPE4s_DcCWdY9<^*4*F3JCBR3-}ElI9yu(6H%;0#%m01DgXInl^U?oP0@jm@ z9Glr{fM3*?yf!G({Q^5gdNaasZHY;`*Uvmy41whYe(zv?^V8EsC;%o=N z^!|GRq3+W`f6disJ%ux?sgog*->yh^?kDC&WIxtPWrP2Pb+wm2j9d}=?PxkwQy=Sm SQV}@N1L5^==vC`DMgJfE+zONc literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_storage_tank_front_10.png b/technic/pipeworks/textures/pipeworks_storage_tank_front_10.png new file mode 100644 index 0000000000000000000000000000000000000000..7d1e54e3e23d39a74b044f9eb4fa539cf16712bf GIT binary patch literal 5131 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 B7X1JK literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_storage_tank_front_3.png b/technic/pipeworks/textures/pipeworks_storage_tank_front_3.png new file mode 100644 index 0000000000000000000000000000000000000000..f479797b3155674d2bb90520b09c73b9d9550161 GIT binary patch literal 5148 zcmWky2|SbkAD{a+v{*G!R4T`0j`|HlVrhj^$q_k<%u&%+?qe(W6-BudBezYh!c zzO>Xv#l?xh*O;swa!*htKCe+TVRf^m)W;r5kc>vXAH9fWo}itIb1&1RAut*7MYd4F z9QC3dq`c~`OjkiGw~@u&YnfK0F@V5)s=MHr_4ABl)^Tw`EVI-ddWF%rR+G{-Q4s9% zth9VM_?h}MuX4DwesVDxdpTYGMwVsz^43-*mieHKcEAQZwB4ggr(ZIs&AU=+YNmFI&XoPf3Z_pKpWqJv7zO+u$ zfzhZu8S);TUZ+W?R-I2j>kj>Oj)J}H!nnb32xHl#cfuQ1bm5{NO8qGr3v4>V6tdF+0mG%gHB@$U2nZ0-`0Lafuh70xu!qTMp(Zn|39{Wuh@ z`pqaAs0MY^KfdTs$Lsf1mvc%bquXy~)chcSL5ebz`|RAIB+?1s!D-SSydU*59S0!g z%e?9iJ)a)OC1YpoFm#Rn`(Jo|t_#b{C9PcGahf|n6ZrwjRUw%1kh%H+l-yC@EU)wQ zD?H>$%w?u{t)zd64@o2b@3-{N#<~YI#66w>hN}pX2tnUV6sPdAu{N*mV2JMs(*(iB0q3|F7{Q$xN*5}^kWt#UT~F>Bf(r;Ou1}?yN;i9;Vudtmw}LK8N_N@O>aJ(G>A|3PH~a(&YQG{d zGhcCHd8ivlD&h7yrM@}m0REvBgjlNL0BE#^!Niy%4SPngXflU7M`4B27jc7cF6C#k z<61-4Z*EVi?7|~WVY2bGx&|g&wcC@$56K1UNjudgx$BtKb8i!YA*?|?mWp6pFTManhAJ;b7iFSE{t*wNr2w&(B*aB?fH=ZfbS%L2^q?da*oP$xjkl* z=e1%qS6cv%LwfGsS%+A?yd^!E16MT(a{qQF{;--xdINL*^M7!0%5Mvanr`fRC5II3 z65Pg8nS`3(H_0DDBoW+gndJDX>j0pBqz_};0>*RIpQe@3XG^e5$dcQ2MgIfB9Tpc# zeMrcDnJ@}g&+Tx3^zYP{8u1X}D1aI3p=4=!Lg80-eU=vkJa))qXbhB)WdFHDqjtD7Fz(<`?vo=%mHwfR;dw{e_EE`* zPiKN%0KGciozr~=)KpcW{Cqb-XvqQ zv^x@*^WMbv0tRQuKv*#lWnvOiu9W3v2Y|vKemeD~{`e}ENg|QNJ_8D+4c0Ki2N9!L{|2bQ!5GT`q%YczRSFKT!_>ot6VjJ>KJ#EWG--f6?;4k-XV2RNOFSLil~2UO?Vm+H-YfAw5yi13Ps+?6{7 z7xgRS+_>2m-Wc4;Tledc1h@N!Cbh3GFMBEyyY3t9Mhz=uxCvTgMjpLQ$*BnNBbBRwJ0~ zdHQl;i56|(yi=3uqXU+yDG$LpC8qJJzCz6s9eZKWK0BaOMaemHs0J~`|3FnG=5wHa zXa(t!IEzI3d#~k9?C*zztRjso4$pdEvjnl!fhNpN`A53XSW^p4T13=YcNhCN+)Kh{ z1%TbC;#6uJMr5et<<57!Atgld0>6J}2Nh8r^QfVxd;2 zii1Ot2eIxE@BMO;Ji=76U9A=t(K+23L9pB(l0j$k`^htaYQ07yWA)5NX?26ts*R16 z3i;#c>VuKva>7v(`^QGzZK2Tv`+ntmy{KYvgtFNdtwajlTHrC#y|WA|jQUIc>YqxD zV)1=zs`bRRSOFz$ac+~dcD3pc@_fw7lOxVAJ9~p z6LSo*zc6#@<>$Jp3ZLjE<6vp$nUMGUyzxl_9=$=8Z1!!J>T4%oc8>bDUfpGrn-hHtWkorZZG>>=fukVio5M2Rx2$ z6&wFq+AsL`X(Grbv!rczn;UZUf#86a{o{1?_@H{g6C+>S^OiHl1U}bjNCF;;_&a8& z?@TK@QdKZ|(_3mi0xBwGh>RV4GGQAPIvN!yrMkOP9igvQEZY}US$(tZ2KiBiw}l$& z_ez~6;Dn>p3?tq-C(1{QT*2+sM9xsFPS6Gn5)9Xv!t-J8Fi%iUi?StpvZC-wGpKxr zMfxx$I9fH-_Ic9lN&CzmXl$3;%GBbWzgPYDF_wFRr)jz%6WSJ&bdzkz==zY}X~RVgv~XzZddFzpHR{N6tsAOynT zG{nPj>kFNp5w%BKw!{2(0q=s$gp(`mD_{TJ6A}rK_|XT@IPmdzSSK1ZU_!xEl^lSP ze;g^=-plRUr>flr2i%(2^z+aQ>{%T0SEZb;6dKPuGGp#f$(3M z4z3v$5I;nf{G&e)AmEInItguR%s?pj$aoB6E9}_EsRW(D59YPmNr5&4lCQN?@og-? zz6Be>4pQ428s@0vgNGeddsl?yn~>V`6;?Ne-Gyb*!_dC(XJx|0R>ec29B6fS_8;q+ z=G<4cf2mvYk6&*9k{47<@OCT(AiYP&8b3BPA+QV%o9@*z4+LqG^d{>yX~YL;WwSDz zKo3#XUCuI1J39e?R<89?{TQL?PMs!gi6k+gbtL2`ME9fC`U}ux;DfifBL`I4AIIFj z2T~iG$gTQ)uXVR|xzvA=;NjVKTLT^6`2p!{R={PoInC4gEw@IVcXqzf`J-`qv`+#2 zgUcr@+kU4_7Xh&OBH1ZCnu0qf+#F(6@g+m~*PSaBTgtB+xat}98R}^}Rs$IjleWgO zHsaOVF@FlfrbO!R5iMD68#tFIrn>qR<3Bysm(mNy6=X9*EqX4M$X$i*(-DgOna$Wh z``}Im3!Foofo%;Qy7(sJ^|w@_uJXAwRM1osXvovU4<_>5saFomG)WxC3+#owk(i3R zEK67uWaFw~wGWri{&{yPru0sVX`}f_gbRZ)rds@_^-G*xDDnB6)Yabk^;Jb>-ajt?R zWXvH7n-0lQ5mX14Vy|Ys{!|y5TG~wI+&B1eamUIjQo6-7HlP=E-8!iCW7NQJvG*Nm zd`_v)Mrs&z5=fF0M6imV-d2|?1cHQ}mMSI8q-4s*t!$&(Goh<-X<{cX;mULidcs$g zEYc2v3{vz5_q$?_?)mXVE~Vt<QOj=uM+S;NY={|k9v&V8KAIJEa3R5WKxYb}V+pVpf~EJ&TOl(qb9Dr@!@yr(EO zhby~B(oG>0aEv{+49?0%s^Bb5#LO+n6ni&7+FFM6ozG=qL4Z9=z^faag;39CPIc?{ zinvMG-P9~})wLOCVHS2nm6())#VR0bW#l|>2KrB|2a=0EjIA2Ix(F7M zYjqv}*5BU`O zw>HJNaSmun)^UeHM69j#q5yT{+N7K3h&Xss88)*GhoGQ+wI<F~w*8o2Zd5U(mETwPuLwq&?V4UB7XHK#ps=kNvZT0K|uBJbExo-RlL$*#`M z)!Z?y{)v_8VVl}C_B-_V5*25N;jynD1e>Qj9(jsi`4t3P0Zf}(<7d&0?BeFX$&9ta z^Ri(k`EMnrDrkT_+zelzW;=QBZZO&mO3j}>3E$pupwPqe`q5mZBJDcw$ zZ!!x?lW+@eGS;@bU`J5k0nxkv{(;J6#6GU7hjaC{;+|IAVe)tRtt*l%gos+TWRJVE z>s=PfZh4TaZm1{0WBjFUPGI*)on}CQ+cvD2$>oO}0J_Ov7WW~2d_t!A5{T~6*&U-q zLad>3EQ#$2p~N3;p&!Ta2MI@%A1?+wW?egK{qmWYPrFd3dB$$s(>Y2AU)^(C)_sp~)#TS5?t z&fl_@+Lv}lVfp)-luh@3)e5?^c1G>t!2(>eRiNqQ49oMi+!Q-fkFcQQ%M&FTev1$& Y(rvoIu&GS}-t2+UmKV=fnY%^*4;+XZmH+?% literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_storage_tank_front_4.png b/technic/pipeworks/textures/pipeworks_storage_tank_front_4.png new file mode 100644 index 0000000000000000000000000000000000000000..08e1092e27887be1a9ab440138a82837a88c3418 GIT binary patch literal 5146 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 Sn-kpEgBa^y*DKd?2>%}&{QeIB literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_storage_tank_front_5.png b/technic/pipeworks/textures/pipeworks_storage_tank_front_5.png new file mode 100644 index 0000000000000000000000000000000000000000..8ba43747b7852440758ac6b764e45fe63e089842 GIT binary patch literal 5136 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 H+=%%fYlsFc literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_storage_tank_front_6.png b/technic/pipeworks/textures/pipeworks_storage_tank_front_6.png new file mode 100644 index 0000000000000000000000000000000000000000..1647011ec51bdafabc0bb96b656fc1500da60ddc GIT binary patch literal 5145 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 U)ltbL;I|$KWAAj5YU_9Fe><=I*Z=?k literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_storage_tank_front_7.png b/technic/pipeworks/textures/pipeworks_storage_tank_front_7.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec4f4a3070f35410c33a073f27f5721f688cc51 GIT binary patch literal 5130 zcmWky2|Uy9AD@W1=RR7loROpCsKwAQnVT%;OpaRkM~E%AC`T%Hlvt5m$(eJGm@CUs z!`w$J=8if3-{0%C@4m0sv+thg`FuX__xpK&zKK>ACfpq293T*g8)6QkyP!2xp_9#WMHdIolA%%iYFnavD`Mpi-Tx|&hX9m7DBvL=NjE> zE>yI^jEnbJ6V+EjVds-%5Y|Ou`LDdPt5rTfs8+Fsu>9J?%CX)MnnAd%@lP!klnNHIwkiKUdP+!zhU z8rEQyk$u(Xz`{uWICmeBsXa_E<}O8xn<$0kAPx_jv@5znO|TS#7g~@dszcol+EZF; zh8bUd*rWtL1%wYQgw4HQmph_qpDufFeAJXfuogtz%0SrLD?xj#tp$OJo4#qHe$}FI zR9b+JPrmmBQX!V|hlx~en!Xe!ED@wv5Uf`KBt^DFkpuXx7W)O83q;je-sr5_x8_R#^m1AWCS$?cd(7bj3d*_$3MQ- z9r~O@_+G7ImcGzlT}MFyAE4Tztic%Xp&5U=74l# zvyApamzJK#?QbFsARpGlIinoYcX2oKmv^mHjr-Rb<-wT040lmG!8mq4mMDVn$ZUWW zr8cQ>rM;NZax;g(5#8qTqHE0LfwlD#$pxA1~HpjiY|VIsuRl$3uH|F%TB<_;#*Q&E#G? z`&X~^Q2@+RfU@`&h{_PU1MM=rSnmZwmAQaY)a{*XGrmq0?AYH^%+`ME?-2*CY08vbmIoc*$#SCA_qA)+Rud%gR{0_a2Rn~F#Jnk3JEP;+fr0gw$fv9~V{%SWw*vzVaRxNSq-SqT0SKtC!=)X26ZqW{DVslQQIy(Me5-z^M(oo68b0`n z1Cy821beCuTIwq0K2dPgc5Nj8IqT&uG^0g%p}kUNQVSfNkY!G`3(G%qu*SIGc0K=e zue2^eJMbw0AEZSOF&Qo+jH<{d+5z2sFgAQ4>^>Es^ZbTSh*8`7_X^DJumDk3jA~}c zX;Wg8J7_^C<<)WnARBYAp@Bz=F{1G~chGmFBfShFEMu3#YM(;n0Ug@evA4GuQv}ih zOvJ(JEu{%0zS0vde9joGp7L%f%)#E?FJ~!AmH8ox{8d@%hb_iQd@--F9ALUoA>fy^Vw^_I z9;ev@R74BoPL45T%~jWvgYjHgAXGn+f6SEp1D^Ugyh3Vv4_6n&?oxxjYxriE^7oF& zDNaaQYAWV;TrdU@|JhIDN^|^XmSCNX=(5P^(#ziaSPFoR6GR0X!7;IL|A4ZLbN#6N}J=ab>EJYydsPw>nMp z5Ul_p&S1vHz#d&VDmU*g?&MrT&jxWFAlJETlh=|Al_rE({F5T^ct8}pMf#bCH5a|C z1-qH+Cr@sU9ZU|0IaaFNcsqlmelqRYj2$;QZe4F0<+m0rpR17GC1pJQl zWaY#BW!78328#h*B5R6mE{By9e1mkL67^uN4SZ{^O`DkOPyWJ}E1?mhi02yTHm^8z zUG=#Yv2Yr6!&=Zd#K1}7x91SEROAhE>>)MywTr9kUvm!Sxx+`z;`EW4l2Wrks1u;S zaUiMw&${nujoJud#9Q*}?F=OOM~#Ikgd-Sp#sv~mFMez13-hmahKr`lE>4@%Fre)Z<-kK+s6w!2IQ<<4%Fwr+RI!-}y_?zN+xm zS=FJ84yx&H^$pO|*U#;qrGuCChi`fCn}bRcov5_=tAo@%42leh|Hm`nX2m248~Nx* z>2asj`!!L7Z;j>Lrk<&XSjw%COlNlZqx1z&%DM6imU$hmbmGto$2lG8DlEllPi!cr z=zC3a;Y#a4RHenm7rZx)QU&!A`tT7~FCDek(OanNSD-xp=tyx1(i?*s&d|`7;gg~H9UQsWQCcd| zQCE8YQu*G?v_p%%Iz##yE!&9YTxL#p}W9z?<;2BK-LllfzHSpYZ-u}(mR z5PW5t$n*qbrL3(gH1VkZ+)pA5bX_0HBmCITG3|_B=mF~?3`J&(i=52sqFOtpc}488 z@)Dm$oaBGDKCiE^ru3{{JMM)nK>jH%<6H8uY>m#qGRP9*>&&f6H5Tb^-)xO5;g23w z$212wXo{FH^i*+@?L7*<{KcRTzB%H7fSY)@M5BEyM#5OKLEoxXfb*;c$GCIdY$TU$ zH~<{oCN4fbowzqEw>7Zp+{S`o}(Igsae=s{c~_^LKL&cQWYtIH}rB5W$+_cnlE# z91G{0&n}Me2NW&9$z^t(`FhzP-1WYI%&^1Pm@%=@fMrE<~+yNxho`G#pVOLcc_=gGszQ zfYSo;aU1gtRGX`*sf~S=S`53Hz^1Oh{pyTE>-6Jl?2K9iYRgh`vvPu_>dmdIF4R1X;ZW`4isvlO#ComwnQgR#if^ks=1-lZdCIT5z zew5lJ1V}l{;H-u9JjJUB0qd%uz#oFoj>vG@g>op3O!&S@_#Q4AKZZ*wG?mWWy>OxI z?_-|aEl;dR!9?fz0{zEYczEI;3KsunPTK~o%+f&uxvwpTABl2U5>(-d#tAX{2ax5h zpEf?iPeXMO54n6QX{B+^{q&Hw)rM5O`m_M#*%D{oyyx;aCy6oS zJ;pE#cvWcbm{Qw3!0LOMp&??nA>dJ}Hpxrd-w+l!OFc_aLi(LH^6?TvxQEUVlhU?c z%TZ~2c`@obxp@aPH5Lr1VeoH6`=$$b6ph`6BF#WN4ec` zEz9?Y3wE38){gLX<{c9}MSDh;mF<>Qhe2YC`@%CV>l{`2mbTl6KJZPq?mIwBqe4m; zd%3=LkjGv9;$-y#$WAhDX20?ZtX;&pjA#^iR11DOay+StlC0*v;S4mAhuf7nB z7uthM6sMt~AzoXwrs;r%Zn$27z5S?BZ?0^jeL{UOrB)sS4}(d3S#Ppw!!?`2rIjryLkqE-tkxcZzcd>f&1zJlB?H3vI`PjIYZtJ20x~%^e zaV=FLTI2_BP2Y;%_sg5aN!XC&^bNZ7Oh{a>sMhe?moO+#?Q7J0^nj|93SOV3@-D@J zs6NrcQvz{!^x1Tv)7B(O-ebNqB6dk&M8CeO0haenVQfwTj{t`oe}p?ltIKMf@^?4w zR5t0ff!npm-D56dY2uB>{~;9R-&FoN>wTB8K%5d^|8pJV29S#M@27H&H~;Ye3lTVc zjQ8(N9oZRv>FAH|Wb}6Vr5zm|d2I>_^3QI*aM-BrVGk#?dCb%S0 z0J2^)#{Lf`!M(bn(=oCxaZC3Q&zd~__;{<}faH4Y0hL?mDA2=QWD4+JS#B)XGJmro zeMyQ-)G#-PG%pP~o1|3DT+tbXc@NkWW}N~}@ZwT2+pneLqnOlWdnAW`P^n|OOswJV zA^hfv8T1*~Q@Yf2yE~N^!4w+^rEM(_X$`a|)#fgT5=o?|zvNv5C-hHZb7V>ga`l>$AS6fk7;4#@~xW^6UcoJe));*OrK? zoSB`S(J?Ar)iS(yKd-$E(zX#G5O1|h90uBzc=eXXuPzk_TLmYF zJx+HXpD?H)wT3v}HnQ<%Yr)U`@rjk6fPH*D8LS|>BD|VWb`INoB{rB@=JCI|1EsMaOP%Fh&-h>X61o$vZXxy_9@4+_ftuHwlCjy z9_pm@ZA}U*Uqf|Y{U!?Z);?8g`A@J1V7zkNBVy|WUr$x?_E&n^xh#b^AyG)->(tK? zCs&{vb>%e18OH`(2uxx?97T5gLtPJ{wG+>T7Jvvn@ri6|jUzM6z8QKfE(;2s$BQ@C z2DhwKRwuMw$AfX6(Vb{?1}jWTMKjxDW!_K4-;;rJpEi8&=uxzG)ezW32b-Ke;DOl; z>P53RBEGiyzmDiXg)e=^)zVA5`7ox!wRH`E#lt3azH#Wc)1FGaDw5QJjcg{`zfS>W zvBUIWhcy^{1DZO6?;2?BHIwe%i@cOXSMwvocQ_7sEi{_~+|%aQf%kYIB*Nl)xuIM1 F{{i$T{+j>* literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_storage_tank_front_8.png b/technic/pipeworks/textures/pipeworks_storage_tank_front_8.png new file mode 100644 index 0000000000000000000000000000000000000000..0bd0f3f736624fe1ca6595b033dac994a82fdcaf GIT binary patch literal 5128 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 af5K6EM13;;(E#v(4}`L~W==A7jr%{8VI+wF literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_testobject.png b/technic/pipeworks/textures/pipeworks_testobject.png new file mode 100644 index 0000000000000000000000000000000000000000..38f85b79d6d524ee97131c85289e972a9e4e25f8 GIT binary patch literal 4781 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 literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_tube_noctr.png b/technic/pipeworks/textures/pipeworks_tube_noctr.png new file mode 100644 index 0000000000000000000000000000000000000000..a654bba94f10928588216af7ecb530142932ff84 GIT binary patch literal 1979 zcmV;s2SoUZP)$Bvz* ztq?*&`~Y?!B#7ElSb$iA_>C+pu_)?>cY*STMHh6#3bCMVn#Pa#HS?`zzP32e#-hHP zNQpC^Ilgnxy=SfoDzc4@4Mi!%{QNwwU%yVK8Do2UTkY)Z008dazfY=|C#?#AD2kBh zIUL8CdW`-3eGo#Rl&Wf))d4U+KaVJiFgG_>`ume7Pe!iF^E@!dkY!o@0O)i&5JDgb zg3{k@+a5WFWm!;4oyv>;82~~EaL!Q_Md|N%?%W|ypFSPx1-5O25CY4x>IXm=hEPfk zebTK~Yv>qhnnFs6JkRR~fbaX*-Q9(ha^N*dl8gkPC<=I-GNn&UM{m+hmv*ooN8FECZ#(Z?U?% z`d5OZX)lgr^m@Iq7~{+V(C_!Lu&^-IF~$mZszT3lR&Wm)yi1B4Lh^?GLVZ{EC_ zD4la%*Tj!nW`as7FvdX0=oDTDy`#3fy9-Jw2qBoCpRXSPj4?KQi{F3z4`$lrG(=+$M)|aI$K#;AunFMP-U55ZD~*lfiMh_rm6XE*mf9{ z?n)^uO@(0&|9c>9#9koY}+1K44t&Hs*!V!JkO7TSgS-x z2m#;s$GZOR-Mi%F%a`ipw(xzwo_T;$3Q8#)9v)6TMwVqzN{vOOXVL?bB!LiO?El=l zb&H&g0Z|my698SqkE#VmjBh_d$P!xrs8_v1mUf=hzx3_09vN(=S zhNmO6E_@hcI6OQAAq0ewQ&SjY%ml#4j~^@Bwqe^gI-L$I%L1j;dNRk9f zDN~Iy#?Wjw5k(O==je93ux%Tj=Yg!RudAXc;JPk)y&f#fLLA3vG#aK1wQU=Do}0*S zSr)=Dgy(rkk_41e#BmJUw#|*REW^Wx4`<@L>+9<(iXu~3F~-asgCKxy+hB|#O;a?R zO-L!tBK7>^I0mH@jYb1`o+HaLSe6BT`SN9SIvu2G3g7q9YPFCg3GzIL5CW7^q-lyc zjt#vLTfaU3H}Q={K$9blGr{``5gS}g=Y0L!w_@Au7Obgb|^5BvN3a2y9w6yegP zOUHDHlb)4jSvk9W`}VE6(yIa+C9F;y1g8-oCoOen8pNhZl0JR3jlB5z8(IbXV0FgD&26_HgZ7& z;=n-P9d;g9hWOFC|6ka!;9aIf4LY+N%bq`fUMs5n@ZrPk=exDFRVxq%F%_M3?`Z3G zyR~|ngP4s@Qm!7gDofO9_xdo4qNp5zYuB!k&!0a}jOw^b&#Y}}X^Bk3I71ItrUBqz zW`G+T8&lo)%a<>zv=*3_!m5<3huOly!pyb-+1lDtoO2^C*CL!Kc-bD3`3LKXz@k}0e*0BfH;nii3E%>{QUXToXqM*rADKH-@ku@ zQVPZxD5XXqDT)GVni@f5mW@q2J3H_^4{;ou;A`79e*O9d&NAxG|L{eEp$~=IF1p=@xcCo zcDqf=l%_6t9^@l{2Nu2-y N002ovPDHLkV1kN|p&eeTkH@ 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 KMNUMnLSTY1#Yd_D literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_tube_transparent.png b/technic/pipeworks/textures/pipeworks_tube_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..4b4ee1fcb28be267ec2229b3f3f22a7f3908a6e9 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=I14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sf9S#Y8Gli|Uw;Tlu@p!s8hHzX@PFNrV~5 A3jhEB literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_valvebody_bottom.png b/technic/pipeworks/textures/pipeworks_valvebody_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..05f20e37dbc285a7895eb25efc037342830fb796 GIT binary patch literal 5321 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 literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_valvebody_ends.png b/technic/pipeworks/textures/pipeworks_valvebody_ends.png new file mode 100644 index 0000000000000000000000000000000000000000..2bc3ecbd730ff4697034cc5084489b1a6361cdd6 GIT binary patch literal 6138 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 aLGXWXcye`3*oN2u000000009a7bBm000XU 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 literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_valvebody_top_off_x.png b/technic/pipeworks/textures/pipeworks_valvebody_top_off_x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ab49389e44a54f02f2d0129d35a8adf3c61ee50 GIT binary patch literal 4557 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 literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_valvebody_top_off_z.png b/technic/pipeworks/textures/pipeworks_valvebody_top_off_z.png new file mode 100644 index 0000000000000000000000000000000000000000..d645b2dd5be7f5724825c5b56921801a5bd5ffad GIT binary patch literal 4768 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 Ef|^(HUjP6A literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_windowed_empty.png b/technic/pipeworks/textures/pipeworks_windowed_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..ebd4486fdc7bcc4a84516db125fbe3e22b8fdb7f GIT binary patch literal 1945 zcmV;K2WI$*P)00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-pn5)1)3EKK4I000L#NklMm6GK&Zc zi|FDSW>H<<+uy)8g-jzhv#O}5qh}Fiw$-busEQ4W*#FgS=yvdbnZt;Rmh~5)b@68I zINq#NXHXILTbQf4?G|4c06bzzuR(9X88CY1&Bg#|T z21fHwzv|aBU0k;d0000H^Msz6CHM)8PZC@u%xmZmVJW{-Rc5ng@DtfVU*?o8^uB=R z^k#b&hf;mIOtN@V8F8%b3Q-xooQ2tZOE1yai#O0CViwg@Ji*MZWrz<^S?{UENkLn~ zPL=tvh|`tlY@*+@JrN;d*1|~6AW1bT3(Fy*r}LIbIEvr1dJI|=j_5r;wDMtC|D))M z2mrDOizMMgL{id5A96BpA-EdHbq$T6Cj(38_!c;QEXDl{8+DDIh_Z90N@I6n;WN)M zODoG!S;#hkx$W3QES>9A!VKtT>1H?4BVw*(ToIpfnLoy!EZTGEp~3dj-6$eD`Mpe> zQ%1JYTNq~%5tXFM4*$ybotyYC^pHbYho}wiF`+*iwcW)zJ$fJlUx11~Q8=XTE}mMl ziiBxCE1loVIuK{pdNgY5&l<#1B~zJKV>)YQs%{@p`s%xEB~!M#jM|-SMT7ypeMLlH z0Bggs@X@*+>7sV66l9re=cv7t?}-qguED-m7828ImzkxLqQd4w+|Y~MQVL7-5<~pj zbFlXu+X0V(2yW*4<2ZUP8H8$QdpSpcoN&Vp^n>RN1nLV|qHla(ynLYQRn&Iotm}7e zvGyF@_nf#G44+(+K(7>xb6Q;1Y!!8mbmKgt_k4G%1@H2lx|o8z>{6`OI?a64k)n{9 zBg(4#nU67BIr_WxeTN=_VD0xMfI|$ppA@z}28Ar9#^&lor(7E|#B+>ke{l5sx}-*< zrS57PQ#y^w$5m}LD21l$Uci_q==~Z1FdChtuS{Vb(91dyFLlm?et&BFA|$BMsJN{s z^b4xKySCa<$e9SKfCr*naIS1${3p<;7lsSl%j`K4lh{UWwWE-c0D*8#ImPyffIwkA zjfFxD&=(dfm3D7sxT%oQ90rT$4Cn~}kszWEEF@8f%3$NsxnEk>(q*pg2iph$wtB#u z65a^nK#-kzl=<+^XXN{<%J7!o|NQy$^Yiof z@893QfB*60$4$?{Mbxfs?_UuJDO+7K=F|uHehQM$&rd}B`1tty_wT+!_5>XEQ0AR=Ve%G&GzXk)#k}`$6e%5>Wo^GM{-Y!KkC#^%cCj3&J{2$Oa-pcJL$qqKA zuzmRS;XUYsF7iB3p4$36_cP`$dY7CpKwruM%F-)^H==Kn^BMFxB)2N&3i-%LId4#D z_yXG#d0kv+blnMjs+aa2zjsX>ZM(Gqn0JUu?2u3`=WEwase_OFfPy&Hj=@e z{{1c6L)@#O<>u%s4-|9IdI4LukLYjlJ>K;DASvzg7`2Wb0f4gY2A+O$QPX;NZS^GQ zV5jeE*tpKI{mJ1(VERDSLc>Yu?K8vYE5lG6ckO?ykpS72ac+APLwV>m^you`4NBq3 z%CMNAG!n@LGR2W<#RW`G%C{L^f|!7=iFN fz9rGnrGv_DH%zf900000NkvXXu0mjfd8@)W literal 0 HcmV?d00001 diff --git a/technic/pipeworks/textures/pipeworks_windowed_loaded.png b/technic/pipeworks/textures/pipeworks_windowed_loaded.png new file mode 100644 index 0000000000000000000000000000000000000000..91c4829eb6d1f135c6e91057a492677acdfe5125 GIT binary patch literal 1950 zcmV;P2VwY$P)00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-pn5)2S0g_`_-000L)Nkl)HE}<_A z=uYppR}?7Cr|Tq}C)JUHwO;|l?Bxno_bt1LzFm9)Ju_#RrRoW8ZmUCjz_8y_kCTeF zg`Jt|;Spy$&$)>Hn(ak|nX^?!Dh!g$k|`7iV5jreNI0tBtCbk^D4fxk_^`%@Vg1jd z7ZD=LfC34607%I?ec)u?N^mWX+ZsASF9yco_#QZ8EXDl{8+9AKh~&bVhR*I#=$YrZ zrA=`(7V-^H?K`#*%iubVFavsQ-Rv%UX3mX_8{#uAE06If!$uB0EZ82yjR0)%dn}w& zM=qoHFwOvANM>5#-?IJSCgm4);4rl*YJ+<$=#Nfq4{^?joM%qqhBQL5wDu>bw@ySvOO2`+%~ne#ll>venI~y^^g&IH32h%v=_r z)^Tinw59=N9zw&)Q<{I=)t z=sCUvB?cn6mG6(^7`0>&s)Oxuj{Z2|hCApd&zT6cEMSYi^L_R5iK=%|JD9Vrzi5lS z=h$`6iHqUz$t?+tO2Ij&$7Rb_QRiS7*BO1ucc)tLAQV zU0q{h(3pDMs;wra&~@D#81n>uxrT_GMi=ReC9DH_>;v(p&Uw=BPid;)&RJFWQUt#NJ;%YZ7^sO%JIJA17E&r^rLa-mr$z7;^jR`rh}yW+k_U=r z0n}M&tqe`|xKJ66p7W^fS(u#{cZ|8BCn6>$p z{{H&yk8gK9hc{8Xw|)7_BrMtMk~yb7!S_p$*f0C^`BOsr^XH$}6>>?yVL$H3X*9iq zT~&S^{gSQl6Tj1M`b@@lR$HBN4zqV1Zlh;r9-KbJ<}op*Zgj!0o`rV5{Qg3Jk^N)z zndA|rKt#fPx0ES&{rK@?GBCE32_5=bAItZ0&-SIaD^bj$cL?`{U#pY<1NzQexgRC@ z!NwA{PoF+~4EmspN*<_B?R}od8S^UoB01lHzLo=$F)D=*MBgRnE9i4bZcWTp@|i;R zLsS~S!S*7hF0Nv3-wAxFm-aD!Uo>f`=}UKd(+TW{We@h!wtdX^p)cJEKVYiO-CZXT z+tY^&oxrIZMPqUG7W9&tiL00kXaBpXZLOK2YP*UpL`g}ZU`J|U7AA+7Gb|q>_srn-4@cmxe(|+$3cX{d~^_CjM z!^z}R-KaOBA9$=ptwi)b5>9AB$NZ&Jw>R0o^O)N{cfWT_`G~J1qn*@0`j*9&+Um5Y zaL03a#OlVH^$0NwFTGJbd2aOqQOhxEi7I5N-MQh2>7@DdVi)$ZzQ4mcM8q|L1w9px zm@uA!zC-8q40fqHY2)>}j^3lTu+aRO<@8(7v-ob)qv$CVTSOePFBeYQE&$5`;|9HO zCmFudzrSaDihDJ++zR@}1JxX|U%(~XNA&mjp6~j7kd%ITjM{>piAb{V2A_U%Rnzux zZS^AO@SyKo*c6@P`;)_o!1AG{g{G6x`)7u)SB9ZD9@_uhB7w3mkOZ6rz&$P!1Il~2GAubg3Pd;SQeFf#!Q2{ARkm%w4C=xel4R#>WUUjB!5 zZMcj(dSPiT-7DzLth}}OD0;5h3lNlwVMC(G^*EGJK&_AiII|vjnH`W_cS`*p2 kQDKC_-}sh9N1syq7pGJ?dPPYj(*OVf07*qoM6N<$f`%^L00000 literal 0 HcmV?d00001 diff --git a/technic/pipeworks/tubes.lua b/technic/pipeworks/tubes.lua new file mode 100644 index 0000000..7a05d92 --- /dev/null +++ b/technic/pipeworks/tubes.lua @@ -0,0 +1,217 @@ +-- This file supplies pneumatic tubes and a 'test' device + +minetest.register_node("pipeworks:testobject", { + description = "Pneumatic tube test ojbect", + tiles = { + "pipeworks_testobject.png", + }, + paramtype = "light", + groups = {snappy=3, tubedevice=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + tube_scanforobjects(pos) + end, + after_dig_node = function(pos) + tube_scanforobjects(pos) + end, +}) + +-- tables + +minetest.register_alias("pipeworks:tube", "pipeworks:tube_000000") + +tube_leftstub = { + { -32/64, -9/64, -9/64, 9/64, 9/64, 9/64 }, -- tube segment against -X face +} + +tube_rightstub = { + { -9/64, -9/64, -9/64, 32/64, 9/64, 9/64 }, -- tube segment against +X face +} + +tube_bottomstub = { + { -9/64, -32/64, -9/64, 9/64, 9/64, 9/64 }, -- tube segment against -Y face +} + + +tube_topstub = { + { -9/64, -9/64, -9/64, 9/64, 32/64, 9/64 }, -- tube segment against +Y face +} + +tube_frontstub = { + { -9/64, -9/64, -32/64, 9/64, 9/64, 9/64 }, -- tube segment against -Z face +} + +tube_backstub = { + { -9/64, -9/64, -9/64, 9/64, 9/64, 32/64 }, -- tube segment against -Z face +} + +tube_selectboxes = { + { -32/64, -10/64, -10/64, 10/64, 10/64, 10/64 }, + { -10/64 , -10/64, -10/64, 32/64, 10/64, 10/64 }, + { -10/64 , -32/64, -10/64, 10/64, 10/64, 10/64 }, + { -10/64 , -10/64, -10/64, 10/64, 32/64, 10/64 }, + { -10/64 , -10/64, -32/64, 10/64, 10/64, 10/64 }, + { -10/64 , -10/64, -10/64, 10/64, 10/64, 32/64 } +} + +-- Functions + +function tube_addbox(t, b) + for i in ipairs(b) + do table.insert(t, b[i]) + end +end + +-- now define the nodes! + +for xm = 0, 1 do +for xp = 0, 1 do +for ym = 0, 1 do +for yp = 0, 1 do +for zm = 0, 1 do +for zp = 0, 1 do + local outboxes = {} + local outsel = {} + local outimgs = {} + + if yp==1 then + tube_addbox(outboxes, tube_topstub) + table.insert(outsel, tube_selectboxes[4]) + table.insert(outimgs, "pipeworks_tube_noctr.png") + else + table.insert(outimgs, "pipeworks_tube_plain.png") + end + if ym==1 then + tube_addbox(outboxes, tube_bottomstub) + table.insert(outsel, tube_selectboxes[3]) + table.insert(outimgs, "pipeworks_tube_noctr.png") + else + table.insert(outimgs, "pipeworks_tube_plain.png") + end + if xp==1 then + tube_addbox(outboxes, tube_rightstub) + table.insert(outsel, tube_selectboxes[2]) + table.insert(outimgs, "pipeworks_tube_noctr.png") + else + table.insert(outimgs, "pipeworks_tube_plain.png") + end + if xm==1 then + tube_addbox(outboxes, tube_leftstub) + table.insert(outsel, tube_selectboxes[1]) + table.insert(outimgs, "pipeworks_tube_noctr.png") + else + table.insert(outimgs, "pipeworks_tube_plain.png") + end + if zp==1 then + tube_addbox(outboxes, tube_backstub) + table.insert(outsel, tube_selectboxes[6]) + table.insert(outimgs, "pipeworks_tube_noctr.png") + else + table.insert(outimgs, "pipeworks_tube_plain.png") + end + if zm==1 then + tube_addbox(outboxes, tube_frontstub) + table.insert(outsel, tube_selectboxes[5]) + table.insert(outimgs, "pipeworks_tube_noctr.png") + else + table.insert(outimgs, "pipeworks_tube_plain.png") + end + + local jx = xp+xm + local jy = yp+ym + local jz = zp+zm + + if (jx+jy+jz) == 1 then + if xm == 1 then + table.remove(outimgs, 3) + table.insert(outimgs, 3, "pipeworks_tube_end.png") + end + if xp == 1 then + table.remove(outimgs, 4) + table.insert(outimgs, 4, "pipeworks_tube_end.png") + end + if ym == 1 then + table.remove(outimgs, 1) + table.insert(outimgs, 1, "pipeworks_tube_end.png") + end + if xp == 1 then + table.remove(outimgs, 2) + table.insert(outimgs, 2, "pipeworks_tube_end.png") + end + if zm == 1 then + table.remove(outimgs, 5) + table.insert(outimgs, 5, "pipeworks_tube_end.png") + end + if zp == 1 then + table.remove(outimgs, 6) + table.insert(outimgs, 6, "pipeworks_tube_end.png") + end + end + + local tname = xm..xp..ym..yp..zm..zp + local tgroups = "" + + if tname ~= "000000" then + tgroups = {snappy=3, tube=1, not_in_creative_inventory=1} + tubedesc = "Pneumatic tube segment ("..tname..")... You hacker, you." + iimg=nil + wscale = {x=1,y=1,z=1} + else + tgroups = {snappy=3, tube=1} + tubedesc = "Pneumatic tube segment" + iimg="pipeworks_tube_inv.png" + outimgs = { + "pipeworks_tube_short.png", + "pipeworks_tube_short.png", + "pipeworks_tube_end.png", + "pipeworks_tube_end.png", + "pipeworks_tube_short.png", + "pipeworks_tube_short.png" + } + outboxes = { -24/64, -9/64, -9/64, 24/64, 9/64, 9/64 } + outsel = { -24/64, -10/64, -10/64, 24/64, 10/64, 10/64 } + wscale = {x=1,y=1,z=0.01} + end + + minetest.register_node("pipeworks:tube_"..tname, { + description = tubedesc, + drawtype = "nodebox", + tiles = outimgs, + inventory_image=iimg, + wield_image=iimg, + wield_scale=wscale, + paramtype = "light", + selection_box = { + type = "fixed", + fixed = outsel + }, + node_box = { + type = "fixed", + fixed = outboxes + }, + groups = tgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + stack_max = 99, + drop = "pipeworks:tube_000000", + tubelike=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_int("tubelike",1) + end, + after_place_node = function(pos) + tube_scanforobjects(pos) + end, + after_dig_node = function(pos) + tube_scanforobjects(pos) + end + }) + +end +end +end +end +end +end + diff --git a/alloy_furnace.lua b/technic/technic/alloy_furnace.lua similarity index 98% rename from alloy_furnace.lua rename to technic/technic/alloy_furnace.lua index fd0bc70..83496e1 100644 --- a/alloy_furnace.lua +++ b/technic/technic/alloy_furnace.lua @@ -19,6 +19,16 @@ alloy_recipes[registered_recipes_count].src2_count=count1 alloy_recipes[registered_recipes_count].dst_name=string3 alloy_recipes[registered_recipes_count].dst_count=count3 registered_recipes_count=registered_recipes_count+1 +if UI_recipes_hook then + minetest.register_craft({ + type = "alloy", + output = string3.." "..count3, + recipe = { + {string1.." "..count1}, + {string2.." "..count2}, + } + }) + end end register_alloy_recipe ("technic:copper_dust",3, "technic:tin_dust",1, "technic:bronze_dust",4) @@ -26,7 +36,7 @@ register_alloy_recipe ("moreores:copper_ingot",3, "moreores:tin_ingot",1, "moreo register_alloy_recipe ("technic:iron_dust",3, "technic:chromium_dust",1, "technic:stainless_steel_dust",4) register_alloy_recipe ("default:steel_ingot",3, "technic:chromium_ingot",1, "technic:stainless_steel_ingot",4) register_alloy_recipe ("technic:copper_dust",2, "technic:zinc_dust",1, "technic:brass_dust",3) -register_alloy_recipe ("technic:copper_ingot",2, "technic:zinc_ingot",1, "technic:brass_ingot",3) +register_alloy_recipe ("moreores:copper_ingot",2, "technic:zinc_ingot",1, "technic:brass_ingot",3) register_alloy_recipe ("default:sand",2, "technic:coal_dust",2, "technic:silicon_wafer",1) register_alloy_recipe ("technic:silicon_wafer",1, "technic:mithril_dust",1, "technic:doped_silicon_wafer",1) @@ -421,4 +431,4 @@ minetest.register_abm({ inv:set_stack("fuel", 1, stack) end, -}) \ No newline at end of file +}) diff --git a/battery_box.lua b/technic/technic/battery_box.lua similarity index 100% rename from battery_box.lua rename to technic/technic/battery_box.lua diff --git a/battery_box_mv.lua b/technic/technic/battery_box_mv.lua similarity index 99% rename from battery_box_mv.lua rename to technic/technic/battery_box_mv.lua index 6288589..ae448e0 100644 --- a/battery_box_mv.lua +++ b/technic/technic/battery_box_mv.lua @@ -206,7 +206,7 @@ minetest.register_abm({ MV_nodes[1].y=pos1.y MV_nodes[1].z=pos1.z MV_nodes[1].visited=false - + table_index=1 repeat check_MV_node (PR_nodes,RE_nodes,MV_nodes,table_index) @@ -318,4 +318,4 @@ meta = minetest.env:get_meta(pos1) if meta:get_float("mv_cablelike")==1 then new_node_added=add_new_MVcable_node(MV_nodes,pos1) end if minetest.env:get_node(pos1).name == "technic:solar_panel_mv" then new_node_added=add_new_MVcable_node(PR_nodes,pos1) end end - \ No newline at end of file + diff --git a/cans.lua b/technic/technic/cans.lua similarity index 68% rename from cans.lua rename to technic/technic/cans.lua index 2809498..d50a621 100644 --- a/cans.lua +++ b/technic/technic/cans.lua @@ -29,33 +29,32 @@ minetest.register_tool("technic:water_can", { if pointed_thing.type ~= "node" then return end - n = minetest.env:get_node(pointed_thing.under) + + item=itemstack:to_table() + local load=nil + if item["metadata"]=="" then load=0 + else load=tonumber(item["metadata"]) + end + if n.name == "default:water_source" then - item=itemstack:to_table() - local load=tonumber((item["wear"])) - if load==0 then load =65535 end - load=get_RE_item_load(load,water_can_max_load) if load+1<17 then minetest.env:add_node(pointed_thing.under, {name="air"}) load=load+1; - load=set_RE_item_load(load,water_can_max_load) - item["wear"]=tostring(load) + item["metadata"]=tostring(load) + set_RE_wear(item,load,water_can_max_load) itemstack:replace(item) end return itemstack end item=itemstack:to_table() - load=tonumber((item["wear"])) - if load==0 then load =65535 end - load=get_RE_item_load(load,water_can_max_load) - if load==0 then return end + if load==0 then return end if n.name == "default:water_flowing" then minetest.env:add_node(pointed_thing.under, {name="default:water_source"}) load=load-1; - load=set_RE_item_load(load,water_can_max_load) - item["wear"]=tostring(load) + item["metadata"]=tostring(load) + set_RE_wear(item,load,water_can_max_load) itemstack:replace(item) return itemstack end @@ -64,8 +63,8 @@ minetest.register_tool("technic:water_can", { if n.name == "air" then minetest.env:add_node(pointed_thing.above, {name="default:water_source"}) load=load-1; - load=set_RE_item_load(load,water_can_max_load) - item["wear"]=tostring(load) + item["metadata"]=tostring(load) + set_RE_wear(item,load,water_can_max_load) itemstack:replace(item) return itemstack end @@ -78,7 +77,45 @@ minetest.register_tool("technic:lava_can", { stack_max = 1, liquids_pointable = true, on_use = function(itemstack, user, pointed_thing) + + item=itemstack:to_table() + local load=nil + if item["metadata"]=="" then load=0 + else load=tonumber(item["metadata"]) + end + if n.name == "default:water_source" then + if load+1<17 then + minetest.env:add_node(pointed_thing.under, {name="air"}) + load=load+1; + item["metadata"]=tostring(load) + set_RE_wear(item,load,water_can_max_load) + itemstack:replace(item) + end + return itemstack + end + item=itemstack:to_table() + if load==0 then return end + + if n.name == "default:lava_flowing" then + minetest.env:add_node(pointed_thing.under, {name="default:lava_source"}) + load=load-1; + item["metadata"]=tostring(load) + set_RE_wear(item,load,water_can_max_load) + itemstack:replace(item) + return itemstack + end + + n = minetest.env:get_node(pointed_thing.above) + if n.name == "air" then + minetest.env:add_node(pointed_thing.above, {name="default:lava_source"}) + load=load-1; + item["metadata"]=tostring(load) + set_RE_wear(item,load,water_can_max_load) + itemstack:replace(item) + return itemstack + end + if pointed_thing.type ~= "node" then return end diff --git a/chainsaw.lua b/technic/technic/chainsaw.lua similarity index 94% rename from chainsaw.lua rename to technic/technic/chainsaw.lua index 9f69fd9..9970935 100644 --- a/chainsaw.lua +++ b/technic/technic/chainsaw.lua @@ -26,7 +26,7 @@ minetest.register_craft({ output = 'technic:chainsaw', recipe = { {'technic:stainless_steel_ingot', 'technic:stainless_steel_ingot', 'technic:battery'}, - {'technic:stainless_steel_ingot', 'technic:stainless_steel_ingot', 'technic:battery'}, + {'technic:stainless_steel_ingot', 'technic:motor', 'technic:battery'}, {'','','moreores:copper_ingot'}, } }) diff --git a/concrete.lua b/technic/technic/concrete.lua similarity index 88% rename from concrete.lua rename to technic/technic/concrete.lua index 0a480a0..6d031d9 100644 --- a/concrete.lua +++ b/technic/technic/concrete.lua @@ -71,4 +71,13 @@ minetest.register_node("technic:concrete_post", { groups = {cracky=1}, sounds = default.node_sound_stone_defaults(), -}) \ No newline at end of file +}) + +stairsplus.register_stair_and_slab_and_panel_and_micro("concrete", "technic:concrete", + {cracky=3}, + {"technic_concrete_block.png"}, + "Concrete Stairs", + "Concrete Slab", + "Concrete Panel", + "Concrete Microblock", + "concrete") diff --git a/technic/technic/config.lua b/technic/technic/config.lua new file mode 100644 index 0000000..3fa1282 --- /dev/null +++ b/technic/technic/config.lua @@ -0,0 +1,10 @@ +enable_item_drop=false +enable_item_pickup=true +enable_technic_inventory=true +enable_mining_drill=true +enable_mining_laser=true +enable_flashlight=true +enable_rubber_tree_generation=true +enable_marble_generation=true +enable_granite_generation=true +enable_obsidian_generation=true diff --git a/constructor.lua b/technic/technic/constructor.lua similarity index 100% rename from constructor.lua rename to technic/technic/constructor.lua diff --git a/copper_chest.lua b/technic/technic/copper_chest.lua similarity index 100% rename from copper_chest.lua rename to technic/technic/copper_chest.lua diff --git a/technic/technic/creative.lua b/technic/technic/creative.lua new file mode 100644 index 0000000..7b4c493 --- /dev/null +++ b/technic/technic/creative.lua @@ -0,0 +1,21 @@ +technic.creative_inventory_size = 0 +technic.creative_list = {} + +-- Create detached creative inventory after loading all mods +minetest.after(0, function() + local inv = minetest.create_detached_inventory("technic_creative", {}) + technic.creative_list = {} + for name,def in pairs(minetest.registered_items) do + if (not def.groups.not_in_creative_inventory or def.groups.not_in_creative_inventory == 0) + and def.description and def.description ~= "" then + table.insert(technic.creative_list, name) + end + end + table.sort(technic.creative_list) + --inv:set_size("main", #technic.creative_list) + --for _,itemstring in ipairs(technic.creative_list) do + -- local stack = ItemStack(itemstring) + -- inv:add_item("main", stack) + --end + --technic.creative_inventory_size = #technic.creative_list +end) diff --git a/depends.txt b/technic/technic/depends.txt similarity index 76% rename from depends.txt rename to technic/technic/depends.txt index bfbfdf1..8f4edab 100644 --- a/depends.txt +++ b/technic/technic/depends.txt @@ -2,4 +2,4 @@ moreores flowers pipeworks mesecons -farming +stairsplus diff --git a/deployer.lua b/technic/technic/deployer.lua similarity index 100% rename from deployer.lua rename to technic/technic/deployer.lua diff --git a/electric.lua b/technic/technic/electric.lua similarity index 100% rename from electric.lua rename to technic/technic/electric.lua diff --git a/electric_furnace.lua b/technic/technic/electric_furnace.lua similarity index 98% rename from electric_furnace.lua rename to technic/technic/electric_furnace.lua index 6563efb..ab56bdb 100644 --- a/electric_furnace.lua +++ b/technic/technic/electric_furnace.lua @@ -107,8 +107,9 @@ minetest.register_abm({ local load = math.floor(internal_EU_buffer/2000 * 100) meta:set_string("formspec", "invsize[8,9;]".. + "background[-1,-1;10,11;technic_electric_furnace_GUI.png]".. "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. - (load)..":technic_power_meter_fg.png]".. + (load)..":technic_power_meter_fg.png]".. "list[current_name;src;3,1;1,1;]".. "list[current_name;dst;5,1;2,2;]".. "list[current_player;main;0,5;8,4;]".. diff --git a/flashlight.lua b/technic/technic/flashlight.lua similarity index 99% rename from flashlight.lua rename to technic/technic/flashlight.lua index c9901d1..460cc21 100644 --- a/flashlight.lua +++ b/technic/technic/flashlight.lua @@ -13,7 +13,7 @@ flashlight_max_charge=30000 minetest.register_craft({ output = "technic:flashlight", recipe = { - {"glass","glass","glass"}, + {"technic:rubber","glass","technic:rubber"}, {"technic:stainless_steel_ingot","technic:battery","technic:stainless_steel_ingot"}, {"","technic:battery",""} } diff --git a/technic/technic/flashlight_old.lua b/technic/technic/flashlight_old.lua new file mode 100644 index 0000000..8a2c338 --- /dev/null +++ b/technic/technic/flashlight_old.lua @@ -0,0 +1,176 @@ +-- original code comes from walkin_light mod by Echo http://minetest.net/forum/viewtopic.php?id=2621 + +flashlight_max_charge=30000 + + minetest.register_tool("technic:flashlight", { + description = "Flashlight", + inventory_image = "technic_flashlight.png", + stack_max = 1, + on_use = function(itemstack, user, pointed_thing) + end, + }) + + minetest.register_craft({ + output = "technic:flashlight", + recipe = { + {"glass","glass","glass"}, + {"technic:stainless_steel_ingot","technic:battery","technic:stainless_steel_ingot"}, + {"","technic:battery",""} + } + }) +local players = {} +local player_positions = {} +local last_wielded = {} + +function round(num) + return math.floor(num + 0.5) +end + +minetest.register_on_joinplayer(function(player) + local player_name = player:get_player_name() + table.insert(players, player_name) + last_wielded[player_name] = flashlight_weared(player) + local pos = player:getpos() + local rounded_pos = {x=round(pos.x),y=round(pos.y)+1,z=round(pos.z)} + local wielded_item = player:get_wielded_item():get_name() + if flashlight_weared(player)==true then + -- Neuberechnung des Lichts erzwingen + minetest.env:add_node(rounded_pos,{type="node",name="technic:light_off"}) + minetest.env:add_node(rounded_pos,{type="node",name="air"}) + end + player_positions[player_name] = {} + player_positions[player_name]["x"] = rounded_pos.x; + player_positions[player_name]["y"] = rounded_pos.y; + player_positions[player_name]["z"] = rounded_pos.z; +end) + +minetest.register_on_leaveplayer(function(player) + local player_name = player:get_player_name() + for i,v in ipairs(players) do + if v == player_name then + table.remove(players, i) + last_wielded[player_name] = nil + -- Neuberechnung des Lichts erzwingen + local pos = player:getpos() + local rounded_pos = {x=round(pos.x),y=round(pos.y)+1,z=round(pos.z)} + minetest.env:add_node(rounded_pos,{type="node",name="technic:light_off"}) + minetest.env:add_node(rounded_pos,{type="node",name="air"}) + player_positions[player_name]["x"] = nil + player_positions[player_name]["y"] = nil + player_positions[player_name]["z"] = nil + player_positions[player_name]["m"] = nil + player_positions[player_name] = nil + end + end +end) + +minetest.register_globalstep(function(dtime) + for i,player_name in ipairs(players) do + local player = minetest.env:get_player_by_name(player_name) + if flashlight_weared(player)==true then + -- Fackel ist in der Hand + local pos = player:getpos() + local rounded_pos = {x=round(pos.x),y=round(pos.y)+1,z=round(pos.z)} + if (last_wielded[player_name] ~= true) or (player_positions[player_name]["x"] ~= rounded_pos.x or player_positions[player_name]["y"] ~= rounded_pos.y or player_positions[player_name]["z"] ~= rounded_pos.z) then + -- Fackel gerade in die Hand genommen oder zu neuem Node bewegt + local is_air = minetest.env:get_node_or_nil(rounded_pos) + if is_air == nil or (is_air ~= nil and (is_air.name == "air" or is_air.name == "technic:light")) then + -- wenn an aktueller Position "air" ist, Fackellicht setzen + minetest.env:add_node(rounded_pos,{type="node",name="technic:light"}) + end + if (player_positions[player_name]["x"] ~= rounded_pos.x or player_positions[player_name]["y"] ~= rounded_pos.y or player_positions[player_name]["z"] ~= rounded_pos.z) then + -- wenn Position geänder, dann altes Licht löschen + local old_pos = {x=player_positions[player_name]["x"], y=player_positions[player_name]["y"], z=player_positions[player_name]["z"]} + -- Neuberechnung des Lichts erzwingen + local is_light = minetest.env:get_node_or_nil(old_pos) + if is_light ~= nil and is_light.name == "technic:light" then + minetest.env:add_node(old_pos,{type="node",name="technic:light_off"}) + minetest.env:add_node(old_pos,{type="node",name="air"}) + end + end + -- gemerkte Position ist nun die gerundete neue Position + player_positions[player_name]["x"] = rounded_pos.x + player_positions[player_name]["y"] = rounded_pos.y + player_positions[player_name]["z"] = rounded_pos.z + end + + last_wielded[player_name] = true; + elseif last_wielded[player_name] == true then + -- Fackel nicht in der Hand, aber beim letzten Durchgang war die Fackel noch in der Hand + local pos = player:getpos() + local rounded_pos = {x=round(pos.x),y=round(pos.y)+1,z=round(pos.z)} + repeat + local is_light = minetest.env:get_node_or_nil(rounded_pos) + if is_light ~= nil and is_light.name == "technic:light" then + -- minetest.env:remove_node(rounded_pos) + -- Erzwinge Neuberechnung des Lichts + minetest.env:add_node(rounded_pos,{type="node",name="technic:light_off"}) + minetest.env:add_node(rounded_pos,{type="node",name="air"}) + end + until minetest.env:get_node_or_nil(rounded_pos) ~= "technic:light" + local old_pos = {x=player_positions[player_name]["x"], y=player_positions[player_name]["y"], z=player_positions[player_name]["z"]} + repeat + is_light = minetest.env:get_node_or_nil(old_pos) + if is_light ~= nil and is_light.name == "technic:light" then + -- minetest.env:remove_node(old_pos) + -- Erzwinge Neuberechnung des Lichts + minetest.env:add_node(old_pos,{type="node",name="technic:light_off"}) + minetest.env:add_node(old_pos,{type="node",name="air"}) + end + until minetest.env:get_node_or_nil(old_pos) ~= "technic:light" + last_wielded[player_name] = true + end + end +end) + +minetest.register_node("technic:light", { + drawtype = "glasslike", + tile_images = {"technic_light.png"}, + paramtype = "light", + walkable = false, + is_ground_content = true, + light_propagates = true, + sunlight_propagates = true, + light_source = 15, + selection_box = { + type = "fixed", + fixed = {0, 0, 0, 0, 0, 0}, + }, +}) +minetest.register_node("technic:light_off", { + drawtype = "glasslike", + tile_images = {"technic_light.png"}, + paramtype = "light", + walkable = false, + is_ground_content = true, + light_propagates = true, + sunlight_propagates = true, + selection_box = { + type = "fixed", + fixed = {0, 0, 0, 0, 0, 0}, + }, +}) + +function flashlight_weared (player) +flashlight_on=false +local inv = player:get_inventory() +local hotbar=inv:get_list("main") + for i=1,8,1 do + + if hotbar[i]:get_name() == "technic:flashlight" then + item=hotbar[i]:to_table() + if item["metadata"]=="" or item["metadata"]=="0" then return flashlight_on end --flashlight not charghed + charge=tonumber(item["metadata"]) + if charge-2>0 then + flashlight_on=true + charge =charge-2; + set_RE_wear(item,charge,flashlight_max_charge) + item["metadata"]=tostring(charge) + hotbar[i]:replace(item) + inv:set_stack("main",i,hotbar[i]) + return true + end + end + end +return flashlight_on +end \ No newline at end of file diff --git a/generator.lua b/technic/technic/generator.lua similarity index 100% rename from generator.lua rename to technic/technic/generator.lua diff --git a/geothermal.lua b/technic/technic/geothermal.lua similarity index 100% rename from geothermal.lua rename to technic/technic/geothermal.lua diff --git a/gold_chest.lua b/technic/technic/gold_chest.lua similarity index 100% rename from gold_chest.lua rename to technic/technic/gold_chest.lua diff --git a/grinder.lua b/technic/technic/grinder.lua similarity index 98% rename from grinder.lua rename to technic/technic/grinder.lua index 40c068a..686ffd3 100644 --- a/grinder.lua +++ b/technic/technic/grinder.lua @@ -7,6 +7,13 @@ grinder_recipes[registered_grinder_recipes_count]={} grinder_recipes[registered_grinder_recipes_count].src_name=string1 grinder_recipes[registered_grinder_recipes_count].dst_name=string2 registered_grinder_recipes_count=registered_grinder_recipes_count+1 +if UI_recipes_hook then + minetest.register_craft({ + type = "grinding", + output = string2, + recipe = string1, + }) + end end register_grinder_recipe("default:stone","default:sand") @@ -32,7 +39,6 @@ register_grinder_recipe("flowers:flower_tulip","dye:orange 2") register_grinder_recipe("flowers:flower_rose","dye:red 2") register_grinder_recipe("flowers:flower_viola","dye:violet 2") - minetest.register_craftitem( "technic:coal_dust", { description = "Coal Dust", inventory_image = "technic_coal_dust.png", @@ -317,4 +323,4 @@ if grinder_recipes[i].src_name==item_name then return ItemStack(grinder_recipes[ end return nil -end \ No newline at end of file +end diff --git a/technic/technic/grinder_gloopores.lua b/technic/technic/grinder_gloopores.lua new file mode 100644 index 0000000..0c58c98 --- /dev/null +++ b/technic/technic/grinder_gloopores.lua @@ -0,0 +1,55 @@ +register_grinder_recipe("gloopores:alatro_lump","technic:alatro_dust 2") +register_grinder_recipe("gloopores:kalite_lump","technic:kalite_dust 2") +register_grinder_recipe("gloopores:arol_lump","technic:arol_dust 2") +register_grinder_recipe("gloopores:talinite_lump","technic:talinite_dust 2") +register_grinder_recipe("gloopores:akalin_lump","technic:akalin_dust 2") +  +minetest.register_craftitem("technic:alatro_dust", { +        description = "Alatro Dust", +        inventory_image = "technic_alatro_dust.png", +}) +  +minetest.register_craft({ +    type = "cooking", +    output = "gloopores:alatro_ingot", +    recipe = "technic:alatro_dust", +}) +  +minetest.register_craftitem("technicplus:arol_dust", { +        description = "Arol Dust", +        inventory_image = "technic_arol_dust.png", +}) +  +minetest.register_craft({ +    type = "cooking", +    output = "gloopores:arol_ingot", +    recipe = "technic:arol_dust", +}) +  +minetest.register_craftitem("technic:talinite_dust", { +        description = "Talinite Dust", +        inventory_image = "technic_talinite_dust.png", +}) +  +minetest.register_craft({ +    type = "cooking", +    output = "gloopores:talinite_ingot", +    recipe = "technic:talinite_dust", +}) +  +minetest.register_craftitem("technic:akalin_dust", { +        description = "Akalin Dust", +        inventory_image = "technic_akalin_dust.png", +}) +  +minetest.register_craft({ +    type = "cooking", +    output = "gloopores:akalin_ingot", +    recipe = "technic:akalin_dust", +}) +  +minetest.register_craftitem("technic:kalite_dust", { +        description = "Kalite Dust", +        inventory_image = "technic_kalite_dust.png", +        on_use = minetest.item_eat(2) +}) diff --git a/init.lua b/technic/technic/init.lua similarity index 86% rename from init.lua rename to technic/technic/init.lua index 8933a11..355e25e 100644 --- a/init.lua +++ b/technic/technic/init.lua @@ -1,4 +1,4 @@ --- Minetest 0.4.3 : technic +-- Minetest 0.4.4 : technic minetest.register_alias("rebar", "technic:rebar") minetest.register_alias("concrete", "technic:concrete") @@ -20,46 +20,57 @@ modpath=minetest.get_modpath("technic") --Read technic config file dofile(modpath.."/config.lua") -dofile(modpath.."/concrete.lua") +-- world gen +dofile(modpath.."/ores.lua") +if enable_rubber_tree_generation==true then dofile(modpath.."/rubber.lua") end + +-- chests dofile(modpath.."/iron_chest.lua") dofile(modpath.."/copper_chest.lua") dofile(modpath.."/silver_chest.lua") dofile(modpath.."/gold_chest.lua") dofile(modpath.."/mithril_chest.lua") -dofile(modpath.."/electric_furnace.lua") -dofile(modpath.."/battery_box.lua") -dofile(modpath.."/wires.lua") -dofile(modpath.."/wires_mv.lua") -dofile(modpath.."/ores.lua") -dofile(modpath.."/tool_workshop.lua") -dofile(modpath.."/music_player.lua") -dofile(modpath.."/grinder.lua") -dofile(modpath.."/mining_laser_mk1.lua") -dofile(modpath.."/injector.lua") -dofile(modpath.."/generator.lua") + +--items +dofile(modpath.."/concrete.lua") +dofile(modpath.."/items.lua") + +--LV machines +dofile(modpath.."/alloy_furnace.lua") dofile(modpath.."/solar_panel.lua") dofile(modpath.."/geothermal.lua") dofile(modpath.."/water_mill.lua") -dofile(modpath.."/alloy_furnace.lua") -dofile(modpath.."/items.lua") -dofile(modpath.."/mining_drill.lua") -dofile(modpath.."/screwdriver.lua") -dofile(modpath.."/sonic_screwdriver.lua") -dofile(modpath.."/node_breaker.lua") -dofile(modpath.."/deployer.lua") -dofile(modpath.."/constructor.lua") -dofile(modpath.."/tree_tap.lua") -dofile(modpath.."/flashlight.lua") -dofile(modpath.."/cans.lua") -dofile(modpath.."/chainsaw.lua") - -if enable_item_drop then dofile(modpath.."/item_drop.lua") end -if enable_item_pickup then dofile(modpath.."/item_pickup.lua") end +dofile(modpath.."/electric_furnace.lua") +dofile(modpath.."/battery_box.lua") +dofile(modpath.."/wires.lua") +dofile(modpath.."/tool_workshop.lua") +dofile(modpath.."/music_player.lua") +dofile(modpath.."/generator.lua") +dofile(modpath.."/grinder.lua") --MV machines +dofile(modpath.."/wires_mv.lua") dofile(modpath.."/solar_panel_mv.lua") dofile(modpath.."/battery_box_mv.lua") +--Tools +if enable_mining_dril==true then dofile(modpath.."/mining_drill.lua") end +if enable_mining_laser==true then dofile(modpath.."/mining_laser_mk1.lua") end +if enable_flashlight==true then dofile(modpath.."/flashlight.lua") end +dofile(modpath.."/cans.lua") +dofile(modpath.."/chainsaw.lua") +dofile(modpath.."/tree_tap.lua") +dofile(modpath.."/screwdriver.lua") +dofile(modpath.."/sonic_screwdriver.lua") + +-- mesecons and tubes related +dofile(modpath.."/injector.lua") +dofile(modpath.."/node_breaker.lua") +dofile(modpath.."/deployer.lua") +dofile(modpath.."/constructor.lua") + +if enable_item_drop then dofile(modpath.."/item_drop.lua") end +if enable_item_pickup then dofile(modpath.."/item_pickup.lua") end function has_locked_chest_privilege(meta, player) if player:get_player_name() ~= meta:get_string("owner") then @@ -82,4 +93,4 @@ function hacky_swap_node(pos,name) meta = minetest.env:get_meta(pos) meta:from_table(meta0) return 1 -end \ No newline at end of file +end diff --git a/injector.lua b/technic/technic/injector.lua similarity index 100% rename from injector.lua rename to technic/technic/injector.lua diff --git a/technic/technic/injector1.lua b/technic/technic/injector1.lua new file mode 100644 index 0000000..537e478 --- /dev/null +++ b/technic/technic/injector1.lua @@ -0,0 +1,248 @@ +minetest.register_craftitem("technic:injector", { + description = "Injector", + stack_max = 99, +}) + +minetest.register_node("technic:injector", { + description = "Injector", + tiles = {"technic_iron_chest_top.png", "technic_iron_chest_top.png", "technic_iron_chest_side.png", + "technic_iron_chest_side.png", "technic_iron_chest_side.png", "technic_iron_chest_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[9,9;]".. + "list[current_name;main;0,2;8,2;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Injector") + local inv = meta:get_inventory() + inv:set_size("main", 8*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_punch = function (pos, node, puncher) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + for _,stack in ipairs(inv:get_list("main")) do + if stack:get_name() ~="" then + inv:remove_item("main",stack) + item1=tube_item({x=pos.x+.5,y=pos.y,z=pos.z},stack) + return + end + end +end, +}) + + +function tube_item(pos, item) + -- Take item in any format + local stack = ItemStack(item) + local obj = minetest.env:add_entity(pos, "technic:tubed_item") + obj:get_luaentity():set_item(stack:to_string()) + obj:get_luaentity().start_pos = {x=pos.x,y=pos.y,z=pos.z} + obj:setacceleration({x=0, y=0, z=0}) + pos.x=pos.x+1 + local meta = minetest.env:get_meta(pos) + if meta:get_int("tubelike")==1 then obj:setvelocity({x=1, y=0, z=0}) return obj end + pos.x=pos.x-2 + meta = minetest.env:get_meta(pos) + if meta:get_int("tubelike")==1 then obj:setvelocity({x=-1, y=0, z=0}) return obj end + pos.x=pos.x+1 + pos.z=pos.z+1 + meta = minetest.env:get_meta(pos) + if meta:get_int("tubelike")==1 then obj:setvelocity({x=0, y=0, z=1}) return obj end + pos.z=pos.z-2 + meta = minetest.env:get_meta(pos) + if meta:get_int("tubelike")==1 then obj:setvelocity({x=0, y=0, z=-1}) return obj end + pos.z=pos.z+1 + pos.y=pos.y+1 + meta = minetest.env:get_meta(pos) + if meta:get_int("tubelike")==1 then obj:setvelocity({x=0, y=1, z=0}) return obj end + pos.y=pos.y-2 + meta = minetest.env:get_meta(pos) + if meta:get_int("tubelike")==1 then obj:setvelocity({x=0, y=-2, z=0}) return obj end + pos.y=pos.y+1 + return obj +end + +minetest.register_entity("technic:tubed_item", { + initial_properties = { + hp_max = 1, + physical = false, + collisionbox = {0,0,0,0,0,0}, + visual = "sprite", + visual_size = {x=0.5, y=0.5}, + textures = {""}, + spritediv = {x=1, y=1}, + initial_sprite_basepos = {x=0, y=0}, + is_visible = false, + start_pos={} + }, + + itemstring = '', + physical_state = false, + + set_item = function(self, itemstring) + self.itemstring = itemstring + local stack = ItemStack(itemstring) + local itemtable = stack:to_table() + local itemname = nil + if itemtable then + itemname = stack:to_table().name + end + local item_texture = nil + local item_type = "" + if minetest.registered_items[itemname] then + item_texture = minetest.registered_items[itemname].inventory_image + item_type = minetest.registered_items[itemname].type + end + prop = { + is_visible = true, + visual = "sprite", + textures = {"unknown_item.png"} + } + if item_texture and item_texture ~= "" then + prop.visual = "sprite" + prop.textures = {item_texture} + prop.visual_size = {x=0.3, y=0.3} + else + prop.visual = "wielditem" + prop.textures = {itemname} + prop.visual_size = {x=0.15, y=0.15} + end + self.object:set_properties(prop) + end, + + get_staticdata = function(self) + + return minetest.serialize({ + itemstring=self.itemstring, + velocity=self.object:getvelocity(), + start_pos=self.start_pos + }) + end, + + on_activate = function(self, staticdata) + if staticdata=="" or staticdata==nil then return end + local item = minetest.deserialize(staticdata) + local stack = ItemStack(item.itemstring) + local itemtable = stack:to_table() + local itemname = nil + if itemtable then + itemname = stack:to_table().name + end + + if itemname then + self.start_pos=item.start_pos + self.object:setvelocity(item.velocity) + self.object:setacceleration({x=0, y=0, z=0}) + self.object:setpos(item.start_pos) + end + self:set_item(item.itemstring) + end, + + on_step = function(self, dtime) + if self.start_pos then + local pos = self.object:getpos() + local node = minetest.env:get_node(pos) + local meta = minetest.env:get_meta(pos) + tubelike=meta:get_int("tubelike") + local velocity=self.object:getvelocity() + + if not velocity then return end + + if math.abs(velocity.x)==1 then + local next_node=math.abs(pos.x-self.start_pos.x) + if next_node >= 1 then + self.start_pos.x=self.start_pos.x+velocity.x + if check_pos_vector (self.start_pos, velocity)==0 then + check_next_step (self.start_pos, velocity) + self.object:setpos(self.start_pos) + self.object:setvelocity(velocity) + return + end + end + end + + if math.abs(velocity.y)==1 then + local next_node=math.abs(pos.y-self.start_pos.y) + if next_node >= 1 then + self.start_pos.y=self.start_pos.y+velocity.y + if check_pos_vector (self.start_pos, velocity)==0 then + check_next_step (self.start_pos, velocity) + self.object:setpos(self.start_pos) + self.object:setvelocity(velocity) + return + end + end + end + + if math.abs(velocity.z)==1 then + local next_node=math.abs(pos.z-self.start_pos.z) + if next_node >= 1 then + self.start_pos.z=self.start_pos.z+velocity.z + if check_pos_vector (self.start_pos, velocity)==0 then + check_next_step (self.start_pos, velocity) + self.object:setpos(self.start_pos) + self.object:setvelocity(velocity) + return + end + end + end + end +end +}) + + +function check_next_step (pos,velocity) +local meta +local tubelike + +if velocity.x==0 then +meta = minetest.env:get_meta({x=pos.x-1,y=pos.y,z=pos.z}) +tubelike=meta:get_int("tubelike") +if tubelike==1 then velocity.x=-1 velocity.y=0 velocity.z=0 return end +meta = minetest.env:get_meta({x=pos.x+1,y=pos.y,z=pos.z}) +tubelike=meta:get_int("tubelike") +if tubelike==1 then velocity.x=1 velocity.y=0 velocity.z=0 return end +end + +if velocity.z==0 then +meta = minetest.env:get_meta({x=pos.x,y=pos.y,z=pos.z+1}) +tubelike=meta:get_int("tubelike") +if tubelike==1 then velocity.x=0 velocity.y=0 velocity.z=1 return end +meta = minetest.env:get_meta({x=pos.x,y=pos.y,z=pos.z-1}) +tubelike=meta:get_int("tubelike") +if tubelike==1 then velocity.x=0 velocity.y=0 velocity.z=-1 return end +end + +if velocity.y==0 then +meta = minetest.env:get_meta({x=pos.x,y=pos.y+1,z=pos.z}) +tubelike=meta:get_int("tubelike") +if tubelike==1 then velocity.x=0 velocity.y=1 velocity.z=0 return end +meta = minetest.env:get_meta({x=pos.x,y=pos.y-1,z=pos.z}) +tubelike=meta:get_int("tubelike") +if tubelike==1 then velocity.x=0 velocity.y=-1 velocity.z=0 return end +end + +--velocity.x=0 +--velocity.y=0 +--velocity.z=0 +end + +function check_pos_vector (pos,velocity) +added={} +added.x=pos.x+velocity.x +added.y=pos.y+velocity.y +added.z=pos.z+velocity.z +local meta=minetest.env:get_meta(added) +--print(dump(added).." : "..tubelike) +if meta:get_int("tubelike")==1 then return 1 end +return 0 +end diff --git a/iron_chest.lua b/technic/technic/iron_chest.lua similarity index 94% rename from iron_chest.lua rename to technic/technic/iron_chest.lua index f0e0fcb..27b1aba 100644 --- a/iron_chest.lua +++ b/technic/technic/iron_chest.lua @@ -54,15 +54,6 @@ minetest.register_node("technic:iron_chest", { local inv = meta:get_inventory() inv:set_size("main", 9*4) end, - - after_place_node = function(pos, placer) - ntop1 = minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z}) - ntop = minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}) - if ntop.name ~= "air" then - minetest.node_dig(pos, ntop1, placer) - end - end, - can_dig = function(pos,player) local meta = minetest.env:get_meta(pos); local inv = meta:get_inventory() @@ -170,7 +161,3 @@ on_construct = function(pos) " takes stuff from locked chest at "..minetest.pos_to_string(pos)) end, }) - -function add_item (player) -player:get_inventory():add_item("main", "blabla 1") -end \ No newline at end of file diff --git a/item_drop.lua b/technic/technic/item_drop.lua similarity index 100% rename from item_drop.lua rename to technic/technic/item_drop.lua diff --git a/item_pickup.lua b/technic/technic/item_pickup.lua similarity index 100% rename from item_pickup.lua rename to technic/technic/item_pickup.lua diff --git a/items.lua b/technic/technic/items.lua similarity index 92% rename from items.lua rename to technic/technic/items.lua index 527fc6f..c2b596e 100644 --- a/items.lua +++ b/technic/technic/items.lua @@ -55,27 +55,27 @@ minetest.register_node( "technic:diamond_block", { minetest.register_craft({ output = 'technic:green_energy_crystal', recipe = { - {'moreores:gold_ingot', 'technic:battery', 'group:dye,basecolor_green'}, + {'moreores:gold_ingot', 'technic:battery', 'dye:green'}, {'technic:battery', 'technic:red_energy_crystal', 'technic:battery'}, - {'group:dye,basecolor_green', 'technic:battery', 'moreores:gold_ingot'}, + {'dye:green', 'technic:battery', 'moreores:gold_ingot'}, } }) minetest.register_craft({ output = 'technic:blue_energy_crystal', recipe = { - {'moreores:gold_ingot', 'technic:battery', 'group:dye,basecolor_blue'}, + {'moreores:gold_ingot', 'technic:battery', 'dye:blue'}, {'technic:battery', 'technic:green_energy_crystal', 'technic:battery'}, - {'group:dye,basecolor_green', 'technic:battery', 'moreores:gold_ingot'}, + {'dye:blue', 'technic:battery', 'moreores:gold_ingot'}, } }) minetest.register_craft({ output = 'technic:red_energy_crystal', recipe = { - {'moreores:gold_ingot', 'technic:battery', 'group:dye,basecolor_red'}, + {'moreores:gold_ingot', 'technic:battery', 'dye:red'}, {'technic:battery', 'technic:diamond_block', 'technic:battery'}, - {'group:dye,basecolor_red', 'technic:battery', 'moreores:gold_ingot'}, + {'dye:red', 'technic:battery', 'moreores:gold_ingot'}, } }) diff --git a/mining_drill.lua b/technic/technic/mining_drill.lua similarity index 90% rename from mining_drill.lua rename to technic/technic/mining_drill.lua index 5fc5377..4ccfc95 100644 --- a/mining_drill.lua +++ b/technic/technic/mining_drill.lua @@ -25,8 +25,8 @@ minetest.register_craft({ output = 'technic:mining_drill', recipe = { {'technic:stainless_steel_ingot', 'technic:diamond_drill_head', 'technic:stainless_steel_ingot'}, - {'technic:stainless_steel_ingot', 'technic:red_energy_crystal', 'technic:stainless_steel_ingot'}, - {'', 'moreores:copper_ingot', ''}, + {'technic:stainless_steel_ingot', 'technic:motor', 'technic:stainless_steel_ingot'}, + {'', 'technic:red_energy_crystal', 'moreores:copper_ingot'}, } }) diff --git a/mining_laser_mk1.lua b/technic/technic/mining_laser_mk1.lua similarity index 100% rename from mining_laser_mk1.lua rename to technic/technic/mining_laser_mk1.lua diff --git a/mithril_chest.lua b/technic/technic/mithril_chest.lua similarity index 100% rename from mithril_chest.lua rename to technic/technic/mithril_chest.lua diff --git a/technic/technic/mithril_subspace_chest.lua b/technic/technic/mithril_subspace_chest.lua new file mode 100644 index 0000000..89683f8 --- /dev/null +++ b/technic/technic/mithril_subspace_chest.lua @@ -0,0 +1,145 @@ +minetest.register_craft({ + output = 'technic:mithril_chest 1', + recipe = { + {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'}, + {'moreores:mithril_ingot','technic:gold_chest','moreores:mithril_ingot'}, + {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:mithril_locked_chest 1', + recipe = { + {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'}, + {'moreores:mithril_ingot','technic:gold_locked_chest','moreores:mithril_ingot'}, + {'moreores:mithril_ingot','moreores:mithril_ingot','moreores:mithril_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:mithril_locked_chest 1', + recipe = { + {'default:steel_ingot'}, + {'technic:mithril_chest'}, + } +}) + +minetest.register_node("technic:mithril_chest", { + description = "Mithril Chest", + tiles = {"technic_mithril_chest_top.png", "technic_mithril_chest_top.png", "technic_mithril_chest_side.png", + "technic_mithril_chest_side.png", "technic_mithril_chest_side.png", "technic_mithril_chest_front.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[13,9;]".. + "list[current_name;main;0,0;13,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Mithril Chest") + local inv = meta:get_inventory() + inv:set_size("main", 13*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + + on_metadata_inventory_move = function(pos, from_list, from_index, + to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in chest at "..minetest.pos_to_string(pos)) + return minetest.node_metadata_inventory_move_allow_all( + pos, from_list, from_index, to_list, to_index, count, player) + end, + on_metadata_inventory_offer = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to chest at "..minetest.pos_to_string(pos)) + return minetest.node_metadata_inventory_offer_allow_all( + pos, listname, index, stack, player) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, +}) + +minetest.register_node("technic:mithril_locked_chest", { + description = "Mithril Locked Chest", + tiles = {"technic_mithril_chest_top.png", "technic_mithril_chest_top.png", "technic_mithril_chest_side.png", + "technic_mithril_chest_side.png", "technic_mithril_chest_side.png", "technic_mithril_chest_locked.png"}, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + after_place_node = function(pos, placer) + local meta = minetest.env:get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Mithril Locked Chest (owned by ".. + meta:get_string("owner")..")") + end, +on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", + "invsize[13,9;]".. + "list[current_name;main;0,0;13,4;]".. + "list[current_player;main;0,5;8,4;]") + meta:set_string("infotext", "Mithril Locked Chest") + meta:set_string("owner", "") + local inv = meta:get_inventory() + inv:set_size("main", 13*4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not has_locked_chest_privilege(meta, player) then + minetest.log("action", player:get_player_name().. + " tried to access a locked chest belonging to ".. + meta:get_string("owner").." at ".. + minetest.pos_to_string(pos)) + return 0 + end + return stack:get_count() + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff to locked chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from locked chest at "..minetest.pos_to_string(pos)) + end, +}) diff --git a/music_player.lua b/technic/technic/music_player.lua similarity index 100% rename from music_player.lua rename to technic/technic/music_player.lua diff --git a/node_breaker.lua b/technic/technic/node_breaker.lua similarity index 100% rename from node_breaker.lua rename to technic/technic/node_breaker.lua diff --git a/ores.lua b/technic/technic/ores.lua similarity index 59% rename from ores.lua rename to technic/technic/ores.lua index 90013fc..2642c9e 100644 --- a/ores.lua +++ b/technic/technic/ores.lua @@ -30,6 +30,14 @@ minetest.register_node( "technic:granite", { sounds = default.node_sound_stone_defaults(), }) +minetest.register_node( "technic:obsidian", { + description = "Obsidian", + tiles = { "technic_obsidian.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) + stairsplus.register_stair_and_slab_and_panel_and_micro("marble", "technic:marble", {cracky=3}, {"technic_marble.png"}, @@ -54,6 +62,14 @@ stairsplus.register_stair_and_slab_and_panel_and_micro("granite", "technic:grani "Granite Panel", "Granite Microblock", "granite") +stairsplus.register_stair_and_slab_and_panel_and_micro("obsidian", "technic:obsidian", + {cracky=3}, + {"technic_obsidian.png"}, + "Obsidian Stairs", + "Obsidian Slab", + "Obsidian Panel", + "Obsidian Microblock", + "obsidian") minetest.register_node( "technic:mineral_diamond", { description = "Diamond Ore", @@ -192,10 +208,132 @@ local function generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, end minetest.register_on_generated(function(minp, maxp, seed) -generate_ore("technic:mineral_diamond", "default:stone", minp, maxp, seed+21, 1/11/11/11, 4, -31000, -300) +generate_ore("technic:mineral_diamond", "default:stone", minp, maxp, seed+21, 1/11/11/11, 4, -31000, -450) generate_ore("technic:mineral_uranium", "default:stone", minp, maxp, seed+22, 1/10/10/10, 3, -300, -80) generate_ore("technic:mineral_chromium", "default:stone", minp, maxp, seed+23, 1/10/10/10, 2, -31000, -100) generate_ore("technic:mineral_zinc", "default:stone", minp, maxp, seed+24, 1/9/9/9, 4, -31000, 2) generate_ore("technic:marble", "default:stone", minp, maxp, seed+25, 1/128, 20, -100, -32) generate_ore("technic:granite", "default:stone", minp, maxp, seed+25, 1/128, 15, -190, -90) -end) \ No newline at end of file +generate_stratus("technic:obsidian", + {"default:stone"}, + {"default:lava_source"},{"default:air"}, + minp, maxp, seed+4, 10, 25, 7, -450, -31000, -450) +end) + +function generate_stratus(name, wherein, ceilin, ceil, minp, maxp, seed, stratus_chance, radius, radius_y, deep, height_min, height_max) + if maxp.y < height_min or minp.y > height_max then + return + end + -- it will be only generate a stratus for every 100 m of area + local stratus_per_volume=1 + local area=45 + local y_min = math.max(minp.y, height_min) + local y_max = math.min(maxp.y, height_max) + local volume = ((maxp.x-minp.x+1)/area)*((y_max-y_min+1)/area)*((maxp.z-minp.z+1)/area) + local pr = PseudoRandom(seed) + local blocks = math.floor(stratus_per_volume*volume) + print(" <<"..dump(name)..">>"); + if blocks == 0 then + blocks = 1 + end + print(" blocks: "..dump(blocks).." in vol: "..dump(volume).." ("..dump(maxp.x-minp.x+1)..","..dump(y_max-y_min+1)..","..dump(maxp.z-minp.z+1)..")") + for i=1,blocks do + local x = pr:next(1,stratus_chance) + if x == 1 then + -- TODO deep + local y0=y_max-radius_y+1 + if y0 < y_min then + y0=y_min + else + y0=pr:next(y_min, y0) + end + local x0 = maxp.x-radius+1 + if x0 < minp.x then + x0 = minp.x + else + x0 = pr:next(minp.x, x0) + end + local z0 = maxp.z-radius+1 + if z0 < minp.z then + x0 = minp.z + else + z0 = pr:next(minp.z, z0) + end + local p0 = {x=x0, y=y0, z=z0} + local n = minetest.env:get_node(p0).name + local i = 0 + --print(" upper node "..n) + x = 0 + for k, v in ipairs(ceilin) do + if n == v then + x = 1 + break + end + end + if x == 1 then + -- search for the node to replace + --print(" Searching nodes to replace from "..dump(y0-1).." to "..dump(y_min)) + for y1=y0-1,y_min,-1 do + p0.y=y1 + n = minetest.env:get_node(p0).name + x = 0 + for k, v in ipairs(wherein) do + if n == v then + x = 1 + break + end + end + if x == 1 then + y0=y1-deep + if y0 < y_min then + y0 = y_min + end + break + end + end + local rx=pr:next(radius/2,radius)+1 + local rz=pr:next(radius/2,radius)+1 + local ry=pr:next(radius_y/2,radius_y)+1 + --print(" area of generation ("..dump(rx)..","..dump(rz)..","..dump(ry)..")") + for x1=0,rx do + rz = rz + 3 - pr:next(1,6) + if rz < 1 then + rz = 1 + end + for z1=pr:next(1,3),rz do + local ry0=ry+ pr:next(1,3) + for y1=pr:next(1,3),ry0 do + local x2 = x0+x1 + local y2 = y0+y1 + local z2 = z0+z1 + local p2 = {x=x2, y=y2, z=z2} + n = minetest.env:get_node(p2).name + x = 0 + for k, v in ipairs(wherein) do + if n == v then + x = 1 + break + end + end + if x == 1 then + if ceil == nil then + minetest.env:set_node(p2, {name=name}) + i = i +1 + else + local p3 = {p2.x,p2.y+1,p2} + if minetest.env:get_node(p3).name == ceil then + minetest.env:set_node(p2, {name=name}) + i = i +1 + end + end + end + end + end + end + print(" generated "..dump(i).." blocks in ("..dump(x0)..","..dump(y0)..","..dump(z0)..")") + end + + end + end + --print("generate_ore done") +end \ No newline at end of file diff --git a/project_table.lua b/technic/technic/project_table.lua similarity index 100% rename from project_table.lua rename to technic/technic/project_table.lua diff --git a/rubber.lua b/technic/technic/rubber.lua similarity index 100% rename from rubber.lua rename to technic/technic/rubber.lua diff --git a/screwdriver.lua b/technic/technic/screwdriver.lua similarity index 100% rename from screwdriver.lua rename to technic/technic/screwdriver.lua diff --git a/silver_chest.lua b/technic/technic/silver_chest.lua similarity index 100% rename from silver_chest.lua rename to technic/technic/silver_chest.lua diff --git a/solar_panel.lua b/technic/technic/solar_panel.lua similarity index 99% rename from solar_panel.lua rename to technic/technic/solar_panel.lua index f2d08f6..02a8f69 100644 --- a/solar_panel.lua +++ b/technic/technic/solar_panel.lua @@ -54,7 +54,7 @@ minetest.register_abm( local light = minetest.env:get_node_light(pos1, nil) local meta = minetest.env:get_meta(pos) if light == nil then light = 0 end - if light >= 14 then + if light >= 12 then meta:set_string("infotext", "Solar Panel is active ") meta:set_float("active",1) local internal_EU_buffer=meta:get_float("internal_EU_buffer") diff --git a/solar_panel_mv.lua b/technic/technic/solar_panel_mv.lua similarity index 100% rename from solar_panel_mv.lua rename to technic/technic/solar_panel_mv.lua diff --git a/sonic_screwdriver.lua b/technic/technic/sonic_screwdriver.lua similarity index 100% rename from sonic_screwdriver.lua rename to technic/technic/sonic_screwdriver.lua diff --git a/sounds/chainsaw.ogg b/technic/technic/sounds/chainsaw.ogg similarity index 100% rename from sounds/chainsaw.ogg rename to technic/technic/sounds/chainsaw.ogg diff --git a/sounds/item_drop_pickup.1.ogg b/technic/technic/sounds/item_drop_pickup.1.ogg similarity index 100% rename from sounds/item_drop_pickup.1.ogg rename to technic/technic/sounds/item_drop_pickup.1.ogg diff --git a/sounds/item_drop_pickup.2.ogg b/technic/technic/sounds/item_drop_pickup.2.ogg similarity index 100% rename from sounds/item_drop_pickup.2.ogg rename to technic/technic/sounds/item_drop_pickup.2.ogg diff --git a/sounds/item_drop_pickup.3.ogg b/technic/technic/sounds/item_drop_pickup.3.ogg similarity index 100% rename from sounds/item_drop_pickup.3.ogg rename to technic/technic/sounds/item_drop_pickup.3.ogg diff --git a/sounds/item_drop_pickup.4.ogg b/technic/technic/sounds/item_drop_pickup.4.ogg similarity index 100% rename from sounds/item_drop_pickup.4.ogg rename to technic/technic/sounds/item_drop_pickup.4.ogg diff --git a/sounds/mining_drill.ogg b/technic/technic/sounds/mining_drill.ogg similarity index 100% rename from sounds/mining_drill.ogg rename to technic/technic/sounds/mining_drill.ogg diff --git a/sounds/technic_laser.ogg b/technic/technic/sounds/technic_laser.ogg similarity index 100% rename from sounds/technic_laser.ogg rename to technic/technic/sounds/technic_laser.ogg diff --git a/sounds/technic_sonic_screwdriver.ogg b/technic/technic/sounds/technic_sonic_screwdriver.ogg similarity index 100% rename from sounds/technic_sonic_screwdriver.ogg rename to technic/technic/sounds/technic_sonic_screwdriver.ogg diff --git a/technic/technic/tetris.lua b/technic/technic/tetris.lua new file mode 100644 index 0000000..3b14c47 --- /dev/null +++ b/technic/technic/tetris.lua @@ -0,0 +1,17 @@ +minetest.register_node("technic:tetris_machine_node1", { + tiles = {"tetris_machine_top.png", "technic_mv_battery_box_bottom.png", "tetris_machine_front1.png", + "tetris_machine_side1B.png", "tetris_machine_side1P.png", "tetris_machine_side1L.png"}, + tile_images = {"technic_tetris_machine.png",}, + is_ground_content = true, + groups = {cracky=1}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("technic:tetris_machine_node2", { + tiles = {"tetris_machine_top.png", "technic_mv_battery_box_bottom.png", "tetris_machine_front2.png", + "tetris_machine_side2B.png", "tetris_machine_side2P.png", "tetris_machine_side2L.png"}, + tile_images = {"technic_tetris_machine.png",}, + is_ground_content = true, + groups = {cracky=1}, + sounds = default.node_sound_stone_defaults(), +}) diff --git a/textures/technic_alloy_furnace_front.png b/technic/technic/textures/technic_alloy_furnace_front.png similarity index 100% rename from textures/technic_alloy_furnace_front.png rename to technic/technic/textures/technic_alloy_furnace_front.png diff --git a/textures/technic_alloy_furnace_front_active.png b/technic/technic/textures/technic_alloy_furnace_front_active.png similarity index 100% rename from textures/technic_alloy_furnace_front_active.png rename to technic/technic/textures/technic_alloy_furnace_front_active.png diff --git a/textures/technic_alloy_furnace_side.png b/technic/technic/textures/technic_alloy_furnace_side.png similarity index 100% rename from textures/technic_alloy_furnace_side.png rename to technic/technic/textures/technic_alloy_furnace_side.png diff --git a/textures/technic_alloy_furnace_top.png b/technic/technic/textures/technic_alloy_furnace_top.png similarity index 100% rename from textures/technic_alloy_furnace_top.png rename to technic/technic/textures/technic_alloy_furnace_top.png diff --git a/textures/technic_battery.png b/technic/technic/textures/technic_battery.png similarity index 100% rename from textures/technic_battery.png rename to technic/technic/textures/technic_battery.png diff --git a/textures/technic_battery_box_bottom.png b/technic/technic/textures/technic_battery_box_bottom.png similarity index 100% rename from textures/technic_battery_box_bottom.png rename to technic/technic/textures/technic_battery_box_bottom.png diff --git a/textures/technic_battery_box_side0.png b/technic/technic/textures/technic_battery_box_side0.png similarity index 100% rename from textures/technic_battery_box_side0.png rename to technic/technic/textures/technic_battery_box_side0.png diff --git a/textures/technic_battery_box_top.png b/technic/technic/textures/technic_battery_box_top.png similarity index 100% rename from textures/technic_battery_box_top.png rename to technic/technic/textures/technic_battery_box_top.png diff --git a/textures/technic_battery_reload.png b/technic/technic/textures/technic_battery_reload.png similarity index 100% rename from textures/technic_battery_reload.png rename to technic/technic/textures/technic_battery_reload.png diff --git a/textures/technic_brass_dust.png b/technic/technic/textures/technic_brass_dust.png similarity index 100% rename from textures/technic_brass_dust.png rename to technic/technic/textures/technic_brass_dust.png diff --git a/textures/technic_brass_ingot.png b/technic/technic/textures/technic_brass_ingot.png similarity index 100% rename from textures/technic_brass_ingot.png rename to technic/technic/textures/technic_brass_ingot.png diff --git a/textures/technic_bronze_dust.png b/technic/technic/textures/technic_bronze_dust.png similarity index 100% rename from textures/technic_bronze_dust.png rename to technic/technic/textures/technic_bronze_dust.png diff --git a/textures/technic_chainsaw.png b/technic/technic/textures/technic_chainsaw.png similarity index 100% rename from textures/technic_chainsaw.png rename to technic/technic/textures/technic_chainsaw.png diff --git a/textures/technic_chromium_dust.png b/technic/technic/textures/technic_chromium_dust.png similarity index 100% rename from textures/technic_chromium_dust.png rename to technic/technic/textures/technic_chromium_dust.png diff --git a/textures/technic_chromium_ingot.png b/technic/technic/textures/technic_chromium_ingot.png similarity index 100% rename from textures/technic_chromium_ingot.png rename to technic/technic/textures/technic_chromium_ingot.png diff --git a/textures/technic_chromium_lump.png b/technic/technic/textures/technic_chromium_lump.png similarity index 100% rename from textures/technic_chromium_lump.png rename to technic/technic/textures/technic_chromium_lump.png diff --git a/textures/technic_coal_alloy_furnace_bottom.png b/technic/technic/textures/technic_coal_alloy_furnace_bottom.png similarity index 100% rename from textures/technic_coal_alloy_furnace_bottom.png rename to technic/technic/textures/technic_coal_alloy_furnace_bottom.png diff --git a/textures/technic_coal_alloy_furnace_front.png b/technic/technic/textures/technic_coal_alloy_furnace_front.png similarity index 100% rename from textures/technic_coal_alloy_furnace_front.png rename to technic/technic/textures/technic_coal_alloy_furnace_front.png diff --git a/textures/technic_coal_alloy_furnace_front_active.png b/technic/technic/textures/technic_coal_alloy_furnace_front_active.png similarity index 100% rename from textures/technic_coal_alloy_furnace_front_active.png rename to technic/technic/textures/technic_coal_alloy_furnace_front_active.png diff --git a/textures/technic_coal_alloy_furnace_side.png b/technic/technic/textures/technic_coal_alloy_furnace_side.png similarity index 100% rename from textures/technic_coal_alloy_furnace_side.png rename to technic/technic/textures/technic_coal_alloy_furnace_side.png diff --git a/textures/technic_coal_alloy_furnace_top.png b/technic/technic/textures/technic_coal_alloy_furnace_top.png similarity index 100% rename from textures/technic_coal_alloy_furnace_top.png rename to technic/technic/textures/technic_coal_alloy_furnace_top.png diff --git a/textures/technic_coal_dust.png b/technic/technic/textures/technic_coal_dust.png similarity index 100% rename from textures/technic_coal_dust.png rename to technic/technic/textures/technic_coal_dust.png diff --git a/textures/technic_concrete_block.png b/technic/technic/textures/technic_concrete_block.png similarity index 100% rename from textures/technic_concrete_block.png rename to technic/technic/textures/technic_concrete_block.png diff --git a/textures/technic_constructor_back.png b/technic/technic/textures/technic_constructor_back.png similarity index 100% rename from textures/technic_constructor_back.png rename to technic/technic/textures/technic_constructor_back.png diff --git a/textures/technic_constructor_front_off.png b/technic/technic/textures/technic_constructor_front_off.png similarity index 100% rename from textures/technic_constructor_front_off.png rename to technic/technic/textures/technic_constructor_front_off.png diff --git a/textures/technic_constructor_front_on.png b/technic/technic/textures/technic_constructor_front_on.png similarity index 100% rename from textures/technic_constructor_front_on.png rename to technic/technic/textures/technic_constructor_front_on.png diff --git a/textures/technic_constructor_mk1_bottom_off.png b/technic/technic/textures/technic_constructor_mk1_bottom_off.png similarity index 100% rename from textures/technic_constructor_mk1_bottom_off.png rename to technic/technic/textures/technic_constructor_mk1_bottom_off.png diff --git a/textures/technic_constructor_mk1_bottom_on.png b/technic/technic/textures/technic_constructor_mk1_bottom_on.png similarity index 100% rename from textures/technic_constructor_mk1_bottom_on.png rename to technic/technic/textures/technic_constructor_mk1_bottom_on.png diff --git a/textures/technic_constructor_mk1_side1_off.png b/technic/technic/textures/technic_constructor_mk1_side1_off.png similarity index 100% rename from textures/technic_constructor_mk1_side1_off.png rename to technic/technic/textures/technic_constructor_mk1_side1_off.png diff --git a/textures/technic_constructor_mk1_side1_on.png b/technic/technic/textures/technic_constructor_mk1_side1_on.png similarity index 100% rename from textures/technic_constructor_mk1_side1_on.png rename to technic/technic/textures/technic_constructor_mk1_side1_on.png diff --git a/textures/technic_constructor_mk1_side2_off.png b/technic/technic/textures/technic_constructor_mk1_side2_off.png similarity index 100% rename from textures/technic_constructor_mk1_side2_off.png rename to technic/technic/textures/technic_constructor_mk1_side2_off.png diff --git a/textures/technic_constructor_mk1_side2_on.png b/technic/technic/textures/technic_constructor_mk1_side2_on.png similarity index 100% rename from textures/technic_constructor_mk1_side2_on.png rename to technic/technic/textures/technic_constructor_mk1_side2_on.png diff --git a/textures/technic_constructor_mk1_top_off.png b/technic/technic/textures/technic_constructor_mk1_top_off.png similarity index 100% rename from textures/technic_constructor_mk1_top_off.png rename to technic/technic/textures/technic_constructor_mk1_top_off.png diff --git a/textures/technic_constructor_mk1_top_on.png b/technic/technic/textures/technic_constructor_mk1_top_on.png similarity index 100% rename from textures/technic_constructor_mk1_top_on.png rename to technic/technic/textures/technic_constructor_mk1_top_on.png diff --git a/textures/technic_constructor_mk2_bottom_off.png b/technic/technic/textures/technic_constructor_mk2_bottom_off.png similarity index 100% rename from textures/technic_constructor_mk2_bottom_off.png rename to technic/technic/textures/technic_constructor_mk2_bottom_off.png diff --git a/textures/technic_constructor_mk2_bottom_on.png b/technic/technic/textures/technic_constructor_mk2_bottom_on.png similarity index 100% rename from textures/technic_constructor_mk2_bottom_on.png rename to technic/technic/textures/technic_constructor_mk2_bottom_on.png diff --git a/textures/technic_constructor_mk2_side1_off.png b/technic/technic/textures/technic_constructor_mk2_side1_off.png similarity index 100% rename from textures/technic_constructor_mk2_side1_off.png rename to technic/technic/textures/technic_constructor_mk2_side1_off.png diff --git a/textures/technic_constructor_mk2_side1_on.png b/technic/technic/textures/technic_constructor_mk2_side1_on.png similarity index 100% rename from textures/technic_constructor_mk2_side1_on.png rename to technic/technic/textures/technic_constructor_mk2_side1_on.png diff --git a/textures/technic_constructor_mk2_side2_off.png b/technic/technic/textures/technic_constructor_mk2_side2_off.png similarity index 100% rename from textures/technic_constructor_mk2_side2_off.png rename to technic/technic/textures/technic_constructor_mk2_side2_off.png diff --git a/textures/technic_constructor_mk2_side2_on.png b/technic/technic/textures/technic_constructor_mk2_side2_on.png similarity index 100% rename from textures/technic_constructor_mk2_side2_on.png rename to technic/technic/textures/technic_constructor_mk2_side2_on.png diff --git a/textures/technic_constructor_mk2_top_off.png b/technic/technic/textures/technic_constructor_mk2_top_off.png similarity index 100% rename from textures/technic_constructor_mk2_top_off.png rename to technic/technic/textures/technic_constructor_mk2_top_off.png diff --git a/textures/technic_constructor_mk2_top_on.png b/technic/technic/textures/technic_constructor_mk2_top_on.png similarity index 100% rename from textures/technic_constructor_mk2_top_on.png rename to technic/technic/textures/technic_constructor_mk2_top_on.png diff --git a/textures/technic_constructor_mk3_bottom_off.png b/technic/technic/textures/technic_constructor_mk3_bottom_off.png similarity index 100% rename from textures/technic_constructor_mk3_bottom_off.png rename to technic/technic/textures/technic_constructor_mk3_bottom_off.png diff --git a/textures/technic_constructor_mk3_bottom_on.png b/technic/technic/textures/technic_constructor_mk3_bottom_on.png similarity index 100% rename from textures/technic_constructor_mk3_bottom_on.png rename to technic/technic/textures/technic_constructor_mk3_bottom_on.png diff --git a/textures/technic_constructor_mk3_side1_off.png b/technic/technic/textures/technic_constructor_mk3_side1_off.png similarity index 100% rename from textures/technic_constructor_mk3_side1_off.png rename to technic/technic/textures/technic_constructor_mk3_side1_off.png diff --git a/textures/technic_constructor_mk3_side1_on.png b/technic/technic/textures/technic_constructor_mk3_side1_on.png similarity index 100% rename from textures/technic_constructor_mk3_side1_on.png rename to technic/technic/textures/technic_constructor_mk3_side1_on.png diff --git a/textures/technic_constructor_mk3_side2_off.png b/technic/technic/textures/technic_constructor_mk3_side2_off.png similarity index 100% rename from textures/technic_constructor_mk3_side2_off.png rename to technic/technic/textures/technic_constructor_mk3_side2_off.png diff --git a/textures/technic_constructor_mk3_side2_on.png b/technic/technic/textures/technic_constructor_mk3_side2_on.png similarity index 100% rename from textures/technic_constructor_mk3_side2_on.png rename to technic/technic/textures/technic_constructor_mk3_side2_on.png diff --git a/textures/technic_constructor_mk3_top_off.png b/technic/technic/textures/technic_constructor_mk3_top_off.png similarity index 100% rename from textures/technic_constructor_mk3_top_off.png rename to technic/technic/textures/technic_constructor_mk3_top_off.png diff --git a/textures/technic_constructor_mk3_top_on.png b/technic/technic/textures/technic_constructor_mk3_top_on.png similarity index 100% rename from textures/technic_constructor_mk3_top_on.png rename to technic/technic/textures/technic_constructor_mk3_top_on.png diff --git a/textures/technic_copper_chest_front.png b/technic/technic/textures/technic_copper_chest_front.png similarity index 100% rename from textures/technic_copper_chest_front.png rename to technic/technic/textures/technic_copper_chest_front.png diff --git a/textures/technic_copper_chest_locked.png b/technic/technic/textures/technic_copper_chest_locked.png similarity index 100% rename from textures/technic_copper_chest_locked.png rename to technic/technic/textures/technic_copper_chest_locked.png diff --git a/textures/technic_copper_chest_side.png b/technic/technic/textures/technic_copper_chest_side.png similarity index 100% rename from textures/technic_copper_chest_side.png rename to technic/technic/textures/technic_copper_chest_side.png diff --git a/textures/technic_copper_chest_top.png b/technic/technic/textures/technic_copper_chest_top.png similarity index 100% rename from textures/technic_copper_chest_top.png rename to technic/technic/textures/technic_copper_chest_top.png diff --git a/textures/technic_copper_coil.png b/technic/technic/textures/technic_copper_coil.png similarity index 100% rename from textures/technic_copper_coil.png rename to technic/technic/textures/technic_copper_coil.png diff --git a/textures/technic_copper_dust.png b/technic/technic/textures/technic_copper_dust.png similarity index 100% rename from textures/technic_copper_dust.png rename to technic/technic/textures/technic_copper_dust.png diff --git a/textures/technic_deployer_back.png b/technic/technic/textures/technic_deployer_back.png similarity index 100% rename from textures/technic_deployer_back.png rename to technic/technic/textures/technic_deployer_back.png diff --git a/textures/technic_deployer_bottom.png b/technic/technic/textures/technic_deployer_bottom.png similarity index 100% rename from textures/technic_deployer_bottom.png rename to technic/technic/textures/technic_deployer_bottom.png diff --git a/textures/technic_deployer_front_off.png b/technic/technic/textures/technic_deployer_front_off.png similarity index 100% rename from textures/technic_deployer_front_off.png rename to technic/technic/textures/technic_deployer_front_off.png diff --git a/textures/technic_deployer_front_on.png b/technic/technic/textures/technic_deployer_front_on.png similarity index 100% rename from textures/technic_deployer_front_on.png rename to technic/technic/textures/technic_deployer_front_on.png diff --git a/textures/technic_deployer_side.png b/technic/technic/textures/technic_deployer_side.png similarity index 100% rename from textures/technic_deployer_side.png rename to technic/technic/textures/technic_deployer_side.png diff --git a/textures/technic_deployer_side1.png b/technic/technic/textures/technic_deployer_side1.png similarity index 100% rename from textures/technic_deployer_side1.png rename to technic/technic/textures/technic_deployer_side1.png diff --git a/textures/technic_deployer_side2.png b/technic/technic/textures/technic_deployer_side2.png similarity index 100% rename from textures/technic_deployer_side2.png rename to technic/technic/textures/technic_deployer_side2.png diff --git a/textures/technic_deployer_top.png b/technic/technic/textures/technic_deployer_top.png similarity index 100% rename from textures/technic_deployer_top.png rename to technic/technic/textures/technic_deployer_top.png diff --git a/textures/technic_diamond.png b/technic/technic/textures/technic_diamond.png similarity index 100% rename from textures/technic_diamond.png rename to technic/technic/textures/technic_diamond.png diff --git a/textures/technic_diamond_block.png b/technic/technic/textures/technic_diamond_block.png similarity index 100% rename from textures/technic_diamond_block.png rename to technic/technic/textures/technic_diamond_block.png diff --git a/textures/technic_diamond_block_blue.png b/technic/technic/textures/technic_diamond_block_blue.png similarity index 100% rename from textures/technic_diamond_block_blue.png rename to technic/technic/textures/technic_diamond_block_blue.png diff --git a/textures/technic_diamond_block_green.png b/technic/technic/textures/technic_diamond_block_green.png similarity index 100% rename from textures/technic_diamond_block_green.png rename to technic/technic/textures/technic_diamond_block_green.png diff --git a/textures/technic_diamond_block_red.png b/technic/technic/textures/technic_diamond_block_red.png similarity index 100% rename from textures/technic_diamond_block_red.png rename to technic/technic/textures/technic_diamond_block_red.png diff --git a/textures/technic_diamond_drill_head.png b/technic/technic/textures/technic_diamond_drill_head.png similarity index 100% rename from textures/technic_diamond_drill_head.png rename to technic/technic/textures/technic_diamond_drill_head.png diff --git a/textures/technic_doped_silicon_wafer.png b/technic/technic/textures/technic_doped_silicon_wafer.png similarity index 100% rename from textures/technic_doped_silicon_wafer.png rename to technic/technic/textures/technic_doped_silicon_wafer.png diff --git a/technic/technic/textures/technic_electric_furnace_GUI.png b/technic/technic/textures/technic_electric_furnace_GUI.png new file mode 100644 index 0000000000000000000000000000000000000000..320794f085ae4775b8101b50361134b9530a0369 GIT binary patch literal 68120 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 F++7g(mL|HcBZmgOcQ;@rM|!n(kFolxw{ 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

G_3J5@j8J;)9314SZnZ$#f={1A7owd$1E7 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%0A1c1` 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⪻7s|A4sVFVYcm$^0-Pbg(Z6GCnbla(0q!`z-H!k6 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 z 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 literal 0 HcmV?d00001 diff --git a/textures/technic_electric_furnace_bottom.png b/technic/technic/textures/technic_electric_furnace_bottom.png similarity index 100% rename from textures/technic_electric_furnace_bottom.png rename to technic/technic/textures/technic_electric_furnace_bottom.png diff --git a/textures/technic_electric_furnace_front.png b/technic/technic/textures/technic_electric_furnace_front.png similarity index 100% rename from textures/technic_electric_furnace_front.png rename to technic/technic/textures/technic_electric_furnace_front.png diff --git a/textures/technic_electric_furnace_front_active.png b/technic/technic/textures/technic_electric_furnace_front_active.png similarity index 100% rename from textures/technic_electric_furnace_front_active.png rename to technic/technic/textures/technic_electric_furnace_front_active.png diff --git a/textures/technic_electric_furnace_side.png b/technic/technic/textures/technic_electric_furnace_side.png similarity index 100% rename from textures/technic_electric_furnace_side.png rename to technic/technic/textures/technic_electric_furnace_side.png diff --git a/textures/technic_electric_furnace_top.png b/technic/technic/textures/technic_electric_furnace_top.png similarity index 100% rename from textures/technic_electric_furnace_top.png rename to technic/technic/textures/technic_electric_furnace_top.png diff --git a/textures/technic_fine_copper_wire.png b/technic/technic/textures/technic_fine_copper_wire.png similarity index 100% rename from textures/technic_fine_copper_wire.png rename to technic/technic/textures/technic_fine_copper_wire.png diff --git a/textures/technic_flashlight.png b/technic/technic/textures/technic_flashlight.png similarity index 100% rename from textures/technic_flashlight.png rename to technic/technic/textures/technic_flashlight.png diff --git a/textures/technic_generator_front.png b/technic/technic/textures/technic_generator_front.png similarity index 100% rename from textures/technic_generator_front.png rename to technic/technic/textures/technic_generator_front.png diff --git a/textures/technic_generator_front_active.png b/technic/technic/textures/technic_generator_front_active.png similarity index 100% rename from textures/technic_generator_front_active.png rename to technic/technic/textures/technic_generator_front_active.png diff --git a/textures/technic_generator_side.png b/technic/technic/textures/technic_generator_side.png similarity index 100% rename from textures/technic_generator_side.png rename to technic/technic/textures/technic_generator_side.png diff --git a/textures/technic_generator_top.png b/technic/technic/textures/technic_generator_top.png similarity index 100% rename from textures/technic_generator_top.png rename to technic/technic/textures/technic_generator_top.png diff --git a/textures/technic_geothermal_side.png b/technic/technic/textures/technic_geothermal_side.png similarity index 100% rename from textures/technic_geothermal_side.png rename to technic/technic/textures/technic_geothermal_side.png diff --git a/textures/technic_geothermal_top.png b/technic/technic/textures/technic_geothermal_top.png similarity index 100% rename from textures/technic_geothermal_top.png rename to technic/technic/textures/technic_geothermal_top.png diff --git a/textures/technic_geothermal_top_active.png b/technic/technic/textures/technic_geothermal_top_active.png similarity index 100% rename from textures/technic_geothermal_top_active.png rename to technic/technic/textures/technic_geothermal_top_active.png diff --git a/textures/technic_gold_chest_front.png b/technic/technic/textures/technic_gold_chest_front.png similarity index 100% rename from textures/technic_gold_chest_front.png rename to technic/technic/textures/technic_gold_chest_front.png diff --git a/textures/technic_gold_chest_front_black.png b/technic/technic/textures/technic_gold_chest_front_black.png similarity index 100% rename from textures/technic_gold_chest_front_black.png rename to technic/technic/textures/technic_gold_chest_front_black.png diff --git a/textures/technic_gold_chest_front_blue.png b/technic/technic/textures/technic_gold_chest_front_blue.png similarity index 100% rename from textures/technic_gold_chest_front_blue.png rename to technic/technic/textures/technic_gold_chest_front_blue.png diff --git a/textures/technic_gold_chest_front_brown.png b/technic/technic/textures/technic_gold_chest_front_brown.png similarity index 100% rename from textures/technic_gold_chest_front_brown.png rename to technic/technic/textures/technic_gold_chest_front_brown.png diff --git a/textures/technic_gold_chest_front_cyan.png b/technic/technic/textures/technic_gold_chest_front_cyan.png similarity index 100% rename from textures/technic_gold_chest_front_cyan.png rename to technic/technic/textures/technic_gold_chest_front_cyan.png diff --git a/textures/technic_gold_chest_front_dark_green.png b/technic/technic/textures/technic_gold_chest_front_dark_green.png similarity index 100% rename from textures/technic_gold_chest_front_dark_green.png rename to technic/technic/textures/technic_gold_chest_front_dark_green.png diff --git a/textures/technic_gold_chest_front_dark_grey.png b/technic/technic/textures/technic_gold_chest_front_dark_grey.png similarity index 100% rename from textures/technic_gold_chest_front_dark_grey.png rename to technic/technic/textures/technic_gold_chest_front_dark_grey.png diff --git a/textures/technic_gold_chest_front_green.png b/technic/technic/textures/technic_gold_chest_front_green.png similarity index 100% rename from textures/technic_gold_chest_front_green.png rename to technic/technic/textures/technic_gold_chest_front_green.png diff --git a/textures/technic_gold_chest_front_grey.png b/technic/technic/textures/technic_gold_chest_front_grey.png similarity index 100% rename from textures/technic_gold_chest_front_grey.png rename to technic/technic/textures/technic_gold_chest_front_grey.png diff --git a/textures/technic_gold_chest_front_magenta.png b/technic/technic/textures/technic_gold_chest_front_magenta.png similarity index 100% rename from textures/technic_gold_chest_front_magenta.png rename to technic/technic/textures/technic_gold_chest_front_magenta.png diff --git a/textures/technic_gold_chest_front_orange.png b/technic/technic/textures/technic_gold_chest_front_orange.png similarity index 100% rename from textures/technic_gold_chest_front_orange.png rename to technic/technic/textures/technic_gold_chest_front_orange.png diff --git a/textures/technic_gold_chest_front_pink.png b/technic/technic/textures/technic_gold_chest_front_pink.png similarity index 100% rename from textures/technic_gold_chest_front_pink.png rename to technic/technic/textures/technic_gold_chest_front_pink.png diff --git a/textures/technic_gold_chest_front_red.png b/technic/technic/textures/technic_gold_chest_front_red.png similarity index 100% rename from textures/technic_gold_chest_front_red.png rename to technic/technic/textures/technic_gold_chest_front_red.png diff --git a/textures/technic_gold_chest_front_violet.png b/technic/technic/textures/technic_gold_chest_front_violet.png similarity index 100% rename from textures/technic_gold_chest_front_violet.png rename to technic/technic/textures/technic_gold_chest_front_violet.png diff --git a/textures/technic_gold_chest_front_white.png b/technic/technic/textures/technic_gold_chest_front_white.png similarity index 100% rename from textures/technic_gold_chest_front_white.png rename to technic/technic/textures/technic_gold_chest_front_white.png diff --git a/textures/technic_gold_chest_front_yellow.png b/technic/technic/textures/technic_gold_chest_front_yellow.png similarity index 100% rename from textures/technic_gold_chest_front_yellow.png rename to technic/technic/textures/technic_gold_chest_front_yellow.png diff --git a/textures/technic_gold_chest_locked.png b/technic/technic/textures/technic_gold_chest_locked.png similarity index 100% rename from textures/technic_gold_chest_locked.png rename to technic/technic/textures/technic_gold_chest_locked.png diff --git a/textures/technic_gold_chest_locked_black.png b/technic/technic/textures/technic_gold_chest_locked_black.png similarity index 100% rename from textures/technic_gold_chest_locked_black.png rename to technic/technic/textures/technic_gold_chest_locked_black.png diff --git a/textures/technic_gold_chest_locked_blue.png b/technic/technic/textures/technic_gold_chest_locked_blue.png similarity index 100% rename from textures/technic_gold_chest_locked_blue.png rename to technic/technic/textures/technic_gold_chest_locked_blue.png diff --git a/textures/technic_gold_chest_locked_brown.png b/technic/technic/textures/technic_gold_chest_locked_brown.png similarity index 100% rename from textures/technic_gold_chest_locked_brown.png rename to technic/technic/textures/technic_gold_chest_locked_brown.png diff --git a/textures/technic_gold_chest_locked_cyan.png b/technic/technic/textures/technic_gold_chest_locked_cyan.png similarity index 100% rename from textures/technic_gold_chest_locked_cyan.png rename to technic/technic/textures/technic_gold_chest_locked_cyan.png diff --git a/textures/technic_gold_chest_locked_dark_green.png b/technic/technic/textures/technic_gold_chest_locked_dark_green.png similarity index 100% rename from textures/technic_gold_chest_locked_dark_green.png rename to technic/technic/textures/technic_gold_chest_locked_dark_green.png diff --git a/textures/technic_gold_chest_locked_dark_grey.png b/technic/technic/textures/technic_gold_chest_locked_dark_grey.png similarity index 100% rename from textures/technic_gold_chest_locked_dark_grey.png rename to technic/technic/textures/technic_gold_chest_locked_dark_grey.png diff --git a/textures/technic_gold_chest_locked_green.png b/technic/technic/textures/technic_gold_chest_locked_green.png similarity index 100% rename from textures/technic_gold_chest_locked_green.png rename to technic/technic/textures/technic_gold_chest_locked_green.png diff --git a/textures/technic_gold_chest_locked_grey.png b/technic/technic/textures/technic_gold_chest_locked_grey.png similarity index 100% rename from textures/technic_gold_chest_locked_grey.png rename to technic/technic/textures/technic_gold_chest_locked_grey.png diff --git a/textures/technic_gold_chest_locked_magenta.png b/technic/technic/textures/technic_gold_chest_locked_magenta.png similarity index 100% rename from textures/technic_gold_chest_locked_magenta.png rename to technic/technic/textures/technic_gold_chest_locked_magenta.png diff --git a/textures/technic_gold_chest_locked_orange.png b/technic/technic/textures/technic_gold_chest_locked_orange.png similarity index 100% rename from textures/technic_gold_chest_locked_orange.png rename to technic/technic/textures/technic_gold_chest_locked_orange.png diff --git a/textures/technic_gold_chest_locked_pink.png b/technic/technic/textures/technic_gold_chest_locked_pink.png similarity index 100% rename from textures/technic_gold_chest_locked_pink.png rename to technic/technic/textures/technic_gold_chest_locked_pink.png diff --git a/textures/technic_gold_chest_locked_red.png b/technic/technic/textures/technic_gold_chest_locked_red.png similarity index 100% rename from textures/technic_gold_chest_locked_red.png rename to technic/technic/textures/technic_gold_chest_locked_red.png diff --git a/textures/technic_gold_chest_locked_violet.png b/technic/technic/textures/technic_gold_chest_locked_violet.png similarity index 100% rename from textures/technic_gold_chest_locked_violet.png rename to technic/technic/textures/technic_gold_chest_locked_violet.png diff --git a/textures/technic_gold_chest_locked_white.png b/technic/technic/textures/technic_gold_chest_locked_white.png similarity index 100% rename from textures/technic_gold_chest_locked_white.png rename to technic/technic/textures/technic_gold_chest_locked_white.png diff --git a/textures/technic_gold_chest_locked_yellow.png b/technic/technic/textures/technic_gold_chest_locked_yellow.png similarity index 100% rename from textures/technic_gold_chest_locked_yellow.png rename to technic/technic/textures/technic_gold_chest_locked_yellow.png diff --git a/textures/technic_gold_chest_side.png b/technic/technic/textures/technic_gold_chest_side.png similarity index 100% rename from textures/technic_gold_chest_side.png rename to technic/technic/textures/technic_gold_chest_side.png diff --git a/textures/technic_gold_chest_top.png b/technic/technic/textures/technic_gold_chest_top.png similarity index 100% rename from textures/technic_gold_chest_top.png rename to technic/technic/textures/technic_gold_chest_top.png diff --git a/textures/technic_gold_dust.png b/technic/technic/textures/technic_gold_dust.png similarity index 100% rename from textures/technic_gold_dust.png rename to technic/technic/textures/technic_gold_dust.png diff --git a/textures/technic_granite.png b/technic/technic/textures/technic_granite.png similarity index 100% rename from textures/technic_granite.png rename to technic/technic/textures/technic_granite.png diff --git a/textures/technic_grinder_front.png b/technic/technic/textures/technic_grinder_front.png similarity index 100% rename from textures/technic_grinder_front.png rename to technic/technic/textures/technic_grinder_front.png diff --git a/textures/technic_grinder_side.png b/technic/technic/textures/technic_grinder_side.png similarity index 100% rename from textures/technic_grinder_side.png rename to technic/technic/textures/technic_grinder_side.png diff --git a/textures/technic_grinder_top.png b/technic/technic/textures/technic_grinder_top.png similarity index 100% rename from textures/technic_grinder_top.png rename to technic/technic/textures/technic_grinder_top.png diff --git a/textures/technic_iron_chest_front.png b/technic/technic/textures/technic_iron_chest_front.png similarity index 100% rename from textures/technic_iron_chest_front.png rename to technic/technic/textures/technic_iron_chest_front.png diff --git a/textures/technic_iron_chest_locked.png b/technic/technic/textures/technic_iron_chest_locked.png similarity index 100% rename from textures/technic_iron_chest_locked.png rename to technic/technic/textures/technic_iron_chest_locked.png diff --git a/textures/technic_iron_chest_side.png b/technic/technic/textures/technic_iron_chest_side.png similarity index 100% rename from textures/technic_iron_chest_side.png rename to technic/technic/textures/technic_iron_chest_side.png diff --git a/textures/technic_iron_chest_top.png b/technic/technic/textures/technic_iron_chest_top.png similarity index 100% rename from textures/technic_iron_chest_top.png rename to technic/technic/textures/technic_iron_chest_top.png diff --git a/textures/technic_iron_dust.png b/technic/technic/textures/technic_iron_dust.png similarity index 100% rename from textures/technic_iron_dust.png rename to technic/technic/textures/technic_iron_dust.png diff --git a/textures/technic_laser_beam.png b/technic/technic/textures/technic_laser_beam.png similarity index 100% rename from textures/technic_laser_beam.png rename to technic/technic/textures/technic_laser_beam.png diff --git a/textures/technic_lava_can.png b/technic/technic/textures/technic_lava_can.png similarity index 100% rename from textures/technic_lava_can.png rename to technic/technic/textures/technic_lava_can.png diff --git a/textures/technic_light.png b/technic/technic/textures/technic_light.png similarity index 100% rename from textures/technic_light.png rename to technic/technic/textures/technic_light.png diff --git a/textures/technic_lv_cable.png b/technic/technic/textures/technic_lv_cable.png similarity index 100% rename from textures/technic_lv_cable.png rename to technic/technic/textures/technic_lv_cable.png diff --git a/textures/technic_lv_cable_wield.png b/technic/technic/textures/technic_lv_cable_wield.png similarity index 100% rename from textures/technic_lv_cable_wield.png rename to technic/technic/textures/technic_lv_cable_wield.png diff --git a/textures/technic_machine_bottom.png b/technic/technic/textures/technic_machine_bottom.png similarity index 100% rename from textures/technic_machine_bottom.png rename to technic/technic/textures/technic_machine_bottom.png diff --git a/textures/technic_marble.png b/technic/technic/textures/technic_marble.png similarity index 100% rename from textures/technic_marble.png rename to technic/technic/textures/technic_marble.png diff --git a/textures/technic_marble_bricks.png b/technic/technic/textures/technic_marble_bricks.png similarity index 100% rename from textures/technic_marble_bricks.png rename to technic/technic/textures/technic_marble_bricks.png diff --git a/textures/technic_menu_bg.png b/technic/technic/textures/technic_menu_bg.png similarity index 100% rename from textures/technic_menu_bg.png rename to technic/technic/textures/technic_menu_bg.png diff --git a/textures/technic_mineral_chromium.png b/technic/technic/textures/technic_mineral_chromium.png similarity index 100% rename from textures/technic_mineral_chromium.png rename to technic/technic/textures/technic_mineral_chromium.png diff --git a/textures/technic_mineral_diamond.png b/technic/technic/textures/technic_mineral_diamond.png similarity index 100% rename from textures/technic_mineral_diamond.png rename to technic/technic/textures/technic_mineral_diamond.png diff --git a/textures/technic_mineral_uranium.png b/technic/technic/textures/technic_mineral_uranium.png similarity index 100% rename from textures/technic_mineral_uranium.png rename to technic/technic/textures/technic_mineral_uranium.png diff --git a/textures/technic_mineral_zinc.png b/technic/technic/textures/technic_mineral_zinc.png similarity index 100% rename from textures/technic_mineral_zinc.png rename to technic/technic/textures/technic_mineral_zinc.png diff --git a/textures/technic_mining_drill.png b/technic/technic/textures/technic_mining_drill.png similarity index 100% rename from textures/technic_mining_drill.png rename to technic/technic/textures/technic_mining_drill.png diff --git a/textures/technic_mining_laser_mk1.png b/technic/technic/textures/technic_mining_laser_mk1.png similarity index 100% rename from textures/technic_mining_laser_mk1.png rename to technic/technic/textures/technic_mining_laser_mk1.png diff --git a/textures/technic_mithril_chest_front.png b/technic/technic/textures/technic_mithril_chest_front.png similarity index 100% rename from textures/technic_mithril_chest_front.png rename to technic/technic/textures/technic_mithril_chest_front.png diff --git a/textures/technic_mithril_chest_locked.png b/technic/technic/textures/technic_mithril_chest_locked.png similarity index 100% rename from textures/technic_mithril_chest_locked.png rename to technic/technic/textures/technic_mithril_chest_locked.png diff --git a/textures/technic_mithril_chest_side.png b/technic/technic/textures/technic_mithril_chest_side.png similarity index 100% rename from textures/technic_mithril_chest_side.png rename to technic/technic/textures/technic_mithril_chest_side.png diff --git a/textures/technic_mithril_chest_top.png b/technic/technic/textures/technic_mithril_chest_top.png similarity index 100% rename from textures/technic_mithril_chest_top.png rename to technic/technic/textures/technic_mithril_chest_top.png diff --git a/textures/technic_mithril_dust.png b/technic/technic/textures/technic_mithril_dust.png similarity index 100% rename from textures/technic_mithril_dust.png rename to technic/technic/textures/technic_mithril_dust.png diff --git a/textures/technic_motor.png b/technic/technic/textures/technic_motor.png similarity index 100% rename from textures/technic_motor.png rename to technic/technic/textures/technic_motor.png diff --git a/textures/technic_music_player_bottom.png b/technic/technic/textures/technic_music_player_bottom.png similarity index 100% rename from textures/technic_music_player_bottom.png rename to technic/technic/textures/technic_music_player_bottom.png diff --git a/textures/technic_music_player_side.png b/technic/technic/textures/technic_music_player_side.png similarity index 100% rename from textures/technic_music_player_side.png rename to technic/technic/textures/technic_music_player_side.png diff --git a/textures/technic_music_player_top.png b/technic/technic/textures/technic_music_player_top.png similarity index 100% rename from textures/technic_music_player_top.png rename to technic/technic/textures/technic_music_player_top.png diff --git a/textures/technic_mv_battery_box_bottom.png b/technic/technic/textures/technic_mv_battery_box_bottom.png similarity index 100% rename from textures/technic_mv_battery_box_bottom.png rename to technic/technic/textures/technic_mv_battery_box_bottom.png diff --git a/textures/technic_mv_battery_box_side0.png b/technic/technic/textures/technic_mv_battery_box_side0.png similarity index 100% rename from textures/technic_mv_battery_box_side0.png rename to technic/technic/textures/technic_mv_battery_box_side0.png diff --git a/textures/technic_mv_battery_box_top.png b/technic/technic/textures/technic_mv_battery_box_top.png similarity index 100% rename from textures/technic_mv_battery_box_top.png rename to technic/technic/textures/technic_mv_battery_box_top.png diff --git a/textures/technic_mv_cable.png b/technic/technic/textures/technic_mv_cable.png similarity index 100% rename from textures/technic_mv_cable.png rename to technic/technic/textures/technic_mv_cable.png diff --git a/textures/technic_mv_cable_wield.png b/technic/technic/textures/technic_mv_cable_wield.png similarity index 100% rename from textures/technic_mv_cable_wield.png rename to technic/technic/textures/technic_mv_cable_wield.png diff --git a/textures/technic_mv_solar_panel_bottom.png b/technic/technic/textures/technic_mv_solar_panel_bottom.png similarity index 100% rename from textures/technic_mv_solar_panel_bottom.png rename to technic/technic/textures/technic_mv_solar_panel_bottom.png diff --git a/textures/technic_mv_solar_panel_side.png b/technic/technic/textures/technic_mv_solar_panel_side.png similarity index 100% rename from textures/technic_mv_solar_panel_side.png rename to technic/technic/textures/technic_mv_solar_panel_side.png diff --git a/textures/technic_mv_solar_panel_top.png b/technic/technic/textures/technic_mv_solar_panel_top.png similarity index 100% rename from textures/technic_mv_solar_panel_top.png rename to technic/technic/textures/technic_mv_solar_panel_top.png diff --git a/textures/technic_mv_transformer.png b/technic/technic/textures/technic_mv_transformer.png similarity index 100% rename from textures/technic_mv_transformer.png rename to technic/technic/textures/technic_mv_transformer.png diff --git a/textures/technic_nodebreaker_back.png b/technic/technic/textures/technic_nodebreaker_back.png similarity index 100% rename from textures/technic_nodebreaker_back.png rename to technic/technic/textures/technic_nodebreaker_back.png diff --git a/textures/technic_nodebreaker_bottom.png b/technic/technic/textures/technic_nodebreaker_bottom.png similarity index 100% rename from textures/technic_nodebreaker_bottom.png rename to technic/technic/textures/technic_nodebreaker_bottom.png diff --git a/textures/technic_nodebreaker_bottom_off.png b/technic/technic/textures/technic_nodebreaker_bottom_off.png similarity index 100% rename from textures/technic_nodebreaker_bottom_off.png rename to technic/technic/textures/technic_nodebreaker_bottom_off.png diff --git a/textures/technic_nodebreaker_bottom_on.png b/technic/technic/textures/technic_nodebreaker_bottom_on.png similarity index 100% rename from textures/technic_nodebreaker_bottom_on.png rename to technic/technic/textures/technic_nodebreaker_bottom_on.png diff --git a/textures/technic_nodebreaker_front_off.png b/technic/technic/textures/technic_nodebreaker_front_off.png similarity index 100% rename from textures/technic_nodebreaker_front_off.png rename to technic/technic/textures/technic_nodebreaker_front_off.png diff --git a/textures/technic_nodebreaker_front_on.png b/technic/technic/textures/technic_nodebreaker_front_on.png similarity index 100% rename from textures/technic_nodebreaker_front_on.png rename to technic/technic/textures/technic_nodebreaker_front_on.png diff --git a/textures/technic_nodebreaker_side.png b/technic/technic/textures/technic_nodebreaker_side.png similarity index 100% rename from textures/technic_nodebreaker_side.png rename to technic/technic/textures/technic_nodebreaker_side.png diff --git a/textures/technic_nodebreaker_side1.png b/technic/technic/textures/technic_nodebreaker_side1.png similarity index 100% rename from textures/technic_nodebreaker_side1.png rename to technic/technic/textures/technic_nodebreaker_side1.png diff --git a/textures/technic_nodebreaker_side1_off.png b/technic/technic/textures/technic_nodebreaker_side1_off.png similarity index 100% rename from textures/technic_nodebreaker_side1_off.png rename to technic/technic/textures/technic_nodebreaker_side1_off.png diff --git a/textures/technic_nodebreaker_side1_on.png b/technic/technic/textures/technic_nodebreaker_side1_on.png similarity index 100% rename from textures/technic_nodebreaker_side1_on.png rename to technic/technic/textures/technic_nodebreaker_side1_on.png diff --git a/textures/technic_nodebreaker_side2.png b/technic/technic/textures/technic_nodebreaker_side2.png similarity index 100% rename from textures/technic_nodebreaker_side2.png rename to technic/technic/textures/technic_nodebreaker_side2.png diff --git a/textures/technic_nodebreaker_side2_off.png b/technic/technic/textures/technic_nodebreaker_side2_off.png similarity index 100% rename from textures/technic_nodebreaker_side2_off.png rename to technic/technic/textures/technic_nodebreaker_side2_off.png diff --git a/textures/technic_nodebreaker_side2_on.png b/technic/technic/textures/technic_nodebreaker_side2_on.png similarity index 100% rename from textures/technic_nodebreaker_side2_on.png rename to technic/technic/textures/technic_nodebreaker_side2_on.png diff --git a/textures/technic_nodebreaker_top.png b/technic/technic/textures/technic_nodebreaker_top.png similarity index 100% rename from textures/technic_nodebreaker_top.png rename to technic/technic/textures/technic_nodebreaker_top.png diff --git a/textures/technic_nodebreaker_top_off.png b/technic/technic/textures/technic_nodebreaker_top_off.png similarity index 100% rename from textures/technic_nodebreaker_top_off.png rename to technic/technic/textures/technic_nodebreaker_top_off.png diff --git a/textures/technic_nodebreaker_top_on.png b/technic/technic/textures/technic_nodebreaker_top_on.png similarity index 100% rename from textures/technic_nodebreaker_top_on.png rename to technic/technic/textures/technic_nodebreaker_top_on.png diff --git a/textures/technic_power_meter.png b/technic/technic/textures/technic_power_meter.png similarity index 100% rename from textures/technic_power_meter.png rename to technic/technic/textures/technic_power_meter.png diff --git a/textures/technic_power_meter1.png b/technic/technic/textures/technic_power_meter1.png similarity index 100% rename from textures/technic_power_meter1.png rename to technic/technic/textures/technic_power_meter1.png diff --git a/textures/technic_power_meter2.png b/technic/technic/textures/technic_power_meter2.png similarity index 100% rename from textures/technic_power_meter2.png rename to technic/technic/textures/technic_power_meter2.png diff --git a/textures/technic_power_meter3.png b/technic/technic/textures/technic_power_meter3.png similarity index 100% rename from textures/technic_power_meter3.png rename to technic/technic/textures/technic_power_meter3.png diff --git a/textures/technic_power_meter4.png b/technic/technic/textures/technic_power_meter4.png similarity index 100% rename from textures/technic_power_meter4.png rename to technic/technic/textures/technic_power_meter4.png diff --git a/textures/technic_power_meter5.png b/technic/technic/textures/technic_power_meter5.png similarity index 100% rename from textures/technic_power_meter5.png rename to technic/technic/textures/technic_power_meter5.png diff --git a/textures/technic_power_meter6.png b/technic/technic/textures/technic_power_meter6.png similarity index 100% rename from textures/technic_power_meter6.png rename to technic/technic/textures/technic_power_meter6.png diff --git a/textures/technic_power_meter7.png b/technic/technic/textures/technic_power_meter7.png similarity index 100% rename from textures/technic_power_meter7.png rename to technic/technic/textures/technic_power_meter7.png diff --git a/textures/technic_power_meter8.png b/technic/technic/textures/technic_power_meter8.png similarity index 100% rename from textures/technic_power_meter8.png rename to technic/technic/textures/technic_power_meter8.png diff --git a/textures/technic_power_meter_bg.png b/technic/technic/textures/technic_power_meter_bg.png similarity index 100% rename from textures/technic_power_meter_bg.png rename to technic/technic/textures/technic_power_meter_bg.png diff --git a/textures/technic_power_meter_fg.png b/technic/technic/textures/technic_power_meter_fg.png similarity index 100% rename from textures/technic_power_meter_fg.png rename to technic/technic/textures/technic_power_meter_fg.png diff --git a/textures/technic_raw_latex.png b/technic/technic/textures/technic_raw_latex.png similarity index 100% rename from textures/technic_raw_latex.png rename to technic/technic/textures/technic_raw_latex.png diff --git a/textures/technic_rebar.png b/technic/technic/textures/technic_rebar.png similarity index 100% rename from textures/technic_rebar.png rename to technic/technic/textures/technic_rebar.png diff --git a/textures/technic_rubber.png b/technic/technic/textures/technic_rubber.png similarity index 100% rename from textures/technic_rubber.png rename to technic/technic/textures/technic_rubber.png diff --git a/textures/technic_rubber_sapling.png b/technic/technic/textures/technic_rubber_sapling.png similarity index 100% rename from textures/technic_rubber_sapling.png rename to technic/technic/textures/technic_rubber_sapling.png diff --git a/textures/technic_rubber_tree_empty.png b/technic/technic/textures/technic_rubber_tree_empty.png similarity index 100% rename from textures/technic_rubber_tree_empty.png rename to technic/technic/textures/technic_rubber_tree_empty.png diff --git a/textures/technic_rubber_tree_full.png b/technic/technic/textures/technic_rubber_tree_full.png similarity index 100% rename from textures/technic_rubber_tree_full.png rename to technic/technic/textures/technic_rubber_tree_full.png diff --git a/textures/technic_screwdriver.png b/technic/technic/textures/technic_screwdriver.png similarity index 100% rename from textures/technic_screwdriver.png rename to technic/technic/textures/technic_screwdriver.png diff --git a/textures/technic_silicon_wafer.png b/technic/technic/textures/technic_silicon_wafer.png similarity index 100% rename from textures/technic_silicon_wafer.png rename to technic/technic/textures/technic_silicon_wafer.png diff --git a/textures/technic_silver_chest_front.png b/technic/technic/textures/technic_silver_chest_front.png similarity index 100% rename from textures/technic_silver_chest_front.png rename to technic/technic/textures/technic_silver_chest_front.png diff --git a/textures/technic_silver_chest_locked.png b/technic/technic/textures/technic_silver_chest_locked.png similarity index 100% rename from textures/technic_silver_chest_locked.png rename to technic/technic/textures/technic_silver_chest_locked.png diff --git a/textures/technic_silver_chest_side.png b/technic/technic/textures/technic_silver_chest_side.png similarity index 100% rename from textures/technic_silver_chest_side.png rename to technic/technic/textures/technic_silver_chest_side.png diff --git a/textures/technic_silver_chest_top.png b/technic/technic/textures/technic_silver_chest_top.png similarity index 100% rename from textures/technic_silver_chest_top.png rename to technic/technic/textures/technic_silver_chest_top.png diff --git a/textures/technic_silver_dust.png b/technic/technic/textures/technic_silver_dust.png similarity index 100% rename from textures/technic_silver_dust.png rename to technic/technic/textures/technic_silver_dust.png diff --git a/textures/technic_solar_panel_bottom.png b/technic/technic/textures/technic_solar_panel_bottom.png similarity index 100% rename from textures/technic_solar_panel_bottom.png rename to technic/technic/textures/technic_solar_panel_bottom.png diff --git a/textures/technic_solar_panel_side.png b/technic/technic/textures/technic_solar_panel_side.png similarity index 100% rename from textures/technic_solar_panel_side.png rename to technic/technic/textures/technic_solar_panel_side.png diff --git a/textures/technic_solar_panel_top.png b/technic/technic/textures/technic_solar_panel_top.png similarity index 100% rename from textures/technic_solar_panel_top.png rename to technic/technic/textures/technic_solar_panel_top.png diff --git a/textures/technic_sonic_screwdriver.png b/technic/technic/textures/technic_sonic_screwdriver.png similarity index 100% rename from textures/technic_sonic_screwdriver.png rename to technic/technic/textures/technic_sonic_screwdriver.png diff --git a/textures/technic_stainless_steel_dust.png b/technic/technic/textures/technic_stainless_steel_dust.png similarity index 100% rename from textures/technic_stainless_steel_dust.png rename to technic/technic/textures/technic_stainless_steel_dust.png diff --git a/textures/technic_stainless_steel_ingot.png b/technic/technic/textures/technic_stainless_steel_ingot.png similarity index 100% rename from textures/technic_stainless_steel_ingot.png rename to technic/technic/textures/technic_stainless_steel_ingot.png diff --git a/textures/technic_tin_dust.png b/technic/technic/textures/technic_tin_dust.png similarity index 100% rename from textures/technic_tin_dust.png rename to technic/technic/textures/technic_tin_dust.png diff --git a/textures/technic_tree_tap.png b/technic/technic/textures/technic_tree_tap.png similarity index 100% rename from textures/technic_tree_tap.png rename to technic/technic/textures/technic_tree_tap.png diff --git a/textures/technic_uranium.png b/technic/technic/textures/technic_uranium.png similarity index 100% rename from textures/technic_uranium.png rename to technic/technic/textures/technic_uranium.png diff --git a/textures/technic_water_can.png b/technic/technic/textures/technic_water_can.png similarity index 100% rename from textures/technic_water_can.png rename to technic/technic/textures/technic_water_can.png diff --git a/textures/technic_water_mill_side.png b/technic/technic/textures/technic_water_mill_side.png similarity index 100% rename from textures/technic_water_mill_side.png rename to technic/technic/textures/technic_water_mill_side.png diff --git a/textures/technic_water_mill_top.png b/technic/technic/textures/technic_water_mill_top.png similarity index 100% rename from textures/technic_water_mill_top.png rename to technic/technic/textures/technic_water_mill_top.png diff --git a/textures/technic_water_mill_top_active.png b/technic/technic/textures/technic_water_mill_top_active.png similarity index 100% rename from textures/technic_water_mill_top_active.png rename to technic/technic/textures/technic_water_mill_top_active.png diff --git a/textures/technic_workshop_bottom.png b/technic/technic/textures/technic_workshop_bottom.png similarity index 100% rename from textures/technic_workshop_bottom.png rename to technic/technic/textures/technic_workshop_bottom.png diff --git a/textures/technic_workshop_side.png b/technic/technic/textures/technic_workshop_side.png similarity index 100% rename from textures/technic_workshop_side.png rename to technic/technic/textures/technic_workshop_side.png diff --git a/textures/technic_workshop_top.png b/technic/technic/textures/technic_workshop_top.png similarity index 100% rename from textures/technic_workshop_top.png rename to technic/technic/textures/technic_workshop_top.png diff --git a/textures/technic_zinc_dust.png b/technic/technic/textures/technic_zinc_dust.png similarity index 100% rename from textures/technic_zinc_dust.png rename to technic/technic/textures/technic_zinc_dust.png diff --git a/textures/technic_zinc_ingot.png b/technic/technic/textures/technic_zinc_ingot.png similarity index 100% rename from textures/technic_zinc_ingot.png rename to technic/technic/textures/technic_zinc_ingot.png diff --git a/textures/technic_zinc_lump.png b/technic/technic/textures/technic_zinc_lump.png similarity index 100% rename from textures/technic_zinc_lump.png rename to technic/technic/textures/technic_zinc_lump.png diff --git a/technic/technic/textures/tetris_machine_front1.png b/technic/technic/textures/tetris_machine_front1.png new file mode 100644 index 0000000000000000000000000000000000000000..747bdd27b360c87418dcfc709c9b29b8ec5bdbaf GIT binary patch literal 20501 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 literal 0 HcmV?d00001 diff --git a/technic/technic/textures/tetris_machine_front2.png b/technic/technic/textures/tetris_machine_front2.png new file mode 100644 index 0000000000000000000000000000000000000000..3ad09088f859ee3baf8c3661834ec1d1099d0f74 GIT binary patch literal 24305 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 literal 0 HcmV?d00001 diff --git a/technic/technic/textures/tetris_machine_side1B.png b/technic/technic/textures/tetris_machine_side1B.png new file mode 100644 index 0000000000000000000000000000000000000000..de1e034cd8dae50f73faa7c5b25ce7c5a6438c64 GIT binary patch literal 2805 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 TeE)4*_d7*dHJLh~dGP-MH{}Ty literal 0 HcmV?d00001 diff --git a/technic/technic/textures/tetris_machine_side1P.png b/technic/technic/textures/tetris_machine_side1P.png new file mode 100644 index 0000000000000000000000000000000000000000..73942cf7baaff115c94e7d539df614da510ab622 GIT binary patch literal 15928 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 TeE)4*_d7*dHJLh~dGP-MH{}Ty literal 0 HcmV?d00001 diff --git a/technic/technic/textures/tetris_machine_side2B.png b/technic/technic/textures/tetris_machine_side2B.png new file mode 100644 index 0000000000000000000000000000000000000000..e8e42fe0cb4d75fbcb579631538f550f47c3383a GIT binary patch literal 17424 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∈COtma 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 literal 0 HcmV?d00001 diff --git a/tool_workshop.lua b/technic/technic/tool_workshop.lua similarity index 100% rename from tool_workshop.lua rename to technic/technic/tool_workshop.lua diff --git a/tree_tap.lua b/technic/technic/tree_tap.lua similarity index 95% rename from tree_tap.lua rename to technic/technic/tree_tap.lua index 76f50ef..107faed 100644 --- a/tree_tap.lua +++ b/technic/technic/tree_tap.lua @@ -7,7 +7,7 @@ local pos=minetest.get_pointed_thing_position(pointed_thing,above) local node=minetest.env:get_node(pos) local node_name=node.name - if node_name == "farming_plus:rubber_tree_full" then + if node_name == "farming_plus:rubber_tree_full" or node_name == "farming:rubber_tree_full" or node_name == "technic:rubber_tree_full" then user:get_inventory():add_item("main",ItemStack("technic:raw_latex")) minetest.env:set_node(pos,node) local item=itemstack:to_table() diff --git a/technic/technic/water.lua b/technic/technic/water.lua new file mode 100644 index 0000000..6ddaa46 --- /dev/null +++ b/technic/technic/water.lua @@ -0,0 +1,588 @@ +minetest.register_alias("battery", "technic:battery") +minetest.register_alias("battery_box", "technic:battery_box") +minetest.register_alias("electric_furnace", "technic:electric_furnace") + + +minetest.register_craft({ + output = 'technic:battery 1', + recipe = { + {'default:wood', 'moreores:copper_ingot', 'default:wood'}, + {'default:wood', 'moreores:tin_ingot', 'default:wood'}, + {'default:wood', 'moreores:copper_ingot', 'default:wood'}, + } +}) + +minetest.register_craft({ + output = 'technic:battery_box 1', + recipe = { + {'technic:battery', 'default:wood', 'technic:battery'}, + {'technic:battery', 'moreores:copper_ingot', 'technic:battery'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'technic:electric_furnace', + recipe = { + {'default:brick', 'default:brick', 'default:brick'}, + {'default:brick', '', 'default:brick'}, + {'default:steel_ingot', 'moreores:copper_ingot', 'default:steel_ingot'}, + } +}) + + +--minetest.register_craftitem("technic:battery", { +-- description = "Recharcheable battery", +-- inventory_image = "technic_battery.png", +-- stack_max = 1, +--}) + +minetest.register_tool("technic:battery", +{description = "RE Battery", +inventory_image = "technic_battery.png", +energy_charge = 0, +tool_capabilities = {max_drop_level=0, groupcaps={fleshy={times={}, uses=10000, maxlevel=0}}}}) + +minetest.register_craftitem("technic:battery_box", { + description = "Battery box", + stack_max = 99, +}) + + + +battery_box_formspec = + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png]".. + "list[current_name;src;3,1;1,1;]".. + "image[4,1;1,1;technic_battery_reload.png]".. + "list[current_name;dst;5,1;1,1;]".. + "label[0,0;Battery box]".. + "label[3,0;Charge]".. + "label[5,0;Discharge]".. + "label[1,3;Power level]".. + "list[current_player;main;0,5;8,4;]" + +minetest.register_node("technic:battery_box", { + description = "Battery box", + tiles = {"technic_battery_box_top.png", "technic_battery_box_bottom.png", "technic_battery_box_side.png", + "technic_battery_box_side.png", "technic_battery_box_side.png", "technic_battery_box_side.png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + technic_power_machine=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "Battery box") + meta:set_float("technic_power_machine", 1) + meta:set_string("formspec", battery_box_formspec) + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("dst", 1) + battery_charge = 0 + max_charge = 60000 + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +electric_furnace_formspec = + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png]".. + "list[current_name;src;3,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]".. + "label[0,0;Electric Furnace]".. + "label[1,3;Power level]" + +minetest.register_node("technic:electric_furnace", { + description = "Electric furnace", + tiles = {"technic_electric_furnace_top.png", "technic_electric_furnace_bottom.png", "technic_electric_furnace_side.png", + "technic_electric_furnace_side.png", "technic_electric_furnace_side.png", "technic_electric_furnace_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + technic_power_machine=1, + internal_EU_buffer=0; + interal_EU_buffer_size=2000; + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_float("technic_power_machine", 1) + meta:set_string("formspec", electric_furnace_formspec) + meta:set_string("infotext", "Electric furnace") + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("dst", 4) + local EU_used = 0 + local furnace_is_cookin = 0 + local cooked = nil + meta:set_float("internal_EU_buffer",0) + meta:set_float("internal_EU_buffer_size",2000) + + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_node("technic:electric_furnace_active", { + description = "Electric Furnace", + tiles = {"technic_electric_furnace_top.png", "technic_electric_furnace_bottom.png", "technic_electric_furnace_side.png", + "technic_electric_furnace_side.png", "technic_electric_furnace_side.png", "technic_electric_furnace_front_active.png"}, + paramtype2 = "facedir", + light_source = 8, + drop = "technic:electric_furnace", + groups = {cracky=2, not_in_creative_inventory=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + internal_EU_buffer=0; + interal_EU_buffer_size=2000; + technic_power_machine=1, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_float("technic_power_machine", 1) + meta:set_string("formspec", electric_furnace_formspec) + meta:set_string("infotext", "Electric furnace"); + local inv = meta:get_inventory() + inv:set_size("src", 1) + inv:set_size("dst", 4) + local EU_used = 0 + local furnace_is_cookin = 0 + local cooked = nil + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_abm({ + nodenames = {"technic:electric_furnace","technic:electric_furnace_active"}, + interval = 1, + chance = 1, + + action = function(pos, node, active_object_count, active_object_count_wider) + + local meta = minetest.env:get_meta(pos) + internal_EU_buffer=meta:get_float("internal_EU_buffer") + internal_EU_buffer_size=meta:get_float("internal_EU_buffer") + local load = math.floor(internal_EU_buffer/2000 * 100) + meta:set_string("formspec", + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. + (load)..":technic_power_meter_fg.png]".. + "list[current_name;src;3,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]".. + "label[0,0;Electric Furnace]".. + "label[1,3;Power level]") + + local inv = meta:get_inventory() + + local furnace_is_cookin = meta:get_float("furnace_is_cookin") + + + local srclist = inv:get_list("src") + local cooked=nil + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + + + if (furnace_is_cookin == 1) then + if internal_EU_buffer>=150 then + internal_EU_buffer=internal_EU_buffer-150; + meta:set_float("internal_EU_buffer",internal_EU_buffer) + meta:set_float("src_time", meta:get_float("src_time") + 3) + if cooked and cooked.item and meta:get_float("src_time") >= cooked.time then + -- check if there's room for output in "dst" list + if inv:room_for_item("dst",cooked.item) then + -- Put result in "dst" list + inv:add_item("dst", cooked.item) + -- take stuff from "src" list + srcstack = inv:get_stack("src", 1) + srcstack:take_item() + inv:set_stack("src", 1, srcstack) + else + print("Furnace inventory full!") + end + meta:set_string("src_time", 0) + end + end + end + + + + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + if cooked.time>0 then + hacky_swap_node(pos,"technic:electric_furnace_active") + meta:set_string("infotext","Furnace active") + meta:set_string("furnace_is_cookin",1) + -- meta:set_string("formspec", electric_furnace_formspec) + meta:set_string("src_time", 0) + return + end + + end + + hacky_swap_node(pos,"technic:electric_furnace") + meta:set_string("infotext","Furnace inactive") + meta:set_string("furnace_is_cookin",0) + -- meta:set_string("formspec", electric_furnace_formspec) + meta:set_string("src_time", 0) + + +end, +}) + + + + +function take_EU_from_net(pos, EU_to_take) + local meta = minetest.env:get_meta(pos) + local pos1=pos + pos1.z=pos1.z +1 + local meta1 = minetest.env:get_meta(pos1) + charge=meta1:get_float("battery_charge") + charge=charge - EU_to_take + meta1:set_float("battery_charge",charge) +end + + LV_nodes_visited = {} + +function get_RE_item_load (load1,max_load) +if load1==0 then load1=65535 end +local temp = 65536-load1 +temp= temp/65535*max_load +return math.floor(temp + 0.5) +end + +function set_RE_item_load (load1,max_load) +if load1 == 0 then return 65535 end +local temp=load1/max_load*65535 +temp=65536-temp +return math.floor(temp) +end + +minetest.register_abm({ + nodenames = {"technic:battery_box"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local meta = minetest.env:get_meta(pos) + charge= meta:get_float("battery_charge") + max_charge= 60000 + + local inv = meta:get_inventory() + if inv:is_empty("src")==false then + srcstack = inv:get_stack("src", 1) + src_item=srcstack:to_table() + if src_item["name"]== "technic:battery" then + local load1=tonumber((src_item["wear"])) + load1=get_RE_item_load(load1,10000) + load_step=1000 + if load1<10000 and charge>0 then + if charge-load_step<0 then load_step=charge end + if load1+load_step>10000 then load_step=10000-load1 end + load1=load1+load_step + charge=charge-load_step + + load1=set_RE_item_load(load1,10000) + src_item["wear"]=tostring(load1) + inv:set_stack("src", 1, src_item) + end + end + end + meta:set_float("battery_charge",charge) + + + if inv:is_empty("src")==false then + srcstack = inv:get_stack("src", 1) + src_item=srcstack:to_table() + if src_item["name"]== "technic:laser_mk1" then + local load1=tonumber((src_item["wear"])) + load1=get_RE_item_load(load1,40000) + load_step=1000 + if load1<40000 and charge>0 then + if charge-load_step<0 then load_step=charge end + if load1+load_step>40000 then load_step=40000-load1 end + load1=load1+load_step + charge=charge-load_step + load1=set_RE_item_load(load1,40000) + src_item["wear"]=tostring(load1) + inv:set_stack("src", 1, src_item) + end + end + end + meta:set_float("battery_charge",charge) + + + if inv:is_empty("dst") == false then + srcstack = inv:get_stack("dst", 1) + src_item=srcstack:to_table() + if src_item["name"]== "technic:battery" then + local load1=tonumber((src_item["wear"])) + load1=get_RE_item_load(load1,10000) + load_step=1000 + if load1>0 and chargemax_charge then load_step=max_charge-charge end + if load1-load_step<0 then load_step=load1 end + load1=load1-load_step + charge=charge+load_step + + load1=set_RE_item_load(load1,10000) + src_item["wear"]=tostring(load1) + inv:set_stack("dst", 1, src_item) + end + end + end + + + meta:set_float("battery_charge",charge) + meta:set_string("infotext", "Battery box: "..charge.."/"..max_charge); + + local load = math.floor(charge/60000 * 100) + meta:set_string("formspec", + "invsize[8,9;]".. + "image[1,1;1,2;technic_power_meter_bg.png^[lowpart:".. + (load)..":technic_power_meter_fg.png]".. + "list[current_name;src;3,1;1,1;]".. + "image[4,1;1,1;technic_battery_reload.png]".. + "list[current_name;dst;5,1;1,1;]".. + "label[0,0;Battery box]".. + "label[3,0;Charge]".. + "label[5,0;Discharge]".. + "label[1,3;Power level]".. + "list[current_player;main;0,5;8,4;]") + + local pos1={} + + pos1.y=pos.y-1 + pos1.x=pos.x + pos1.z=pos.z + + + meta1 = minetest.env:get_meta(pos1) + if meta1:get_float("cablelike")~=1 then return end + + local LV_nodes = {} + local PR_nodes = {} + local RE_nodes = {} + + LV_nodes[1]={} + LV_nodes[1].x=pos1.x + LV_nodes[1].y=pos1.y + LV_nodes[1].z=pos1.z + LV_nodes[1].visited=false + + +table_index=1 + repeat + check_LV_node (PR_nodes,RE_nodes,LV_nodes,table_index) + table_index=table_index+1 + if LV_nodes[table_index]==nil then break end + until false + + +local pos1={} +i=1 + repeat + if PR_nodes[i]==nil then break end + pos1.x=PR_nodes[i].x + pos1.y=PR_nodes[i].y + pos1.z=PR_nodes[i].z + local meta1 = minetest.env:get_meta(pos1) + local active=meta1:get_float("active") + if active==1 then charge=charge+80 end + i=i+1 + until false + +if charge>max_charge then charge=max_charge end + +i=1 + repeat + if RE_nodes[i]==nil then break end + pos1.x=RE_nodes[i].x -- loading all conected machines buffers + pos1.y=RE_nodes[i].y + pos1.z=RE_nodes[i].z + local meta1 = minetest.env:get_meta(pos1) + local internal_EU_buffer=meta1:get_float("internal_EU_buffer") + local internal_EU_buffer_size=meta1:get_float("internal_EU_buffer_size") + + local charge_to_give=200 + if internal_EU_buffer+charge_to_give>internal_EU_buffer_size then + charge_to_give=internal_EU_buffer_size-internal_EU_buffer + end + if charge-charge_to_give<0 then charge_to_give=charge end + + internal_EU_buffer=internal_EU_buffer+charge_to_give + meta1:set_float("internal_EU_buffer",internal_EU_buffer) + charge=charge-charge_to_give; + + i=i+1 + until false + + meta:set_float("battery_charge",charge) + meta:set_string("infotext", "Battery box: "..charge.."/"..max_charge); + + +end +}) + +function add_new_cable_node (LV_nodes,pos1) +local i=1 + repeat + if LV_nodes[i]==nil then break end + if pos1.x==LV_nodes[i].x and pos1.y==LV_nodes[i].y and pos1.z==LV_nodes[i].z then return false end + i=i+1 + until false +LV_nodes[i]={} +LV_nodes[i].x=pos1.x +LV_nodes[i].y=pos1.y +LV_nodes[i].z=pos1.z +LV_nodes[i].visited=false +return true +end + +function check_LV_node (PR_nodes,RE_nodes,LV_nodes,i) + local pos1={} + pos1.x=LV_nodes[i].x + pos1.y=LV_nodes[i].y + pos1.z=LV_nodes[i].z + LV_nodes[i].visited=true + new_node_added=false + + pos1.x=pos1.x+1 + check_LV_node_subp (PR_nodes,RE_nodes,LV_nodes,pos1) + pos1.x=pos1.x-2 + check_LV_node_subp (PR_nodes,RE_nodes,LV_nodes,pos1) + pos1.x=pos1.x+1 + + pos1.y=pos1.y+1 + check_LV_node_subp (PR_nodes,RE_nodes,LV_nodes,pos1) + pos1.y=pos1.y-2 + check_LV_node_subp (PR_nodes,RE_nodes,LV_nodes,pos1) + pos1.y=pos1.y+1 + + pos1.z=pos1.z+1 + check_LV_node_subp (PR_nodes,RE_nodes,LV_nodes,pos1) + pos1.z=pos1.z-2 + check_LV_node_subp (PR_nodes,RE_nodes,LV_nodes,pos1) + pos1.z=pos1.z+1 +return new_node_added +end + +function check_LV_node_subp (PR_nodes,RE_nodes,LV_nodes,pos1) +meta = minetest.env:get_meta(pos1) +if meta:get_float("cablelike")==1 then new_node_added=add_new_cable_node(LV_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:solar_panel" then new_node_added=add_new_cable_node(PR_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:electric_furnace" then new_node_added=add_new_cable_node(RE_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:electric_furnace_active" then new_node_added=add_new_cable_node(RE_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:tool_workshop" then new_node_added=add_new_cable_node(RE_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:music_player" then new_node_added=add_new_cable_node(RE_nodes,pos1) end +if minetest.env:get_node(pos1).name == "technic:grinder" then new_node_added=add_new_cable_node(RE_nodes,pos1) end +end + + +function get_connected_charge (charge,pos1) + local charge1=0 + local meta={} + if minetest.env:get_node(pos1).name == "technic:battery_box" then + print ("found batbox") + meta = minetest.env:get_meta(pos1) + return meta:get_float("cable_OUT") + end + + if minetest.env:get_node(pos1).name == "technic:lv_cable" then + meta = minetest.env:get_meta(pos1) + charge1=meta:get_float("cable_OUT") + if charge1>charge then + charge=charge1 + end + end +return charge +end + +minetest.register_node("technic:solar_panel", { + tiles = {"technic_solar_panel_top.png", "technic_solar_panel_side.png", "technic_solar_panel_side.png", + "technic_solar_panel_side.png", "technic_solar_panel_side.png", "technic_solar_panel_side.png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + description="Solar Panel", + active = false, + technic_power_machine=1, + drawtype = "nodebox", + paramtype = "light", + is_ground_content = true, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_float("technic_power_machine", 1) + meta:set_string("infotext", "Solar Panel") + meta:set_float("active", false) + end, +}) + +minetest.register_craft({ + output = 'technic:solar_panel 1', + recipe = { + {'default:sand', 'default:sand','default:sand'}, + {'default:sand', 'moreores:copper_ingot','default:sand'}, + {'default:sand', 'default:sand','default:sand'}, + + } +}) + +minetest.register_abm( + {nodenames = {"technic:solar_panel"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + + local pos1={} + pos1.y=pos.y+1 + pos1.x=pos.x + pos1.z=pos.z + + local light = minetest.env:get_node_light(pos1, nil) + local meta = minetest.env:get_meta(pos) + if light == nil then light = 0 end + if light >= 12 then + meta:set_string("infotext", "Solar Panel is active ") + meta:set_float("active",1) + else + meta:set_string("infotext", "Solar Panel is inactive"); + meta:set_float("active",0) + end + end, +}) \ No newline at end of file diff --git a/water_mill.lua b/technic/technic/water_mill.lua similarity index 100% rename from water_mill.lua rename to technic/technic/water_mill.lua diff --git a/wires.lua b/technic/technic/wires.lua similarity index 100% rename from wires.lua rename to technic/technic/wires.lua diff --git a/wires_mv.lua b/technic/technic/wires_mv.lua similarity index 100% rename from wires_mv.lua rename to technic/technic/wires_mv.lua