From a0abcb4882e43a01047e3e6cc25d7e555a299e4b Mon Sep 17 00:00:00 2001 From: Yawin Date: Tue, 31 Jan 2017 00:41:13 +0100 Subject: [PATCH] =?UTF-8?q?A=C3=B1adidos:=20=09-=20Mod=20para=20warps=20?= =?UTF-8?q?=09-=20Mod=20infinite=5Fchests=20=09-=20Mejorada=20api=20de=20M?= =?UTF-8?q?od=20Magic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -- Yawin --- mods/bucket/textures/.directory | 4 + mods/commands/depends.txt | 3 +- mods/commands/gm.lua | 71 ++ mods/commands/init.lua | 2 + .../overrides/node_override.lua | 234 ++--- .../textures/default_chest_lock.png | Bin 0 -> 1235 bytes mods/item_drop/init.lua | 38 +- mods/magic/api.lua | 92 ++ mods/magic/depends.txt | 3 + mods/magic/init.lua | 18 + mods/magic/magical_cobble.lua | 66 ++ mods/magic/magical_water.lua | 124 +++ mods/magic/schems/compass.mts | Bin 0 -> 58 bytes mods/magic/schems/magical_big_tree.mts | Bin 0 -> 746 bytes mods/magic/schems/magical_font.mts | Bin 0 -> 245 bytes mods/magic/schems/sapling_rune.mts | Bin 0 -> 112 bytes mods/magic/spells.lua | 92 ++ mods/magic/textures/.directory | 4 + mods/magic/textures/bucket_magicalwater.png | Bin 0 -> 383 bytes mods/magic/textures/magic_magicalcobble.png | Bin 0 -> 770 bytes .../textures/magic_magicalcobble_animated.png | Bin 0 -> 5169 bytes mods/magic/textures/magic_magicalwater.png | Bin 0 -> 665 bytes .../magic_magicalwater_flowing_animated.png | Bin 0 -> 5947 bytes .../magic_magicalwater_source_animated.png | Bin 0 -> 3665 bytes mods/magic/textures/magic_wand.png | Bin 0 -> 582 bytes mods/magic/wand.lua | 43 + mods/minetest-infinite_chest-master/LICENSE | 32 + mods/minetest-infinite_chest-master/README.md | 43 + .../minetest-infinite_chest-master/bower.json | 15 + .../infinite_chest/api.lua | 200 ++++ .../infinite_chest/depends.txt | 1 + .../infinite_chest/init.lua | 70 ++ .../infinite_chest/screenshot.png | Bin 0 -> 188672 bytes .../modpack.txt | 0 mods/warps/.directory | 3 + mods/warps/LICENSE | 19 + mods/warps/README | 37 + mods/warps/depends.txt | 1 + mods/warps/description.txt | 1 + mods/warps/init.lua | 302 ++++++ mods/warps/mod.conf | 1 + mods/warps/models/warps_warpstone.obj | 70 ++ mods/warps/screenshot.png | Bin 0 -> 210874 bytes mods/warps/sounds/LICENSE | 10 + mods/warps/sounds/warps_plop.ogg | Bin 0 -> 6218 bytes mods/warps/sounds/warps_woosh.ogg | Bin 0 -> 54718 bytes mods/warps/textures/warps_warpstone.png | Bin 0 -> 1808 bytes mods/warps/textures/warps_warpstone_guide.png | Bin 0 -> 348 bytes no-mods/ender_io/crafting.lua | 24 + no-mods/ender_io/craftitems.lua | 9 + no-mods/ender_io/depends.txt | 2 + no-mods/ender_io/functions.lua | 28 + no-mods/ender_io/init.lua | 17 + no-mods/ender_io/nodes.lua | 47 + no-mods/ender_io/textures/.directory | 4 + .../textures/energy_basic_conduit.png | Bin 0 -> 4012 bytes .../ender_io/textures/energy_med_conduit.png | Bin 0 -> 2959 bytes .../ender_io/textures/entropy_generator.png | Bin 0 -> 3091 bytes no-mods/ender_io/textures/light.png | Bin 0 -> 3099 bytes no-mods/pipeworks/.gitignore | 22 + no-mods/pipeworks/LICENSE | 17 + no-mods/pipeworks/README | 22 + no-mods/pipeworks/autocrafter.lua | 375 ++++++++ no-mods/pipeworks/autoplace_pipes.lua | 200 ++++ no-mods/pipeworks/autoplace_tubes.lua | 122 +++ no-mods/pipeworks/changelog.txt | 93 ++ no-mods/pipeworks/common.lua | 157 +++ no-mods/pipeworks/compat.lua | 153 +++ no-mods/pipeworks/crafts.lua | 151 +++ no-mods/pipeworks/decorative_tubes.lua | 83 ++ no-mods/pipeworks/default_settings.txt | 23 + no-mods/pipeworks/depends.txt | 4 + no-mods/pipeworks/description.txt | 1 + no-mods/pipeworks/devices.lua | 572 +++++++++++ no-mods/pipeworks/filter-injector.lua | 447 +++++++++ no-mods/pipeworks/flowing_logic.lua | 121 +++ no-mods/pipeworks/init.lua | 117 +++ no-mods/pipeworks/item_transport.lua | 289 ++++++ no-mods/pipeworks/legacy.lua | 59 ++ no-mods/pipeworks/luaentity.lua | 351 +++++++ no-mods/pipeworks/mod.conf | 1 + no-mods/pipeworks/models.lua | 49 + .../models/pipeworks_entry_panel.obj | 390 ++++++++ .../models/pipeworks_flow_sensor.obj | 390 ++++++++ .../models/pipeworks_fountainhead.obj | 352 +++++++ .../pipeworks/models/pipeworks_pipe_10.obj | 891 ++++++++++++++++++ no-mods/pipeworks/models/pipeworks_pipe_2.obj | 392 ++++++++ no-mods/pipeworks/models/pipeworks_pipe_3.obj | 354 +++++++ no-mods/pipeworks/models/pipeworks_pipe_4.obj | 478 ++++++++++ no-mods/pipeworks/models/pipeworks_pipe_5.obj | 542 +++++++++++ no-mods/pipeworks/models/pipeworks_pipe_6.obj | 499 ++++++++++ no-mods/pipeworks/models/pipeworks_pipe_7.obj | 629 +++++++++++++ no-mods/pipeworks/models/pipeworks_pipe_8.obj | 631 +++++++++++++ no-mods/pipeworks/models/pipeworks_pipe_9.obj | 759 +++++++++++++++ no-mods/pipeworks/models/pipeworks_pump.obj | 282 ++++++ no-mods/pipeworks/models/pipeworks_spigot.obj | 512 ++++++++++ .../models/pipeworks_spigot_pouring.obj | 634 +++++++++++++ .../pipeworks/models/pipeworks_valve_off.obj | 458 +++++++++ .../pipeworks/models/pipeworks_valve_on.obj | 458 +++++++++ no-mods/pipeworks/pipes.lua | 222 +++++ no-mods/pipeworks/routing_tubes.lua | 119 +++ no-mods/pipeworks/screenshot.png | Bin 0 -> 92579 bytes no-mods/pipeworks/signal_tubes.lua | 160 ++++ no-mods/pipeworks/sorting_tubes.lua | 167 ++++ no-mods/pipeworks/teleport_tube.lua | 242 +++++ no-mods/pipeworks/textures/.directory | 4 + .../textures/homedecor_oil_extract.png | Bin 0 -> 285 bytes .../pipeworks/textures/homedecor_paraffin.png | Bin 0 -> 345 bytes .../textures/homedecor_plastic_sheeting.png | Bin 0 -> 290 bytes .../pipeworks_accelerator_tube_end.png | Bin 0 -> 1229 bytes .../pipeworks_accelerator_tube_inv.png | Bin 0 -> 665 bytes .../pipeworks_accelerator_tube_noctr.png | Bin 0 -> 1032 bytes .../pipeworks_accelerator_tube_plain.png | Bin 0 -> 1195 bytes .../pipeworks_accelerator_tube_short.png | Bin 0 -> 661 bytes .../textures/pipeworks_autocrafter.png | Bin 0 -> 140 bytes .../pipeworks/textures/pipeworks_black.png | Bin 0 -> 83 bytes no-mods/pipeworks/textures/pipeworks_blue.png | Bin 0 -> 83 bytes .../textures/pipeworks_button_interm.png | Bin 0 -> 5409 bytes .../textures/pipeworks_button_off.png | Bin 0 -> 5979 bytes .../textures/pipeworks_button_on.png | Bin 0 -> 6064 bytes .../textures/pipeworks_conductor_tube_end.png | Bin 0 -> 2022 bytes .../textures/pipeworks_conductor_tube_inv.png | Bin 0 -> 1239 bytes .../pipeworks_conductor_tube_noctr.png | Bin 0 -> 1630 bytes .../pipeworks_conductor_tube_on_end.png | Bin 0 -> 2188 bytes .../pipeworks_conductor_tube_on_noctr.png | Bin 0 -> 1739 bytes .../pipeworks_conductor_tube_on_plain.png | Bin 0 -> 2167 bytes .../pipeworks_conductor_tube_plain.png | Bin 0 -> 2169 bytes .../pipeworks_conductor_tube_short.png | Bin 0 -> 839 bytes .../textures/pipeworks_crossing_tube_end.png | Bin 0 -> 1195 bytes .../textures/pipeworks_crossing_tube_inv.png | Bin 0 -> 535 bytes .../pipeworks_crossing_tube_noctr.png | Bin 0 -> 1005 bytes .../pipeworks_crossing_tube_plain.png | Bin 0 -> 1219 bytes .../pipeworks_crossing_tube_short.png | Bin 0 -> 575 bytes .../textures/pipeworks_deployer_back.png | Bin 0 -> 275 bytes .../textures/pipeworks_deployer_bottom.png | Bin 0 -> 801 bytes .../textures/pipeworks_deployer_front_off.png | Bin 0 -> 669 bytes .../textures/pipeworks_deployer_front_on.png | Bin 0 -> 543 bytes .../textures/pipeworks_deployer_side.png | Bin 0 -> 823 bytes .../textures/pipeworks_deployer_side1.png | Bin 0 -> 823 bytes .../textures/pipeworks_deployer_side2.png | Bin 0 -> 823 bytes .../textures/pipeworks_deployer_top.png | Bin 0 -> 800 bytes .../textures/pipeworks_detector_tube_end.png | Bin 0 -> 1068 bytes .../textures/pipeworks_detector_tube_inv.png | Bin 0 -> 795 bytes .../pipeworks_detector_tube_noctr.png | Bin 0 -> 892 bytes .../pipeworks_detector_tube_plain.png | Bin 0 -> 1551 bytes .../pipeworks_detector_tube_short.png | Bin 0 -> 526 bytes .../pipeworks_digiline_detector_tube_end.png | Bin 0 -> 1068 bytes .../pipeworks_digiline_detector_tube_inv.png | Bin 0 -> 765 bytes ...pipeworks_digiline_detector_tube_noctr.png | Bin 0 -> 892 bytes ...pipeworks_digiline_detector_tube_plain.png | Bin 0 -> 1500 bytes ...pipeworks_digiline_detector_tube_short.png | Bin 0 -> 526 bytes .../pipeworks_digiline_filter_input.png | Bin 0 -> 234 bytes .../pipeworks_digiline_filter_output.png | Bin 0 -> 217 bytes .../pipeworks_digiline_filter_side.png | Bin 0 -> 236 bytes .../pipeworks_digiline_filter_top.png | Bin 0 -> 236 bytes .../textures/pipeworks_dispenser_back.png | Bin 0 -> 1744 bytes .../textures/pipeworks_dispenser_bottom.png | Bin 0 -> 1600 bytes .../pipeworks_dispenser_front_off.png | Bin 0 -> 1989 bytes .../textures/pipeworks_dispenser_front_on.png | Bin 0 -> 1932 bytes .../textures/pipeworks_dispenser_side1.png | Bin 0 -> 1587 bytes .../textures/pipeworks_dispenser_side2.png | Bin 0 -> 1597 bytes .../textures/pipeworks_dispenser_top.png | Bin 0 -> 1575 bytes .../textures/pipeworks_entry_panel.png | Bin 0 -> 4915 bytes .../textures/pipeworks_filter_input.png | Bin 0 -> 190 bytes .../textures/pipeworks_filter_output.png | Bin 0 -> 175 bytes .../textures/pipeworks_filter_side.png | Bin 0 -> 190 bytes .../textures/pipeworks_filter_top.png | Bin 0 -> 195 bytes .../textures/pipeworks_flow_sensor_off.png | Bin 0 -> 3759 bytes .../textures/pipeworks_flow_sensor_on.png | Bin 0 -> 4484 bytes .../textures/pipeworks_fountainhead.png | Bin 0 -> 3218 bytes .../textures/pipeworks_grating_sides.png | Bin 0 -> 4433 bytes .../textures/pipeworks_grating_top.png | Bin 0 -> 4376 bytes .../pipeworks/textures/pipeworks_green.png | Bin 0 -> 83 bytes .../textures/pipeworks_mese_filter_input.png | Bin 0 -> 190 bytes .../textures/pipeworks_mese_filter_output.png | Bin 0 -> 175 bytes .../textures/pipeworks_mese_filter_side.png | Bin 0 -> 190 bytes .../textures/pipeworks_mese_filter_top.png | Bin 0 -> 195 bytes .../textures/pipeworks_mese_sand_tube_end.png | Bin 0 -> 1104 bytes .../textures/pipeworks_mese_sand_tube_inv.png | Bin 0 -> 595 bytes .../pipeworks_mese_sand_tube_noctr.png | Bin 0 -> 912 bytes .../pipeworks_mese_sand_tube_plain.png | Bin 0 -> 1091 bytes .../pipeworks_mese_sand_tube_short.png | Bin 0 -> 554 bytes .../textures/pipeworks_mese_tube_end.png | Bin 0 -> 1229 bytes .../textures/pipeworks_mese_tube_inv.png | Bin 0 -> 665 bytes .../textures/pipeworks_mese_tube_noctr_1.png | Bin 0 -> 1098 bytes .../textures/pipeworks_mese_tube_noctr_2.png | Bin 0 -> 1102 bytes .../textures/pipeworks_mese_tube_noctr_3.png | Bin 0 -> 1102 bytes .../textures/pipeworks_mese_tube_noctr_4.png | Bin 0 -> 1102 bytes .../textures/pipeworks_mese_tube_noctr_5.png | Bin 0 -> 1102 bytes .../textures/pipeworks_mese_tube_noctr_6.png | Bin 0 -> 1102 bytes .../textures/pipeworks_mese_tube_plain_1.png | Bin 0 -> 1269 bytes .../textures/pipeworks_mese_tube_plain_2.png | Bin 0 -> 1273 bytes .../textures/pipeworks_mese_tube_plain_3.png | Bin 0 -> 1274 bytes .../textures/pipeworks_mese_tube_plain_4.png | Bin 0 -> 1269 bytes .../textures/pipeworks_mese_tube_plain_5.png | Bin 0 -> 1269 bytes .../textures/pipeworks_mese_tube_plain_6.png | Bin 0 -> 1274 bytes .../textures/pipeworks_mese_tube_short.png | Bin 0 -> 661 bytes .../textures/pipeworks_nodebreaker_back.png | Bin 0 -> 632 bytes .../pipeworks_nodebreaker_bottom_off.png | Bin 0 -> 637 bytes .../pipeworks_nodebreaker_bottom_on.png | Bin 0 -> 640 bytes .../pipeworks_nodebreaker_front_off.png | Bin 0 -> 587 bytes .../pipeworks_nodebreaker_front_on.png | Bin 0 -> 544 bytes .../pipeworks_nodebreaker_side1_off.png | Bin 0 -> 581 bytes .../pipeworks_nodebreaker_side1_on.png | Bin 0 -> 589 bytes .../pipeworks_nodebreaker_side2_off.png | Bin 0 -> 581 bytes .../pipeworks_nodebreaker_side2_on.png | Bin 0 -> 589 bytes .../pipeworks_nodebreaker_top_off.png | Bin 0 -> 637 bytes .../textures/pipeworks_nodebreaker_top_on.png | Bin 0 -> 640 bytes .../textures/pipeworks_one_way_tube_input.png | Bin 0 -> 349 bytes .../pipeworks_one_way_tube_output.png | Bin 0 -> 349 bytes .../textures/pipeworks_one_way_tube_side.png | Bin 0 -> 859 bytes .../textures/pipeworks_one_way_tube_top.png | Bin 0 -> 860 bytes .../pipeworks_pane_embedded_tube_ends.png | Bin 0 -> 1005 bytes .../pipeworks_pane_embedded_tube_sides.png | Bin 0 -> 1031 bytes .../textures/pipeworks_pipe_3_empty.png | Bin 0 -> 2351 bytes .../textures/pipeworks_pipe_3_loaded.png | Bin 0 -> 2389 bytes .../pipeworks/textures/pipeworks_pipe_inv.png | Bin 0 -> 4104 bytes .../textures/pipeworks_pipe_plain.png | Bin 0 -> 2343 bytes .../textures/pipeworks_plastic_sheeting.png | Bin 0 -> 152 bytes .../pipeworks/textures/pipeworks_pump_off.png | Bin 0 -> 25829 bytes .../pipeworks/textures/pipeworks_pump_on.png | Bin 0 -> 26842 bytes no-mods/pipeworks/textures/pipeworks_red.png | Bin 0 -> 83 bytes .../textures/pipeworks_sand_tube_end.png | Bin 0 -> 1158 bytes .../textures/pipeworks_sand_tube_inv.png | Bin 0 -> 632 bytes .../textures/pipeworks_sand_tube_noctr.png | Bin 0 -> 971 bytes .../textures/pipeworks_sand_tube_plain.png | Bin 0 -> 1129 bytes .../textures/pipeworks_sand_tube_short.png | Bin 0 -> 602 bytes .../pipeworks/textures/pipeworks_spigot.png | Bin 0 -> 2463 bytes .../textures/pipeworks_storage_tank_back.png | Bin 0 -> 248 bytes .../pipeworks_storage_tank_fittings.png | Bin 0 -> 285 bytes .../pipeworks_storage_tank_front_0.png | Bin 0 -> 3770 bytes .../pipeworks_storage_tank_front_1.png | Bin 0 -> 723 bytes .../pipeworks_storage_tank_front_10.png | Bin 0 -> 270 bytes .../pipeworks_storage_tank_front_2.png | Bin 0 -> 710 bytes .../pipeworks_storage_tank_front_3.png | Bin 0 -> 700 bytes .../pipeworks_storage_tank_front_4.png | Bin 0 -> 701 bytes .../pipeworks_storage_tank_front_5.png | Bin 0 -> 281 bytes .../pipeworks_storage_tank_front_6.png | Bin 0 -> 266 bytes .../pipeworks_storage_tank_front_7.png | Bin 0 -> 265 bytes .../pipeworks_storage_tank_front_8.png | Bin 0 -> 266 bytes .../pipeworks_storage_tank_front_9.png | Bin 0 -> 264 bytes .../textures/pipeworks_teleport_tube_end.png | Bin 0 -> 1694 bytes .../textures/pipeworks_teleport_tube_inv.png | Bin 0 -> 842 bytes .../pipeworks_teleport_tube_noctr.png | Bin 0 -> 1455 bytes .../pipeworks_teleport_tube_plain.png | Bin 0 -> 1682 bytes .../pipeworks_teleport_tube_short.png | Bin 0 -> 967 bytes .../textures/pipeworks_testobject.png | Bin 0 -> 4012 bytes .../textures/pipeworks_trashcan_bottom.png | Bin 0 -> 119 bytes .../textures/pipeworks_trashcan_side.png | Bin 0 -> 89 bytes .../pipeworks_tube_connection_metallic.png | Bin 0 -> 161 bytes .../pipeworks_tube_connection_stony.png | Bin 0 -> 170 bytes .../pipeworks_tube_connection_wooden.png | Bin 0 -> 152 bytes .../pipeworks/textures/pipeworks_tube_end.png | Bin 0 -> 1068 bytes .../pipeworks/textures/pipeworks_tube_inv.png | Bin 0 -> 523 bytes .../textures/pipeworks_tube_noctr.png | Bin 0 -> 892 bytes .../textures/pipeworks_tube_plain.png | Bin 0 -> 1073 bytes .../textures/pipeworks_tube_short.png | Bin 0 -> 526 bytes .../textures/pipeworks_tube_transparent.png | Bin 0 -> 95 bytes .../pipeworks/textures/pipeworks_valve.png | Bin 0 -> 5043 bytes .../pipeworks/textures/pipeworks_white.png | Bin 0 -> 83 bytes .../pipeworks/textures/pipeworks_yellow.png | Bin 0 -> 83 bytes no-mods/pipeworks/trashcan.lua | 50 + no-mods/pipeworks/tube_registration.lua | 240 +++++ no-mods/pipeworks/vacuum_tubes.lua | 122 +++ no-mods/pipeworks/wielder.lua | 457 +++++++++ 265 files changed, 15460 insertions(+), 133 deletions(-) create mode 100644 mods/bucket/textures/.directory create mode 100644 mods/default_override/textures/default_chest_lock.png create mode 100644 mods/magic/api.lua create mode 100644 mods/magic/depends.txt create mode 100644 mods/magic/init.lua create mode 100644 mods/magic/magical_cobble.lua create mode 100644 mods/magic/magical_water.lua create mode 100644 mods/magic/schems/compass.mts create mode 100644 mods/magic/schems/magical_big_tree.mts create mode 100644 mods/magic/schems/magical_font.mts create mode 100644 mods/magic/schems/sapling_rune.mts create mode 100644 mods/magic/spells.lua create mode 100644 mods/magic/textures/.directory create mode 100644 mods/magic/textures/bucket_magicalwater.png create mode 100644 mods/magic/textures/magic_magicalcobble.png create mode 100644 mods/magic/textures/magic_magicalcobble_animated.png create mode 100644 mods/magic/textures/magic_magicalwater.png create mode 100644 mods/magic/textures/magic_magicalwater_flowing_animated.png create mode 100644 mods/magic/textures/magic_magicalwater_source_animated.png create mode 100644 mods/magic/textures/magic_wand.png create mode 100644 mods/magic/wand.lua create mode 100644 mods/minetest-infinite_chest-master/LICENSE create mode 100644 mods/minetest-infinite_chest-master/README.md create mode 100644 mods/minetest-infinite_chest-master/bower.json create mode 100644 mods/minetest-infinite_chest-master/infinite_chest/api.lua create mode 100644 mods/minetest-infinite_chest-master/infinite_chest/depends.txt create mode 100644 mods/minetest-infinite_chest-master/infinite_chest/init.lua create mode 100644 mods/minetest-infinite_chest-master/infinite_chest/screenshot.png create mode 100644 mods/minetest-infinite_chest-master/modpack.txt create mode 100644 mods/warps/.directory create mode 100644 mods/warps/LICENSE create mode 100644 mods/warps/README create mode 100644 mods/warps/depends.txt create mode 100644 mods/warps/description.txt create mode 100644 mods/warps/init.lua create mode 100644 mods/warps/mod.conf create mode 100644 mods/warps/models/warps_warpstone.obj create mode 100644 mods/warps/screenshot.png create mode 100644 mods/warps/sounds/LICENSE create mode 100644 mods/warps/sounds/warps_plop.ogg create mode 100644 mods/warps/sounds/warps_woosh.ogg create mode 100644 mods/warps/textures/warps_warpstone.png create mode 100644 mods/warps/textures/warps_warpstone_guide.png create mode 100644 no-mods/ender_io/crafting.lua create mode 100644 no-mods/ender_io/craftitems.lua create mode 100644 no-mods/ender_io/depends.txt create mode 100644 no-mods/ender_io/functions.lua create mode 100644 no-mods/ender_io/init.lua create mode 100644 no-mods/ender_io/nodes.lua create mode 100644 no-mods/ender_io/textures/.directory create mode 100644 no-mods/ender_io/textures/energy_basic_conduit.png create mode 100644 no-mods/ender_io/textures/energy_med_conduit.png create mode 100644 no-mods/ender_io/textures/entropy_generator.png create mode 100644 no-mods/ender_io/textures/light.png create mode 100644 no-mods/pipeworks/.gitignore create mode 100644 no-mods/pipeworks/LICENSE create mode 100644 no-mods/pipeworks/README create mode 100644 no-mods/pipeworks/autocrafter.lua create mode 100644 no-mods/pipeworks/autoplace_pipes.lua create mode 100644 no-mods/pipeworks/autoplace_tubes.lua create mode 100644 no-mods/pipeworks/changelog.txt create mode 100644 no-mods/pipeworks/common.lua create mode 100644 no-mods/pipeworks/compat.lua create mode 100644 no-mods/pipeworks/crafts.lua create mode 100644 no-mods/pipeworks/decorative_tubes.lua create mode 100644 no-mods/pipeworks/default_settings.txt create mode 100644 no-mods/pipeworks/depends.txt create mode 100644 no-mods/pipeworks/description.txt create mode 100644 no-mods/pipeworks/devices.lua create mode 100644 no-mods/pipeworks/filter-injector.lua create mode 100644 no-mods/pipeworks/flowing_logic.lua create mode 100644 no-mods/pipeworks/init.lua create mode 100644 no-mods/pipeworks/item_transport.lua create mode 100644 no-mods/pipeworks/legacy.lua create mode 100644 no-mods/pipeworks/luaentity.lua create mode 100644 no-mods/pipeworks/mod.conf create mode 100644 no-mods/pipeworks/models.lua create mode 100644 no-mods/pipeworks/models/pipeworks_entry_panel.obj create mode 100644 no-mods/pipeworks/models/pipeworks_flow_sensor.obj create mode 100644 no-mods/pipeworks/models/pipeworks_fountainhead.obj create mode 100644 no-mods/pipeworks/models/pipeworks_pipe_10.obj create mode 100644 no-mods/pipeworks/models/pipeworks_pipe_2.obj create mode 100644 no-mods/pipeworks/models/pipeworks_pipe_3.obj create mode 100644 no-mods/pipeworks/models/pipeworks_pipe_4.obj create mode 100644 no-mods/pipeworks/models/pipeworks_pipe_5.obj create mode 100644 no-mods/pipeworks/models/pipeworks_pipe_6.obj create mode 100644 no-mods/pipeworks/models/pipeworks_pipe_7.obj create mode 100644 no-mods/pipeworks/models/pipeworks_pipe_8.obj create mode 100644 no-mods/pipeworks/models/pipeworks_pipe_9.obj create mode 100644 no-mods/pipeworks/models/pipeworks_pump.obj create mode 100644 no-mods/pipeworks/models/pipeworks_spigot.obj create mode 100644 no-mods/pipeworks/models/pipeworks_spigot_pouring.obj create mode 100644 no-mods/pipeworks/models/pipeworks_valve_off.obj create mode 100644 no-mods/pipeworks/models/pipeworks_valve_on.obj create mode 100644 no-mods/pipeworks/pipes.lua create mode 100644 no-mods/pipeworks/routing_tubes.lua create mode 100644 no-mods/pipeworks/screenshot.png create mode 100644 no-mods/pipeworks/signal_tubes.lua create mode 100644 no-mods/pipeworks/sorting_tubes.lua create mode 100644 no-mods/pipeworks/teleport_tube.lua create mode 100644 no-mods/pipeworks/textures/.directory create mode 100644 no-mods/pipeworks/textures/homedecor_oil_extract.png create mode 100644 no-mods/pipeworks/textures/homedecor_paraffin.png create mode 100644 no-mods/pipeworks/textures/homedecor_plastic_sheeting.png create mode 100644 no-mods/pipeworks/textures/pipeworks_accelerator_tube_end.png create mode 100644 no-mods/pipeworks/textures/pipeworks_accelerator_tube_inv.png create mode 100644 no-mods/pipeworks/textures/pipeworks_accelerator_tube_noctr.png create mode 100644 no-mods/pipeworks/textures/pipeworks_accelerator_tube_plain.png create mode 100644 no-mods/pipeworks/textures/pipeworks_accelerator_tube_short.png create mode 100644 no-mods/pipeworks/textures/pipeworks_autocrafter.png create mode 100644 no-mods/pipeworks/textures/pipeworks_black.png create mode 100644 no-mods/pipeworks/textures/pipeworks_blue.png create mode 100644 no-mods/pipeworks/textures/pipeworks_button_interm.png create mode 100644 no-mods/pipeworks/textures/pipeworks_button_off.png create mode 100644 no-mods/pipeworks/textures/pipeworks_button_on.png create mode 100644 no-mods/pipeworks/textures/pipeworks_conductor_tube_end.png create mode 100644 no-mods/pipeworks/textures/pipeworks_conductor_tube_inv.png create mode 100644 no-mods/pipeworks/textures/pipeworks_conductor_tube_noctr.png create mode 100644 no-mods/pipeworks/textures/pipeworks_conductor_tube_on_end.png create mode 100644 no-mods/pipeworks/textures/pipeworks_conductor_tube_on_noctr.png create mode 100644 no-mods/pipeworks/textures/pipeworks_conductor_tube_on_plain.png create mode 100644 no-mods/pipeworks/textures/pipeworks_conductor_tube_plain.png create mode 100644 no-mods/pipeworks/textures/pipeworks_conductor_tube_short.png create mode 100644 no-mods/pipeworks/textures/pipeworks_crossing_tube_end.png create mode 100644 no-mods/pipeworks/textures/pipeworks_crossing_tube_inv.png create mode 100644 no-mods/pipeworks/textures/pipeworks_crossing_tube_noctr.png create mode 100644 no-mods/pipeworks/textures/pipeworks_crossing_tube_plain.png create mode 100644 no-mods/pipeworks/textures/pipeworks_crossing_tube_short.png create mode 100644 no-mods/pipeworks/textures/pipeworks_deployer_back.png create mode 100644 no-mods/pipeworks/textures/pipeworks_deployer_bottom.png create mode 100644 no-mods/pipeworks/textures/pipeworks_deployer_front_off.png create mode 100644 no-mods/pipeworks/textures/pipeworks_deployer_front_on.png create mode 100644 no-mods/pipeworks/textures/pipeworks_deployer_side.png create mode 100644 no-mods/pipeworks/textures/pipeworks_deployer_side1.png create mode 100644 no-mods/pipeworks/textures/pipeworks_deployer_side2.png create mode 100644 no-mods/pipeworks/textures/pipeworks_deployer_top.png create mode 100644 no-mods/pipeworks/textures/pipeworks_detector_tube_end.png create mode 100644 no-mods/pipeworks/textures/pipeworks_detector_tube_inv.png create mode 100644 no-mods/pipeworks/textures/pipeworks_detector_tube_noctr.png create mode 100644 no-mods/pipeworks/textures/pipeworks_detector_tube_plain.png create mode 100644 no-mods/pipeworks/textures/pipeworks_detector_tube_short.png create mode 100644 no-mods/pipeworks/textures/pipeworks_digiline_detector_tube_end.png create mode 100644 no-mods/pipeworks/textures/pipeworks_digiline_detector_tube_inv.png create mode 100644 no-mods/pipeworks/textures/pipeworks_digiline_detector_tube_noctr.png create mode 100644 no-mods/pipeworks/textures/pipeworks_digiline_detector_tube_plain.png create mode 100644 no-mods/pipeworks/textures/pipeworks_digiline_detector_tube_short.png create mode 100644 no-mods/pipeworks/textures/pipeworks_digiline_filter_input.png create mode 100644 no-mods/pipeworks/textures/pipeworks_digiline_filter_output.png create mode 100644 no-mods/pipeworks/textures/pipeworks_digiline_filter_side.png create mode 100644 no-mods/pipeworks/textures/pipeworks_digiline_filter_top.png create mode 100644 no-mods/pipeworks/textures/pipeworks_dispenser_back.png create mode 100644 no-mods/pipeworks/textures/pipeworks_dispenser_bottom.png create mode 100644 no-mods/pipeworks/textures/pipeworks_dispenser_front_off.png create mode 100644 no-mods/pipeworks/textures/pipeworks_dispenser_front_on.png create mode 100644 no-mods/pipeworks/textures/pipeworks_dispenser_side1.png create mode 100644 no-mods/pipeworks/textures/pipeworks_dispenser_side2.png create mode 100644 no-mods/pipeworks/textures/pipeworks_dispenser_top.png create mode 100644 no-mods/pipeworks/textures/pipeworks_entry_panel.png create mode 100644 no-mods/pipeworks/textures/pipeworks_filter_input.png create mode 100644 no-mods/pipeworks/textures/pipeworks_filter_output.png create mode 100644 no-mods/pipeworks/textures/pipeworks_filter_side.png create mode 100644 no-mods/pipeworks/textures/pipeworks_filter_top.png create mode 100644 no-mods/pipeworks/textures/pipeworks_flow_sensor_off.png create mode 100644 no-mods/pipeworks/textures/pipeworks_flow_sensor_on.png create mode 100644 no-mods/pipeworks/textures/pipeworks_fountainhead.png create mode 100644 no-mods/pipeworks/textures/pipeworks_grating_sides.png create mode 100644 no-mods/pipeworks/textures/pipeworks_grating_top.png create mode 100644 no-mods/pipeworks/textures/pipeworks_green.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_filter_input.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_filter_output.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_filter_side.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_filter_top.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_sand_tube_end.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_sand_tube_inv.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_sand_tube_noctr.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_sand_tube_plain.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_sand_tube_short.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_tube_end.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_tube_inv.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_1.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_2.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_3.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_4.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_5.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_6.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_tube_plain_1.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_tube_plain_2.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_tube_plain_3.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_tube_plain_4.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_tube_plain_5.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_tube_plain_6.png create mode 100644 no-mods/pipeworks/textures/pipeworks_mese_tube_short.png create mode 100644 no-mods/pipeworks/textures/pipeworks_nodebreaker_back.png create mode 100644 no-mods/pipeworks/textures/pipeworks_nodebreaker_bottom_off.png create mode 100644 no-mods/pipeworks/textures/pipeworks_nodebreaker_bottom_on.png create mode 100644 no-mods/pipeworks/textures/pipeworks_nodebreaker_front_off.png create mode 100644 no-mods/pipeworks/textures/pipeworks_nodebreaker_front_on.png create mode 100644 no-mods/pipeworks/textures/pipeworks_nodebreaker_side1_off.png create mode 100644 no-mods/pipeworks/textures/pipeworks_nodebreaker_side1_on.png create mode 100644 no-mods/pipeworks/textures/pipeworks_nodebreaker_side2_off.png create mode 100644 no-mods/pipeworks/textures/pipeworks_nodebreaker_side2_on.png create mode 100644 no-mods/pipeworks/textures/pipeworks_nodebreaker_top_off.png create mode 100644 no-mods/pipeworks/textures/pipeworks_nodebreaker_top_on.png create mode 100644 no-mods/pipeworks/textures/pipeworks_one_way_tube_input.png create mode 100644 no-mods/pipeworks/textures/pipeworks_one_way_tube_output.png create mode 100644 no-mods/pipeworks/textures/pipeworks_one_way_tube_side.png create mode 100644 no-mods/pipeworks/textures/pipeworks_one_way_tube_top.png create mode 100644 no-mods/pipeworks/textures/pipeworks_pane_embedded_tube_ends.png create mode 100644 no-mods/pipeworks/textures/pipeworks_pane_embedded_tube_sides.png create mode 100644 no-mods/pipeworks/textures/pipeworks_pipe_3_empty.png create mode 100644 no-mods/pipeworks/textures/pipeworks_pipe_3_loaded.png create mode 100644 no-mods/pipeworks/textures/pipeworks_pipe_inv.png create mode 100644 no-mods/pipeworks/textures/pipeworks_pipe_plain.png create mode 100644 no-mods/pipeworks/textures/pipeworks_plastic_sheeting.png create mode 100644 no-mods/pipeworks/textures/pipeworks_pump_off.png create mode 100644 no-mods/pipeworks/textures/pipeworks_pump_on.png create mode 100644 no-mods/pipeworks/textures/pipeworks_red.png create mode 100644 no-mods/pipeworks/textures/pipeworks_sand_tube_end.png create mode 100644 no-mods/pipeworks/textures/pipeworks_sand_tube_inv.png create mode 100644 no-mods/pipeworks/textures/pipeworks_sand_tube_noctr.png create mode 100644 no-mods/pipeworks/textures/pipeworks_sand_tube_plain.png create mode 100644 no-mods/pipeworks/textures/pipeworks_sand_tube_short.png create mode 100644 no-mods/pipeworks/textures/pipeworks_spigot.png create mode 100644 no-mods/pipeworks/textures/pipeworks_storage_tank_back.png create mode 100644 no-mods/pipeworks/textures/pipeworks_storage_tank_fittings.png create mode 100644 no-mods/pipeworks/textures/pipeworks_storage_tank_front_0.png create mode 100644 no-mods/pipeworks/textures/pipeworks_storage_tank_front_1.png create mode 100644 no-mods/pipeworks/textures/pipeworks_storage_tank_front_10.png create mode 100644 no-mods/pipeworks/textures/pipeworks_storage_tank_front_2.png create mode 100644 no-mods/pipeworks/textures/pipeworks_storage_tank_front_3.png create mode 100644 no-mods/pipeworks/textures/pipeworks_storage_tank_front_4.png create mode 100644 no-mods/pipeworks/textures/pipeworks_storage_tank_front_5.png create mode 100644 no-mods/pipeworks/textures/pipeworks_storage_tank_front_6.png create mode 100644 no-mods/pipeworks/textures/pipeworks_storage_tank_front_7.png create mode 100644 no-mods/pipeworks/textures/pipeworks_storage_tank_front_8.png create mode 100644 no-mods/pipeworks/textures/pipeworks_storage_tank_front_9.png create mode 100644 no-mods/pipeworks/textures/pipeworks_teleport_tube_end.png create mode 100644 no-mods/pipeworks/textures/pipeworks_teleport_tube_inv.png create mode 100644 no-mods/pipeworks/textures/pipeworks_teleport_tube_noctr.png create mode 100644 no-mods/pipeworks/textures/pipeworks_teleport_tube_plain.png create mode 100644 no-mods/pipeworks/textures/pipeworks_teleport_tube_short.png create mode 100644 no-mods/pipeworks/textures/pipeworks_testobject.png create mode 100644 no-mods/pipeworks/textures/pipeworks_trashcan_bottom.png create mode 100644 no-mods/pipeworks/textures/pipeworks_trashcan_side.png create mode 100644 no-mods/pipeworks/textures/pipeworks_tube_connection_metallic.png create mode 100644 no-mods/pipeworks/textures/pipeworks_tube_connection_stony.png create mode 100644 no-mods/pipeworks/textures/pipeworks_tube_connection_wooden.png create mode 100644 no-mods/pipeworks/textures/pipeworks_tube_end.png create mode 100644 no-mods/pipeworks/textures/pipeworks_tube_inv.png create mode 100644 no-mods/pipeworks/textures/pipeworks_tube_noctr.png create mode 100644 no-mods/pipeworks/textures/pipeworks_tube_plain.png create mode 100644 no-mods/pipeworks/textures/pipeworks_tube_short.png create mode 100644 no-mods/pipeworks/textures/pipeworks_tube_transparent.png create mode 100644 no-mods/pipeworks/textures/pipeworks_valve.png create mode 100644 no-mods/pipeworks/textures/pipeworks_white.png create mode 100644 no-mods/pipeworks/textures/pipeworks_yellow.png create mode 100644 no-mods/pipeworks/trashcan.lua create mode 100644 no-mods/pipeworks/tube_registration.lua create mode 100644 no-mods/pipeworks/vacuum_tubes.lua create mode 100644 no-mods/pipeworks/wielder.lua diff --git a/mods/bucket/textures/.directory b/mods/bucket/textures/.directory new file mode 100644 index 0000000..92d2c12 --- /dev/null +++ b/mods/bucket/textures/.directory @@ -0,0 +1,4 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2017,1,19,13,56,10 +Version=3 diff --git a/mods/commands/depends.txt b/mods/commands/depends.txt index 331d858..3604810 100644 --- a/mods/commands/depends.txt +++ b/mods/commands/depends.txt @@ -1 +1,2 @@ -default \ No newline at end of file +default +datalib diff --git a/mods/commands/gm.lua b/mods/commands/gm.lua index 30b2e66..c31ab6c 100644 --- a/mods/commands/gm.lua +++ b/mods/commands/gm.lua @@ -21,3 +21,74 @@ minetest.register_chatcommand("vanish", { minetest.get_player_by_name(name):set_properties(prop) end }) + +-- create file +datalib.create(datalib.datapath.."/genesis.txt") + +-- Set Genesis Command +minetest.register_chatcommand("setgenesis", { + params = "", + privs = {admin = true}, + description = "Set the Genesis point (beginning).", + func = function(name, param) + --Check for proper player [forbids console commands, not really needed] + local player = minetest.get_player_by_name(name) + if not player then + return + end + --Get player position and set genesis just below that just because it looks cooler. + local pos = vector.round(player:getpos()) + pos.y = pos.y + 0.5 + + local pos_str = minetest.pos_to_string(pos) + datalib.write(datalib.datapath.."/genesis.txt", pos_str, false) + + --Notify admin who set genesis. + return true, "Genesis point set to position "..pos_str + end, +}) + +-- Make sure player initializes at set genesis when he hurts himself badly if it exists. +minetest.register_on_respawnplayer(function(player) + if not player then + return + end + local genesis_pos = minetest.string_to_pos(minetest.setting_get("static_genesis")) + if not genesis_pos then + return + end + player:setpos(genesis_pos) +end) + +-- Make sure player initializes at set genesis when he joins if it exists. +minetest.register_on_newplayer(function(player) + if not player then + return + end + local genesis_pos = minetest.string_to_pos(minetest.setting_get("static_genesis")) + if not genesis_pos then + return + end + player:setpos(genesis_pos) +end) + +-- Make /genesis go to a genesis point set by admins if it exists. +minetest.register_chatcommand("genesis", { + params = "", + privs = {}, + description = "Initialize transportation to the Genesis.", + func = function(name, param) + local player = minetest.get_player_by_name(name) + if not player then + return + end + local genesis = datalib.read(datalib.datapath.."/genesis.txt", false) + local genesis_pos = minetest.string_to_pos(genesis) + if not genesis_pos then + return false, "Static genesis point is not set or improperly formatted." + end + + player:setpos(genesis_pos) + return true, "Initializing transportation to the Genesis point..." + end +}) diff --git a/mods/commands/init.lua b/mods/commands/init.lua index 3dca2c2..490ec4b 100644 --- a/mods/commands/init.lua +++ b/mods/commands/init.lua @@ -1,5 +1,7 @@ local path = minetest.get_modpath("commands") +minetest.register_privilege("admin","Dios en la tierra"); + dofile(path.."/info.lua") dofile(path.."/timeset.lua") dofile(path.."/gm.lua") diff --git a/mods/default_override/overrides/node_override.lua b/mods/default_override/overrides/node_override.lua index 5305b5f..3a742ea 100644 --- a/mods/default_override/overrides/node_override.lua +++ b/mods/default_override/overrides/node_override.lua @@ -382,6 +382,123 @@ minetest.override_item("default:lava_source", { stack_max = 64, }) +minetest.override_item("default:chest",{ + stack_max = 64, + can_dig = function(pos,player) + return true + end, + on_dig = function(pos) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory("main"); + + for i,stack in ipairs(inv:get_list("main")) do + local x = math.random(-4, 4)/10 + local z = math.random(-4, 4)/10 + pos.x = pos.x + x + pos.z = pos.z + z + minetest.env:add_item(pos, stack) + stack:clear() + inv:set_stack("main", i, stack) + pos.x = pos.x - x + pos.z = pos.z - z + end + + minetest.env:add_item(pos, minetest.get_node(pos)) + minetest.remove_node(pos) + return + end, +}) + +minetest.override_item("default:chest_locked", { + stack_max = 64, + + can_dig = function(pos,player) + local meta = minetest.get_meta(pos) + + if has_locked_chest_privilege(meta, clicker) then + return true; + end + + return false; + end, + on_dig = function(pos) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory("main"); + + for i,stack in ipairs(inv:get_list("main")) do + local x = math.random(-4, 4)/10 + local z = math.random(-4, 4)/10 + pos.x = pos.x + x + pos.z = pos.z + z + minetest.env:add_item(pos, stack) + stack:clear() + inv:set_stack("main", i, stack) + pos.x = pos.x - x + pos.z = pos.z - z + end + + minetest.env:add_item(pos, minetest.get_node(pos)) + minetest.remove_node(pos) + return + end, +}) + +minetest.override_item("default:bookshelf", { + stack_max = 64, +}) + +minetest.override_item("default:sign_wall_wood", { + stack_max = 64, +}) + +minetest.override_item("default:sign_wall_steel", { + stack_max = 64, +}) + +minetest.override_item("default:ladder_wood", { + stack_max = 64, +}) + +minetest.override_item("default:ladder_steel", { + stack_max = 64, +}) + +minetest.override_item("default:fence_wood", { + stack_max = 64, +}) + +minetest.override_item("default:fence_acacia_wood", { + stack_max = 64, +}) + +minetest.override_item("default:fence_junglewood", { + stack_max = 64, +}) + +minetest.override_item("default:fence_pine_wood", { + stack_max = 64, +}) + +minetest.override_item("default:fence_aspen_wood", { + stack_max = 64, +}) + +minetest.override_item("default:glass", { + stack_max = 64, +}) + +minetest.override_item("default:obsidian_glass", { + stack_max = 64, +}) + +minetest.override_item("default:brick", { + stack_max = 64, +}) + +minetest.override_item("default:meselamp", { + stack_max = 64, +}) + --[[local function get_chest_neighborpos(pos, param2, side) if side == "right" then if param2 == 0 then @@ -617,120 +734,3 @@ minetest.register_node("default_override:chest_right", { end, }) ]]-- - -minetest.override_item("default:chest",{ - stack_max = 64, - can_dig = function(pos,player) - return true - end, - on_dig = function(pos) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory("main"); - - for i,stack in ipairs(inv:get_list("main")) do - local x = math.random(-4, 4)/10 - local z = math.random(-4, 4)/10 - pos.x = pos.x + x - pos.z = pos.z + z - minetest.env:add_item(pos, stack) - stack:clear() - inv:set_stack("main", i, stack) - pos.x = pos.x - x - pos.z = pos.z - z - end - - minetest.env:add_item(pos, minetest.get_node(pos)) - minetest.remove_node(pos) - return - end, -}) - -minetest.override_item("default:chest_locked", { - stack_max = 64, - - can_dig = function(pos,player) - local meta = minetest.get_meta(pos) - - if has_locked_chest_privilege(meta, clicker) then - return true; - end - - return false; - end, - on_dig = function(pos) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory("main"); - - for i,stack in ipairs(inv:get_list("main")) do - local x = math.random(-4, 4)/10 - local z = math.random(-4, 4)/10 - pos.x = pos.x + x - pos.z = pos.z + z - minetest.env:add_item(pos, stack) - stack:clear() - inv:set_stack("main", i, stack) - pos.x = pos.x - x - pos.z = pos.z - z - end - - minetest.env:add_item(pos, minetest.get_node(pos)) - minetest.remove_node(pos) - return - end, -}) - -minetest.override_item("default:bookshelf", { - stack_max = 64, -}) - -minetest.override_item("default:sign_wall_wood", { - stack_max = 64, -}) - -minetest.override_item("default:sign_wall_steel", { - stack_max = 64, -}) - -minetest.override_item("default:ladder_wood", { - stack_max = 64, -}) - -minetest.override_item("default:ladder_steel", { - stack_max = 64, -}) - -minetest.override_item("default:fence_wood", { - stack_max = 64, -}) - -minetest.override_item("default:fence_acacia_wood", { - stack_max = 64, -}) - -minetest.override_item("default:fence_junglewood", { - stack_max = 64, -}) - -minetest.override_item("default:fence_pine_wood", { - stack_max = 64, -}) - -minetest.override_item("default:fence_aspen_wood", { - stack_max = 64, -}) - -minetest.override_item("default:glass", { - stack_max = 64, -}) - -minetest.override_item("default:obsidian_glass", { - stack_max = 64, -}) - -minetest.override_item("default:brick", { - stack_max = 64, -}) - -minetest.override_item("default:meselamp", { - stack_max = 64, -}) diff --git a/mods/default_override/textures/default_chest_lock.png b/mods/default_override/textures/default_chest_lock.png new file mode 100644 index 0000000000000000000000000000000000000000..a27a309b78976875b2b49b193e047eaecf57effa GIT binary patch literal 1235 zcmV;^1T6cBP)ZvTxvQS3xmfHblgu|O~@R!As-5Nj5kfD_CKkT?Mw4loB` zF#;9{4!{BygA~ciB2gxaoMi0SZrlB*+APXl?zWvwoW(pTO7-)5Rj=y%>Z@mc_1V*T zq!d|mq-52X`fsyrd>WVfR==}m-?m`Zci)8{Qk7_Cj( za6S6LjE3tmjvXp?HYcJV%x=jU(X3YZ>G!@aAW{lPN&AOo|@2JcyLNGF?E+ zQ-Dt^=hr!p9D4(VJ}nO}eIH?IpGc4TCW*O-5-y?yyIjLA*Ub1LO1Mr!92p~A8{yhq zC*gzR(~~tPklJ3cr1uttxNgCWQ@;W(rxO779f7jF2gTonHp!ek2b$Fi5SWQlTb*Ds z5=a$t0zjCHmBlh{y};REz`i4}%Qf1W`P8CNb+d%P6riR)$sDG^k^}pW$S~RF{Bp?G z&tBZh_M@XCj$b_Ey}bgFvWbS1wU}uTFCYl>*Kjzma8OG$jr<`OQ9`>`H^(aM{6d@T z%^AwI93KCwPk7-sb^hOZ?#mpq#Zr6-YPfs~K zJT%`op(a^xG^SZ~>5aw!?AjKIbZNLA5al8G?OzGj0vKjkmPM>2Qp`-)WLn_M?6q>7 zwcY)F?(tuLb3TAd^up7bhCtj$$yRX&=yWve)4%;|u((w!$T7z_Zgys5dycDcsc!k=0} zHh^hfic=-rE0&D1T}~&)w^uCj(fbqrc>V)dS63VH{O7OdeDi6`#4Fn~i|;$a_yLl+ z{xcBtMq_q%ojaAVU9Z#r7=Hcb$BhMi|3%B>+@*xQ>+!l0He8P+2<}wERM|fNu)48; z*dLm_yOhw8Rp52LfFz13?v~!DgqxIY+xUhxUw@3;vd7tANy5D#BnZMB3HKcVZefj7 z+s4bVuns|QG^Vp#G8O09uL-IaIHp9(?r@vSw((8NLRcDZk?jYvnC9@! z+~3RTgo`LKjDJXcb}c*G&7>sEic%KmJutgD8w?<`<89&##Rkbd!+}UCdZRHL~Mih26E x;fa}N#uh38DK`DKUB3Q5M=TeAyQYh<_#chf>|pV_>`?#!002ovPDHLkV1lfNRviEU literal 0 HcmV?d00001 diff --git a/mods/item_drop/init.lua b/mods/item_drop/init.lua index 3b35716..aafd2d8 100644 --- a/mods/item_drop/init.lua +++ b/mods/item_drop/init.lua @@ -2,26 +2,34 @@ minetest.register_globalstep(function(dtime) for _,player in ipairs(minetest.get_connected_players()) do if player:get_hp() > 0 or not minetest.setting_getbool("enable_damage") then local pos = player:getpos() - pos.y = pos.y + 0.1 + pos.y = pos.y + 0.5 local inv = player:get_inventory() - - for _,object in ipairs(minetest.env:get_objects_inside_radius(pos, 1.7)) do - if not object:is_player() and object:get_luaentity() and object:get_luaentity().name == "__builtin:item" then - if inv and inv:room_for_item("main", ItemStack(object:get_luaentity().itemstring)) then - inv:add_item("main", ItemStack(object:get_luaentity().itemstring)) - if object:get_luaentity().itemstring ~= "" then - minetest.sound_play("item_drop_pickup", { - to_player = player:get_player_name(), - gain = 0.4, - }) + local ctrl = player:get_player_control() + if ctrl.up or ctrl.left or ctrl.right then + + for _,object in ipairs(minetest.env:get_objects_inside_radius(pos, 2)) do + if not object:is_player() and object:get_luaentity() and object:get_luaentity().name == "__builtin:item" then + if inv and inv:room_for_item("main", ItemStack(object:get_luaentity().itemstring)) then + inv:add_item("main", ItemStack(object:get_luaentity().itemstring)) + if object:get_luaentity().itemstring ~= "" then + minetest.sound_play("item_drop_pickup", { + to_player = player:get_player_name(), + gain = 0.4, + }) + end + + object:get_luaentity().itemstring = "" + object:remove() end - object:get_luaentity().itemstring = "" - object:remove() end end + end + end + end +end) - for _,object in ipairs(minetest.env:get_objects_inside_radius(pos, 1.5)) do + --[[for _,object in ipairs(minetest.env:get_objects_inside_radius(pos, 2.3)) do if not object:is_player() and object:get_luaentity() and object:get_luaentity().name == "__builtin:item" then if object:get_luaentity().collect then if inv and inv:room_for_item("main", ItemStack(object:get_luaentity().itemstring)) then @@ -71,7 +79,7 @@ minetest.register_globalstep(function(dtime) end end end -end) +end)]]-- function minetest.handle_node_drops(pos, drops, digger) local inv diff --git a/mods/magic/api.lua b/mods/magic/api.lua new file mode 100644 index 0000000..f7ce971 --- /dev/null +++ b/mods/magic/api.lua @@ -0,0 +1,92 @@ +function magic.register_recipe(name, recipe, action) + magic.recipes[name] = {recipe, action} +end + +function magic.check_recipe(recipe_id, target) + local recipe = magic.recipes[recipe_id][1] + + --[[ Por alguna razón si las unifico en una lista me sobreescribe target ]]-- + local posx = target.under.x + local posy = target.under.y + local posz = target.under.z + + local reference = {x = posx - math.floor(#recipe[1][1] / 2), + y = posy - math.floor(#recipe / 2), + z = posz - math.floor(#recipe[1] / 2)} + + local i = 0 + local j = 0 + local k = 0 + + + k = 0 + for n_lin, lin in ipairs(recipe) do + posy = reference.y + k + + j = 0 + for n_col, col in ipairs(lin) do + posz = reference.z + j + + i = 0 + for n_elem, elem in ipairs(col) do + posx = reference.x + i + + if elem ~= "" then + local nodedef = minetest.registered_nodes[minetest.get_node({x = posx,y = posy,z = posz}).name] + local grupo = false; + for g, _ in pairs(nodedef.groups) do + if elem == g then + grupo = true; + end + end + + if elem ~= minetest.get_node({x = posx,y = posy,z = posz}).name and not grupo then + return false + end + end + + i = i + 1 + end + j = j + 1 + end + k = k + 1 + end + + return true +end + +function magic.find_possible_recipes(node) + local to_ret = {} + local coincide + local nodedef = minetest.registered_nodes[minetest.get_node(node.under).name] + + for n_rec, rec in pairs(magic.recipes) do + coincide = false + + for n_lin, lin in ipairs(rec[1]) do + for n_col, col in ipairs(lin) do + for n_elem, elem in ipairs(col) do + local grupo = false; + for g, _ in pairs(nodedef.groups) do + if elem == g then + grupo = true; + end + end + if elem == minetest.get_node(node.under).name or grupo then + to_ret[#to_ret+1] = n_rec + + coincide = true + end + + if coincide then break end + end + + if coincide then break end + end + + if coincide then break end + end + end + + return to_ret +end diff --git a/mods/magic/depends.txt b/mods/magic/depends.txt new file mode 100644 index 0000000..ed46efb --- /dev/null +++ b/mods/magic/depends.txt @@ -0,0 +1,3 @@ +default +bucket +walls diff --git a/mods/magic/init.lua b/mods/magic/init.lua new file mode 100644 index 0000000..c5dc38e --- /dev/null +++ b/mods/magic/init.lua @@ -0,0 +1,18 @@ +-- Definitions made by this mod that other mods can use too +magic = {} +magic.recipes = {} +magic.path = minetest.get_modpath("magic") + +-- Load files +dofile(magic.path.."/api.lua") +dofile(magic.path.."/wand.lua") +dofile(magic.path.."/magical_water.lua") +dofile(magic.path.."/magical_cobble.lua") + +dofile(magic.path.."/spells.lua") +--[[ +dofile(path.."/functions.lua") +dofile(path.."/nodes.lua") +dofile(path.."/craftitems.lua") +dofile(path.."/crafting.lua") +]]-- diff --git a/mods/magic/magical_cobble.lua b/mods/magic/magical_cobble.lua new file mode 100644 index 0000000..8795416 --- /dev/null +++ b/mods/magic/magical_cobble.lua @@ -0,0 +1,66 @@ +-- Agua mágica, su cubo y la fuenta donde se puede encontrar + +minetest.register_node("magic:magicalcobble", { + description = "Magical Cobblestone", + tiles = { + { + name = "magic_magicalcobble_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 10.0, + }, + }, + }, + special_tiles = { + -- New-style water source material (mostly unused) + { + name = "magic_magicalcobble_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 10.0, + }, + --backface_culling = false, + }, + }, + light_source = 5, + paramtype = "light", + drop = "default:cobble", + groups = {cracky = 2, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) + +walls.register("magic:magicalcobble_wall", "Magical Cobblestone Wall", "magic_magicalcobble.png", + "magic:magicalcobble", default.node_sound_stone_defaults()) +minetest.override_item("magic:magicalcobble_wall",{ + tiles = { + { + name = "magic_magicalcobble_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 10.0, + }, + }, + }, + special_tiles = { + -- New-style water source material (mostly unused) + { + name = "magic_magicalcobble_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 10.0, + }, + --backface_culling = false, + }, + }, + light_source = 5, + paramtype = "light", + drop = "walls:cobble", +}) diff --git a/mods/magic/magical_water.lua b/mods/magic/magical_water.lua new file mode 100644 index 0000000..ec43f0f --- /dev/null +++ b/mods/magic/magical_water.lua @@ -0,0 +1,124 @@ +-- Agua mágica, su cubo y la fuenta donde se puede encontrar + +minetest.register_node("magic:magicalwater_source", { + description = "Magical Water Source", + drawtype = "liquid", + tiles = { + { + name = "magic_magicalwater_source_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 2.0, + }, + }, + }, + special_tiles = { + -- New-style water source material (mostly unused) + { + name = "magic_magicalwater_source_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 2.0, + }, + backface_culling = false, + }, + }, + light_source = 5, + alpha = 160, + paramtype = "light", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + is_ground_content = false, + drop = "", + drowning = 1, + liquidtype = "source", + liquid_alternative_flowing = "magic:magicalwater_flowing", + liquid_alternative_source = "magic:magicalwater_source", + liquid_viscosity = 1, + post_effect_color = {a = 103, r = 30, g = 60, b = 90}, + groups = {water = 3, liquid = 3, puts_out_fire = 1, cools_lava = 1}, + sounds = default.node_sound_water_defaults(), +}) + +minetest.register_node("magic:magicalwater_flowing", { + description = "Flowing Magical Water", + drawtype = "flowingliquid", + tiles = {"magic_magicalwater.png"}, + special_tiles = { + { + name = "magic_magicalwater_flowing_animated.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 0.8, + }, + }, + { + name = "magic_magicalwater_flowing_animated.png", + backface_culling = true, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 0.8, + }, + }, + }, + light_source = 5, + alpha = 160, + paramtype = "light", + paramtype2 = "flowingliquid", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + is_ground_content = false, + drop = "", + drowning = 1, + liquidtype = "flowing", + liquid_alternative_flowing = "magic:magicalwater_flowing", + liquid_alternative_source = "magic:magicalwater_source", + liquid_viscosity = 1, + post_effect_color = {a = 103, r = 30, g = 60, b = 90}, + groups = {water = 3, liquid = 3, puts_out_fire = 1, + not_in_creative_inventory = 1, cools_lava = 1}, + sounds = default.node_sound_water_defaults(), +}) + +bucket.register_liquid( + "magic:magicalwater_source", + "magic:magicalwater_flowing", + "magic:bucket_magicalwater", + "bucket_magicalwater.png", + "Magical Water Bucket", + {water_bucket = 1} +) + +--[[minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = -0.0003, + scale = 0.0009, + spread = {x = 200, y = 200, z = 200}, + seed = 230, + octaves = 3, + persist = 0.6 + }, + biomes = {"rainforest", "deciduous_forest"}, + y_min = 1, + y_max = 31000, + schematic = minetest.get_modpath("magic") .. "/schems/magical_font.mts", + flags = "place_center_x", + rotation = "random", + }) +]]-- diff --git a/mods/magic/schems/compass.mts b/mods/magic/schems/compass.mts new file mode 100644 index 0000000000000000000000000000000000000000..a8b7d69b47eb6e3009649fdd8e1fbe22f059de4c GIT binary patch literal 58 zcmeYb3HD`RVPIxpWMHmmU}E4)Nli;E%_*@;&QD6pNo8P8%q*&ylbn!{kix*|Cb6!a Nkxhbu!Jdbu1^|qs4jKRe literal 0 HcmV?d00001 diff --git a/mods/magic/schems/magical_big_tree.mts b/mods/magic/schems/magical_big_tree.mts new file mode 100644 index 0000000000000000000000000000000000000000..0c747ef0929c2b536f7781b655c77c3559d9dfad GIT binary patch literal 746 zcmVH6#x)_e}8{}e}8{}e}8{}e}8{}e}8{}00RI6VQF#z4rFC! zVRdYDI&5WOc4cz_3}j_yVRdYDI&^YnWq6$Jn(K~(AP|KaOqVn<>CZmyzOs+7q6hlT>)p?m;B&Ks30xwlkVAg|Bf=>;%bEF(#WP<7~5 zsPpWQK1hucM;ty!#Ib$*4SnqIzz8^ z-tmj5maDb?%na;g;y!S-%GNX>_SV9@3b~qh|CX)!bxh4d?1LU?@wTJ(4I7UbJyP?; zAM;N8_ixNOw7Qq=-{CXoaQ@TIKKL*2sLy-_zYN1L48t%C!!QiPFki-m5n{Uf{Y)At zeNS0d-WOyM#Uu)wZ3)%@?stf1a0PsP2O<;2IKv%J+i~9idIA8b+p`|1gV0P6vvU@? zR*%pUNCKr)D2S&Dgx|ha38K4i_B}Xb&l0O1ro`I&=hKy6?PNdjg@b~a!zEGMo8#bT zMC)NJ0fyxmYw*-30oAn{yx1j;)G5ln1ZYrUHD! zg>rorgX^hN&FLhnOyQvgfw`yF7&=(I@^jPOSp}KazTwVg2BJz3bc{Z52N(uH2Dp~+ zE+I;A4l%Km!#c>SIU3}!h%-G*U>Sz;z?&0fRsdcA=wf0H00(0*j>HTtW8|uBn5}=Xx6mkU#9xfz^&WzQ=h>>86mc3G_ zzyry#jI@m*1xcwx8HQZHML}MmeXwPe9%(lo`Hj?*ZPx# literal 0 HcmV?d00001 diff --git a/mods/magic/schems/magical_font.mts b/mods/magic/schems/magical_font.mts new file mode 100644 index 0000000000000000000000000000000000000000..3e43c42a824cbb7cb56af126f0a137dc1e0c1835 GIT binary patch literal 245 zcmeYb3HD`RVPFU0dLUq6WnfOsEMgGOO-#>BwgQuhIm!7+Nja$uQYeDui6yB;@o72v z<(YZu3=$}E5DoF=i8(n8k|;6|UB&sOMaiiZbME$g^Bqv&a1ornVY2e~Q*sMiSIYbB z+Hks$yZ3N%!-=Ucx`hfADx0NLepkLe)Oc#HiJHGk72m6f6LN?T9f zOLT1vzvJwvEjYvV&YD;Icd(@F^ga`^>HhOsmf0&kLR0iBO+M)?_Lq9The1PSnGXP| C3TC1J literal 0 HcmV?d00001 diff --git a/mods/magic/schems/sapling_rune.mts b/mods/magic/schems/sapling_rune.mts new file mode 100644 index 0000000000000000000000000000000000000000..0c140b8b381a4776088a2732ba8847ba38761324 GIT binary patch literal 112 zcmeYb3HD`RVPIuoW?-$auLm-j6Elk##8Xn!5=(PRtWq+IO5)2iOETiqixP{A8F6?2jk6c{8VXEaENCor9MW-yM6oaA8pmBI4bV+MxW H2deG>Ow}YC literal 0 HcmV?d00001 diff --git a/mods/magic/spells.lua b/mods/magic/spells.lua new file mode 100644 index 0000000..4489b54 --- /dev/null +++ b/mods/magic/spells.lua @@ -0,0 +1,92 @@ +-- Hechizos + +function magic.do_spell(itemstack, placer, pointed_thing) + local name + + if pointed_thing.type == "object" then + return + elseif pointed_thing.type == "node" then + name = minetest.get_node(pointed_thing.under).name + else + return + end + + + local coincidences = magic.find_possible_recipes(pointed_thing) + + if #coincidences > 0 then + for n_rec, rec in ipairs(coincidences) do + local pt = pointed_thing + + if magic.check_recipe(rec, pt) then + --minetest.chat_send_all(pointed_thing.under.x .. ", " .. pointed_thing.under.y .. ", " .. pointed_thing.under.z) + magic.recipes[rec][2](pt) + end + + end + end +end + +magic.register_recipe("begining", + { + { + {"air", "air", "air", "default:cobble", "air", "air", "air",}, + {"air", "air", "default:cobble", "default:cobble", "default:cobble", "air", "air",}, + {"air", "default:cobble", "air", "default:cobble", "air", "default:cobble", "air",}, + {"default:cobble", "default:cobble", "default:cobble", "default:leaves", "default:cobble", "default:cobble", "default:cobble",}, + {"air", "default:cobble", "air", "default:cobble", "air", "default:cobble", "air",}, + {"air", "air", "default:cobble", "default:cobble", "default:cobble", "air", "air",}, + {"air", "air", "air", "default:cobble", "air", "air", "air",}, + }, + }, + function(node) + local posx = node.under.x - 3 + local posy = node.under.y + local posz = node.under.z - 3 + + local sch = magic.path .. "/schems/magical_font.mts" + minetest.place_schematic({x = posx, y = posy, z = posz}, sch, 0, nil, true) + end +) + +magic.register_recipe("big_tree", + { + { + {"default:dirt_with_grass", "field", "default:dirt_with_grass",}, + {"field", "", "field",}, + {"field", "default:dirt_with_grass", "field",}, + }, + { + {"air", "air", "air",}, + {"air", "default:sapling", "air",}, + {"air", "air", "air",}, + }, + }, + function(node) + local posx = node.under.x - 5 + local posy = node.under.y + local posz = node.under.z - 7 + + local sch = magic.path .. "/schems/magical_big_tree.mts" + minetest.place_schematic({x = posx, y = posy, z = posz}, sch, 0, nil, true) + end +) + + +magic.register_recipe("compass", + { + { + {"default:cobble", "air", "default:cobble",}, + {"air", "default:cobble", "air",}, + {"default:cobble", "air", "default:cobble",}, + }, + }, + function(node) + local posx = node.under.x - 1 + local posy = node.under.y + local posz = node.under.z - 1 + + local sch = magic.path .. "/schems/compass.mts" + minetest.place_schematic({x = posx, y = posy, z = posz}, sch, 0, nil, true) + end +) diff --git a/mods/magic/textures/.directory b/mods/magic/textures/.directory new file mode 100644 index 0000000..397c4a0 --- /dev/null +++ b/mods/magic/textures/.directory @@ -0,0 +1,4 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2017,1,20,4,22,51 +Version=3 diff --git a/mods/magic/textures/bucket_magicalwater.png b/mods/magic/textures/bucket_magicalwater.png new file mode 100644 index 0000000000000000000000000000000000000000..d628a59a7e54643ea6b433c1077f2762c4f6fa63 GIT binary patch literal 383 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPtqcD%9+~kSBelsvI@_4#9hFF|FI(efPv!jUXc{f8H zZ=qIQ-Dmtkk+*;FP80L)YVduv<&a2SqfXegYu|n|{_MDUsHo*ki-vOAbtj{B?=-ZP z_I*0E`~9As`49GMb9Fj(SS^{JDp{MoA-81t><3%^z4be-k!ALMz5ADMN~?}{eNAFL z@Zm{AZ)M`%2ty0GK-=p(IzOuIKFgVxbWbgoxAQn>L%v@ho6TI^=n#3HB~uvAEH7Sv z)cp66$1LVsQzF}fx)y01Vq?ghRi(`E?%|^klRn?%$TJpo0Ja0*^^V zK~y-)MUu^K+eQ>d59f|ZO(cs769raLG|Hk2qXCS@Mfw_D5 z+AJgyXkqJzibUEJ#Tl^+w#@AB-0yzpcyHgluF9g|^Ti#EEd4O#^Ti$JsKt}PfZ2Rb z*z0lg>yqyCHjko+^?FTuRS=!@Q0vtSB?_P(Uazs0!Xe|Jfe zY_XMx0+M6}z<$3+;S(MkM7I#nYi9I%vtd{6$n$Oe^+cmRAQk{@<TT$gU+&yei+t;(QaZ#(L?5E zDK{+HSHkA$rj9JaVzH#t=};5}8sPr^zA48TL;j&8nWXfOJ3MEkMSFs_V-Jf3JS+t+uV7Rs0672Sg6PFVlCzY-%Lr#n{Fcvfc*y&Am+0Y-10J;7 zUj|OE@xS$&Q)p;tvNR>|eQuIlZfQZAWU-Zp_P&q^v?kAU zjA>(xK}5)|wrFDv$!djCs^;x#WCz^??zc7CufG~Lo-FoD+Ce~`=YU4%A4(K{ZP|Zz zEfz}_izU5Y4=uuYJZW^_PX(t1K|rV}3|>YJ^YhbdRP5Kf9yzoK);WAp1Ueu(={22Q z{`@DJk!Ai{LjSnKcs$|zpS~kWR!o2S2WKtG-5p9Pm}t7s+c;Y?o2N~|+HbYkjY`Uo z3gs#O`WOSSJxt-#0g5_}Icl-lY*0#JjA_LC7nOQ5UoaZj!~g&Q07*qoM6N<$f{FTK Ai2wiq literal 0 HcmV?d00001 diff --git a/mods/magic/textures/magic_magicalcobble_animated.png b/mods/magic/textures/magic_magicalcobble_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..1115f40993d8ba9f085c1370add1f7370b42d8da GIT binary patch literal 5169 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 literal 0 HcmV?d00001 diff --git a/mods/magic/textures/magic_magicalwater_flowing_animated.png b/mods/magic/textures/magic_magicalwater_flowing_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..db37a30a0644eab942014fbadc34535a721c8f63 GIT binary patch literal 5947 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 literal 0 HcmV?d00001 diff --git a/mods/magic/textures/magic_magicalwater_source_animated.png b/mods/magic/textures/magic_magicalwater_source_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..56db9cdf8b11976e6d0488972a4426d65aa67c55 GIT binary patch literal 3665 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 literal 0 HcmV?d00001 diff --git a/mods/magic/textures/magic_wand.png b/mods/magic/textures/magic_wand.png new file mode 100644 index 0000000000000000000000000000000000000000..0a34aa8d9aa950fe0948e124063a2ab80a1c1092 GIT binary patch literal 582 zcmV-M0=fN(P)z3~OzAro@3`5NfAOR#`b^Cz5{+iHqoPLy^ z4}w71cmT#n+>fW489)L^z~A)&sL7pmN9^x!_Qd-5^sJKRHyrtiTd+>QzQy^`WTu$` zB!C1o*9Vw1`aYRes?(d4WE{s<^9M?R1keNO)x2qjhZ;w`9A>g<=)-~QOfv&W00~%}2iVqm?Bz!n5b#!N zULC-1@(fRdk9n=0KnaildO)>0k0@v!d-;=&6!9*6!h_t_@OOj!hJ64fKmwZd0NXje z?ft#*0Y}mk@*ZCJGtCSj0VH5?9$ +Source Code: https://github.com/cornernote/minetest-infinite_chest +License: BSD-3-Clause https://raw.github.com/cornernote/minetest-infinite_chest/master/LICENSE + +API + +]]-- + + +infinite_chest = {} + +infinite_chest.log = function(message) + minetest.log("action", message) +end + +infinite_chest.formspec = function(pos,page) + local formspec = "size[15,11]" + .."button[12,10;1,0.5;go;Go]" + if page=="main" then + local meta = minetest.env:get_meta(pos) + local pages = infinite_chest.get_pages(meta) + local x,y = 0,0 + local p + for i = #pages,1,-1 do + p = pages[i] + x = x+2 + if x == 16 then + y = y+1 + x = 2 + end + formspec = formspec .."button["..(x-1.5)..","..(y+1)..";1.5,0.5;jump;"..p.."]" + end + if #pages == 0 then + formspec = formspec + .."label[4,3; --== Infinite Chest ==--]" + .."label[4,4.5; Create as many inventory slots as you like!]" + .."label[4,5.0; Simply enter a name for your inventory slot]" + .."label[4,5.5; then click Go.]" + end + return formspec + .."field[10.5,10.1;2,1;page;;]" + .."label[0,0;Infinite Chest]" + end + return formspec + .."field[10.5,10.1;2,1;page;;"..page.."]" + .."label[0,0;Infinite Chest - page: " .. page .. "]" + .."button[13,10;2,0.5;back;Back]" + .."button[13,6.5;2,0.5;delete;Delete]" + .."list[current_name;"..page..";0,1;15,5;]" + .."list[current_player;main;0,7;8,4;]" +end + +infinite_chest.get_pages = function(meta) + local invs = meta:get_string("infinite_chest_list") + local pages = {} + for p in string.gmatch(invs, "[^%s]+") do + table.insert(pages,p) + end + return pages +end + +infinite_chest.add_page = function(pos,page) + local meta = minetest.env:get_meta(pos) + local invs = meta:get_string("infinite_chest_list") + local pages = {} + for p in string.gmatch(invs, "[^%s]+") do + if page ~= p then + table.insert(pages,p) + end + end + table.insert(pages,page) + invs = "" + for i,p in pairs(pages) do + invs = invs .." ".. p + end + meta:set_string("infinite_chest_list",invs) + meta:get_inventory():set_size(page, 15*5) +end + +infinite_chest.remove_page = function(pos,page) + local meta = minetest.env:get_meta(pos) + local invs = meta:get_string("infinite_chest_list") + local inv = meta:get_inventory() + if not inv:is_empty(page) then + return + end + local pages = {} + for p in string.gmatch(invs, "[^%s]+") do + if page ~= p then + table.insert(pages,p) + end + end + invs = "" + for i,p in pairs(pages) do + invs = invs .." ".. p + end + meta:set_string("infinite_chest_list",invs) + return true +end + +infinite_chest.on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.env:get_meta(pos) + local page + if fields.go ~= nil and fields.page ~= "" then + page = string.lower(string.gsub(fields.page, "%W", "_")) + end + if fields.jump ~= nil then + page = fields.jump + end + if page ~= nil then + infinite_chest.add_page(pos,page) + meta:set_string("formspec", infinite_chest.formspec(pos,page)) + return + end + if fields.delete ~= nil then + if not infinite_chest.remove_page(pos,fields.page) then + minetest.chat_send_player(sender:get_player_name(), "cannot delete \""..fields.page.."\" - page is not empty") + return + end + end + meta:set_string("formspec", infinite_chest.formspec(pos,"main")) +end + +infinite_chest.on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", infinite_chest.formspec(pos,"main")) + meta:set_string("infotext", "Infinite Chest") +end + +infinite_chest.can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local pages = infinite_chest.get_pages(meta) + local inv = meta:get_inventory() + for i,page in pairs(pages) do + if not inv:is_empty(page) then + minetest.chat_send_player(player:get_player_name(), "cannot dig - page \""..page.."\" is not empty") + return false + end + end + return true +end + +infinite_chest.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", "Locked Infinite Chest (owned by "..meta:get_string("owner")..")") +end + +infinite_chest.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 infinite_chest.has_locked_chest_privilege(meta, player) then + infinite_chest.log(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 + +infinite_chest.allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not infinite_chest.has_locked_chest_privilege(meta, player) then + infinite_chest.log(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 + +infinite_chest.allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not infinite_chest.has_locked_chest_privilege(meta, player) then + infinite_chest.log(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 + +infinite_chest.has_locked_chest_privilege = function(meta, player) + if meta:get_string("owner") ~= "" and player:get_player_name() ~= meta:get_string("owner") then + return false + end + return true +end + +infinite_chest.on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + infinite_chest.log(player:get_player_name().." moves stuff in infinite chest at "..minetest.pos_to_string(pos)) +end + +infinite_chest.on_metadata_inventory_put = function(pos, listname, index, stack, player) + infinite_chest.log(player:get_player_name().." moves stuff to infinite chest at "..minetest.pos_to_string(pos)) +end + +infinite_chest.on_metadata_inventory_take = function(pos, listname, index, stack, player) + infinite_chest.log(player:get_player_name().." takes stuff from infinite chest at "..minetest.pos_to_string(pos)) +end diff --git a/mods/minetest-infinite_chest-master/infinite_chest/depends.txt b/mods/minetest-infinite_chest-master/infinite_chest/depends.txt new file mode 100644 index 0000000..331d858 --- /dev/null +++ b/mods/minetest-infinite_chest-master/infinite_chest/depends.txt @@ -0,0 +1 @@ +default \ No newline at end of file diff --git a/mods/minetest-infinite_chest-master/infinite_chest/init.lua b/mods/minetest-infinite_chest-master/infinite_chest/init.lua new file mode 100644 index 0000000..3a326d3 --- /dev/null +++ b/mods/minetest-infinite_chest-master/infinite_chest/init.lua @@ -0,0 +1,70 @@ +--[[ + +Infinite Chest for Minetest + +Copyright (c) 2012 cornernote, Brett O'Donnell +Source Code: https://github.com/cornernote/minetest-infinite_chest +License: BSD-3-Clause https://raw.github.com/cornernote/minetest-infinite_chest/master/LICENSE + +MAIN LOADER + +]]-- + + +-- load api +dofile(minetest.get_modpath("infinite_chest").."/api.lua") + +-- register nodes +minetest.register_node("infinite_chest:chest", { + description = "Infinite Chest", + tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", "default_chest_side.png", "default_chest_side.png", "default_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(), + can_dig = infinite_chest.can_dig, + on_construct = infinite_chest.on_construct, + on_receive_fields = infinite_chest.on_receive_fields, + on_metadata_inventory_move = infinite_chest.on_metadata_inventory_move, + on_metadata_inventory_put = infinite_chest.on_metadata_inventory_put, + on_metadata_inventory_take = infinite_chest.on_metadata_inventory_take, +}) +minetest.register_node("infinite_chest:chest_locked", { + description = "Locked Infinite Chest", + tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", "default_chest_side.png", "default_chest_side.png", "default_chest_lock.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 = infinite_chest.on_construct, + on_receive_fields = infinite_chest.on_receive_fields, + can_dig = infinite_chest.can_dig, + after_place_node = infinite_chest.after_place_node, + allow_metadata_inventory_move = infinite_chest.allow_metadata_inventory_move, + allow_metadata_inventory_put = infinite_chest.allow_metadata_inventory_put, + allow_metadata_inventory_take = infinite_chest.allow_metadata_inventory_take, + on_metadata_inventory_move = infinite_chest.on_metadata_inventory_move, + on_metadata_inventory_put = infinite_chest.on_metadata_inventory_put, + on_metadata_inventory_take = infinite_chest.on_metadata_inventory_take, +}) + +-- register crafts +minetest.register_craft({ + output = 'infinite_chest:chest', + recipe = { + {'default:chest', 'default:chest', 'default:chest'}, + {'default:chest', '', 'default:chest'}, + {'default:chest', 'default:chest', 'default:chest'}, + } +}) +minetest.register_craft({ + output = 'infinite_chest:chest_locked', + recipe = { + {'default:chest_locked', 'default:chest_locked', 'default:chest_locked'}, + {'default:chest_locked', 'default:mese', 'default:chest_locked'}, + {'default:chest_locked', 'default:chest_locked', 'default:chest_locked'}, + } +}) + +-- log that we started +minetest.log("action", "[MOD]"..minetest.get_current_modname().." -- loaded from "..minetest.get_modpath(minetest.get_current_modname())) diff --git a/mods/minetest-infinite_chest-master/infinite_chest/screenshot.png b/mods/minetest-infinite_chest-master/infinite_chest/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..33a20a7a2017e35a909c77c90ea53aaa5bf96754 GIT binary patch literal 188672 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 + LGPL-2.1+ + +All textures, models: + (C) Auke Kok + CC-BY-3.0 + +All sounds: read sounds/LICENSE + +=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ + diff --git a/mods/warps/README b/mods/warps/README new file mode 100644 index 0000000..211de5c --- /dev/null +++ b/mods/warps/README @@ -0,0 +1,37 @@ + +"Warps" - a simple warp mod for minetest. + +======== + +/setwarp [name] +/delwarp [name] +/warp [name] +/listwarps + +priv: warp_admin - set/change/delete warps +priv: warp_user - list, and use warps + +warps are stored in the world folder file "warps.txt". + +A warpstone can be given or found in the creative inventory (item +id: warps:warpstone). This warpstone can be placed on the ground +and be programmed to warp players who punch it to a certain warp +location (one of the warps in /listwarps). Right-clicking the item +as a warp_admin user will allow you to program the warpstone. The +warpstone can be removed by shift-punching the warp stone. + +All warps are delayed by ~5 seconds. You have to stand still for +that duration, otherwise the warp will be cancelled. This may avoid +warp spamming and warping out of combat a bit. There's a bit +of variation in time due to the timer resolution in minetest +being rather large. + +======== + +Copyright (C) 2015 - Auke Kok + +"warps" is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 +of the license, or (at your option) any later version. + diff --git a/mods/warps/depends.txt b/mods/warps/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/warps/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/warps/description.txt b/mods/warps/description.txt new file mode 100644 index 0000000..b87e447 --- /dev/null +++ b/mods/warps/description.txt @@ -0,0 +1 @@ +Warp locations and warp stones (portal stones) diff --git a/mods/warps/init.lua b/mods/warps/init.lua new file mode 100644 index 0000000..2491615 --- /dev/null +++ b/mods/warps/init.lua @@ -0,0 +1,302 @@ + +--[[ + +Copyright (C) 2015 - Auke Kok + +"warps" is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 +of the license, or (at your option) any later version. + +--]] + +warps = {} +warps_queue = {} +queue_state = 0 +local warps_freeze = 5 +-- t = time in usec +-- p = player obj +-- w = warp name + +local function lookup_warp(name) + for i = 1,table.getn(warps) do + if warps[i].name == name then + return warps[i] + end + end +end + +local function round_digits(n, digits) + digits = digits or 0 + + local multi = math.pow(10, digits) + n = n * multi + if n > 0 then + return math.floor(n + 0.5) / multi + else + return math.ceil(n - 0.5) / multi + end +end + +local warp = function(player, dest) + local warp = lookup_warp(dest) + if not warp then + minetest.chat_send_player(player:get_player_name(), "Unknown warp \"" .. dest .. "\"") + return + end + + local pos = vector.new(warp) + pos.y = pos.y + 0.5 + player:setpos(pos) + -- MT Core FIXME + -- get functions don't output proper values for set! + -- https://github.com/minetest/minetest/issues/2658 + player:set_look_yaw(warp.yaw - (math.pi/2)) + player:set_look_pitch(0 - warp.pitch) + minetest.chat_send_player(player:get_player_name(), "Warped to \"" .. dest .. "\"") + minetest.log("action", player:get_player_name() .. " warped to \"" .. dest .. "\"") + minetest.sound_play("warps_plop", {pos = pos}) +end + +do_warp_queue = function() + if table.getn(warps_queue) == 0 then + queue_state = 0 + return + end + local t = minetest.get_us_time() + for i = table.getn(warps_queue),1,-1 do + local e = warps_queue[i] + if e.p:getpos() then + if vector.equals(e.p:getpos(), e.pos) then + if t > e.t then + warp(e.p, e.w) + table.remove(warps_queue, i) + end + else + minetest.sound_stop(e.sh) + minetest.chat_send_player(e.p:get_player_name(), + "You have to stand still for " .. warps_freeze .. " seconds!") + table.remove(warps_queue, i) + end + end + end + if table.getn(warps_queue) == 0 then + queue_state = 0 + return + end + minetest.after(1, do_warp_queue) +end + +local warp_queue_add = function(player, dest) + table.insert(warps_queue, { + t = minetest.get_us_time() + (warps_freeze * 1000000), + pos = player:getpos(), + p = player, + w = dest, + sh = minetest.sound_play("warps_woosh", { pos = player:getpos() }) + }) + minetest.chat_send_player(player:get_player_name(), "Don't move for " .. warps_freeze .. " seconds!") + if queue_state == 0 then + queue_state = 1 + minetest.after(1, do_warp_queue) + end + -- attempt to emerge the target area before the player gets there + local pos = vector.new(lookup_warp(dest)) + minetest.get_voxel_manip():read_from_map(pos, pos) + if not minetest.get_node_or_nil(pos) then + minetest.emerge_area(vector.subtract(pos, 80), vector.add(pos, 80)) + end +end + +local worldpath = minetest.get_worldpath() + +local save = function () + local fh,err = io.open(worldpath .. "/warps.txt", "w") + if err then + print("No existing warps to read.") + return + end + for i = 1,table.getn(warps) do + local s = warps[i].name .. " " .. warps[i].x .. " " .. warps[i].y .. " " .. + warps[i].z .. " " .. warps[i].yaw .. " " .. warps[i].pitch .. "\n" + fh:write(s) + end + fh:close() +end + +local load = function () + local fh,err = io.open(worldpath .. "/warps.txt", "r") + if err then + minetest.log("action", "[warps] loaded ") + return + end + while true do + local line = fh:read() + if line == nil then + break + end + local paramlist = string.split(line, " ") + local w = { + name = paramlist[1], + x = tonumber(paramlist[2]), + y = tonumber(paramlist[3]), + z = tonumber(paramlist[4]), + yaw = tonumber(paramlist[5]), + pitch = tonumber(paramlist[6]) + } + table.insert(warps, w) + end + fh:close() + minetest.log("action", "[warps] loaded " .. table.getn(warps) .. " warp location(s)") +end + +minetest.register_privilege("warp_admin", { + description = "Allows modification of warp points", + give_to_singleplayer = true, + default = false +}) + +minetest.register_privilege("warp_user", { + description = "Allows use of warp points", + give_to_singleplayer = true, + default = true +}) + +minetest.register_chatcommand("setwarp", { + params = "name", + description = "Set a warp location to the players location", + privs = { warp_admin = true }, + func = function(name, param) + param = param:gsub("%W", "") + if param == "" then + return false, "Cannot set warp: Name missing." + end + + local h = "Created" + for i = 1,table.getn(warps) do + if warps[i].name == param then + table.remove(warps, i) + h = "Changed" + break + end + end + + local player = minetest.get_player_by_name(name) + local pos = vector.round(player:getpos()) + table.insert(warps, { + name = param, + x = pos.x, + y = pos.y, + z = pos.z, + yaw = round_digits(player:get_look_yaw(), 3), + pitch = round_digits(player:get_look_pitch(), 3) + }) + save() + + minetest.log("action", name .. " " .. h .. " warp \"" .. param .. "\": " .. + pos.x .. ", " .. pos.y .. ", " .. pos.z) + return true, h .. " warp \"" .. param .. "\"" + end, +}) + +minetest.register_chatcommand("delwarp", { + params = "name", + description = "Set a warp location to the players location", + privs = { warp_admin = true }, + func = function(name, param) + for i = 1,table.getn(warps) do + if warps[i].name == param then + table.remove(warps, i) + minetest.log("action", name .. " removed warp \"" .. param .. "\"") + return true, "Removed warp \"" .. param .. "\"" + end + end + return false, "Unknown warp location \"" .. param .. "\"" + end, +}) + +minetest.register_chatcommand("listwarps", { + params = "name", + description = "List known warp locations", + privs = { warp_user = true }, + func = function(name, param) + local s = "List of known warp locations:\n" + for i = 1,table.getn(warps) do + s = s .. "- " .. warps[i].name .. "\n" + end + return true, s + end +}) + +minetest.register_chatcommand("warp", { + params = "name", + description = "Warp to a warp location", + privs = { warp_user = true }, + func = function(name, param) + local player = minetest.get_player_by_name(name) + if not minetest.check_player_privs(player, {warp_admin = true}) then + warp_queue_add(player, param) + else + warp(player, param) + end + end +}) + +minetest.register_node("warps:warpstone", { + visual = "mesh", + mesh = "warps_warpstone.obj", + description = "A Warp Stone", + tiles = { "warps_warpstone.png" }, + drawtype = "mesh", + sunlight_propagates = true, + walkable = false, + paramtype = "light", + groups = { choppy=3 }, + light_source = 8, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.5, 0.25} + }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", + "field[destination;Warp Destination;]") + meta:set_string("infotext", "Uninitialized Warp Stone") + end, + on_receive_fields = function(pos, formname, fields, sender) + if not minetest.check_player_privs(sender:get_player_name(), {warp_admin = true}) then + minetest.chat_send_player(sender:get_player_name(), "You do not have permission to modify warp stones") + return false + end + if not fields.destination then + return + end + local meta = minetest.get_meta(pos) + meta:set_string("formspec", + "field[destination;Warp Destination;" .. fields.destination .. "]") + meta:set_string("infotext", "Warp stone to " .. fields.destination) + meta:set_string("warps_destination", fields.destination) + minetest.log("action", sender:get_player_name() .. " changed warp stone to \"" .. fields.destination .. "\"") + end, + on_punch = function(pos, node, puncher, pointed_thingo) + if puncher:get_player_control().sneak and + minetest.check_player_privs(puncher:get_player_name(), {warp_admin = true}) then + minetest.remove_node(pos) + minetest.chat_send_player(puncher:get_player_name(), "Warp stone removed!") + return + end + + local meta = minetest.get_meta(pos) + local destination = meta:get_string("warps_destination") + if destination == "" then + minetest.chat_send_player(puncher:get_player_name(), + "Unknown warp location for this warp stone, cannot warp!") + return false + end + warp_queue_add(puncher, destination) + end, +}) + +-- load existing warps +load() + diff --git a/mods/warps/mod.conf b/mods/warps/mod.conf new file mode 100644 index 0000000..26992a5 --- /dev/null +++ b/mods/warps/mod.conf @@ -0,0 +1 @@ +name = warps diff --git a/mods/warps/models/warps_warpstone.obj b/mods/warps/models/warps_warpstone.obj new file mode 100644 index 0000000..5858c88 --- /dev/null +++ b/mods/warps/models/warps_warpstone.obj @@ -0,0 +1,70 @@ +# Blender v2.60 (sub 0) OBJ File: '' +# www.blender.org +mtllib warps_warpstone.mtl +o Plane +v 0.000345 -0.332211 0.238072 +v -0.238873 -0.332211 -0.000181 +v -0.187467 0.347788 0.000753 +v 0.003339 0.347788 0.186987 +v -0.000061 0.473738 -0.000013 +v -0.000061 -0.400212 -0.000013 +v 0.238345 -0.332211 0.000071 +v 0.187345 0.347788 -0.000779 +v -0.000467 -0.332211 -0.238097 +v -0.003461 0.347788 -0.187013 +vt 0.247005 0.000534 +vt 0.000000 0.000534 +vt 0.000000 0.499516 +vt 0.247005 0.499516 +vt 0.744000 0.749758 +vt 0.744000 0.501019 +vt 0.248498 0.501019 +vt 0.248498 0.749758 +vt 0.495503 0.000534 +vt 0.248498 0.000534 +vt 0.248498 0.499516 +vt 0.495503 0.499516 +vt 0.744000 1.000000 +vt 0.744000 0.751261 +vt 0.248498 0.751261 +vt 0.248498 1.000000 +vt 0.247005 1.000000 +vt 0.247005 0.752012 +vt 0.000746 1.000000 +vt 0.497742 0.249273 +vt 0.744000 0.001285 +vt 0.744000 0.249273 +vt 0.744000 0.251528 +vt 0.497742 0.499516 +vt 0.744000 0.499516 +vt 0.247005 0.749758 +vt 0.000746 0.749758 +vt 0.247005 0.501770 +vt 0.000000 0.751261 +vt 0.000000 0.999249 +vt 0.246259 0.751261 +vt 0.743254 0.000534 +vt 0.496995 0.248522 +vt 0.496995 0.000534 +vt 0.496995 0.250776 +vt 0.496995 0.498764 +vt 0.743254 0.250776 +vt 0.000000 0.501019 +vt 0.246259 0.501019 +vt 0.000000 0.749006 +g Plane_Plane_Material.001 +usemtl Material.001 +s off +f 2/1 1/2 4/3 3/4 +f 1/5 7/6 8/7 4/8 +f 7/9 9/10 10/11 8/12 +f 9/13 2/14 3/15 10/16 +s 1 +f 5/17 3/18 4/19 +f 1/20 2/21 6/22 +f 7/23 1/24 6/25 +f 5/26 4/27 8/28 +f 5/29 8/30 10/31 +f 9/32 7/33 6/34 +f 6/35 2/36 9/37 +f 5/38 10/39 3/40 diff --git a/mods/warps/screenshot.png b/mods/warps/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..cae38f1c909dfd6f955052dfebcac122bf350d3a GIT binary patch literal 210874 zcmV*@KrFwBP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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�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 V_nBSJ{6Kr`=kx0CgZ>{)c?2_Ni{AhM literal 0 HcmV?d00001 diff --git a/mods/warps/textures/warps_warpstone.png b/mods/warps/textures/warps_warpstone.png new file mode 100644 index 0000000000000000000000000000000000000000..e172d1dc0ae3b7f6ecb3585b934805335e443e17 GIT binary patch literal 1808 zcmV+r2k-caP)~)Nhx4a* zYZh}xlnjc**62o~yQ(t%!RHT;FmZu+85t3o^oQU5vBrN=asUn3HZk;&iOC7Rg@>>x zog@^-F;OScOBAR=6PBE9E0S|2aa`%skNA^9@c%Hkck=-aQMHx+an#`y{I%y+BB& zEn11>)fuCLkEFgL7~R(rbI0QC^@dO>SY&O#qtl;#pR$9zE&> z-&V3YX$Q469VR?g&{m!W!Z26n#=wGUw$ger&WRpws>#d>0WJ8-qE{!9v+fxWHSBfhDNO zUe*p}hhvT_r&%h4J9=}_s>UkByj33I&Z=j^fZ9se21!nXYdcx{q(l2tg3=T%P6J9o zCZKEeWHHF;!XoRiIidIP7v{1Jc8H~=OaOuJXlKb7O-8r`XhL&?$S`LnFnqFc6ln7z zpYQBfy|e`6xJXGxH2U8Ei^;x7_kt$^kN7@N+e%%UQG{<~y|7p7_|j|UBYwuFa9eyk zr`v>*Z~Z?7k${|+y`DDuL(18LuPfOIBA{N|l*(EwtJacRn(I&T1Hi3zs`8~r0oW#n zMry(1t@*mqKTl~^p&D|!4WZ-**P|B*0S#)W=~0^|9t`Y_d6QGIjq8GAX|k8I zJ8<9uk2dn`(HA;T*j-}Kif6J6dXi_44uFG;h?VSXRQ`W<6v%|9JK2h=*KmGBR1F*+-Y8FF`QqEWL(ZPYZkpsZJ_M++e9L&sx#k*SC zk|(W1Mzht`n8!JBlm*lPrej!`RHv%R(!5Q{m2}yPPl$xHlD5-REtMdiA*ka~xEpc; z(IF=w$B~DeW>g%tueEKZEipX8Kr^R9OV~=?i5kd8D}xm3QcMhbJ)dNft*iz9D90Hu zMl^P&3o&cZebB%4I2Banbd_`7pm~X>V|>mq+u?^1myJ{8`q$SM__%S@R;(PUSE(aW;DW?n$2`tC4t#-POhz2G@QSv0mG=Y6m&~?RvXnu_j_e#sjdc)u&~Gf+1z)~4!k0M+ufK+ee+cgrN(WpT zaHUTIvCng!5UmM~N3aPm!PGG^5K(w*W2pmx3Ui4{69S zot|Fgv!gUc&M-{u;Xj6ljD~Z5^CFKYi9z)I!7)UQG$|*lTFYT-7OEN*3?5Orj?a#g zrMV$+tp`Kaf{#+)n|HNVmF&0j>5}hDlXr4nBwKKDL-ztzU_h}T8-Uz60uIs^m>YEr ycR^pxh(;zA<-OpfNNHTaI4%fYwTNiWO7vfPW)k%j>%3k70000n5Lv1h~}7@d?5YXm81h{tQtoe@#txUR8XG%U%v_S%kP@86#_|0pZ^5antNJg`=+ghiP}^YVAiseB0{aW* zFN|PrL7w~s;qSi=y#9Ks_OL4Z7sZDnt0g3_$?-_cne~jvdGd|s#1c`XbPkQh+jtCX z4@^*8GcnT8r7TIf?LnZ^c>#NFP01jhVyQNr%P$h|&tR817i#(M#eau3g@wqrfGnMJ en*G#&`3MF!{=KVBRHuQ0i^0>?&t;ucLK6U*)`&>} literal 0 HcmV?d00001 diff --git a/no-mods/ender_io/crafting.lua b/no-mods/ender_io/crafting.lua new file mode 100644 index 0000000..53ef539 --- /dev/null +++ b/no-mods/ender_io/crafting.lua @@ -0,0 +1,24 @@ +-- mods/ender_io/crafting.lua + +-- Crafts + +--minetest.register_craft({ +-- output = 'default:goldblock', +-- recipe = { +-- {'default:gold_ingot','default:gold_ingot','default:gold_ingot'}, +-- {'default:gold_ingot','default:gold_ingot','default:gold_ingot'}, +-- {'default:gold_ingot','default:gold_ingot','default:gold_ingot'}, +-- } +--}) +--minetest.register_craft({ +-- output = "default:string", +-- recipe = {{"default:paper", "default:paper"}}, +--}) + +-- Fuels + +--minetest.register_craft({ +-- type = "fuel", +-- recipe = "default_override:charcoal_lump", +-- burntime = 40, +--}) diff --git a/no-mods/ender_io/craftitems.lua b/no-mods/ender_io/craftitems.lua new file mode 100644 index 0000000..73acdac --- /dev/null +++ b/no-mods/ender_io/craftitems.lua @@ -0,0 +1,9 @@ +-- mods/ender_io/craftitems.lua + +-- Crafting items + +--minetest.register_craftitem("default_override:redstone_dust", { +-- description = "Redstone Dust", +-- inventory_image = "default_redstone_dust.png", +-- stack_max = 64, +--}) diff --git a/no-mods/ender_io/depends.txt b/no-mods/ender_io/depends.txt new file mode 100644 index 0000000..57a64ad --- /dev/null +++ b/no-mods/ender_io/depends.txt @@ -0,0 +1,2 @@ +default +default_override diff --git a/no-mods/ender_io/functions.lua b/no-mods/ender_io/functions.lua new file mode 100644 index 0000000..4b9de87 --- /dev/null +++ b/no-mods/ender_io/functions.lua @@ -0,0 +1,28 @@ +-- mods/ender_io/functions.lua + +-- Functions +function ender_io.register_conduit(name, descrip, graph, type) + local group; + if(type == "energy") then + group = {oddly_breakable_by_hand = 3, energy_conduit = 1} + end + + minetest.register_node("ender_io:" .. name,{ + description = descrip, + drawtype = "nodebox", + tiles = graph, + stack_max = 64, + groups = group, + sounds = default.node_sound_stone_defaults(), + + paramtype = "light", + node_box = { + type = "fixed", + fixed = { + {-8/16, -2/16, -2/16, 8/16, 2/16, 2/16} + --{-8/16, -4/16, -7/16, 8/16, 8/16, 7/16}, -- Main Body + }, + }, + selection_box = node_box, +}) +end diff --git a/no-mods/ender_io/init.lua b/no-mods/ender_io/init.lua new file mode 100644 index 0000000..e2eafd6 --- /dev/null +++ b/no-mods/ender_io/init.lua @@ -0,0 +1,17 @@ +-- Minetest 0.4 mod: default +-- See README.txt for licensing and other information. + +-- The API documentation in here was moved into doc/lua_api.txt + +local path = minetest.get_modpath("ender_io") + +-- Definitions made by this mod that other mods can use too +ender_io = {} + +-- Load files +dofile(path.."/functions.lua") +dofile(path.."/nodes.lua") +--[[ +dofile(path.."/craftitems.lua") +dofile(path.."/crafting.lua") +]]-- diff --git a/no-mods/ender_io/nodes.lua b/no-mods/ender_io/nodes.lua new file mode 100644 index 0000000..1d1a265 --- /dev/null +++ b/no-mods/ender_io/nodes.lua @@ -0,0 +1,47 @@ +-- mods/ender_io/nodes.lua + +minetest.register_node("ender_io:entropy_generator",{ + description = "Entropy generator", + tiles = {"entropy_generator.png"}, + stack_max = 64, + groups = {oddly_breakable_by_hand = 3}, + sounds = default.node_sound_stone_defaults(), +}) + +ender_io.register_conduit("basic_energy_conduit", "Basic energy conduit", {"energy_basic_conduit.png"}, "energy") +ender_io.register_conduit("med_energy_conduit", "Medium energy conduit", {"energy_med_conduit.png"}, "energy") + +minetest.register_node("ender_io:light",{ + description = "Ender_io Light", + tiles = {"light.png"}, + stack_max = 64, + groups = {oddly_breakable_by_hand = 3}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_abm({ + nodenames = {"ender_io:light"}, + neighbors = {"group:energy_conduit"}, + interval = 0.1, -- Run every 10 seconds + action = function(pos, node, active_object_count, active_object_count_wider) + + end +}) + +--minetest.register_node("default_override:stone_with_lapis", { +-- description = "Lapis Lazuli Ore", +-- tiles = {"default_stone.png^default_mineral_lapis.png"}, +-- is_ground_content = false, +-- stack_max = 64, +-- groups = {cracky=2}, +-- drop = { +-- max_items = 2, +-- items = { +-- {items = {'dye:blue 5'},rarity = 16}, +-- {items = {'dye:blue 4'},rarity = 12}, +-- {items = {'dye:blue 3'},rarity = 8}, +-- {items = {'dye:blue 2'},rarity = 6}, +-- {items = {'dye:blue 1'}}, +-- } +-- }, +-- sounds = default.node_sound_stone_defaults(), +--}) diff --git a/no-mods/ender_io/textures/.directory b/no-mods/ender_io/textures/.directory new file mode 100644 index 0000000..6791f90 --- /dev/null +++ b/no-mods/ender_io/textures/.directory @@ -0,0 +1,4 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2017,1,19,1,47,41 +Version=3 diff --git a/no-mods/ender_io/textures/energy_basic_conduit.png b/no-mods/ender_io/textures/energy_basic_conduit.png new file mode 100644 index 0000000000000000000000000000000000000000..d54c02464a074861ba6ddebcdb6353ada92b52a4 GIT binary patch literal 4012 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 literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/.gitignore b/no-mods/pipeworks/.gitignore new file mode 100644 index 0000000..ef02689 --- /dev/null +++ b/no-mods/pipeworks/.gitignore @@ -0,0 +1,22 @@ +## Files related to minetest development cycle +/*.patch +# GNU Patch reject file +*.rej + +## Editors and Development environments +*~ +*.swp +*.bak* +*.orig +# Vim +*.vim +# Kate +.*.kate-swp +.swp.* +# Eclipse (LDT) +.project +.settings/ +.buildpath +.metadata +# Idea IDE +.idea/* diff --git a/no-mods/pipeworks/LICENSE b/no-mods/pipeworks/LICENSE new file mode 100644 index 0000000..eb930e9 --- /dev/null +++ b/no-mods/pipeworks/LICENSE @@ -0,0 +1,17 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. + +---------- + +This license is commonly known as "WTFPL". diff --git a/no-mods/pipeworks/README b/no-mods/pipeworks/README new file mode 100644 index 0000000..7a34618 --- /dev/null +++ b/no-mods/pipeworks/README @@ -0,0 +1,22 @@ +This mod uses nodeboxes to supply a complete set of 3D pipes and tubes, +along devices that work with them. + +See https://github.com/VanessaE/pipeworks/wiki/ for detailed information about usage of this mod. + +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. + +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. diff --git a/no-mods/pipeworks/autocrafter.lua b/no-mods/pipeworks/autocrafter.lua new file mode 100644 index 0000000..faf5381 --- /dev/null +++ b/no-mods/pipeworks/autocrafter.lua @@ -0,0 +1,375 @@ +local autocrafterCache = {} -- caches some recipe data to avoid to call the slow function minetest.get_craft_result() every second + +local craft_time = 1 + +local function count_index(invlist) + local index = {} + for _, stack in pairs(invlist) do + if not stack:is_empty() then + local stack_name = stack:get_name() + index[stack_name] = (index[stack_name] or 0) + stack:get_count() + end + end + return index +end + +local function get_item_info(stack) + local name = stack:get_name() + local def = minetest.registered_items[name] + local description = def and def.description or "Unknown item" + return description, name +end + +local function get_craft(pos, inventory, hash) + local hash = hash or minetest.hash_node_position(pos) + local craft = autocrafterCache[hash] + if not craft then + local recipe = inventory:get_list("recipe") + local output, decremented_input = minetest.get_craft_result({method = "normal", width = 3, items = recipe}) + craft = {recipe = recipe, consumption=count_index(recipe), output = output, decremented_input = decremented_input} + autocrafterCache[hash] = craft + end + return craft +end + +local function autocraft(inventory, craft) + if not craft then return false end + local output_item = craft.output.item + + -- check if we have enough room in dst + if not inventory:room_for_item("dst", output_item) then return false end + local consumption = craft.consumption + local inv_index = count_index(inventory:get_list("src")) + -- check if we have enough material available + for itemname, number in pairs(consumption) do + if (not inv_index[itemname]) or inv_index[itemname] < number then return false end + end + -- consume material + for itemname, number in pairs(consumption) do + for i = 1, number do -- We have to do that since remove_item does not work if count > stack_max + inventory:remove_item("src", ItemStack(itemname)) + end + end + + -- craft the result into the dst inventory and add any "replacements" as well + inventory:add_item("dst", output_item) + for i = 1, 9 do + inventory:add_item("dst", craft.decremented_input.items[i]) + end + return true +end + +-- returns false to stop the timer, true to continue running +-- is started only from start_autocrafter(pos) after sanity checks and cached recipe +local function run_autocrafter(pos, elapsed) + local meta = minetest.get_meta(pos) + local inventory = meta:get_inventory() + local craft = get_craft(pos, inventory) + local output_item = craft.output.item + -- only use crafts that have an actual result + if output_item:is_empty() then + meta:set_string("infotext", "unconfigured Autocrafter: unknown recipe") + return false + end + + for step = 1, math.floor(elapsed/craft_time) do + local continue = autocraft(inventory, craft) + if not continue then return false end + end + return true +end + +local function start_crafter(pos) + local meta = minetest.get_meta(pos) + if meta:get_int("enabled") == 1 then + local timer = minetest.get_node_timer(pos) + if not timer:is_started() then + timer:start(craft_time) + end + end +end + +local function after_inventory_change(pos) + start_crafter(pos) +end + +-- note, that this function assumes allready being updated to virtual items +-- and doesn't handle recipes with stacksizes > 1 +local function after_recipe_change(pos, inventory) + local meta = minetest.get_meta(pos) + -- if we emptied the grid, there's no point in keeping it running or cached + if inventory:is_empty("recipe") then + minetest.get_node_timer(pos):stop() + autocrafterCache[minetest.hash_node_position(pos)] = nil + meta:set_string("infotext", "unconfigured Autocrafter") + return + end + local recipe_changed = false + local recipe = inventory:get_list("recipe") + + local hash = minetest.hash_node_position(pos) + local craft = autocrafterCache[hash] + + if craft then + -- check if it changed + local cached_recipe = craft.recipe + for i = 1, 9 do + if recipe[i]:get_name() ~= cached_recipe[i]:get_name() then + autocrafterCache[hash] = nil -- invalidate recipe + craft = nil + break + end + end + end + + craft = craft or get_craft(pos, inventory, hash) + local output_item = craft.output.item + local description, name = get_item_info(output_item) + meta:set_string("infotext", string.format("'%s' Autocrafter (%s)", description, name)) + inventory:set_stack("output", 1, output_item) + + after_inventory_change(pos) +end + +-- clean out unknown items and groups, which would be handled like unknown items in the crafting grid +-- if minetest supports query by group one day, this might replace them +-- with a canonical version instead +local function normalize(item_list) + for i = 1, #item_list do + local name = item_list[i] + if not minetest.registered_items[name] then + item_list[i] = "" + end + end + return item_list +end + +local function on_output_change(pos, inventory, stack) + if not stack then + inventory:set_list("output", {}) + inventory:set_list("recipe", {}) + else + local input = minetest.get_craft_recipe(stack:get_name()) + if not input.items or input.type ~= "normal" then return end + local items, width = normalize(input.items), input.width + local item_idx, width_idx = 1, 1 + for i = 1, 9 do + if width_idx <= width then + inventory:set_stack("recipe", i, items[item_idx]) + item_idx = item_idx + 1 + else + inventory:set_stack("recipe", i, ItemStack("")) + end + width_idx = (width_idx < 3) and (width_idx + 1) or 1 + end + -- we'll set the output slot in after_recipe_change to the actual result of the new recipe + end + after_recipe_change(pos, inventory) +end + +-- returns false if we shouldn't bother attempting to start the timer again after this +local function update_meta(meta, enabled) + local state = enabled and "on" or "off" + meta:set_int("enabled", enabled and 1 or 0) + meta:set_string("formspec", + "size[8,11]".. + "list[context;recipe;0,0;3,3;]".. + "image[3,1;1,1;gui_hb_bg.png^[colorize:#141318:255]".. + "list[context;output;3,1;1,1;]".. + "image_button[3,2;1,1;pipeworks_button_" .. state .. ".png;" .. state .. ";;;false;pipeworks_button_interm.png]" .. + "list[context;src;0,3.5;8,3;]".. + "list[context;dst;4,0;4,3;]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + default.get_hotbar_bg(0,7) .. + "list[current_player;main;0,7;8,4;]" .. + "listring[current_player;main]".. + "listring[context;src]" .. + "listring[context;dst]" .. + "listring[current_player;main]".. + "listring[context;recipe]" .. + "listring[context;output]" + ) + + -- toggling the button doesn't quite call for running a recipe change check + -- so instead we run a minimal version for infotext setting only + -- this might be more written code, but actually executes less + local output = meta:get_inventory():get_stack("output", 1) + if output:is_empty() then -- doesn't matter if paused or not + meta:set_string("infotext", "unconfigured Autocrafter") + return false + end + + local description, name = get_item_info(output) + local infotext = enabled and string.format("'%s' Autocrafter (%s)", description, name) + or string.format("paused '%s' Autocrafter", description) + + meta:set_string("infotext", infotext) + return enabled +end + +-- 1st version of the autocrafter had actual items in the crafting grid +-- the 2nd replaced these with virtual items, dropped the content on update and set "virtual_items" to string "1" +-- the third added an output inventory, changed the formspec and added a button for enabling/disabling +-- so we work out way backwards on this history and update each single case to the newest version +local function upgrade_autocrafter(pos, meta) + local meta = meta or minetest.get_meta(pos) + local inv = meta:get_inventory() + + if inv:get_size("output") == 0 then -- we are version 2 or 1 + inv:set_size("output", 1) + -- migrate the old autocrafters into an "enabled" state + update_meta(meta, true) + + if meta:get_string("virtual_items") == "1" then -- we are version 2 + -- we allready dropped stuff, so lets remove the metadatasetting (we are not being called again for this node) + meta:set_string("virtual_items", "") + else -- we are version 1 + local recipe = inv:get_list("recipe") + if not recipe then return end + for idx, stack in ipairs(recipe) do + if not stack:is_empty() then + minetest.add_item(pos, stack) + stack:set_count(1) + stack:set_wear(0) + inv:set_stack("recipe", idx, stack) + end + end + end + + -- update the recipe, cache, and start the crafter + autocrafterCache[minetest.hash_node_position(pos)] = nil + after_recipe_change(pos, inv) + end +end + +minetest.register_node("pipeworks:autocrafter", { + description = "Autocrafter", + drawtype = "normal", + tiles = {"pipeworks_autocrafter.png"}, + groups = {snappy = 3, tubedevice = 1, tubedevice_receiver = 1}, + tube = {insert_object = function(pos, node, stack, direction) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local added = inv:add_item("src", stack) + after_inventory_change(pos) + return added + end, + can_insert = function(pos, node, stack, direction) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + return inv:room_for_item("src", stack) + end, + input_inventory = "dst", + connect_sides = {left = 1, right = 1, front = 1, back = 1, top = 1, bottom = 1}}, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + inv:set_size("src", 3*8) + inv:set_size("recipe", 3*3) + inv:set_size("dst", 4*3) + inv:set_size("output", 1) + update_meta(meta, false) + end, + on_receive_fields = function(pos, formname, fields, sender) + if not pipeworks.may_configure(pos, sender) then return end + local meta = minetest.get_meta(pos) + if fields.on then + update_meta(meta, false) + minetest.get_node_timer(pos):stop() + elseif fields.off then + if update_meta(meta, true) then + start_crafter(pos) + end + end + end, + can_dig = function(pos, player) + upgrade_autocrafter(pos) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + return (inv:is_empty("src") and inv:is_empty("dst")) + end, + after_place_node = pipeworks.scan_for_tube_objects, + after_dig_node = function(pos) + pipeworks.scan_for_tube_objects(pos) + end, + on_destruct = function(pos) + autocrafterCache[minetest.hash_node_position(pos)] = nil + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + if not pipeworks.may_configure(pos, player) then return 0 end + upgrade_autocrafter(pos) + local inv = minetest.get_meta(pos):get_inventory() + if listname == "recipe" then + stack:set_count(1) + inv:set_stack(listname, index, stack) + after_recipe_change(pos, inv) + return 0 + elseif listname == "output" then + on_output_change(pos, inv, stack) + return 0 + end + after_inventory_change(pos) + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + if not pipeworks.may_configure(pos, player) then + minetest.log("action", string.format("%s attempted to take from autocrafter at %s", player:get_player_name(), minetest.pos_to_string(pos))) + return 0 + end + upgrade_autocrafter(pos) + local inv = minetest.get_meta(pos):get_inventory() + if listname == "recipe" then + inv:set_stack(listname, index, ItemStack("")) + after_recipe_change(pos, inv) + return 0 + elseif listname == "output" then + on_output_change(pos, inv, nil) + return 0 + end + after_inventory_change(pos) + return stack:get_count() + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + if not pipeworks.may_configure(pos, player) then return 0 end + upgrade_autocrafter(pos) + local inv = minetest.get_meta(pos):get_inventory() + local stack = inv:get_stack(from_list, from_index) + + if to_list == "output" then + on_output_change(pos, inv, stack) + return 0 + elseif from_list == "output" then + on_output_change(pos, inv, nil) + if to_list ~= "recipe" then + return 0 + end -- else fall through to recipe list handling + end + + if from_list == "recipe" or to_list == "recipe" then + if from_list == "recipe" then + inv:set_stack(from_list, from_index, ItemStack("")) + end + if to_list == "recipe" then + stack:set_count(1) + inv:set_stack(to_list, to_index, stack) + end + after_recipe_change(pos, inv) + return 0 + end + + after_inventory_change(pos) + return count + end, + on_timer = run_autocrafter +}) + +minetest.register_craft( { + output = "pipeworks:autocrafter 2", + recipe = { + { "default:steel_ingot", "default:mese_crystal", "default:steel_ingot" }, + { "homedecor:plastic_sheeting", "default:steel_ingot", "homedecor:plastic_sheeting" }, + { "default:steel_ingot", "default:mese_crystal", "default:steel_ingot" } + }, +}) diff --git a/no-mods/pipeworks/autoplace_pipes.lua b/no-mods/pipeworks/autoplace_pipes.lua new file mode 100644 index 0000000..4fc3665 --- /dev/null +++ b/no-mods/pipeworks/autoplace_pipes.lua @@ -0,0 +1,200 @@ +-- autorouting for pipes +local tube_table = {[0] = 1, 2, 2, 4, 2, 4, 4, 5, 2, 3, 4, 6, 4, 6, 5, 7, 2, 4, 3, 6, 4, 5, 6, 7, 4, 6, 6, 8, 5, 7, 7, 9, 2, 4, 4, 5, 3, 6, 6, 7, 4, 6, 5, 7, 6, 8, 7, 9, 4, 5, 6, 7, 6, 7, 8, 9, 5, 7, 7, 9, 7, 9, 9, 10} +local tube_table_facedirs = {[0] = 0, 0, 5, 0, 3, 4, 3, 0, 2, 0, 2, 0, 6, 4, 3, 0, 7, 12, 5, 12, 7, 4, 5, 5, 18, 20, 16, 0, 7, 4, 7, 0, 1, 8, 1, 1, 1, 13, 1, 1, 10, 8, 2, 2, 17, 4, 3, 6, 9, 9, 9, 9, 21, 13, 1, 1, 10, 10, 11, 2, 19, 4, 3, 0} +local function autoroute_pipes(pos) + local nctr = minetest.get_node(pos) + local state = "_empty" + if (string.find(nctr.name, "pipeworks:pipe_") == nil) then return end + if (string.find(nctr.name, "_loaded") ~= nil) then state = "_loaded" end + local nsurround = pipeworks.scan_pipe_surroundings(pos) + + if nsurround == 0 then nsurround = 9 end + minetest.swap_node(pos, {name = "pipeworks:pipe_"..tube_table[nsurround]..state, + param2 = tube_table_facedirs[nsurround]}) +end + +function pipeworks.scan_for_pipe_objects(pos) + autoroute_pipes({ x=pos.x-1, y=pos.y , z=pos.z }) + autoroute_pipes({ x=pos.x+1, y=pos.y , z=pos.z }) + autoroute_pipes({ x=pos.x , y=pos.y-1, z=pos.z }) + autoroute_pipes({ x=pos.x , y=pos.y+1, z=pos.z }) + autoroute_pipes({ x=pos.x , y=pos.y , z=pos.z-1 }) + autoroute_pipes({ x=pos.x , y=pos.y , z=pos.z+1 }) + autoroute_pipes(pos) +end + +-- auto-rotation code for various devices the tubes attach to + +function pipeworks.scan_pipe_surroundings(pos) + local pxm=0 + local pxp=0 + local pym=0 + local pyp=0 + local pzm=0 + local pzp=0 + + local nxm = minetest.get_node({ x=pos.x-1, y=pos.y , z=pos.z }) + local nxp = minetest.get_node({ x=pos.x+1, y=pos.y , z=pos.z }) + local nym = minetest.get_node({ x=pos.x , y=pos.y-1, z=pos.z }) + local nyp = minetest.get_node({ x=pos.x , y=pos.y+1, z=pos.z }) + local nzm = minetest.get_node({ x=pos.x , y=pos.y , z=pos.z-1 }) + local nzp = minetest.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 + +-- Special handling for valves... + + if (string.find(nxm.name, "pipeworks:valve") ~= nil) + and (nxm.param2 == 0 or nxm.param2 == 2) then + pxm=1 + end + + if (string.find(nxp.name, "pipeworks:valve") ~= nil) + and (nxp.param2 == 0 or nxp.param2 == 2) then + pxp=1 + end + + if (string.find(nzm.name, "pipeworks:valve") ~= nil) + and (nzm.param2 == 1 or nzm.param2 == 3) then + pzm=1 + end + + if (string.find(nzp.name, "pipeworks:valve") ~= nil) + and (nzp.param2 == 1 or nzp.param2 == 3) then + pzp=1 + end + +-- ...flow sensors... + + if (string.find(nxm.name, "pipeworks:flow_sensor") ~= nil) + and (nxm.param2 == 0 or nxm.param2 == 2) then + pxm=1 + end + + if (string.find(nxp.name, "pipeworks:flow_sensor") ~= nil) + and (nxp.param2 == 0 or nxp.param2 == 2) then + pxp=1 + end + + if (string.find(nzm.name, "pipeworks:flow_sensor") ~= nil) + and (nzm.param2 == 1 or nzm.param2 == 3) then + pzm=1 + end + + if (string.find(nzp.name, "pipeworks:flow_sensor") ~= nil) + and (nzp.param2 == 1 or nzp.param2 == 3) then + pzp=1 + end + +-- ...spigots... + + if (string.find(nxm.name, "pipeworks:spigot") ~= nil) + and nxm.param2 == 1 then + pxm=1 + end + + if (string.find(nxp.name, "pipeworks:spigot") ~= nil) + and nxp.param2 == 3 then + pxp=1 + end + + if (string.find(nzm.name, "pipeworks:spigot") ~= nil) + and nzm.param2 == 0 then + pzm=1 + end + + if (string.find(nzp.name, "pipeworks:spigot") ~= nil) + and nzp.param2 == 2 then + pzp=1 + end + +-- ...sealed pipe entry/exit... + + if (string.find(nxm.name, "pipeworks:entry_panel") ~= nil) + and (nxm.param2 == 1 or nxm.param2 == 3) then + pxm=1 + end + + if (string.find(nxp.name, "pipeworks:entry_panel") ~= nil) + and (nxp.param2 == 1 or nxp.param2 == 3) then + pxp=1 + end + + if (string.find(nzm.name, "pipeworks:entry_panel") ~= nil) + and (nzm.param2 == 0 or nzm.param2 == 2) then + pzm=1 + end + + if (string.find(nzp.name, "pipeworks:entry_panel") ~= nil) + and (nzp.param2 == 0 or nzp.param2 == 2) then + pzp=1 + end + + if (string.find(nym.name, "pipeworks:entry_panel") ~= nil) + and nym.param2 == 13 then + pym=1 + end + + if (string.find(nyp.name, "pipeworks:entry_panel") ~= nil) + and nyp.param2 == 13 then + pyp=1 + end + + +-- ...pumps, grates... + + if (string.find(nym.name, "pipeworks:grating") ~= nil) or + (string.find(nym.name, "pipeworks:pump") ~= nil) then + pym=1 + end + +-- ...fountainheads... + + if (string.find(nyp.name, "pipeworks:fountainhead") ~= nil) then + pyp=1 + end + +-- ... and storage tanks. + + if (string.find(nym.name, "pipeworks:storage_tank_") ~= nil) then + pym=1 + end + + if (string.find(nyp.name, "pipeworks:storage_tank_") ~= nil) then + pyp=1 + end + +-- ...extra devices specified via the function's parameters +-- ...except that this part is not implemented yet +-- +-- xxx = nxm, nxp, nym, nyp, nzm, or nzp depending on the direction to check +-- yyy = pxm, pxp, pym, pyp, pzm, or pzp accordingly. +-- +-- if string.find(xxx.name, "modname:nodename") ~= nil then +-- yyy = 1 +-- end +-- +-- for example: +-- +-- if string.find(nym.name, "aero:outlet") ~= nil then +-- pym = 1 +-- end +-- + + return pxm+8*pxp+2*pym+16*pyp+4*pzm+32*pzp +end + +function pipeworks.look_for_stackable_tanks(pos) + local tym = minetest.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.add_node(pos, { name = "pipeworks:expansion_tank_0", param2 = tym.param2}) + end +end + diff --git a/no-mods/pipeworks/autoplace_tubes.lua b/no-mods/pipeworks/autoplace_tubes.lua new file mode 100644 index 0000000..280bd60 --- /dev/null +++ b/no-mods/pipeworks/autoplace_tubes.lua @@ -0,0 +1,122 @@ +-- autorouting for pneumatic tubes + +local function is_tube(nodename) + return table.contains(pipeworks.tubenodes, nodename) +end + +--a function for determining which side of the node we are on +local function nodeside(node, tubedir) + if node.param2 < 0 or node.param2 > 23 then + node.param2 = 0 + end + + local backdir = minetest.facedir_to_dir(node.param2) + local back = vector.dot(backdir, tubedir) + if back == 1 then + return "back" + elseif back == -1 then + return "front" + end + + local topdir = minetest.facedir_to_top_dir(node.param2) + local top = vector.dot(topdir, tubedir) + if top == 1 then + return "top" + elseif top == -1 then + return "bottom" + end + + local rightdir = minetest.facedir_to_right_dir(node.param2) + local right = vector.dot(rightdir, tubedir) + if right == 1 then + return "right" + else + return "left" + end +end + +local vts = {0, 3, 1, 4, 2, 5} +local tube_table = {[0] = 1, 2, 2, 4, 2, 4, 4, 5, 2, 3, 4, 6, 4, 6, 5, 7, 2, 4, 3, 6, 4, 5, 6, 7, 4, 6, 6, 8, 5, 7, 7, 9, 2, 4, 4, 5, 3, 6, 6, 7, 4, 6, 5, 7, 6, 8, 7, 9, 4, 5, 6, 7, 6, 7, 8, 9, 5, 7, 7, 9, 7, 9, 9, 10} +local tube_table_facedirs = {[0] = 0, 0, 5, 0, 3, 4, 3, 0, 2, 0, 2, 0, 6, 4, 3, 0, 7, 12, 5, 12, 7, 4, 5, 5, 18, 20, 16, 0, 7, 4, 7, 0, 1, 8, 1, 1, 1, 13, 1, 1, 10, 8, 2, 2, 17, 4, 3, 6, 9, 9, 9, 9, 21, 13, 1, 1, 10, 10, 11, 2, 19, 4, 3, 0} +local function tube_autoroute(pos) + local active = {0, 0, 0, 0, 0, 0} + local nctr = minetest.get_node(pos) + if not is_tube(nctr.name) then return end + + local adjustments = { + {x = -1, y = 0, z = 0}, + {x = 1, y = 0, z = 0}, + {x = 0, y = -1, z = 0}, + {x = 0, y = 1, z = 0}, + {x = 0, y = 0, z = -1}, + {x = 0, y = 0, z = 1} + } + -- xm = 1, xp = 2, ym = 3, yp = 4, zm = 5, zp = 6 + + local positions = {} + local nodes = {} + for i, adj in ipairs(adjustments) do + positions[i] = vector.add(pos, adj) + nodes[i] = minetest.get_node(positions[i]) + end + + for i, node in ipairs(nodes) do + local idef = minetest.registered_nodes[node.name] + -- handle the tubes themselves + if is_tube(node.name) then + active[i] = 1 + -- handle new style connectors + elseif idef and idef.tube and idef.tube.connect_sides then + local dir = adjustments[i] + if idef.tube.connect_sides[nodeside(node, vector.multiply(dir, -1))] then + active[i] = 1 + end + end + end + + -- all sides checked, now figure which tube to use. + + local nodedef = minetest.registered_nodes[nctr.name] + local basename = nodedef.basename + if nodedef.style == "old" then + local nsurround = "" + for i, n in ipairs(active) do + nsurround = nsurround..n + end + nctr.name = basename.."_"..nsurround + elseif nodedef.style == "6d" then + local s = 0 + for i, n in ipairs(active) do + if n == 1 then + s = s + 2^vts[i] + end + end + nctr.name = basename.."_"..tube_table[s] + nctr.param2 = tube_table_facedirs[s] + end + minetest.swap_node(pos, nctr) +end + +function pipeworks.scan_for_tube_objects(pos) + for side = 0, 6 do + tube_autoroute(vector.add(pos, directions.side_to_dir(side))) + end +end + +function pipeworks.after_place(pos) + pipeworks.scan_for_tube_objects(pos) +end + +function pipeworks.after_dig(pos) + pipeworks.scan_for_tube_objects(pos) +end + +if minetest.get_modpath("mesecons_mvps") then + mesecon.register_on_mvps_move(function(moved_nodes) + for _, n in ipairs(moved_nodes) do + pipeworks.scan_for_tube_objects(n.pos) + pipeworks.scan_for_tube_objects(n.oldpos) + end + end) +end + diff --git a/no-mods/pipeworks/changelog.txt b/no-mods/pipeworks/changelog.txt new file mode 100644 index 0000000..251df29 --- /dev/null +++ b/no-mods/pipeworks/changelog.txt @@ -0,0 +1,93 @@ +Changelog +--------- + +2013-01-13: Tubes can transport items now! Namely, I added Novatux/Nore's item +transport mod as a default part of this mod, to make tubes do something useful! +Thanks to Nore and RealBadAngel for the code contributions! + +2013-01-05: made storage tanks connect from top/bottom, made storage tank and +pipe textures use the ^ combine operator so they can show the actual liquid +going through the pipes/tanks. + +2013-01-04 (a bit later): Made pipes able to carry water! It was just a minor +logic error resulting from moving the water flowing code into it's own file +when I originally imported it. Many thanks to Mauvebic for writing it! + +2013-01-04: First stage of integrating Mauvebic's water flowing code. This is +experimental and doesn't move water yet - but at least it doesn't break +anything :-) + +2013-01-01: Various minor tweaks to textures, facedir settings, some other +stuff. Changed crafting recipes to account for revamped pumps, valves, etc. +Now requires the moreores mod and most recent git (for mese crystal fragments) +to craft a pump. Added a "sealed" entry/exit panel (really just a horizontal +pipe with a metal panel overlayed into the middle). Also, tweaked pipes to +always drop the empty ones. Revamped pumps so that now they should sit in/on +liquid and be connected only from the top, relegated grates to decorational- +only, added outlet spigot. Got rid of a few obsolete textures. Got rid of +that whole _x and _z naming thing - now all directional devices (pumps, valves, +spigots, tanks) use facedir. Valves, spigots no longer auto-rotate to find +nearby pipes. + +2012-09-17: Added test object for pneumatic tube autorouting code, made tubes +connect to it and any object that bears groups={tubedevice=1} (connects to any +side) + +2012-09-05: All recipes doubled except for junglegrass -> plastic sheet (since +that is derived from home decor) + +2012-09-02: Fixed plastic sheeting recipe. Added crafting recipes for various +objects, with options: If homedecor is installed, use the plastic sheeting +therein. If not, we define it manually. If the Technic mod is installed, +don't define any recipes at all. Also removed the extra "loaded!" messages and +tweaked the default pipe alias to point to something that is actually visible +:-) + +2012-09-01: flattened wielded pipe segment. + +2012-08-24: Added square-ish pneumatic tubes with their own autoplace code +(does not connect to steel pipes or pipe-oriented devices), then revised their +textures shortly after. Fixed a recursion bug that sometimes caused a stack +overflow. Old pipes were overriding the pipeworks:pipe defintion that belongs +with the new pipes. + +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/no-mods/pipeworks/common.lua b/no-mods/pipeworks/common.lua new file mode 100644 index 0000000..1ee734f --- /dev/null +++ b/no-mods/pipeworks/common.lua @@ -0,0 +1,157 @@ +---------------------- +-- Vector functions -- +---------------------- + +function vector.cross(a, b) + return { + x = a.y * b.z - a.z * b.y, + y = a.z * b.x - a.x * b.z, + z = a.x * b.y - a.y * b.x + } +end + +function vector.dot(a, b) + return a.x * b.x + a.y * b.y + a.z * b.z +end + +----------------------- +-- Facedir functions -- +----------------------- + +function minetest.facedir_to_top_dir(facedir) + return ({[0] = {x = 0, y = 1, z = 0}, + {x = 0, y = 0, z = 1}, + {x = 0, y = 0, z = -1}, + {x = 1, y = 0, z = 0}, + {x = -1, y = 0, z = 0}, + {x = 0, y = -1, z = 0}}) + [math.floor(facedir / 4)] +end + +function minetest.facedir_to_right_dir(facedir) + return vector.cross( + minetest.facedir_to_top_dir(facedir), + minetest.facedir_to_dir(facedir) + ) +end + +directions = {} +function directions.side_to_dir(side) + return ({[0] = vector.new(), + vector.new( 0, 1, 0), + vector.new( 0, -1, 0), + vector.new( 1, 0, 0), + vector.new(-1, 0, 0), + vector.new( 0, 0, 1), + vector.new( 0, 0, -1) + })[side] +end + +function directions.dir_to_side(dir) + local c = vector.dot(dir, vector.new(1, 2, 3)) + 4 + return ({6, 2, 4, 0, 3, 1, 5})[c] +end + +---------------------- +-- String functions -- +---------------------- + +--[[function string.split(str, sep) + local fields = {} + local index = 1 + local expr = "([^"..sep.."])+" + string.gsub(str, expr, function(substring) + fields[index] = substring + index = index + 1 + end) + return fields +end]] + +function string.startswith(str, substr) + return str:sub(1, substr:len()) == substr +end + +--------------------- +-- Table functions -- +--------------------- + +function table.contains(tbl, element) + for _, elt in pairs(tbl) do + if elt == element then + return true + end + end + return false +end + +function table.extend(tbl, tbl2) + local index = #tbl + 1 + for _, elt in ipairs(tbl2) do + tbl[index] = elt + index = index + 1 + end +end + +function table.recursive_replace(tbl, pattern, replace_with) + if type(tbl) == "table" then + local tbl2 = {} + for key, value in pairs(tbl) do + tbl2[key] = table.recursive_replace(value, pattern, replace_with) + end + return tbl2 + elseif type(tbl) == "string" then + return tbl:gsub(pattern, replace_with) + else + return tbl + end +end + +------------------------ +-- Formspec functions -- +------------------------ + +fs_helpers = {} +function fs_helpers.on_receive_fields(pos, fields) + local meta = minetest.get_meta(pos) + for field, value in pairs(fields) do + if field:startswith("fs_helpers_cycling:") then + local l = field:split(":") + local new_value = tonumber(l[2]) + local meta_name = l[3] + meta:set_int(meta_name, new_value) + end + end +end + +function fs_helpers.cycling_button(meta, base, meta_name, values) + local current_value = meta:get_int(meta_name) + local new_value = (current_value + 1) % (#values) + local val = values[current_value + 1] + local text + local texture_name = nil + local addopts = nil + --when we get a table, we know the caller wants an image_button + if type(val) == "table" then + text = val["text"] + texture_name = val["texture"] + addopts = val["addopts"] + else + text = val + end + local field = "fs_helpers_cycling:"..new_value..":"..meta_name + return base..";"..(texture_name and texture_name..";" or "")..field..";"..minetest.formspec_escape(text)..(addopts and ";"..addopts or "").."]" +end + +--------- +-- Env -- +--------- + +function minetest.load_position(pos) + if pos.x < -30912 or pos.y < -30912 or pos.z < -30912 or + pos.x > 30927 or pos.y > 30927 or pos.z > 30927 then return end + if minetest.get_node_or_nil(pos) then + return + end + local vm = minetest.get_voxel_manip() + vm:read_from_map(pos, pos) +end diff --git a/no-mods/pipeworks/compat.lua b/no-mods/pipeworks/compat.lua new file mode 100644 index 0000000..9c956e6 --- /dev/null +++ b/no-mods/pipeworks/compat.lua @@ -0,0 +1,153 @@ +-- this bit of code modifies the default chests and furnaces to be compatible +-- with pipeworks. + +minetest.override_item("default:furnace", { + tiles = { + "default_furnace_top.png^pipeworks_tube_connection_stony.png", + "default_furnace_bottom.png^pipeworks_tube_connection_stony.png", + "default_furnace_side.png^pipeworks_tube_connection_stony.png", + "default_furnace_side.png^pipeworks_tube_connection_stony.png", + "default_furnace_side.png^pipeworks_tube_connection_stony.png", + "default_furnace_front.png" + }, + groups = {cracky = 2, tubedevice = 1, tubedevice_receiver = 1}, + tube = { + insert_object = function(pos, node, stack, direction) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local timer = minetest.get_node_timer(pos) + if not timer:is_started() then + timer:start(1.0) + end + if direction.y == 1 then + return inv:add_item("fuel",stack) + else + return inv:add_item("src",stack) + end + end, + can_insert = function(pos,node,stack,direction) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + if direction.y == 1 then + return inv:room_for_item("fuel", stack) + else + return inv:room_for_item("src", stack) + end + end, + input_inventory = "dst", + connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} + }, + after_place_node = pipeworks.after_place, + after_dig_node = pipeworks.after_dig +}) + +minetest.override_item("default:furnace_active", { + tiles = { + "default_furnace_top.png^pipeworks_tube_connection_stony.png", + "default_furnace_bottom.png^pipeworks_tube_connection_stony.png", + "default_furnace_side.png^pipeworks_tube_connection_stony.png", + "default_furnace_side.png^pipeworks_tube_connection_stony.png", + "default_furnace_side.png^pipeworks_tube_connection_stony.png", + { + image = "default_furnace_front_active.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1.5 + }, + } + }, + groups = {cracky = 2, tubedevice = 1, tubedevice_receiver = 1, not_in_creative_inventory = 1}, + tube = { + insert_object = function(pos,node,stack,direction) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local timer = minetest.get_node_timer(pos) + if not timer:is_started() then + timer:start(1.0) + end + if direction.y == 1 then + return inv:add_item("fuel", stack) + else + return inv:add_item("src", stack) + end + end, + can_insert = function(pos, node, stack, direction) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + if direction.y == 1 then + return inv:room_for_item("fuel", stack) + else + return inv:room_for_item("src", stack) + end + end, + input_inventory = "dst", + connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} + }, + after_place_node = pipeworks.after_place, + after_dig_node = pipeworks.after_dig +}) + +minetest.override_item("default:chest", { + tiles = { + "default_chest_top.png^pipeworks_tube_connection_wooden.png", + "default_chest_top.png^pipeworks_tube_connection_wooden.png", + "default_chest_side.png^pipeworks_tube_connection_wooden.png", + "default_chest_side.png^pipeworks_tube_connection_wooden.png", + "default_chest_side.png^pipeworks_tube_connection_wooden.png", + "default_chest_front.png" + }, + groups = {choppy = 2, oddly_breakable_by_hand = 2, tubedevice = 1, tubedevice_receiver = 1}, + tube = { + insert_object = function(pos, node, stack, direction) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + return inv:add_item("main", stack) + end, + can_insert = function(pos, node, stack, direction) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + return inv:room_for_item("main", stack) + end, + input_inventory = "main", + connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} + }, + after_place_node = pipeworks.after_place, + after_dig_node = pipeworks.after_dig +}) + +minetest.override_item("default:chest_locked", { + tiles = { + "default_chest_top.png^pipeworks_tube_connection_wooden.png", + "default_chest_top.png^pipeworks_tube_connection_wooden.png", + "default_chest_side.png^pipeworks_tube_connection_wooden.png", + "default_chest_side.png^pipeworks_tube_connection_wooden.png", + "default_chest_side.png^pipeworks_tube_connection_wooden.png", + "default_chest_lock.png" + }, + groups = {choppy = 2, oddly_breakable_by_hand = 2, tubedevice = 1, tubedevice_receiver = 1}, + tube = { + insert_object = function(pos, node, stack, direction) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + return inv:add_item("main", stack) + end, + can_insert = function(pos, node, stack, direction) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + return inv:room_for_item("main", stack) + end, + connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} + }, + after_place_node = function (pos, placer) + local meta = minetest.get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", "Locked Chest (owned by ".. + meta:get_string("owner")..")") + pipeworks.after_place(pos) + end, + after_dig_node = pipeworks.after_dig +}) + diff --git a/no-mods/pipeworks/crafts.lua b/no-mods/pipeworks/crafts.lua new file mode 100644 index 0000000..63a04b7 --- /dev/null +++ b/no-mods/pipeworks/crafts.lua @@ -0,0 +1,151 @@ +-- Crafting recipes for pipes + +minetest.register_craft( { + output = "pipeworks:pipe_1_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:spigot 3", + recipe = { + { "pipeworks:pipe_1_empty", "" }, + { "", "pipeworks:pipe_1_empty" }, + }, +}) + +minetest.register_craft( { + output = "pipeworks:entry_panel_empty 2", + recipe = { + { "", "default:steel_ingot", "" }, + { "", "pipeworks:pipe_1_empty", "" }, + { "", "default:steel_ingot", "" }, + }, +}) + +-- Various ancillary pipe devices + +minetest.register_craft( { + output = "pipeworks:pump_off 2", + recipe = { + { "default:stone", "default:steel_ingot", "default:stone" }, + { "default:copper_ingot", "default:mese_crystal_fragment", "default:copper_ingot" }, + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" } + }, +}) + +minetest.register_craft( { + output = "pipeworks:valve_off_empty 2", + recipe = { + { "", "group:stick", "" }, + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, + { "", "default:steel_ingot", "" } + }, +}) + +minetest.register_craft( { + output = "pipeworks:storage_tank_0 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:grating 2", + recipe = { + { "default:steel_ingot", "", "default:steel_ingot" }, + { "", "pipeworks:pipe_1_empty", "" }, + { "default:steel_ingot", "", "default:steel_ingot" } + }, +}) + +minetest.register_craft( { + output = "pipeworks:flow_sensor_empty 2", + recipe = { + { "pipeworks:pipe_1_empty", "mesecons:mesecon", "pipeworks:pipe_1_empty" }, + }, +}) + +minetest.register_craft( { + output = "pipeworks:fountainhead 2", + recipe = { + { "pipeworks:pipe_1_empty" }, + { "pipeworks:pipe_1_empty" } + }, +}) + + +-- Crafting recipes for pneumatic tubes + +-- If homedecor is not installed, we need to register its crafting chain for +-- plastic sheeting so that pipeworks remains compatible with it. + +if minetest.get_modpath("homedecor") == nil then + + minetest.register_craftitem(":homedecor:oil_extract", { + description = "Oil extract", + inventory_image = "homedecor_oil_extract.png", + }) + + minetest.register_craftitem(":homedecor:paraffin", { + description = "Unprocessed paraffin", + inventory_image = "homedecor_paraffin.png", + }) + + minetest.register_alias("homedecor:plastic_base", "homedecor:paraffin") + + minetest.register_craftitem(":homedecor:plastic_sheeting", { + description = "Plastic sheet", + inventory_image = "homedecor_plastic_sheeting.png", + }) + + minetest.register_craft({ + type = "shapeless", + output = "homedecor:oil_extract 4", + recipe = { + "group:leaves", + "group:leaves", + "group:leaves", + "group:leaves", + "group:leaves", + "group:leaves" + } + }) + + minetest.register_craft({ + type = "cooking", + output = "homedecor:paraffin", + recipe = "homedecor:oil_extract", + }) + + minetest.register_craft({ + type = "cooking", + output = "homedecor:plastic_sheeting", + recipe = "homedecor:paraffin", + }) + + minetest.register_craft({ + type = "fuel", + recipe = "homedecor:oil_extract", + burntime = 30, + }) + + minetest.register_craft({ + type = "fuel", + recipe = "homedecor:paraffin", + burntime = 30, + }) + + minetest.register_craft({ + type = "fuel", + recipe = "homedecor:plastic_sheeting", + burntime = 30, + }) +end + + diff --git a/no-mods/pipeworks/decorative_tubes.lua b/no-mods/pipeworks/decorative_tubes.lua new file mode 100644 index 0000000..39ba8f3 --- /dev/null +++ b/no-mods/pipeworks/decorative_tubes.lua @@ -0,0 +1,83 @@ +local straight = function(pos, node, velocity, stack) return {velocity} end + +minetest.register_node("pipeworks:steel_block_embedded_tube", { + description = "Airtight steelblock embedded tube", + tiles = { + "default_steel_block.png", "default_steel_block.png", + "default_steel_block.png", "default_steel_block.png", + "default_steel_block.png^pipeworks_tube_connection_metallic.png", + "default_steel_block.png^pipeworks_tube_connection_metallic.png", + }, + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky=1, oddly_breakable_by_hand = 1, tubedevice = 1}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + tube = { + connect_sides = {front = 1, back = 1,}, + priority = 50, + can_go = straight, + can_insert = function(pos, node, stack, direction) + local dir = minetest.facedir_to_dir(node.param2) + return vector.equals(dir, direction) or vector.equals(vector.multiply(dir, -1), direction) + end, + }, + after_place_node = pipeworks.after_place, + after_dig_node = pipeworks.after_dig, +}) + +minetest.register_craft( { + output = "pipeworks:steel_block_embedded_tube 1", + recipe = { + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, + { "default:steel_ingot", "pipeworks:tube_1", "default:steel_ingot" }, + { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" } + }, +}) + +local pane_box = { + type = "fixed", + fixed = { + { -9/64, -9/64, -8/16, 9/64, 9/64, 8/16 }, -- tube + { -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 } -- pane + } +} +minetest.register_node("pipeworks:steel_pane_embedded_tube", { + drawtype = "nodebox", + description = "Airtight panel embedded tube ", + tiles = { + "pipeworks_pane_embedded_tube_sides.png^[transformR90", + "pipeworks_pane_embedded_tube_sides.png^[transformR90", + "pipeworks_pane_embedded_tube_sides.png", + "pipeworks_pane_embedded_tube_sides.png", + "pipeworks_pane_embedded_tube_ends.png", "pipeworks_pane_embedded_tube_ends.png", + }, + node_box = pane_box, + selection_box = pane_box, + collision_box = pane_box, + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky=1, oddly_breakable_by_hand = 1, tubedevice = 1}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + tube = { + connect_sides = {front = 1, back = 1,}, + priority = 50, + can_go = straight, + can_insert = function(pos, node, stack, direction) + local dir = minetest.facedir_to_dir(node.param2) + return vector.equals(dir, direction) or vector.equals(vector.multiply(dir, -1), direction) + end, + }, + after_place_node = pipeworks.after_place, + after_dig_node = pipeworks.after_dig, +}) + +minetest.register_craft( { + output = "pipeworks:steel_pane_embedded_tube 1", + recipe = { + { "", "default:steel_ingot", "" }, + { "", "pipeworks:tube_1", "" }, + { "", "default:steel_ingot", "" } + }, +}) diff --git a/no-mods/pipeworks/default_settings.txt b/no-mods/pipeworks/default_settings.txt new file mode 100644 index 0000000..41a3f7a --- /dev/null +++ b/no-mods/pipeworks/default_settings.txt @@ -0,0 +1,23 @@ +-- Various settings + +pipeworks.enable_pipes = true +pipeworks.enable_autocrafter = true +pipeworks.enable_deployer = true +pipeworks.enable_dispenser = true +pipeworks.enable_node_breaker = true +pipeworks.enable_teleport_tube = true +pipeworks.enable_pipe_devices = true +pipeworks.enable_redefines = true +pipeworks.enable_mese_tube = true +pipeworks.enable_detector_tube = true +pipeworks.enable_digiline_detector_tube = true +pipeworks.enable_conductor_tube = true +pipeworks.enable_accelerator_tube = true +pipeworks.enable_crossing_tube = true +pipeworks.enable_sand_tube = true +pipeworks.enable_mese_sand_tube = true +pipeworks.enable_one_way_tube = true +pipeworks.enable_priority_tube = true +pipeworks.enable_cyclic_mode = true + +pipeworks.delete_item_on_clearobject = true diff --git a/no-mods/pipeworks/depends.txt b/no-mods/pipeworks/depends.txt new file mode 100644 index 0000000..dff9dfb --- /dev/null +++ b/no-mods/pipeworks/depends.txt @@ -0,0 +1,4 @@ +default +mesecons? +mesecons_mvps? +digilines? diff --git a/no-mods/pipeworks/description.txt b/no-mods/pipeworks/description.txt new file mode 100644 index 0000000..9e6e800 --- /dev/null +++ b/no-mods/pipeworks/description.txt @@ -0,0 +1 @@ +This mod uses nodeboxes to supply a complete set of 3D pipes and tubes, along devices that work with them. diff --git a/no-mods/pipeworks/devices.lua b/no-mods/pipeworks/devices.lua new file mode 100644 index 0000000..e4c5f43 --- /dev/null +++ b/no-mods/pipeworks/devices.lua @@ -0,0 +1,572 @@ +-- List of devices that should participate in the autoplace algorithm + +local pipereceptor_on = nil +local pipereceptor_off = nil + +if minetest.get_modpath("mesecons") then + pipereceptor_on = { + receptor = { + state = mesecon.state.on, + rules = pipeworks.mesecons_rules + } + } + + pipereceptor_off = { + receptor = { + state = mesecon.state.off, + rules = pipeworks.mesecons_rules + } + } +end + +local 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" +} + +-- 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 + + minetest.register_node("pipeworks:pump_"..states[s], { + description = "Pump/Intake Module", + drawtype = "mesh", + mesh = "pipeworks_pump.obj", + tiles = { "pipeworks_pump_"..states[s]..".png" }, + paramtype = "light", + paramtype2 = "facedir", + groups = dgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + drop = "pipeworks:pump_off", + mesecons = {effector = { + action_on = function (pos, node) + minetest.add_node(pos,{name="pipeworks:pump_on", param2 = node.param2}) + end, + action_off = function (pos, node) + minetest.add_node(pos,{name="pipeworks:pump_off", param2 = node.param2}) + end + }}, + on_punch = function(pos, node, puncher) + local fdir = minetest.get_node(pos).param2 + minetest.add_node(pos, { name = "pipeworks:pump_"..states[3-s], param2 = fdir }) + end + }) + + minetest.register_node("pipeworks:valve_"..states[s].."_empty", { + description = "Valve", + drawtype = "mesh", + mesh = "pipeworks_valve_"..states[s]..".obj", + tiles = { "pipeworks_valve.png" }, + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -8/16, -4/16, -5/16, 8/16, 5/16, 5/16 } + }, + collision_box = { + type = "fixed", + fixed = { -8/16, -4/16, -5/16, 8/16, 5/16, 5/16 } + }, + groups = dgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + drop = "pipeworks:valve_off_empty", + mesecons = {effector = { + action_on = function (pos, node) + minetest.add_node(pos,{name="pipeworks:valve_on_empty", param2 = node.param2}) + end, + action_off = function (pos, node) + minetest.add_node(pos,{name="pipeworks:valve_off_empty", param2 = node.param2}) + end + }}, + on_punch = function(pos, node, puncher) + local fdir = minetest.get_node(pos).param2 + minetest.add_node(pos, { name = "pipeworks:valve_"..states[3-s].."_empty", param2 = fdir }) + end + }) +end + +minetest.register_node("pipeworks:valve_on_loaded", { + description = "Valve", + drawtype = "mesh", + mesh = "pipeworks_valve_on.obj", + tiles = { "pipeworks_valve.png" }, + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -8/16, -4/16, -5/16, 8/16, 5/16, 5/16 } + }, + collision_box = { + type = "fixed", + fixed = { -8/16, -4/16, -5/16, 8/16, 5/16, 5/16 } + }, + groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + drop = "pipeworks:valve_off_empty", + mesecons = {effector = { + action_on = function (pos, node) + minetest.add_node(pos,{name="pipeworks:valve_on_empty", param2 = node.param2}) + end, + action_off = function (pos, node) + minetest.add_node(pos,{name="pipeworks:valve_off_empty", param2 = node.param2}) + end + }}, + on_punch = function(pos, node, puncher) + local fdir = minetest.get_node(pos).param2 + minetest.add_node(pos, { name = "pipeworks:valve_off_empty", param2 = fdir }) + end +}) + +-- grating + +minetest.register_node("pipeworks:grating", { + description = "Decorative grating", + tiles = { + "pipeworks_grating_top.png", + "pipeworks_grating_sides.png", + "pipeworks_grating_sides.png", + "pipeworks_grating_sides.png", + "pipeworks_grating_sides.png", + "pipeworks_grating_sides.png" + }, + sunlight_propagates = true, + paramtype = "light", + groups = {snappy=3, pipe=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, +}) + +-- outlet spigot + +minetest.register_node("pipeworks:spigot", { + description = "Spigot outlet", + drawtype = "mesh", + mesh = "pipeworks_spigot.obj", + tiles = { "pipeworks_spigot.png" }, + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3, pipe=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + selection_box = { + type = "fixed", + fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 } + }, + collision_box = { + type = "fixed", + fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 } + } +}) + +minetest.register_node("pipeworks:spigot_pouring", { + description = "Spigot outlet", + drawtype = "mesh", + mesh = "pipeworks_spigot_pouring.obj", + tiles = { + { + name = "default_water_flowing_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 0.8, + }, + }, + { name = "pipeworks_spigot.png" } + }, + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + selection_box = { + type = "fixed", + fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 } + }, + collision_box = { + type = "fixed", + fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 } + }, + drop = "pipeworks:spigot", +}) + +-- sealed pipe entry/exit (horizontal pipe passing through a metal +-- wall, for use in places where walls should look like they're airtight) + +local panel_cbox = { + type = "fixed", + fixed = { + { -2/16, -2/16, -8/16, 2/16, 2/16, 8/16 }, + { -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 } + } +} + +minetest.register_node("pipeworks:entry_panel_empty", { + description = "Airtight Pipe entry/exit", + drawtype = "mesh", + mesh = "pipeworks_entry_panel.obj", + tiles = { "pipeworks_entry_panel.png" }, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3, pipe=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + selection_box = panel_cbox, + collision_box = panel_cbox, + on_place = function(itemstack, placer, pointed_thing) + local playername = placer:get_player_name() + if not minetest.is_protected(pointed_thing.under, playername) + and not minetest.is_protected(pointed_thing.above, playername) then + local node = minetest.get_node(pointed_thing.under) + + if not minetest.registered_nodes[node.name] + or not minetest.registered_nodes[node.name].on_rightclick then + local pitch = placer:get_look_pitch() + local above = pointed_thing.above + local under = pointed_thing.under + local fdir = minetest.dir_to_facedir(placer:get_look_dir()) + local undernode = minetest.get_node(under) + local abovenode = minetest.get_node(above) + local uname = undernode.name + local aname = abovenode.name + local isabove = (above.x == under.x) and (above.z == under.z) and (pitch > 0) + local pos1 = above + + if above.x == under.x + and above.z == under.z + and ( string.find(uname, "pipeworks:pipe_") + or string.find(uname, "pipeworks:storage_") + or string.find(uname, "pipeworks:expansion_") + or ( string.find(uname, "pipeworks:grating") and not isabove ) + or ( string.find(uname, "pipeworks:pump_") and not isabove ) + or ( string.find(uname, "pipeworks:entry_panel") + and undernode.param2 == 13 ) + ) + then + fdir = 13 + end + + if minetest.registered_nodes[uname]["buildable_to"] then + pos1 = under + end + + if not minetest.registered_nodes[minetest.get_node(pos1).name]["buildable_to"] then return end + + minetest.add_node(pos1, {name = "pipeworks:entry_panel_empty", param2 = fdir }) + pipeworks.scan_for_pipe_objects(pos1) + + if not pipeworks.expect_infinite_stacks then + itemstack:take_item() + end + + else + minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) + end + end + return itemstack + end +}) + +minetest.register_node("pipeworks:entry_panel_loaded", { + description = "Airtight Pipe entry/exit", + drawtype = "mesh", + mesh = "pipeworks_entry_panel.obj", + tiles = { "pipeworks_entry_panel.png" }, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + selection_box = panel_cbox, + collision_box = panel_cbox, + drop = "pipeworks:entry_panel_empty" +}) + +minetest.register_node("pipeworks:flow_sensor_empty", { + description = "Flow Sensor", + drawtype = "mesh", + mesh = "pipeworks_flow_sensor.obj", + tiles = { "pipeworks_flow_sensor_off.png" }, + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3, pipe=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + on_construct = function(pos) + if mesecon then + mesecon.receptor_off(pos, rules) + end + end, + selection_box = { + type = "fixed", + fixed = { + { -8/16, -2/16, -2/16, 8/16, 2/16, 2/16 }, + { -4/16, -3/16, -3/16, 4/16, 3/16, 3/16 }, + } + }, + collision_box = { + type = "fixed", + fixed = { + { -8/16, -2/16, -2/16, 8/16, 2/16, 2/16 }, + { -4/16, -3/16, -3/16, 4/16, 3/16, 3/16 }, + } + }, + mesecons = pipereceptor_off +}) + +minetest.register_node("pipeworks:flow_sensor_loaded", { + description = "Flow sensor (on)", + drawtype = "mesh", + mesh = "pipeworks_flow_sensor.obj", + tiles = { "pipeworks_flow_sensor_on.png" }, + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + on_construct = function(pos) + if mesecon then + mesecon.receptor_on(pos, rules) + end + end, + selection_box = { + type = "fixed", + fixed = { + { -8/16, -2/16, -2/16, 8/16, 2/16, 2/16 }, + { -4/16, -3/16, -3/16, 4/16, 3/16, 3/16 }, + } + }, + collision_box = { + type = "fixed", + fixed = { + { -8/16, -2/16, -2/16, 8/16, 2/16, 2/16 }, + { -4/16, -3/16, -3/16, 4/16, 3/16, 3/16 }, + } + }, + drop = "pipeworks:flow_sensor_empty", + mesecons = pipereceptor_on +}) + +-- tanks + +for fill = 0, 10 do + local filldesc="empty" + local sgroups = {snappy=3, pipe=1, tankfill=fill+1} + local image = nil + + if fill ~= 0 then + filldesc=fill.."0% full" + sgroups = {snappy=3, pipe=1, tankfill=fill+1, not_in_creative_inventory=1} + image = "pipeworks_storage_tank_fittings.png" + 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.liquid_texture.."^pipeworks_storage_tank_front_"..fill..".png" + }, + inventory_image = image, + 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, + drop = "pipeworks:storage_tank_0", + after_place_node = function(pos) + pipeworks.look_for_stackable_tanks(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + }) + + minetest.register_node("pipeworks:storage_tank_"..fill, { + description = "Fluid Storage Tank ("..filldesc..")", + 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.liquid_texture.."^pipeworks_storage_tank_front_"..fill..".png" + }, + inventory_image = image, + paramtype = "light", + paramtype2 = "facedir", + groups = sgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + drop = "pipeworks:storage_tank_0", + after_place_node = function(pos) + pipeworks.look_for_stackable_tanks(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + }) +end + +-- fountainhead + +minetest.register_node("pipeworks:fountainhead", { + description = "Fountainhead", + drawtype = "mesh", + mesh = "pipeworks_fountainhead.obj", + tiles = { "pipeworks_fountainhead.png" }, + sunlight_propagates = true, + paramtype = "light", + groups = {snappy=3, pipe=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + on_construct = function(pos) + if mesecon then + mesecon.receptor_on(pos, rules) + end + end, + selection_box = { + type = "fixed", + fixed = { -2/16, -8/16, -2/16, 2/16, 8/16, 2/16 } + }, + collision_box = { + type = "fixed", + fixed = { -2/16, -8/16, -2/16, 2/16, 8/16, 2/16 } + }, +}) + +minetest.register_node("pipeworks:fountainhead_pouring", { + description = "Fountainhead", + drawtype = "mesh", + mesh = "pipeworks_fountainhead.obj", + tiles = { "pipeworks_fountainhead.png" }, + sunlight_propagates = true, + paramtype = "light", + groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + on_construct = function(pos) + if mesecon then + mesecon.receptor_on(pos, rules) + end + end, + selection_box = { + type = "fixed", + fixed = { -2/16, -8/16, -2/16, 2/16, 8/16, 2/16 } + }, + collision_box = { + type = "fixed", + fixed = { -2/16, -8/16, -2/16, 2/16, 8/16, 2/16 } + }, + drop = "pipeworks:fountainhead" +}) + +minetest.register_alias("pipeworks:valve_off_loaded", "pipeworks:valve_off_empty") +minetest.register_alias("pipeworks:entry_panel", "pipeworks:entry_panel_empty") + diff --git a/no-mods/pipeworks/filter-injector.lua b/no-mods/pipeworks/filter-injector.lua new file mode 100644 index 0000000..3427894 --- /dev/null +++ b/no-mods/pipeworks/filter-injector.lua @@ -0,0 +1,447 @@ +local function delay(x) + return (function() return x end) +end + +local function set_filter_infotext(data, meta) + local infotext = data.wise_desc.." Filter-Injector" + if meta:get_int("slotseq_mode") == 2 then + infotext = infotext .. " (slot #"..meta:get_int("slotseq_index").." next)" + end + meta:set_string("infotext", infotext) +end + +local function set_filter_formspec(data, meta) + local itemname = data.wise_desc.." Filter-Injector" + + local formspec + if data.digiline then + formspec = "size[8,2.7]".. + "item_image[0,0;1,1;pipeworks:"..data.name.."]".. + "label[1,0;"..minetest.formspec_escape(itemname).."]".. + "field[0.3,1.5;8.0,1;channel;Channel;${channel}]".. + fs_helpers.cycling_button(meta, "button[0,2;4,1", "slotseq_mode", + {"Sequence slots by Priority", + "Sequence slots Randomly", + "Sequence slots by Rotation"}).. + fs_helpers.cycling_button(meta, "button[4,2;4,1", "exmatch_mode", + {"Exact match - off", + "Exact match - on "}) + else + local exmatch_button = "" + if data.stackwise then + exmatch_button = + fs_helpers.cycling_button(meta, "button[4,3.5;4,1", "exmatch_mode", + {"Exact match - off", + "Exact match - on "}) + end + + formspec = "size[8,8.5]".. + "item_image[0,0;1,1;pipeworks:"..data.name.."]".. + "label[1,0;"..minetest.formspec_escape(itemname).."]".. + "label[0,1;Prefer item types:]".. + "list[context;main;0,1.5;8,2;]".. + fs_helpers.cycling_button(meta, "button[0,3.5;4,1", "slotseq_mode", + {"Sequence slots by Priority", + "Sequence slots Randomly", + "Sequence slots by Rotation"}).. + exmatch_button.. + "list[current_player;main;0,4.5;8,4;]" .. + "listring[]" + end + meta:set_string("formspec", formspec) +end + +-- todo SOON: this function has *way too many* parameters +local function grabAndFire(data,slotseq_mode,exmatch_mode,filtmeta,frominv,frominvname,frompos,fromnode,filterfor,fromtube,fromdef,dir,fakePlayer,all,digiline) + local sposes = {} + for spos,stack in ipairs(frominv:get_list(frominvname)) do + local matches + if filterfor == "" then + matches = stack:get_name() ~= "" + else + local fname = filterfor.name + local fgroup = filterfor.group + local fwear = filterfor.wear + local fmetadata = filterfor.metadata + matches = (not fname -- If there's a name filter, + or stack:get_name() == fname) -- it must match. + + and (not fgroup -- If there's a group filter, + or (type(fgroup) == "string" -- it must be a string + and minetest.get_item_group( -- and it must match. + stack:get_name(), fgroup) ~= 0)) + + and (not fwear -- If there's a wear filter: + or (type(fwear) == "number" -- If it's a number, + and stack:get_wear() == fwear) -- it must match. + or (type(fwear) == "table" -- If it's a table: + and (not fwear[1] -- If there's a lower bound, + or (type(fwear[1]) == "number" -- it must be a number + and fwear[1] <= stack:get_wear())) -- and it must be <= the actual wear. + and (not fwear[2] -- If there's an upper bound + or (type(fwear[2]) == "number" -- it must be a number + and stack:get_wear() < fwear[2])))) -- and it must be > the actual wear. + -- If the wear filter is of any other type, fail. + -- + and (not fmetadata -- If there's a matadata filter, + or (type(fmetadata) == "string" -- it must be a string + and stack:get_metadata() == fmetadata)) -- and it must match. + end + if matches then table.insert(sposes, spos) end + end + if #sposes == 0 then return false end + if slotseq_mode == 1 then + for i = #sposes, 2, -1 do + local j = math.random(i) + local t = sposes[j] + sposes[j] = sposes[i] + sposes[i] = t + end + elseif slotseq_mode == 2 then + local headpos = filtmeta:get_int("slotseq_index") + table.sort(sposes, function (a, b) + if a >= headpos then + if b < headpos then return true end + else + if b >= headpos then return false end + end + return a < b + end) + end + for _, spos in ipairs(sposes) do + local stack = frominv:get_stack(frominvname, spos) + local doRemove = stack:get_count() + if fromtube.can_remove then + doRemove = fromtube.can_remove(frompos, fromnode, stack, dir) + elseif fromdef.allow_metadata_inventory_take then + doRemove = fromdef.allow_metadata_inventory_take(frompos, frominvname,spos, stack, fakePlayer) + end + -- stupid lack of continue statements grumble + if doRemove > 0 then + if slotseq_mode == 2 then + local nextpos = spos + 1 + if nextpos > frominv:get_size(frominvname) then + nextpos = 1 + end + filtmeta:set_int("slotseq_index", nextpos) + set_filter_infotext(data, filtmeta) + end + local item + local count + if all then + count = math.min(stack:get_count(), doRemove) + if filterfor.count and (filterfor.count > 1 or digiline) then + if exmatch_mode ~= 0 and filterfor.count > count then + return false -- not enough, fail + else + -- limit quantity to filter amount + count = math.min(filterfor.count, count) + end + end + else + count = 1 + end + if fromtube.remove_items then + -- it could be the entire stack... + item = fromtube.remove_items(frompos, fromnode, stack, dir, count) + else + item = stack:take_item(count) + frominv:set_stack(frominvname, spos, stack) + if fromdef.on_metadata_inventory_take then + fromdef.on_metadata_inventory_take(frompos, frominvname, spos, item, fakePlayer) + end + end + local pos = vector.add(frompos, vector.multiply(dir, 1.4)) + local start_pos = vector.add(frompos, dir) + local item1 = pipeworks.tube_inject_item(pos, start_pos, dir, item) + return true-- only fire one item, please + end + end + return false +end + +local function punch_filter(data, filtpos, filtnode, msg) + local filtmeta = minetest.get_meta(filtpos) + local filtinv = filtmeta:get_inventory() + local owner = filtmeta:get_string("owner") + local fakePlayer = { + get_player_name = delay(owner), + is_fake_player = ":pipeworks", + } -- TODO: use a mechanism as the wielder one + local dir = minetest.facedir_to_right_dir(filtnode.param2) + local frompos = vector.subtract(filtpos, dir) + local fromnode = minetest.get_node(frompos) + if not fromnode then return end + local fromdef = minetest.registered_nodes[fromnode.name] + if not fromdef then return end + local fromtube = fromdef.tube + if not (fromtube and fromtube.input_inventory) then return end + + local slotseq_mode + local exact_match + + local filters = {} + if data.digiline then + local function add_filter(name, group, count, wear, metadata) + table.insert(filters, {name = name, group = group, count = count, wear = wear, metadata = metadata}) + end + + local function add_itemstring_filter(filter) + local filterstack = ItemStack(filter) + local filtername = filterstack:get_name() + local filtercount = filterstack:get_count() + local filterwear = string.match(filter, "%S*:%S*%s%d%s(%d)") and filterstack:get_wear() + local filtermetadata = string.match(filter, "%S*:%S*%s%d%s%d(%s.*)") and filterstack:get_metadata() + + add_filter(filtername, nil, filtercount, filterwear, filtermetadata) + end + + local t_msg = type(msg) + if t_msg == "table" then + local slotseq = msg.slotseq + local t_slotseq = type(slotseq) + if t_slotseq == "number" and slotseq >= 0 and slotseq <= 2 then + slotseq_mode = slotseq + elseif t_slotseq == "string" then + slotseq = string.lower(slotseq) + if slotseq == "priority" then + slotseq_mode = 0 + elseif slotseq == "random" then + slotseq_mode = 1 + elseif slotseq == "rotation" then + slotseq_mode = 2 + end + end + + local exmatch = msg.exmatch + local t_exmatch = type(exmatch) + if t_exmatch == "number" and exmatch >= 0 and exmatch <= 1 then + exact_match = exmatch + elseif t_exmatch == "boolean" then + exact_match = exmatch and 1 or 0 + end + + local slotseq_index = msg.slotseq_index + if type(slotseq_index) == "number" then + -- This should allow any valid index, but I'm not completely sure what + -- constitutes a valid index, so I'm only allowing resetting it to 1. + if slotseq_index == 1 then + filtmeta:set_int("slotseq_index", slotseq_index) + set_filter_infotext(data, filtmeta) + end + end + + if slotseq_mode ~= nil then + filtmeta:set_int("slotseq_mode", slotseq_mode) + end + + if exact_match ~= nil then + filtmeta:set_int("exmatch_mode", exact_match) + end + + if slotseq_mode ~= nil or exact_match ~= nil then + set_filter_formspec(data, filtmeta) + end + + if msg.nofire then + return + end + + if msg.name or msg.group or msg.count or msg.wear or msg.metadata then + add_filter(msg.name, msg.group, msg.count, msg.wear, msg.metadata) + else + for _, filter in ipairs(msg) do + local t_filter = type(filter) + if t_filter == "table" then + if filter.name or filter.group or filter.count or filter.wear or filter.metadata then + add_filter(filter.name, filter.group, filter.count, filter.wear, filter.metadata) + end + elseif t_filter == "string" then + add_itemstring_filter(filter) + end + end + end + elseif t_msg == "string" then + add_itemstring_filter(msg) + end + else + for _, filterstack in ipairs(filtinv:get_list("main")) do + local filtername = filterstack:get_name() + local filtercount = filterstack:get_count() + if filtername ~= "" then table.insert(filters, {name = filtername, count = filtercount}) end + end + end + if #filters == 0 then table.insert(filters, "") end + + if slotseq_mode == nil then + slotseq_mode = filtmeta:get_int("slotseq_mode") + end + + if exact_match == nil then + exact_match = filtmeta:get_int("exmatch_mode") + end + + local frommeta = minetest.get_meta(frompos) + local frominv = frommeta:get_inventory() + if fromtube.before_filter then fromtube.before_filter(frompos) end + for _, frominvname in ipairs(type(fromtube.input_inventory) == "table" and fromtube.input_inventory or {fromtube.input_inventory}) do + local done = false + for _, filterfor in ipairs(filters) do + if grabAndFire(data, slotseq_mode, exact_match, filtmeta, frominv, frominvname, frompos, fromnode, filterfor, fromtube, fromdef, dir, fakePlayer, data.stackwise, data.digiline) then + done = true + break + end + end + if done then break end + end + if fromtube.after_filter then fromtube.after_filter(frompos) end +end + +for _, data in ipairs({ + { + name = "filter", + wise_desc = "Itemwise", + stackwise = false, + }, + { + name = "mese_filter", + wise_desc = "Stackwise", + stackwise = true, + }, + { -- register even if no digilines + name = "digiline_filter", + wise_desc = "Digiline", + stackwise = true, + digiline = true, + }, +}) do + local node = { + description = data.wise_desc.." Filter-Injector", + tiles = { + "pipeworks_"..data.name.."_top.png", + "pipeworks_"..data.name.."_top.png", + "pipeworks_"..data.name.."_output.png", + "pipeworks_"..data.name.."_input.png", + "pipeworks_"..data.name.."_side.png", + "pipeworks_"..data.name.."_top.png", + }, + paramtype2 = "facedir", + groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, mesecon = 2}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.get_meta(pos) + set_filter_formspec(data, meta) + set_filter_infotext(data, meta) + local inv = meta:get_inventory() + inv:set_size("main", 8*2) + end, + after_place_node = function (pos, placer) + minetest.get_meta(pos):set_string("owner", placer:get_player_name()) + pipeworks.after_place(pos) + end, + after_dig_node = pipeworks.after_dig, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + if not pipeworks.may_configure(pos, player) then return 0 end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + if not pipeworks.may_configure(pos, player) then return 0 end + return stack:get_count() + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + if not pipeworks.may_configure(pos, player) then return 0 end + return count + end, + can_dig = function(pos, player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + tube = {connect_sides = {right = 1}}, + } + + if data.digiline then + node.groups.mesecon = nil + if not minetest.get_modpath("digilines") then + node.groups.not_in_creative_inventory = 1 + end + + node.on_receive_fields = function(pos, formname, fields, sender) + if not pipeworks.may_configure(pos, sender) then return end + fs_helpers.on_receive_fields(pos, fields) + + if fields.channel then + minetest.get_meta(pos):set_string("channel", fields.channel) + end + + local meta = minetest.get_meta(pos) + --meta:set_int("slotseq_index", 1) + set_filter_formspec(data, meta) + set_filter_infotext(data, meta) + end + node.digiline = { + effector = { + action = function(pos, node, channel, msg) + local meta = minetest.get_meta(pos) + local setchan = meta:get_string("channel") + if setchan ~= channel then return end + + punch_filter(data, pos, node, msg) + end, + }, + } + else + node.on_receive_fields = function(pos, formname, fields, sender) + if not pipeworks.may_configure(pos, sender) then return end + fs_helpers.on_receive_fields(pos, fields) + local meta = minetest.get_meta(pos) + meta:set_int("slotseq_index", 1) + set_filter_formspec(data, meta) + set_filter_infotext(data, meta) + end + node.mesecons = { + effector = { + action_on = function(pos, node) + punch_filter(data, pos, node) + end, + }, + } + node.on_punch = function (pos, node, puncher) + punch_filter(data, pos, node) + end + end + + + + minetest.register_node("pipeworks:"..data.name, node) +end + +minetest.register_craft( { + output = "pipeworks:filter 2", + recipe = { + { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }, + { "group:stick", "default:mese_crystal", "homedecor:plastic_sheeting" }, + { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" } + }, +}) + +minetest.register_craft( { + output = "pipeworks:mese_filter 2", + recipe = { + { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }, + { "group:stick", "default:mese", "homedecor:plastic_sheeting" }, + { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" } + }, +}) + +if minetest.get_modpath("digilines") then + minetest.register_craft( { + output = "pipeworks:digiline_filter 2", + recipe = { + { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }, + { "group:stick", "digilines:wire_std_00000000", "homedecor:plastic_sheeting" }, + { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" } + }, + }) +end diff --git a/no-mods/pipeworks/flowing_logic.lua b/no-mods/pipeworks/flowing_logic.lua new file mode 100644 index 0000000..5166b15 --- /dev/null +++ b/no-mods/pipeworks/flowing_logic.lua @@ -0,0 +1,121 @@ +-- This file provides the actual flow and pathfinding logic that makes water +-- move through the pipes. +-- +-- Contributed by mauvebic, 2013-01-03, rewritten a bit by Vanessa Ezekowitz +-- + +local finitewater = minetest.setting_getbool("liquid_finite") + +pipeworks.check_for_liquids = function(pos) + local coords = { + {x=pos.x,y=pos.y-1,z=pos.z}, + {x=pos.x,y=pos.y+1,z=pos.z}, + {x=pos.x-1,y=pos.y,z=pos.z}, + {x=pos.x+1,y=pos.y,z=pos.z}, + {x=pos.x,y=pos.y,z=pos.z-1}, + {x=pos.x,y=pos.y,z=pos.z+1}, } + for i =1,6 do + local name = minetest.get_node(coords[i]).name + if name and string.find(name,"water") then + if finitewater then minetest.remove_node(coords[i]) end + return true + end + end + return false +end + +pipeworks.check_for_inflows = function(pos,node) + local coords = { + {x=pos.x,y=pos.y-1,z=pos.z}, + {x=pos.x,y=pos.y+1,z=pos.z}, + {x=pos.x-1,y=pos.y,z=pos.z}, + {x=pos.x+1,y=pos.y,z=pos.z}, + {x=pos.x,y=pos.y,z=pos.z-1}, + {x=pos.x,y=pos.y,z=pos.z+1}, } + local newnode = false + local source = false + for i =1,6 do + if newnode then break end + local name = minetest.get_node(coords[i]).name + if name and (name == "pipeworks:pump_on" and pipeworks.check_for_liquids(coords[i])) or string.find(name,"_loaded") then + if string.find(name,"_loaded") then + source = minetest.get_meta(coords[i]):get_string("source") + if source == minetest.pos_to_string(pos) then break end + end + newnode = string.gsub(node.name,"empty","loaded") + source = {x=coords[i].x,y=coords[i].y,z=coords[i].z} + end + end + if newnode then + minetest.add_node(pos,{name=newnode, param2 = node.param2}) + minetest.get_meta(pos):set_string("source",minetest.pos_to_string(source)) + end +end + +pipeworks.check_sources = function(pos,node) + local sourcepos = minetest.string_to_pos(minetest.get_meta(pos):get_string("source")) + if not sourcepos then return end + local source = minetest.get_node(sourcepos).name + local newnode = false + if source and not ((source == "pipeworks:pump_on" and pipeworks.check_for_liquids(sourcepos)) or string.find(source,"_loaded") or source == "ignore" ) then + newnode = string.gsub(node.name,"loaded","empty") + end + + if newnode then + minetest.add_node(pos,{name=newnode, param2 = node.param2}) + minetest.get_meta(pos):set_string("source","") + end +end + +pipeworks.spigot_check = function(pos, node) + local belowname = minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}).name + if belowname and (belowname == "air" or belowname == "default:water_flowing" or belowname == "default:water_source") then + local spigotname = minetest.get_node(pos).name + local fdir=node.param2 % 4 + local check = { + {x=pos.x,y=pos.y,z=pos.z+1}, + {x=pos.x+1,y=pos.y,z=pos.z}, + {x=pos.x,y=pos.y,z=pos.z-1}, + {x=pos.x-1,y=pos.y,z=pos.z} + } + local near_node = minetest.get_node(check[fdir+1]) + if near_node and string.find(near_node.name, "_loaded") then + if spigotname and spigotname == "pipeworks:spigot" then + minetest.add_node(pos,{name = "pipeworks:spigot_pouring", param2 = fdir}) + if finitewater or belowname ~= "default:water_source" then + minetest.add_node({x=pos.x,y=pos.y-1,z=pos.z},{name = "default:water_source"}) + end + end + else + if spigotname == "pipeworks:spigot_pouring" then + minetest.add_node({x=pos.x,y=pos.y,z=pos.z},{name = "pipeworks:spigot", param2 = fdir}) + if belowname == "default:water_source" and not finitewater then + minetest.remove_node({x=pos.x,y=pos.y-1,z=pos.z}) + end + end + end + end +end + +pipeworks.fountainhead_check = function(pos, node) + local abovename = minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}).name + if abovename and (abovename == "air" or abovename == "default:water_flowing" or abovename == "default:water_source") then + local fountainhead_name = minetest.get_node(pos).name + local near_node = minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}) + if near_node and string.find(near_node.name, "_loaded") then + if fountainhead_name and fountainhead_name == "pipeworks:fountainhead" then + minetest.add_node(pos,{name = "pipeworks:fountainhead_pouring"}) + if finitewater or abovename ~= "default:water_source" then + minetest.add_node({x=pos.x,y=pos.y+1,z=pos.z},{name = "default:water_source"}) + end + end + else + if fountainhead_name == "pipeworks:fountainhead_pouring" then + minetest.add_node({x=pos.x,y=pos.y,z=pos.z},{name = "pipeworks:fountainhead"}) + if abovename == "default:water_source" and not finitewater then + minetest.remove_node({x=pos.x,y=pos.y+1,z=pos.z}) + end + end + end + end +end diff --git a/no-mods/pipeworks/init.lua b/no-mods/pipeworks/init.lua new file mode 100644 index 0000000..499f6ba --- /dev/null +++ b/no-mods/pipeworks/init.lua @@ -0,0 +1,117 @@ +-- Pipeworks mod by Vanessa Ezekowitz - 2013-07-13 +-- +-- This mod supplies various steel pipes and plastic pneumatic tubes +-- and devices that they can connect to. +-- +-- License: WTFPL +-- + +pipeworks = {} + +local DEBUG = false + +pipeworks.worldpath = minetest.get_worldpath() +pipeworks.modpath = minetest.get_modpath("pipeworks") + +dofile(pipeworks.modpath.."/default_settings.txt") + +-- Read the external config file if it exists. +local worldsettingspath = pipeworks.worldpath.."/pipeworks_settings.txt" +local worldsettingsfile = io.open(worldsettingspath, "r") +if worldsettingsfile then + worldsettingsfile:close() + dofile(worldsettingspath) +end + +-- Random variables + +pipeworks.expect_infinite_stacks = true +if minetest.get_modpath("unified_inventory") or not minetest.setting_getbool("creative_mode") then + pipeworks.expect_infinite_stacks = false +end + +pipeworks.meseadjlist={{x=0,y=0,z=1},{x=0,y=0,z=-1},{x=0,y=1,z=0},{x=0,y=-1,z=0},{x=1,y=0,z=0},{x=-1,y=0,z=0}} + +pipeworks.rules_all = {{x=0, y=0, z=1},{x=0, y=0, z=-1},{x=1, y=0, z=0},{x=-1, y=0, z=0}, + {x=0, y=1, z=1},{x=0, y=1, z=-1},{x=1, y=1, z=0},{x=-1, y=1, z=0}, + {x=0, y=-1, z=1},{x=0, y=-1, z=-1},{x=1, y=-1, z=0},{x=-1, y=-1, z=0}, + {x=0, y=1, z=0}, {x=0, y=-1, z=0}} + +pipeworks.mesecons_rules={{x=0,y=0,z=1},{x=0,y=0,z=-1},{x=1,y=0,z=0},{x=-1,y=0,z=0},{x=0,y=1,z=0},{x=0,y=-1,z=0}} + +pipeworks.liquid_texture = "default_water.png" + +-- Helper functions + +function pipeworks.fix_image_names(table, replacement) + local outtable={} + for i in ipairs(table) do + outtable[i]=string.gsub(table[i], "_XXXXX", replacement) + end + + return outtable +end + +function pipeworks.add_node_box(t, b) + if not t or not b then return end + for i in ipairs(b) + do table.insert(t, b[i]) + end +end + +function pipeworks.may_configure(pos, player) + local name = player:get_player_name() + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + + if owner ~= "" then -- wielders and filters + return owner == name + end + return not minetest.is_protected(pos, name) +end + +function pipeworks.replace_name(tbl,tr,name) + local ntbl={} + for key,i in pairs(tbl) do + if type(i)=="string" then + ntbl[key]=string.gsub(i,tr,name) + elseif type(i)=="table" then + ntbl[key]=pipeworks.replace_name(i,tr,name) + else + ntbl[key]=i + end + end + return ntbl +end + +------------------------------------------- +-- Load the various other parts of the mod + +dofile(pipeworks.modpath.."/common.lua") +dofile(pipeworks.modpath.."/models.lua") +dofile(pipeworks.modpath.."/autoplace_pipes.lua") +dofile(pipeworks.modpath.."/autoplace_tubes.lua") +dofile(pipeworks.modpath.."/luaentity.lua") +dofile(pipeworks.modpath.."/item_transport.lua") +dofile(pipeworks.modpath.."/flowing_logic.lua") +dofile(pipeworks.modpath.."/crafts.lua") +dofile(pipeworks.modpath.."/tube_registration.lua") +dofile(pipeworks.modpath.."/routing_tubes.lua") +dofile(pipeworks.modpath.."/sorting_tubes.lua") +dofile(pipeworks.modpath.."/vacuum_tubes.lua") +dofile(pipeworks.modpath.."/signal_tubes.lua") +dofile(pipeworks.modpath.."/decorative_tubes.lua") +dofile(pipeworks.modpath.."/filter-injector.lua") +dofile(pipeworks.modpath.."/trashcan.lua") +dofile(pipeworks.modpath.."/wielder.lua") + +if pipeworks.enable_pipes then dofile(pipeworks.modpath.."/pipes.lua") end +if pipeworks.enable_teleport_tube then dofile(pipeworks.modpath.."/teleport_tube.lua") end +if pipeworks.enable_pipe_devices then dofile(pipeworks.modpath.."/devices.lua") end +if pipeworks.enable_redefines then dofile(pipeworks.modpath.."/compat.lua") end +if pipeworks.enable_autocrafter then dofile(pipeworks.modpath.."/autocrafter.lua") end + +minetest.register_alias("pipeworks:pipe", "pipeworks:pipe_110000_empty") + +print("Pipeworks loaded!") + diff --git a/no-mods/pipeworks/item_transport.lua b/no-mods/pipeworks/item_transport.lua new file mode 100644 index 0000000..ee17611 --- /dev/null +++ b/no-mods/pipeworks/item_transport.lua @@ -0,0 +1,289 @@ +function pipeworks.tube_item(pos, item) + error("obsolete pipeworks.tube_item() called; change caller to use pipeworks.tube_inject_item() instead") +end + +function pipeworks.tube_inject_item(pos, start_pos, velocity, item) + -- Take item in any format + local stack = ItemStack(item) + local obj = luaentity.add_entity(pos, "pipeworks:tubed_item") + obj:set_item(stack:to_string()) + obj.start_pos = vector.new(start_pos) + obj:setvelocity(velocity) + --obj:set_color("red") -- todo: this is test-only code + return obj +end + +-- adding two tube functions +-- can_remove(pos,node,stack,dir) returns the maximum number of items of that stack that can be removed +-- remove_items(pos,node,stack,dir,count) removes count items and returns them +-- both optional w/ sensible defaults and fallback to normal allow_* function +-- XXX: possibly change insert_object to insert_item + +local adjlist={{x=0,y=0,z=1},{x=0,y=0,z=-1},{x=0,y=1,z=0},{x=0,y=-1,z=0},{x=1,y=0,z=0},{x=-1,y=0,z=0}} + +function pipeworks.notvel(tbl, vel) + local tbl2={} + for _,val in ipairs(tbl) do + if val.x ~= -vel.x or val.y ~= -vel.y or val.z ~= -vel.z then table.insert(tbl2, val) end + end + return tbl2 +end + +local function go_next(pos, velocity, stack) + local next_positions = {} + local max_priority = 0 + local cnode = minetest.get_node(pos) + local cmeta = minetest.get_meta(pos) + local can_go + local speed = math.abs(velocity.x + velocity.y + velocity.z) + if speed == 0 then + speed = 1 + end + local vel = {x = velocity.x/speed, y = velocity.y/speed, z = velocity.z/speed,speed=speed} + if speed >= 4.1 then + speed = 4 + elseif speed >= 1.1 then + speed = speed - 0.1 + else + speed = 1 + end + vel.speed = speed + if minetest.registered_nodes[cnode.name] and minetest.registered_nodes[cnode.name].tube and minetest.registered_nodes[cnode.name].tube.can_go then + can_go = minetest.registered_nodes[cnode.name].tube.can_go(pos, cnode, vel, stack) + else + can_go = pipeworks.notvel(adjlist, vel) + end + for _, vect in ipairs(can_go) do + local npos = vector.add(pos, vect) + minetest.load_position(npos) + local node = minetest.get_node(npos) + local reg_node = minetest.registered_nodes[node.name] + if reg_node then + local tube_def = reg_node.tube + local tubedevice = minetest.get_item_group(node.name, "tubedevice") + local tube_priority = (tube_def and tube_def.priority) or 100 + if tubedevice > 0 and tube_priority >= max_priority then + if not tube_def or not tube_def.can_insert or + tube_def.can_insert(npos, node, stack, vect) then + if tube_priority > max_priority then + max_priority = tube_priority + next_positions = {} + end + next_positions[#next_positions + 1] = {pos = npos, vect = vect} + end + end + end + end + + if not next_positions[1] then + return false, nil + end + + local n = (cmeta:get_int("tubedir") % (#next_positions)) + 1 + if pipeworks.enable_cyclic_mode then + cmeta:set_int("tubedir", n) + end + local new_velocity = vector.multiply(next_positions[n].vect, vel.speed) + return true, new_velocity +end + +minetest.register_entity("pipeworks:tubed_item", { + initial_properties = { + hp_max = 1, + physical = false, + collisionbox = {0.1, 0.1, 0.1, 0.1, 0.1, 0.1}, + visual = "wielditem", + visual_size = {x = 0.15, y = 0.15}, + textures = {""}, + spritediv = {x = 1, y = 1}, + initial_sprite_basepos = {x = 0, y = 0}, + is_visible = false, + }, + + physical_state = false, + + from_data = function(self, 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 + self.object:set_properties({ + is_visible = true, + textures = {stack:get_name()} + }) + local def = stack:get_definition() + self.object:setyaw((def and def.type == "node") and 0 or math.pi * 0.25) + end, + + get_staticdata = luaentity.get_staticdata, + on_activate = function(self, staticdata) -- Legacy code, should be replaced later by luaentity.on_activate + if staticdata == "" or staticdata == nil then + return + end + if staticdata == "toremove" then + self.object:remove() + return + end + local item = minetest.deserialize(staticdata) + pipeworks.tube_inject_item(self.object:getpos(), item.start_pos, item.velocity, item.itemstring) + self.object:remove() + end, +}) + +minetest.register_entity("pipeworks:color_entity", { + initial_properties = { + hp_max = 1, + physical = false, + collisionbox = {0.1, 0.1, 0.1, 0.1, 0.1, 0.1}, + visual = "cube", + visual_size = {x = 3.5, y = 3.5, z = 3.5}, -- todo: find correct size + textures = {""}, + is_visible = false, + }, + + physical_state = false, + + from_data = function(self, color) + local t = "pipeworks_color_"..color..".png" + local prop = { + is_visible = true, + visual = "cube", + textures = {t, t, t, t, t, t} -- todo: textures + } + self.object:set_properties(prop) + end, + + get_staticdata = luaentity.get_staticdata, + on_activate = luaentity.on_activate, +}) + +luaentity.register_entity("pipeworks:tubed_item", { + itemstring = '', + item_entity = nil, + color_entity = nil, + color = nil, + start_pos = nil, + + set_item = function(self, item) + local itemstring = ItemStack(item):to_string() -- Accept any input format + if self.itemstring == itemstring then + return + end + if self.item_entity then + self:remove_attached_entity(self.item_entity) + end + self.itemstring = itemstring + self.item_entity = self:add_attached_entity("pipeworks:tubed_item", itemstring) + end, + + set_color = function(self, color) + if self.color == color then + return + end + self.color = color + if self.color_entity then + self:remove_attached_entity(self.color_entity) + end + if color then + self.color_entity = self:add_attached_entity("pipeworks:color_entity", color) + else + self.color_entity = nil + end + end, + + on_step = function(self, dtime) + if self.start_pos == nil then + local pos = self:getpos() + self.start_pos = vector.round(pos) + self:setpos(pos) + end + + local pos = self:getpos() + local stack = ItemStack(self.itemstring) + local drop_pos + + local velocity = self:getvelocity() + + local moved = false + local speed = math.abs(velocity.x + velocity.y + velocity.z) + if speed == 0 then + speed = 1 + moved = true + end + local vel = {x = velocity.x / speed, y = velocity.y / speed, z = velocity.z / speed, speed = speed} + + if vector.distance(pos, self.start_pos) >= 1 then + self.start_pos = vector.add(self.start_pos, vel) + moved = true + end + + minetest.load_position(self.start_pos) + local node = minetest.get_node(self.start_pos) + if moved and minetest.get_item_group(node.name, "tubedevice_receiver") == 1 then + local leftover + if minetest.registered_nodes[node.name].tube and minetest.registered_nodes[node.name].tube.insert_object then + leftover = minetest.registered_nodes[node.name].tube.insert_object(self.start_pos, node, stack, vel) + else + leftover = stack + end + if leftover:is_empty() then + self:remove() + return + end + velocity = vector.multiply(velocity, -1) + self:setvelocity(velocity) + self:set_item(leftover:to_string()) + return + end + + if moved then + local found_next, new_velocity = go_next(self.start_pos, velocity, stack) -- todo: color + if not found_next then + drop_pos = minetest.find_node_near(vector.add(self.start_pos, velocity), 1, "air") + if drop_pos then + -- Using add_item instead of item_drop since this makes pipeworks backward + -- compatible with Minetest 0.4.13. + -- Using item_drop here makes Minetest 0.4.13 crash. + minetest.add_item(drop_pos, stack) + self:remove() + return + end + end + + if new_velocity and not vector.equals(velocity, new_velocity) then + self:setpos(self.start_pos) + self:setvelocity(new_velocity) + end + end + end +}) + +if minetest.get_modpath("mesecons_mvps") then + mesecon.register_mvps_unmov("pipeworks:tubed_item") + mesecon.register_mvps_unmov("pipeworks:color_entity") + mesecon.register_on_mvps_move(function(moved_nodes) + local moved = {} + for _, n in ipairs(moved_nodes) do + moved[minetest.hash_node_position(n.oldpos)] = vector.subtract(n.pos, n.oldpos) + end + for id, entity in pairs(luaentity.entities) do + if entity.name == "pipeworks:tubed_item" then + local pos = entity:getpos() + local rpos = vector.round(pos) + local dir = moved[minetest.hash_node_position(rpos)] + if dir then + entity:setpos(vector.add(pos, dir)) + entity.start_pos = vector.add(entity.start_pos, dir) + end + end + end + end) +end diff --git a/no-mods/pipeworks/legacy.lua b/no-mods/pipeworks/legacy.lua new file mode 100644 index 0000000..b36cded --- /dev/null +++ b/no-mods/pipeworks/legacy.lua @@ -0,0 +1,59 @@ + +if not minetest.get_modpath("auto_tree_tap") and + minetest.get_modpath("technic") then + + minetest.register_abm({ + nodenames = { "auto_tree_tap:off", "auto_tree_tap:on" }, + chance = 1, + interval = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local fdir = node.param2 + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + inv:set_size("pick", 1) + inv:set_size("ghost_pick", 1) + inv:set_size("main", 100) + minetest.set_node(pos, {name = "pipeworks:nodebreaker_off", param2 = fdir}) + minetest.registered_nodes["pipeworks:nodebreaker_off"].on_punch(pos, node) + inv:set_stack("pick", 1, ItemStack("technic:treetap")) + end + }) + + minetest.register_node(":auto_tree_tap:off", { + description = "Auto-Tap", + tiles = {"pipeworks_nodebreaker_top_off.png","pipeworks_nodebreaker_bottom_off.png","pipeworks_nodebreaker_side2_off.png","pipeworks_nodebreaker_side1_off.png", + "pipeworks_nodebreaker_back.png","pipeworks_nodebreaker_front_off.png"}, + is_ground_content = true, + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon = 2,tubedevice=1, not_in_creative_inventory=1 }, + sounds = default.node_sound_stone_defaults(), + tube = {connect_sides={back=1}}, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + inv:set_size("pick", 1) + inv:set_stack("pick", 1, ItemStack("default:pick_mese")) + end, + after_place_node = function (pos, placer) + pipeworks.scan_for_tube_objects(pos, placer) + local placer_pos = placer:getpos() + + --correct for the player's height + if placer:is_player() then placer_pos.y = placer_pos.y + 1.5 end + + --correct for 6d facedir + if placer_pos then + local dir = { + x = pos.x - placer_pos.x, + y = pos.y - placer_pos.y, + z = pos.z - placer_pos.z + } + local node = minetest.get_node(pos) + node.param2 = minetest.dir_to_facedir(dir, true) + minetest.set_node(pos, node) + minetest.log("action", "real (6d) facedir: " .. node.param2) + end + end, + after_dig_node = pipeworks.scan_for_tube_objects, + }) +end diff --git a/no-mods/pipeworks/luaentity.lua b/no-mods/pipeworks/luaentity.lua new file mode 100644 index 0000000..665e055 --- /dev/null +++ b/no-mods/pipeworks/luaentity.lua @@ -0,0 +1,351 @@ +local max_entity_id = 1000000000000 -- If you need more, there's a problem with your code + +luaentity = {} + +luaentity.registered_entities = {} + +local filename = minetest.get_worldpath().."/luaentities" +local function read_file() + local f = io.open(filename, "r") + if f == nil then return {} end + local t = f:read("*all") + f:close() + if t == "" or t == nil then return {} end + return minetest.deserialize(t) or {} +end + +local function write_file(tbl) + local f = io.open(filename, "w") + f:write(minetest.serialize(tbl)) + f:close() +end + +local function read_entities() + local t = read_file() + for _, entity in pairs(t) do + setmetatable(entity, luaentity.registered_entities[entity.name]) + end + return t +end + +local function write_entities() + for _, entity in pairs(luaentity.entities) do + setmetatable(entity, nil) + for _, attached in pairs(entity._attached_entities) do + if attached.entity then + attached.entity:remove() + attached.entity = nil + end + end + entity._attached_entities_master = nil + end + write_file(luaentity.entities) +end + +minetest.register_on_shutdown(write_entities) +luaentity.entities_index = 0 + +local function get_blockpos(pos) + return {x = math.floor(pos.x / 16), + y = math.floor(pos.y / 16), + z = math.floor(pos.z / 16)} +end + +local active_blocks = {} -- These only contain active blocks near players (i.e., not forceloaded ones) +local handle_active_blocks_step = 2 +local handle_active_blocks_timer = 0 +minetest.register_globalstep(function(dtime) + handle_active_blocks_timer = handle_active_blocks_timer + dtime + if handle_active_blocks_timer >= handle_active_blocks_step then + handle_active_blocks_timer = handle_active_blocks_timer - handle_active_blocks_step + local active_block_range = tonumber(minetest.setting_get("active_block_range")) or 2 + local new_active_blocks = {} + for _, player in ipairs(minetest.get_connected_players()) do + local blockpos = get_blockpos(player:getpos()) + local minp = vector.subtract(blockpos, active_block_range) + local maxp = vector.add(blockpos, active_block_range) + + for x = minp.x, maxp.x do + for y = minp.y, maxp.y do + for z = minp.z, maxp.z do + local pos = {x = x, y = y, z = z} + new_active_blocks[minetest.hash_node_position(pos)] = pos + end + end + end + end + active_blocks = new_active_blocks + -- todo: callbacks on block load/unload + end +end) + +local function is_active(pos) + return active_blocks[minetest.hash_node_position(get_blockpos(pos))] ~= nil +end + +local entitydef_default = { + _attach = function(self, attached, attach_to) + local attached_def = self._attached_entities[attached] + local attach_to_def = self._attached_entities[attach_to] + attached_def.entity:set_attach( + attach_to_def.entity, "", + vector.subtract(attached_def.offset, attach_to_def.offset), -- todo: Does not work because is object space + vector.new(0, 0, 0) + ) + end, + _set_master = function(self, index) + self._attached_entities_master = index + if not index then + return + end + local def = self._attached_entities[index] + if not def.entity then + return + end + def.entity:setpos(vector.add(self._pos, def.offset)) + def.entity:setvelocity(self._velocity) + def.entity:setacceleration(self._acceleration) + end, + _attach_all = function(self) + local master = self._attached_entities_master + if not master then + return + end + for id, entity in pairs(self._attached_entities) do + if id ~= master and entity.entity then + self:_attach(id, master) + end + end + end, + _detach_all = function(self) + local master = self._attached_entities_master + for id, entity in pairs(self._attached_entities) do + if id ~= master and entity.entity then + entity.entity:set_detach() + end + end + end, + _add_attached = function(self, index) + local entity = self._attached_entities[index] + if entity.entity then + return + end + local entity_pos = vector.add(self._pos, entity.offset) + if not is_active(entity_pos) then + return + end + local ent = minetest.add_entity(entity_pos, entity.name):get_luaentity() + ent:from_data(entity.data) + ent.parent_id = self._id + ent.attached_id = index + entity.entity = ent.object + local master = self._attached_entities_master + if master then + self:_attach(index, master) + else + self:_set_master(index) + end + end, + _remove_attached = function(self, index) + local master = self._attached_entities_master + local entity = self._attached_entities[index] + local ent = entity and entity.entity + if entity then entity.entity = nil end + if index == master then + self:_detach_all() + local newmaster + for id, attached in pairs(self._attached_entities) do + if id ~= master and attached.entity then + newmaster = id + break + end + end + self:_set_master(newmaster) + self:_attach_all() + elseif master and ent then + ent:set_detach() + end + if ent then + ent:remove() + end + end, + _add_loaded = function(self) + for id, _ in pairs(self._attached_entities) do + self:_add_attached(id) + end + end, + getid = function(self) + return self._id + end, + getpos = function(self) + return vector.new(self._pos) + end, + setpos = function(self, pos) + self._pos = vector.new(pos) + --for _, entity in pairs(self._attached_entities) do + -- if entity.entity then + -- entity.entity:setpos(vector.add(self._pos, entity.offset)) + -- end + --end + local master = self._attached_entities_master + if master then + local master_def = self._attached_entities[master] + master_def.entity:setpos(vector.add(self._pos, master_def.offset)) + end + end, + getvelocity = function(self) + return vector.new(self._velocity) + end, + setvelocity = function(self, velocity) + self._velocity = vector.new(velocity) + local master = self._attached_entities_master + if master then + self._attached_entities[master].entity:setvelocity(self._velocity) + end + end, + getacceleration = function(self) + return vector.new(self._acceleration) + end, + setacceleration = function(self, acceleration) + self._acceleration = vector.new(acceleration) + local master = self._attached_entities_master + if master then + self._attached_entities[master].entity:setacceleration(self._acceleration) + end + end, + remove = function(self) + self:_detach_all() + for _, entity in pairs(self._attached_entities) do + if entity.entity then + entity.entity:remove() + end + end + luaentity.entities[self._id] = nil + end, + add_attached_entity = function(self, name, data, offset) + local index = #self._attached_entities + 1 + self._attached_entities[index] = { + name = name, + data = data, + offset = vector.new(offset), + } + self:_add_attached(index) + return index + end, + remove_attached_entity = function(self, index) + self:_remove_attached(index) + self._attached_entities[index] = nil + end, +} + +function luaentity.register_entity(name, prototype) + -- name = check_modname_prefix(name) + prototype.name = name + setmetatable(prototype, {__index = entitydef_default}) + prototype.__index = prototype -- Make it possible to use it as metatable + luaentity.registered_entities[name] = prototype +end + +-- function luaentity.get_entity_definition(entity) +-- return luaentity.registered_entities[entity.name] +-- end + +function luaentity.add_entity(pos, name) + if not luaentity.entities then + minetest.after(0, luaentity.add_entity, vector.new(pos), name) + return + end + local index = luaentity.entities_index + while luaentity.entities[index] do + index = index + 1 + if index >= max_entity_id then + index = 0 + end + end + luaentity.entities_index = index + + local entity = { + name = name, + _id = index, + _pos = vector.new(pos), + _velocity = {x = 0, y = 0, z = 0}, + _acceleration = {x = 0, y = 0, z = 0}, + _attached_entities = {}, + } + + local prototype = luaentity.registered_entities[name] + setmetatable(entity, prototype) -- Default to prototype for other methods + luaentity.entities[index] = entity + + if entity.on_activate then + entity:on_activate() + end + return entity +end + +-- todo: check if remove in get_staticdata works +function luaentity.get_staticdata(self) + local parent = luaentity.entities[self.parent_id] + if parent and parent._remove_attached then + parent:_remove_attached(self.attached_id) + end + return "toremove" +end + +function luaentity.on_activate(self, staticdata) + if staticdata == "toremove" then + self.object:remove() + end +end + +function luaentity.get_objects_inside_radius(pos, radius) + local objects = {} + local index = 1 + for id, entity in pairs(luaentity.entities) do + if vector.distance(pos, entity:getpos()) <= radius then + objects[index] = entity + index = index + 1 + end + end +end + +minetest.register_globalstep(function(dtime) + if not luaentity.entities then + luaentity.entities = read_entities() + end + for id, entity in pairs(luaentity.entities) do + local master = entity._attached_entities_master + local master_def = master and entity._attached_entities[master] + local master_entity = master_def and master_def.entity + local master_entity_pos = master_entity and master_entity:getpos() + if master_entity_pos then + entity._pos = vector.subtract(master_entity_pos, master_def.offset) + entity._velocity = master_entity:getvelocity() + entity._acceleration = master_entity:getacceleration() + else + entity._pos = vector.add(vector.add( + entity._pos, + vector.multiply(entity._velocity, dtime)), + vector.multiply(entity._acceleration, 0.5 * dtime * dtime)) + entity._velocity = vector.add( + entity._velocity, + vector.multiply(entity._acceleration, dtime)) + end + if master and not master_entity_pos then -- The entity has somehow been cleared + if pipeworks.delete_item_on_clearobject then + entity:remove() + else + entity:_remove_attached(master) + entity:_add_loaded() + if entity.on_step then + entity:on_step(dtime) + end + end + else + entity:_add_loaded() + if entity.on_step then + entity:on_step(dtime) + end + end + end +end) diff --git a/no-mods/pipeworks/mod.conf b/no-mods/pipeworks/mod.conf new file mode 100644 index 0000000..d9d2984 --- /dev/null +++ b/no-mods/pipeworks/mod.conf @@ -0,0 +1 @@ +name = pipeworks diff --git a/no-mods/pipeworks/models.lua b/no-mods/pipeworks/models.lua new file mode 100644 index 0000000..3be773c --- /dev/null +++ b/no-mods/pipeworks/models.lua @@ -0,0 +1,49 @@ +----------------------------------- +-- The various pipe select boxes + +pipeworks.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 } +} + +-- Tube models + +pipeworks.tube_leftstub = { + { -32/64, -9/64, -9/64, 9/64, 9/64, 9/64 }, -- tube segment against -X face +} + +pipeworks.tube_rightstub = { + { -9/64, -9/64, -9/64, 32/64, 9/64, 9/64 }, -- tube segment against +X face +} + +pipeworks.tube_bottomstub = { + { -9/64, -32/64, -9/64, 9/64, 9/64, 9/64 }, -- tube segment against -Y face +} + +pipeworks.tube_topstub = { + { -9/64, -9/64, -9/64, 9/64, 32/64, 9/64 }, -- tube segment against +Y face +} + +pipeworks.tube_frontstub = { + { -9/64, -9/64, -32/64, 9/64, 9/64, 9/64 }, -- tube segment against -Z face +} + +pipeworks.tube_backstub = { + { -9/64, -9/64, -9/64, 9/64, 9/64, 32/64 }, -- tube segment against -Z face +} + +pipeworks.tube_boxes = {pipeworks.tube_leftstub, pipeworks.tube_rightstub, pipeworks.tube_bottomstub, pipeworks.tube_topstub, pipeworks.tube_frontstub, pipeworks.tube_backstub} + +pipeworks.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 } +} + diff --git a/no-mods/pipeworks/models/pipeworks_entry_panel.obj b/no-mods/pipeworks/models/pipeworks_entry_panel.obj new file mode 100644 index 0000000..27577d7 --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_entry_panel.obj @@ -0,0 +1,390 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-entry-panel.blend' +# www.blender.org +o Cube.001 +v 0.030483 -0.153248 -0.468750 +v 0.030483 -0.153248 -0.500000 +v -0.030483 -0.153248 -0.468750 +v -0.030483 -0.153248 -0.500000 +v -0.086808 -0.129917 -0.468750 +v -0.086808 -0.129917 -0.500000 +v -0.129917 -0.086808 -0.468750 +v -0.129917 -0.086808 -0.500000 +v -0.153248 -0.030483 -0.468750 +v -0.153248 -0.030483 -0.500000 +v -0.153248 0.030483 -0.468750 +v -0.153248 0.030483 -0.500000 +v -0.129917 0.086808 -0.468750 +v -0.129917 0.086808 -0.500000 +v -0.086808 0.129917 -0.468750 +v -0.086808 0.129917 -0.500000 +v -0.030483 0.153248 -0.468750 +v -0.030483 0.153247 -0.500000 +v 0.030483 0.153248 -0.468750 +v 0.030483 0.153248 -0.500000 +v 0.086808 0.129917 -0.468750 +v 0.086808 0.129917 -0.500000 +v 0.129917 0.086808 -0.468750 +v 0.129917 0.086808 -0.500000 +v 0.153248 0.030483 -0.468750 +v 0.153248 0.030483 -0.500000 +v 0.153248 -0.030483 -0.468750 +v 0.153248 -0.030483 -0.500000 +v 0.129917 -0.086808 -0.468750 +v 0.129917 -0.086808 -0.500000 +v 0.086808 -0.129917 -0.468750 +v 0.086808 -0.129917 -0.500000 +v 0.024386 -0.122598 -0.468750 +v -0.024386 -0.122598 -0.468750 +v -0.069446 -0.103934 -0.468750 +v -0.103934 -0.069446 -0.468750 +v -0.122598 -0.024386 -0.468750 +v -0.122598 0.024386 -0.468750 +v -0.103934 0.069446 -0.468750 +v -0.069446 0.103934 -0.468750 +v -0.024386 0.122598 -0.468750 +v 0.024386 0.122598 -0.468750 +v 0.069446 0.103934 -0.468750 +v 0.103934 0.069446 -0.468750 +v 0.122598 0.024386 -0.468750 +v 0.122598 -0.024387 -0.468750 +v 0.103934 -0.069447 -0.468750 +v 0.069446 -0.103934 -0.468750 +v 0.000000 -0.000000 -0.468750 +v 0.000000 -0.000000 -0.500000 +v -0.103934 -0.069446 0.468750 +v -0.069447 -0.103933 0.468750 +v -0.024387 -0.122598 0.468750 +v 0.024386 -0.122598 0.468750 +v 0.086808 -0.129917 0.500000 +v 0.086808 -0.129917 0.468750 +v 0.129917 -0.086808 0.500000 +v 0.129917 -0.086808 0.468750 +v 0.153247 -0.030483 0.500000 +v 0.153247 -0.030483 0.468750 +v 0.153247 0.030483 0.500000 +v 0.153247 0.030483 0.468750 +v 0.129917 0.086808 0.500000 +v 0.129917 0.086808 0.468750 +v 0.086808 0.129917 0.500000 +v 0.086808 0.129917 0.468750 +v 0.030483 0.153248 0.500000 +v 0.030483 0.153248 0.468750 +v -0.030483 0.153248 0.500000 +v -0.030483 0.153248 0.468750 +v -0.086808 0.129917 0.500000 +v -0.086808 0.129917 0.468750 +v -0.129917 0.086808 0.500000 +v -0.129917 0.086808 0.468750 +v -0.153248 0.030483 0.500000 +v -0.153248 0.030483 0.468750 +v -0.153248 -0.030483 0.500000 +v -0.153248 -0.030483 0.468750 +v -0.129917 -0.086808 0.500000 +v -0.129917 -0.086808 0.468750 +v -0.086808 -0.129917 0.500000 +v -0.086808 -0.129917 0.468750 +v -0.030483 -0.153247 0.500000 +v -0.030483 -0.153247 0.468750 +v 0.030483 -0.153247 0.500000 +v 0.030483 -0.153247 0.468750 +v -0.122598 -0.024386 0.468750 +v -0.122598 0.024387 0.468750 +v -0.103934 0.069447 0.468750 +v -0.069447 0.103934 0.468750 +v -0.024387 0.122598 0.468750 +v 0.024386 0.122598 0.468750 +v 0.069446 0.103934 0.468750 +v 0.103933 0.069447 0.468750 +v 0.122598 0.024387 0.468750 +v 0.122598 -0.024386 0.468750 +v 0.103933 -0.069446 0.468750 +v 0.069446 -0.103933 0.468750 +v -0.000000 0.000000 0.468750 +v -0.000000 0.000000 0.500000 +v 0.500000 -0.500000 0.062500 +v -0.500000 -0.500000 0.062500 +v -0.500000 -0.500000 -0.062500 +v 0.500000 -0.500000 -0.062500 +v 0.500000 0.500000 0.062500 +v -0.500000 0.500000 0.062500 +v -0.500000 0.500000 -0.062500 +v 0.500000 0.500000 -0.062500 +vt 0.871212 0.265152 +vt 0.840909 0.265152 +vt 0.840909 0.295455 +vt 0.871212 0.295455 +vt 0.810606 0.265152 +vt 0.810606 0.295455 +vt 0.780303 0.265152 +vt 0.780303 0.295455 +vt 0.750000 0.265152 +vt 0.750000 0.295455 +vt 0.719697 0.265152 +vt 0.719697 0.295455 +vt 0.689394 0.265152 +vt 0.689394 0.295455 +vt 0.659091 0.265152 +vt 0.659091 0.295455 +vt 0.628788 0.265152 +vt 0.628788 0.295455 +vt 0.598485 0.265152 +vt 0.598485 0.295455 +vt 0.568182 0.265152 +vt 0.568182 0.295455 +vt 0.537879 0.265152 +vt 0.537879 0.295455 +vt 0.507576 0.265152 +vt 0.507576 0.295455 +vt 0.992424 0.265152 +vt 0.962121 0.265152 +vt 0.962121 0.295455 +vt 0.992424 0.295455 +vt 0.931818 0.265152 +vt 0.931818 0.295455 +vt 0.901515 0.265152 +vt 0.901515 0.295455 +vt 0.613449 0.318703 +vt 0.597693 0.397916 +vt 0.581936 0.318703 +vt 0.765436 0.318703 +vt 0.781192 0.397916 +vt 0.796949 0.318703 +vt 0.826063 0.330762 +vt 0.848346 0.353045 +vt 0.860405 0.382159 +vt 0.860405 0.413672 +vt 0.848346 0.442786 +vt 0.826063 0.465069 +vt 0.796949 0.477128 +vt 0.765436 0.477128 +vt 0.736322 0.465069 +vt 0.714039 0.442786 +vt 0.701980 0.413672 +vt 0.701980 0.382159 +vt 0.714039 0.353045 +vt 0.736322 0.330762 +vt 0.552823 0.330762 +vt 0.530540 0.353045 +vt 0.518480 0.382159 +vt 0.518480 0.413672 +vt 0.530540 0.442786 +vt 0.552822 0.465069 +vt 0.581936 0.477128 +vt 0.613449 0.477128 +vt 0.642563 0.465069 +vt 0.664846 0.442786 +vt 0.676906 0.413672 +vt 0.676906 0.382159 +vt 0.664846 0.353045 +vt 0.642563 0.330762 +vt 0.598485 0.250000 +vt 0.598485 0.007576 +vt 0.628788 0.007576 +vt 0.628788 0.250000 +vt 0.552823 0.330759 +vt 0.581937 0.318699 +vt 0.597694 0.397912 +vt 0.530540 0.353042 +vt 0.518481 0.382156 +vt 0.518481 0.413668 +vt 0.530540 0.442782 +vt 0.552823 0.465065 +vt 0.581937 0.477125 +vt 0.613450 0.477125 +vt 0.642564 0.465065 +vt 0.664847 0.442782 +vt 0.676906 0.413668 +vt 0.676906 0.382156 +vt 0.664847 0.353042 +vt 0.642564 0.330759 +vt 0.613450 0.318699 +vt 0.736320 0.330759 +vt 0.765434 0.318699 +vt 0.781190 0.397912 +vt 0.714037 0.353041 +vt 0.701978 0.382156 +vt 0.701978 0.413668 +vt 0.714037 0.442782 +vt 0.736320 0.465065 +vt 0.765434 0.477125 +vt 0.796947 0.477125 +vt 0.826061 0.465065 +vt 0.848344 0.442782 +vt 0.860403 0.413668 +vt 0.860403 0.382156 +vt 0.848344 0.353041 +vt 0.826061 0.330759 +vt 0.796947 0.318699 +vt 0.931818 0.250000 +vt 0.931818 0.007576 +vt 0.962121 0.007576 +vt 0.962121 0.250000 +vt 0.871212 0.250000 +vt 0.871212 0.007576 +vt 0.901515 0.007576 +vt 0.901515 0.250000 +vt 0.780303 0.250000 +vt 0.780303 0.007576 +vt 0.810606 0.007576 +vt 0.810606 0.250000 +vt 0.840909 0.250000 +vt 0.840909 0.007576 +vt 0.750000 0.250000 +vt 0.750000 0.007576 +vt 0.719697 0.250000 +vt 0.719697 0.007576 +vt 0.689394 0.250000 +vt 0.689394 0.007576 +vt 0.659091 0.250000 +vt 0.659091 0.007576 +vt 0.568182 0.250000 +vt 0.568182 0.007576 +vt 0.537879 0.250000 +vt 0.537879 0.007576 +vt 0.507576 0.250000 +vt 0.507576 0.007576 +vt 0.992424 0.007576 +vt 0.992424 0.250000 +vt 0.507576 0.507576 +vt 0.992424 0.507576 +vt 0.992424 0.992424 +vt 0.507576 0.992424 +vt 0.068182 0.492424 +vt 0.007576 0.492424 +vt 0.007576 0.007576 +vt 0.068182 0.007576 +vt 0.492424 0.992424 +vt 0.007576 0.992424 +vt 0.007576 0.507576 +vt 0.492424 0.507576 +vt 0.295455 0.492424 +vt 0.234848 0.492424 +vt 0.234848 0.007576 +vt 0.295455 0.007576 +vt 0.219697 0.007576 +vt 0.219697 0.492424 +vt 0.159091 0.492424 +vt 0.159091 0.007576 +vt 0.083333 0.492424 +vt 0.083333 0.007576 +vt 0.143939 0.007576 +vt 0.143939 0.492424 +s off +f 1/1 3/2 4/3 2/4 +f 3/2 5/5 6/6 4/3 +f 5/5 7/7 8/8 6/6 +f 7/7 9/9 10/10 8/8 +f 9/9 11/11 12/12 10/10 +f 11/11 13/13 14/14 12/12 +f 13/13 15/15 16/16 14/14 +f 15/15 17/17 18/18 16/16 +f 17/17 19/19 20/20 18/18 +f 19/19 21/21 22/22 20/20 +f 21/21 23/23 24/24 22/22 +f 23/23 25/25 26/26 24/24 +f 25/27 27/28 28/29 26/30 +f 27/28 29/31 30/32 28/29 +f 31/33 1/1 2/4 32/34 +f 29/31 31/33 32/34 30/32 +f 4/35 50/36 2/37 +f 1/38 49/39 3/40 +f 3/40 49/39 5/41 +f 5/41 49/39 7/42 +f 7/42 49/39 9/43 +f 9/43 49/39 11/44 +f 11/44 49/39 13/45 +f 13/45 49/39 15/46 +f 15/46 49/39 17/47 +f 17/47 49/39 19/48 +f 19/48 49/39 21/49 +f 21/49 49/39 23/50 +f 23/50 49/39 25/51 +f 25/51 49/39 27/52 +f 27/52 49/39 29/53 +f 29/53 49/39 31/54 +f 31/54 49/39 1/38 +f 2/37 50/36 32/55 +f 32/55 50/36 30/56 +f 30/56 50/36 28/57 +f 28/57 50/36 26/58 +f 26/58 50/36 24/59 +f 24/59 50/36 22/60 +f 22/60 50/36 20/61 +f 20/61 50/36 18/62 +f 18/62 50/36 16/63 +f 16/63 50/36 14/64 +f 14/64 50/36 12/65 +f 12/65 50/36 10/66 +f 10/66 50/36 8/67 +f 8/67 50/36 6/68 +f 6/68 50/36 4/35 +f 41/69 91/70 92/71 42/72 +f 81/73 83/74 100/75 +f 79/76 81/73 100/75 +f 77/77 79/76 100/75 +f 75/78 77/77 100/75 +f 73/79 75/78 100/75 +f 71/80 73/79 100/75 +f 69/81 71/80 100/75 +f 67/82 69/81 100/75 +f 65/83 67/82 100/75 +f 63/84 65/83 100/75 +f 61/85 63/84 100/75 +f 59/86 61/85 100/75 +f 57/87 59/86 100/75 +f 55/88 57/87 100/75 +f 85/89 55/88 100/75 +f 56/90 86/91 99/92 +f 58/93 56/90 99/92 +f 60/94 58/93 99/92 +f 62/95 60/94 99/92 +f 64/96 62/95 99/92 +f 66/97 64/96 99/92 +f 68/98 66/97 99/92 +f 70/99 68/98 99/92 +f 72/100 70/99 99/92 +f 74/101 72/100 99/92 +f 76/102 74/101 99/92 +f 78/103 76/102 99/92 +f 80/104 78/103 99/92 +f 82/105 80/104 99/92 +f 84/106 82/105 99/92 +f 86/91 84/106 99/92 +f 83/74 85/89 100/75 +f 58/22 57/21 55/19 56/20 +f 56/20 55/19 85/17 86/18 +f 60/24 59/23 57/21 58/22 +f 62/26 61/25 59/23 60/24 +f 64/29 63/28 61/27 62/30 +f 66/32 65/31 63/28 64/29 +f 68/34 67/33 65/31 66/32 +f 70/4 69/1 67/33 68/34 +f 72/3 71/2 69/1 70/4 +f 74/6 73/5 71/2 72/3 +f 76/8 75/7 73/5 74/6 +f 78/10 77/9 75/7 76/8 +f 80/12 79/11 77/9 78/10 +f 82/14 81/13 79/11 80/12 +f 84/16 83/15 81/13 82/14 +f 86/18 85/17 83/15 84/16 +f 36/107 51/108 87/109 37/110 +f 34/111 53/112 52/113 35/114 +f 47/115 97/116 98/117 48/118 +f 33/119 54/120 53/112 34/111 +f 35/114 52/113 51/108 36/107 +f 48/118 98/117 54/120 33/119 +f 46/121 96/122 97/116 47/115 +f 45/123 95/124 96/122 46/121 +f 44/125 94/126 95/124 45/123 +f 43/127 93/128 94/126 44/125 +f 42/72 92/71 93/128 43/127 +f 40/129 90/130 91/70 41/69 +f 39/131 89/132 90/130 40/129 +f 38/133 88/134 89/132 39/131 +f 37/110 87/109 88/135 38/136 +f 105/137 106/138 102/139 101/140 +f 106/141 107/142 103/143 102/144 +f 107/145 108/146 104/147 103/148 +f 108/149 105/150 101/151 104/152 +f 101/153 102/154 103/155 104/156 +f 108/157 107/158 106/159 105/160 diff --git a/no-mods/pipeworks/models/pipeworks_flow_sensor.obj b/no-mods/pipeworks/models/pipeworks_flow_sensor.obj new file mode 100644 index 0000000..f0ba87e --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_flow_sensor.obj @@ -0,0 +1,390 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-flow-sensor.blend' +# www.blender.org +o Cube.001 +v -0.468750 -0.153248 -0.030483 +v -0.500000 -0.153248 -0.030483 +v -0.468750 -0.153248 0.030483 +v -0.500000 -0.153248 0.030483 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.030483 0.153248 +v -0.500000 -0.030483 0.153248 +v -0.468750 0.030483 0.153248 +v -0.500000 0.030483 0.153248 +v -0.468750 0.086808 0.129917 +v -0.500000 0.086808 0.129917 +v -0.468750 0.129917 0.086808 +v -0.500000 0.129917 0.086808 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153247 0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.030483 -0.153248 +v -0.500000 0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.122598 -0.024386 +v -0.468750 -0.122598 0.024386 +v -0.468750 -0.103934 0.069446 +v -0.468750 -0.069446 0.103934 +v -0.468750 -0.024386 0.122598 +v -0.468750 0.024386 0.122598 +v -0.468750 0.069446 0.103934 +v -0.468750 0.103934 0.069446 +v -0.468750 0.122598 0.024386 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.069446 -0.103934 +v -0.468750 0.024386 -0.122598 +v -0.468750 -0.024387 -0.122598 +v -0.468750 -0.069447 -0.103934 +v -0.468750 -0.103934 -0.069446 +v -0.468750 -0.000000 -0.000000 +v -0.500000 -0.000000 -0.000000 +v 0.468750 -0.069446 0.103934 +v 0.468750 -0.103933 0.069447 +v 0.468750 -0.122598 0.024387 +v 0.468750 -0.122598 -0.024386 +v 0.500000 -0.129917 -0.086807 +v 0.468750 -0.129917 -0.086807 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.468750 -0.030483 -0.153247 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.030483 -0.153247 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.153248 -0.030483 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.129917 0.086808 +v 0.468750 0.129917 0.086808 +v 0.500000 0.086808 0.129917 +v 0.468750 0.086808 0.129917 +v 0.500000 0.030483 0.153248 +v 0.468750 0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.086808 0.129917 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.153247 0.030483 +v 0.468750 -0.153247 0.030483 +v 0.500000 -0.153247 -0.030483 +v 0.468750 -0.153247 -0.030483 +v 0.468750 -0.024386 0.122598 +v 0.468750 0.024387 0.122598 +v 0.468750 0.069447 0.103934 +v 0.468750 0.103934 0.069447 +v 0.468750 0.122598 0.024387 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.069447 -0.103933 +v 0.468750 0.024387 -0.122598 +v 0.468750 -0.024386 -0.122598 +v 0.468750 -0.069446 -0.103933 +v 0.468750 -0.103933 -0.069446 +v 0.468750 0.000000 0.000000 +v 0.500000 0.000000 0.000000 +v 0.250000 -0.187500 0.187500 +v -0.250000 -0.187500 0.187500 +v -0.250000 -0.187500 -0.187500 +v 0.250000 -0.187500 -0.187500 +v 0.250000 0.187500 0.187500 +v -0.250000 0.187500 0.187500 +v -0.250000 0.187500 -0.187500 +v 0.250000 0.187500 -0.187500 +vt 0.813725 0.460784 +vt 0.774510 0.460784 +vt 0.774510 0.500000 +vt 0.813725 0.500000 +vt 0.735294 0.460784 +vt 0.735294 0.500000 +vt 0.696078 0.460784 +vt 0.696078 0.500000 +vt 0.656863 0.460784 +vt 0.656863 0.500000 +vt 0.617647 0.460784 +vt 0.617647 0.500000 +vt 0.578431 0.460784 +vt 0.578431 0.500000 +vt 0.539216 0.460784 +vt 0.539216 0.500000 +vt 0.500000 0.460784 +vt 0.500000 0.500000 +vt 0.460784 0.460784 +vt 0.460784 0.500000 +vt 0.421569 0.460784 +vt 0.421569 0.500000 +vt 0.382353 0.460784 +vt 0.382353 0.500000 +vt 0.343137 0.460784 +vt 0.343137 0.500000 +vt 0.970588 0.460784 +vt 0.931373 0.460784 +vt 0.931373 0.500000 +vt 0.970588 0.500000 +vt 0.892157 0.460784 +vt 0.892157 0.500000 +vt 0.852941 0.460784 +vt 0.852941 0.500000 +vt 0.480968 0.531171 +vt 0.460590 0.633014 +vt 0.440211 0.531171 +vt 0.677539 0.531171 +vt 0.697917 0.633014 +vt 0.718296 0.531171 +vt 0.755950 0.546676 +vt 0.784770 0.575325 +vt 0.800366 0.612756 +vt 0.800366 0.653272 +vt 0.784770 0.690703 +vt 0.755950 0.719352 +vt 0.718296 0.734857 +vt 0.677539 0.734857 +vt 0.639884 0.719352 +vt 0.611065 0.690703 +vt 0.595468 0.653272 +vt 0.595468 0.612756 +vt 0.611065 0.575325 +vt 0.639885 0.546676 +vt 0.402557 0.546676 +vt 0.373737 0.575325 +vt 0.358140 0.612756 +vt 0.358140 0.653272 +vt 0.373737 0.690703 +vt 0.402557 0.719352 +vt 0.440211 0.734857 +vt 0.480968 0.734857 +vt 0.518622 0.719352 +vt 0.547442 0.690703 +vt 0.563039 0.653272 +vt 0.563039 0.612756 +vt 0.547442 0.575325 +vt 0.518622 0.546676 +vt 0.460784 0.441176 +vt 0.460784 0.127451 +vt 0.500000 0.127451 +vt 0.500000 0.441176 +vt 0.402558 0.546671 +vt 0.440212 0.531167 +vt 0.460591 0.633009 +vt 0.373738 0.575320 +vt 0.358141 0.612752 +vt 0.358141 0.653267 +vt 0.373738 0.690699 +vt 0.402558 0.719348 +vt 0.440212 0.734852 +vt 0.480969 0.734852 +vt 0.518623 0.719348 +vt 0.547443 0.690699 +vt 0.563040 0.653267 +vt 0.563040 0.612752 +vt 0.547443 0.575320 +vt 0.518623 0.546671 +vt 0.480969 0.531167 +vt 0.639882 0.546671 +vt 0.677537 0.531167 +vt 0.697915 0.633009 +vt 0.611063 0.575320 +vt 0.595466 0.612752 +vt 0.595466 0.653267 +vt 0.611063 0.690699 +vt 0.639882 0.719347 +vt 0.677537 0.734852 +vt 0.718293 0.734852 +vt 0.755947 0.719347 +vt 0.784767 0.690699 +vt 0.800364 0.653267 +vt 0.800364 0.612752 +vt 0.784767 0.575320 +vt 0.755948 0.546671 +vt 0.718293 0.531167 +vt 0.892157 0.441176 +vt 0.892157 0.127451 +vt 0.931373 0.127451 +vt 0.931373 0.441176 +vt 0.813725 0.441176 +vt 0.813725 0.127451 +vt 0.852941 0.127451 +vt 0.852941 0.441176 +vt 0.696078 0.441176 +vt 0.696078 0.127451 +vt 0.735294 0.127451 +vt 0.735294 0.441176 +vt 0.774510 0.441176 +vt 0.774510 0.127451 +vt 0.656863 0.441176 +vt 0.656863 0.127451 +vt 0.617647 0.441176 +vt 0.617647 0.127451 +vt 0.578431 0.441176 +vt 0.578431 0.127451 +vt 0.539216 0.441176 +vt 0.539216 0.127451 +vt 0.421569 0.441176 +vt 0.421569 0.127451 +vt 0.382353 0.441176 +vt 0.382353 0.127451 +vt 0.343137 0.441176 +vt 0.343137 0.127451 +vt 0.970588 0.127451 +vt 0.970588 0.441176 +vt 0.009804 0.500000 +vt 0.323529 0.500000 +vt 0.323529 0.735294 +vt 0.009804 0.735294 +vt 0.264706 0.990196 +vt 0.264706 0.754902 +vt 0.500000 0.754902 +vt 0.500000 0.990196 +vt 0.519608 0.754902 +vt 0.833333 0.754902 +vt 0.833333 0.990196 +vt 0.519608 0.990196 +vt 0.245098 0.754902 +vt 0.245098 0.990196 +vt 0.009804 0.990196 +vt 0.009804 0.754902 +vt 0.323529 0.245098 +vt 0.009804 0.245098 +vt 0.009804 0.009804 +vt 0.323529 0.009804 +vt 0.009804 0.254902 +vt 0.323529 0.254902 +vt 0.323529 0.490196 +vt 0.009804 0.490196 +s off +f 1/1 3/2 4/3 2/4 +f 3/2 5/5 6/6 4/3 +f 5/5 7/7 8/8 6/6 +f 7/7 9/9 10/10 8/8 +f 9/9 11/11 12/12 10/10 +f 11/11 13/13 14/14 12/12 +f 13/13 15/15 16/16 14/14 +f 15/15 17/17 18/18 16/16 +f 17/17 19/19 20/20 18/18 +f 19/19 21/21 22/22 20/20 +f 21/21 23/23 24/24 22/22 +f 23/23 25/25 26/26 24/24 +f 25/27 27/28 28/29 26/30 +f 27/28 29/31 30/32 28/29 +f 31/33 1/1 2/4 32/34 +f 29/31 31/33 32/34 30/32 +f 4/35 50/36 2/37 +f 1/38 49/39 3/40 +f 3/40 49/39 5/41 +f 5/41 49/39 7/42 +f 7/42 49/39 9/43 +f 9/43 49/39 11/44 +f 11/44 49/39 13/45 +f 13/45 49/39 15/46 +f 15/46 49/39 17/47 +f 17/47 49/39 19/48 +f 19/48 49/39 21/49 +f 21/49 49/39 23/50 +f 23/50 49/39 25/51 +f 25/51 49/39 27/52 +f 27/52 49/39 29/53 +f 29/53 49/39 31/54 +f 31/54 49/39 1/38 +f 2/37 50/36 32/55 +f 32/55 50/36 30/56 +f 30/56 50/36 28/57 +f 28/57 50/36 26/58 +f 26/58 50/36 24/59 +f 24/59 50/36 22/60 +f 22/60 50/36 20/61 +f 20/61 50/36 18/62 +f 18/62 50/36 16/63 +f 16/63 50/36 14/64 +f 14/64 50/36 12/65 +f 12/65 50/36 10/66 +f 10/66 50/36 8/67 +f 8/67 50/36 6/68 +f 6/68 50/36 4/35 +f 41/69 91/70 92/71 42/72 +f 81/73 83/74 100/75 +f 79/76 81/73 100/75 +f 77/77 79/76 100/75 +f 75/78 77/77 100/75 +f 73/79 75/78 100/75 +f 71/80 73/79 100/75 +f 69/81 71/80 100/75 +f 67/82 69/81 100/75 +f 65/83 67/82 100/75 +f 63/84 65/83 100/75 +f 61/85 63/84 100/75 +f 59/86 61/85 100/75 +f 57/87 59/86 100/75 +f 55/88 57/87 100/75 +f 85/89 55/88 100/75 +f 56/90 86/91 99/92 +f 58/93 56/90 99/92 +f 60/94 58/93 99/92 +f 62/95 60/94 99/92 +f 64/96 62/95 99/92 +f 66/97 64/96 99/92 +f 68/98 66/97 99/92 +f 70/99 68/98 99/92 +f 72/100 70/99 99/92 +f 74/101 72/100 99/92 +f 76/102 74/101 99/92 +f 78/103 76/102 99/92 +f 80/104 78/103 99/92 +f 82/105 80/104 99/92 +f 84/106 82/105 99/92 +f 86/91 84/106 99/92 +f 83/74 85/89 100/75 +f 58/22 57/21 55/19 56/20 +f 56/20 55/19 85/17 86/18 +f 60/24 59/23 57/21 58/22 +f 62/26 61/25 59/23 60/24 +f 64/29 63/28 61/27 62/30 +f 66/32 65/31 63/28 64/29 +f 68/34 67/33 65/31 66/32 +f 70/4 69/1 67/33 68/34 +f 72/3 71/2 69/1 70/4 +f 74/6 73/5 71/2 72/3 +f 76/8 75/7 73/5 74/6 +f 78/10 77/9 75/7 76/8 +f 80/12 79/11 77/9 78/10 +f 82/14 81/13 79/11 80/12 +f 84/16 83/15 81/13 82/14 +f 86/18 85/17 83/15 84/16 +f 36/107 51/108 87/109 37/110 +f 34/111 53/112 52/113 35/114 +f 47/115 97/116 98/117 48/118 +f 33/119 54/120 53/112 34/111 +f 35/114 52/113 51/108 36/107 +f 48/118 98/117 54/120 33/119 +f 46/121 96/122 97/116 47/115 +f 45/123 95/124 96/122 46/121 +f 44/125 94/126 95/124 45/123 +f 43/127 93/128 94/126 44/125 +f 42/72 92/71 93/128 43/127 +f 40/129 90/130 91/70 41/69 +f 39/131 89/132 90/130 40/129 +f 38/133 88/134 89/132 39/131 +f 37/110 87/109 88/135 38/136 +f 105/137 106/138 102/139 101/140 +f 106/141 107/142 103/143 102/144 +f 107/145 108/146 104/147 103/148 +f 108/149 105/150 101/151 104/152 +f 101/153 102/154 103/155 104/156 +f 108/157 107/158 106/159 105/160 diff --git a/no-mods/pipeworks/models/pipeworks_fountainhead.obj b/no-mods/pipeworks/models/pipeworks_fountainhead.obj new file mode 100644 index 0000000..7685dbf --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_fountainhead.obj @@ -0,0 +1,352 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-fountainhead.blend' +# www.blender.org +o Cube.001 +v 0.153248 -0.468750 -0.030483 +v 0.153248 -0.500000 -0.030483 +v 0.153248 -0.468750 0.030483 +v 0.153248 -0.500000 0.030483 +v 0.129917 -0.468750 0.086808 +v 0.129917 -0.500000 0.086808 +v 0.086808 -0.468750 0.129917 +v 0.086808 -0.500000 0.129917 +v 0.030483 -0.468750 0.153248 +v 0.030483 -0.500000 0.153248 +v -0.030483 -0.468750 0.153248 +v -0.030483 -0.500000 0.153248 +v -0.086808 -0.468750 0.129917 +v -0.086808 -0.500000 0.129917 +v -0.129917 -0.468750 0.086808 +v -0.129917 -0.500000 0.086808 +v -0.153247 -0.468750 0.030483 +v -0.153247 -0.500000 0.030483 +v -0.153247 -0.468750 -0.030483 +v -0.153247 -0.500000 -0.030483 +v -0.129917 -0.468750 -0.086808 +v -0.129917 -0.500000 -0.086808 +v -0.086808 -0.468750 -0.129917 +v -0.086807 -0.500000 -0.129917 +v -0.030482 -0.468750 -0.153248 +v -0.030482 -0.500000 -0.153248 +v 0.030483 -0.468750 -0.153248 +v 0.030483 -0.500000 -0.153248 +v 0.086808 -0.468750 -0.129917 +v 0.086808 -0.500000 -0.129917 +v 0.129918 -0.468750 -0.086808 +v 0.129918 -0.500000 -0.086808 +v 0.122598 -0.468750 -0.024386 +v 0.122598 -0.468750 0.024386 +v 0.103934 -0.468750 0.069446 +v 0.069447 -0.468750 0.103934 +v 0.024387 -0.468750 0.122598 +v -0.024386 -0.468750 0.122598 +v -0.069446 -0.468750 0.103934 +v -0.103933 -0.468750 0.069446 +v -0.122598 -0.468750 0.024386 +v -0.122598 -0.468750 -0.024386 +v -0.103933 -0.468750 -0.069446 +v -0.069446 -0.468750 -0.103934 +v -0.024386 -0.468750 -0.122598 +v 0.024387 -0.468750 -0.122598 +v 0.069447 -0.468750 -0.103934 +v 0.103934 -0.468750 -0.069446 +v 0.000000 -0.468750 0.000000 +v 0.000000 -0.500000 -0.000000 +v 0.069446 0.312500 0.103934 +v 0.103933 0.312500 0.069447 +v 0.122598 0.312500 0.024387 +v 0.122598 0.312500 -0.024386 +v 0.129917 0.500000 -0.086808 +v 0.129917 0.312500 -0.086808 +v 0.086808 0.500000 -0.129917 +v 0.086808 0.312500 -0.129917 +v 0.030483 0.500000 -0.153247 +v 0.030483 0.312500 -0.153248 +v -0.030483 0.500000 -0.153247 +v -0.030483 0.312500 -0.153248 +v -0.086808 0.500000 -0.129917 +v -0.086808 0.312500 -0.129917 +v -0.129918 0.500000 -0.086808 +v -0.129918 0.312500 -0.086808 +v -0.153248 0.500000 -0.030483 +v -0.153248 0.312500 -0.030483 +v -0.153248 0.500000 0.030483 +v -0.153248 0.312500 0.030483 +v -0.129918 0.500000 0.086808 +v -0.129918 0.312500 0.086808 +v -0.086808 0.500000 0.129917 +v -0.086808 0.312500 0.129917 +v -0.030483 0.500000 0.153248 +v -0.030483 0.312500 0.153248 +v 0.030482 0.500000 0.153248 +v 0.030482 0.312500 0.153248 +v 0.086807 0.500000 0.129917 +v 0.086807 0.312500 0.129917 +v 0.129917 0.500000 0.086808 +v 0.129917 0.312500 0.086808 +v 0.153247 0.500000 0.030483 +v 0.153247 0.312500 0.030483 +v 0.153247 0.500000 -0.030483 +v 0.153247 0.312500 -0.030483 +v 0.024386 0.312500 0.122598 +v -0.024387 0.312500 0.122598 +v -0.069447 0.312500 0.103934 +v -0.103934 0.312500 0.069446 +v -0.122599 0.312500 0.024386 +v -0.122599 0.312500 -0.024386 +v -0.103934 0.312500 -0.069446 +v -0.069447 0.312500 -0.103934 +v -0.024387 0.312500 -0.122598 +v 0.024386 0.312500 -0.122598 +v 0.069446 0.312500 -0.103933 +v 0.103933 0.312500 -0.069446 +v -0.000000 0.312500 0.000000 +v -0.000000 0.500000 0.000000 +vt 0.680556 0.486111 +vt 0.625000 0.486111 +vt 0.625000 0.652778 +vt 0.680556 0.652778 +vt 0.569444 0.486111 +vt 0.569444 0.652778 +vt 0.513889 0.486111 +vt 0.513889 0.652778 +vt 0.458333 0.486111 +vt 0.458333 0.652778 +vt 0.402778 0.486111 +vt 0.402778 0.652778 +vt 0.347222 0.486111 +vt 0.347222 0.652778 +vt 0.291667 0.486111 +vt 0.291667 0.652778 +vt 0.236111 0.486111 +vt 0.236111 0.652778 +vt 0.180556 0.486111 +vt 0.180556 0.652778 +vt 0.125000 0.486111 +vt 0.125000 0.652778 +vt 0.069444 0.486111 +vt 0.069444 0.652778 +vt 0.013889 0.486111 +vt 0.013889 0.652778 +vt 0.902778 0.486111 +vt 0.847222 0.486111 +vt 0.847222 0.652778 +vt 0.902778 0.652778 +vt 0.791667 0.486111 +vt 0.791667 0.652778 +vt 0.736111 0.486111 +vt 0.736111 0.652778 +vt 0.194034 0.696809 +vt 0.165430 0.839757 +vt 0.136827 0.696809 +vt 0.469943 0.696809 +vt 0.498546 0.839757 +vt 0.527150 0.696809 +vt 0.580002 0.718572 +vt 0.620453 0.758784 +vt 0.642345 0.811323 +vt 0.642345 0.868191 +vt 0.620453 0.920730 +vt 0.580002 0.960942 +vt 0.527149 0.982704 +vt 0.469943 0.982704 +vt 0.417091 0.960942 +vt 0.376639 0.920730 +vt 0.354747 0.868191 +vt 0.354747 0.811323 +vt 0.376639 0.758784 +vt 0.417091 0.718572 +vt 0.083975 0.718572 +vt 0.043524 0.758784 +vt 0.021631 0.811323 +vt 0.021631 0.868191 +vt 0.043523 0.920730 +vt 0.083975 0.960942 +vt 0.136827 0.982704 +vt 0.194034 0.982704 +vt 0.246886 0.960942 +vt 0.287337 0.920730 +vt 0.309229 0.868191 +vt 0.309229 0.811323 +vt 0.287337 0.758784 +vt 0.246886 0.718572 +vt 0.180556 0.458333 +vt 0.180556 0.013889 +vt 0.236111 0.013889 +vt 0.236111 0.458333 +vt 0.750889 0.718565 +vt 0.803741 0.696803 +vt 0.832345 0.839750 +vt 0.710438 0.758777 +vt 0.688546 0.811316 +vt 0.688546 0.868184 +vt 0.710438 0.920723 +vt 0.750889 0.960935 +vt 0.803741 0.982698 +vt 0.860948 0.982698 +vt 0.913800 0.960935 +vt 0.954251 0.920723 +vt 0.976143 0.868184 +vt 0.976143 0.811316 +vt 0.954251 0.758777 +vt 0.913800 0.718565 +vt 0.860948 0.696803 +vt 0.417087 0.718565 +vt 0.469939 0.696803 +vt 0.498543 0.839750 +vt 0.376636 0.758777 +vt 0.354744 0.811316 +vt 0.354744 0.868184 +vt 0.376636 0.920723 +vt 0.417087 0.960935 +vt 0.469939 0.982698 +vt 0.527146 0.982698 +vt 0.579998 0.960935 +vt 0.620449 0.920723 +vt 0.642341 0.868184 +vt 0.642341 0.811316 +vt 0.620449 0.758777 +vt 0.579998 0.718565 +vt 0.527146 0.696803 +vt 0.791667 0.458333 +vt 0.791667 0.013889 +vt 0.847222 0.013889 +vt 0.847222 0.458333 +vt 0.680556 0.458333 +vt 0.680556 0.013889 +vt 0.736111 0.013889 +vt 0.736111 0.458333 +vt 0.513889 0.458333 +vt 0.513889 0.013889 +vt 0.569444 0.013889 +vt 0.569444 0.458333 +vt 0.625000 0.458333 +vt 0.625000 0.013889 +vt 0.458333 0.458333 +vt 0.458333 0.013889 +vt 0.402778 0.458333 +vt 0.402778 0.013889 +vt 0.347222 0.458333 +vt 0.347222 0.013889 +vt 0.291667 0.458333 +vt 0.291667 0.013889 +vt 0.125000 0.458333 +vt 0.125000 0.013889 +vt 0.069444 0.458333 +vt 0.069444 0.013889 +vt 0.013889 0.458333 +vt 0.013889 0.013889 +vt 0.902778 0.013889 +vt 0.902778 0.458333 +s off +f 1/1 3/2 4/3 2/4 +f 3/2 5/5 6/6 4/3 +f 5/5 7/7 8/8 6/6 +f 7/7 9/9 10/10 8/8 +f 9/9 11/11 12/12 10/10 +f 11/11 13/13 14/14 12/12 +f 13/13 15/15 16/16 14/14 +f 15/15 17/17 18/18 16/16 +f 17/17 19/19 20/20 18/18 +f 19/19 21/21 22/22 20/20 +f 21/21 23/23 24/24 22/22 +f 23/23 25/25 26/26 24/24 +f 25/27 27/28 28/29 26/30 +f 27/28 29/31 30/32 28/29 +f 31/33 1/1 2/4 32/34 +f 29/31 31/33 32/34 30/32 +f 4/35 50/36 2/37 +f 1/38 49/39 3/40 +f 3/40 49/39 5/41 +f 5/41 49/39 7/42 +f 7/42 49/39 9/43 +f 9/43 49/39 11/44 +f 11/44 49/39 13/45 +f 13/45 49/39 15/46 +f 15/46 49/39 17/47 +f 17/47 49/39 19/48 +f 19/48 49/39 21/49 +f 21/49 49/39 23/50 +f 23/50 49/39 25/51 +f 25/51 49/39 27/52 +f 27/52 49/39 29/53 +f 29/53 49/39 31/54 +f 31/54 49/39 1/38 +f 2/37 50/36 32/55 +f 32/55 50/36 30/56 +f 30/56 50/36 28/57 +f 28/57 50/36 26/58 +f 26/58 50/36 24/59 +f 24/59 50/36 22/60 +f 22/60 50/36 20/61 +f 20/61 50/36 18/62 +f 18/62 50/36 16/63 +f 16/63 50/36 14/64 +f 14/64 50/36 12/65 +f 12/65 50/36 10/66 +f 10/66 50/36 8/67 +f 8/67 50/36 6/68 +f 6/68 50/36 4/35 +f 41/69 91/70 92/71 42/72 +f 81/73 83/74 100/75 +f 79/76 81/73 100/75 +f 77/77 79/76 100/75 +f 75/78 77/77 100/75 +f 73/79 75/78 100/75 +f 71/80 73/79 100/75 +f 69/81 71/80 100/75 +f 67/82 69/81 100/75 +f 65/83 67/82 100/75 +f 63/84 65/83 100/75 +f 61/85 63/84 100/75 +f 59/86 61/85 100/75 +f 57/87 59/86 100/75 +f 55/88 57/87 100/75 +f 85/89 55/88 100/75 +f 56/90 86/91 99/92 +f 58/93 56/90 99/92 +f 60/94 58/93 99/92 +f 62/95 60/94 99/92 +f 64/96 62/95 99/92 +f 66/97 64/96 99/92 +f 68/98 66/97 99/92 +f 70/99 68/98 99/92 +f 72/100 70/99 99/92 +f 74/101 72/100 99/92 +f 76/102 74/101 99/92 +f 78/103 76/102 99/92 +f 80/104 78/103 99/92 +f 82/105 80/104 99/92 +f 84/106 82/105 99/92 +f 86/91 84/106 99/92 +f 83/74 85/89 100/75 +f 58/22 57/21 55/19 56/20 +f 56/20 55/19 85/17 86/18 +f 60/24 59/23 57/21 58/22 +f 62/26 61/25 59/23 60/24 +f 64/29 63/28 61/27 62/30 +f 66/32 65/31 63/28 64/29 +f 68/34 67/33 65/31 66/32 +f 70/4 69/1 67/33 68/34 +f 72/3 71/2 69/1 70/4 +f 74/6 73/5 71/2 72/3 +f 76/8 75/7 73/5 74/6 +f 78/10 77/9 75/7 76/8 +f 80/12 79/11 77/9 78/10 +f 82/14 81/13 79/11 80/12 +f 84/16 83/15 81/13 82/14 +f 86/18 85/17 83/15 84/16 +f 36/107 51/108 87/109 37/110 +f 34/111 53/112 52/113 35/114 +f 47/115 97/116 98/117 48/118 +f 33/119 54/120 53/112 34/111 +f 35/114 52/113 51/108 36/107 +f 48/118 98/117 54/120 33/119 +f 46/121 96/122 97/116 47/115 +f 45/123 95/124 96/122 46/121 +f 44/125 94/126 95/124 45/123 +f 43/127 93/128 94/126 44/125 +f 42/72 92/71 93/128 43/127 +f 40/129 90/130 91/70 41/69 +f 39/131 89/132 90/130 40/129 +f 38/133 88/134 89/132 39/131 +f 37/110 87/109 88/135 38/136 diff --git a/no-mods/pipeworks/models/pipeworks_pipe_10.obj b/no-mods/pipeworks/models/pipeworks_pipe_10.obj new file mode 100644 index 0000000..9edb938 --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_pipe_10.obj @@ -0,0 +1,891 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-6way.blend' +# www.blender.org +mtllib pipeworks_pipe_10.mtl +o Cube.000 +v 0.069446 -0.468750 -0.103934 +v 0.103933 -0.468750 -0.069446 +v 0.122598 -0.468750 -0.024386 +v 0.122598 -0.468750 0.024386 +v 0.129917 -0.500000 0.086808 +v 0.129917 -0.468750 0.086808 +v 0.086808 -0.500000 0.129917 +v 0.086808 -0.468750 0.129917 +v 0.030483 -0.500000 0.153247 +v 0.030483 -0.468750 0.153248 +v -0.030483 -0.500000 0.153247 +v -0.030483 -0.468750 0.153248 +v -0.086808 -0.500000 0.129917 +v -0.086808 -0.468750 0.129917 +v -0.129918 -0.500000 0.086808 +v -0.129917 -0.468750 0.086808 +v -0.153248 -0.500000 0.030483 +v -0.153248 -0.468750 0.030483 +v -0.153248 -0.500000 -0.030483 +v -0.153248 -0.468750 -0.030483 +v -0.129918 -0.500000 -0.086808 +v -0.129917 -0.468750 -0.086808 +v -0.086808 -0.500000 -0.129917 +v -0.086808 -0.468750 -0.129917 +v -0.030483 -0.500000 -0.153248 +v -0.030483 -0.468750 -0.153248 +v 0.030482 -0.500000 -0.153248 +v 0.030482 -0.468750 -0.153248 +v 0.086807 -0.500000 -0.129917 +v 0.086807 -0.468750 -0.129917 +v 0.129917 -0.500000 -0.086808 +v 0.129917 -0.468750 -0.086808 +v 0.153247 -0.500000 -0.030483 +v 0.153247 -0.468750 -0.030483 +v 0.153247 -0.500000 0.030483 +v 0.153247 -0.468750 0.030483 +v 0.024386 -0.468750 -0.122598 +v -0.024387 -0.468750 -0.122598 +v -0.069447 -0.468750 -0.103934 +v -0.103934 -0.468750 -0.069446 +v -0.122599 -0.468750 -0.024386 +v -0.122599 -0.468750 0.024386 +v -0.103934 -0.468750 0.069446 +v -0.069447 -0.468750 0.103934 +v -0.024387 -0.468750 0.122598 +v 0.024386 -0.468750 0.122598 +v 0.069446 -0.468750 0.103933 +v 0.103933 -0.468750 0.069446 +v -0.000000 -0.468750 -0.000000 +v -0.000000 -0.500000 -0.000000 +v -0.024386 -0.024391 -0.122598 +v -0.069446 -0.024391 -0.103934 +v -0.103934 -0.024391 -0.069446 +v -0.122598 -0.024391 -0.024386 +v -0.122598 -0.024391 0.024386 +v -0.103934 -0.024391 0.069446 +v -0.069446 -0.024391 0.103934 +v -0.024386 -0.024391 0.122598 +v 0.024386 -0.024391 0.122598 +v 0.103934 -0.024391 0.069446 +v 0.069446 -0.024391 0.103934 +v 0.103934 -0.024391 -0.069446 +v 0.122598 -0.024391 -0.024386 +v 0.122598 -0.024391 0.024386 +v 0.069446 -0.024391 -0.103934 +v 0.024386 -0.024391 -0.122598 +v 0.153248 0.468750 0.030483 +v 0.153248 0.500000 0.030483 +v 0.153248 0.468750 -0.030483 +v 0.153248 0.500000 -0.030483 +v 0.129917 0.468750 -0.086808 +v 0.129917 0.500000 -0.086808 +v 0.086808 0.468750 -0.129917 +v 0.086808 0.500000 -0.129917 +v 0.030483 0.468750 -0.153248 +v 0.030483 0.500000 -0.153248 +v -0.030483 0.468750 -0.153248 +v -0.030483 0.500000 -0.153248 +v -0.086808 0.468750 -0.129917 +v -0.086808 0.500000 -0.129917 +v -0.129917 0.468750 -0.086808 +v -0.129917 0.500000 -0.086808 +v -0.153247 0.468750 -0.030483 +v -0.153247 0.500000 -0.030483 +v -0.153247 0.468750 0.030483 +v -0.153247 0.500000 0.030483 +v -0.129917 0.468750 0.086808 +v -0.129917 0.500000 0.086808 +v -0.086808 0.468750 0.129917 +v -0.086808 0.500000 0.129917 +v -0.030483 0.468750 0.153248 +v -0.030483 0.500000 0.153248 +v 0.030483 0.468750 0.153248 +v 0.030483 0.500000 0.153248 +v 0.086808 0.468750 0.129917 +v 0.086808 0.500000 0.129917 +v 0.129917 0.468750 0.086808 +v 0.129918 0.500000 0.086808 +v 0.122598 0.468750 0.024386 +v 0.122598 0.468750 -0.024386 +v 0.103934 0.468750 -0.069446 +v 0.069447 0.468750 -0.103934 +v 0.024387 0.468750 -0.122598 +v -0.024386 0.468750 -0.122598 +v -0.069446 0.468750 -0.103934 +v -0.103933 0.468750 -0.069446 +v -0.122598 0.468750 -0.024386 +v -0.122598 0.468750 0.024386 +v -0.103933 0.468750 0.069446 +v -0.069446 0.468750 0.103934 +v -0.024386 0.468750 0.122598 +v 0.024387 0.468750 0.122598 +v 0.069447 0.468750 0.103934 +v 0.103934 0.468750 0.069446 +v 0.000000 0.468750 -0.000000 +v 0.000000 0.500000 0.000000 +v -0.024386 0.024390 -0.122598 +v -0.069446 0.024390 -0.103934 +v -0.103934 0.024390 -0.069446 +v -0.122598 0.024390 -0.024386 +v -0.122598 0.024390 0.024386 +v -0.103934 0.024390 0.069446 +v -0.069446 0.024390 0.103934 +v -0.024386 0.024389 0.122598 +v 0.024386 0.024389 0.122598 +v 0.103934 0.024390 0.069446 +v 0.069446 0.024390 0.103934 +v 0.103934 0.024390 -0.069446 +v 0.122598 0.024390 -0.024386 +v 0.122598 0.024390 0.024386 +v 0.069446 0.024390 -0.103934 +v 0.024386 0.024390 -0.122598 +v 0.468750 -0.153248 0.030483 +v 0.500000 -0.153248 0.030483 +v 0.468750 -0.153248 -0.030483 +v 0.500000 -0.153248 -0.030483 +v 0.468750 -0.129917 -0.086808 +v 0.500000 -0.129917 -0.086808 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.030483 -0.153248 +v 0.500000 -0.030483 -0.153248 +v 0.468750 0.030483 -0.153248 +v 0.500000 0.030483 -0.153248 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153247 -0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.129917 0.086808 +v 0.500000 0.129917 0.086808 +v 0.468750 0.086808 0.129917 +v 0.500000 0.086808 0.129917 +v 0.468750 0.030483 0.153248 +v 0.500000 0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.086808 0.129917 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.122598 0.024386 +v 0.468750 -0.122598 -0.024386 +v 0.468750 -0.103934 -0.069446 +v 0.468750 -0.069446 -0.103934 +v 0.468750 -0.024386 -0.122598 +v 0.468750 0.024386 -0.122598 +v 0.468750 0.069446 -0.103934 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.122598 0.024386 +v 0.468750 0.103934 0.069446 +v 0.468750 0.069446 0.103934 +v 0.468750 0.024386 0.122598 +v 0.468750 -0.024387 0.122598 +v 0.468750 -0.069447 0.103934 +v 0.468750 -0.103934 0.069446 +v 0.468750 -0.000000 -0.000000 +v 0.500000 -0.000000 0.000000 +v -0.468750 -0.069446 -0.103934 +v -0.468750 -0.103933 -0.069446 +v -0.468750 -0.122598 -0.024387 +v -0.468750 -0.122598 0.024386 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.030483 0.153247 +v -0.468750 -0.030483 0.153248 +v -0.500000 0.030483 0.153247 +v -0.468750 0.030483 0.153248 +v -0.500000 0.086808 0.129917 +v -0.468750 0.086808 0.129917 +v -0.500000 0.129917 0.086808 +v -0.468750 0.129917 0.086808 +v -0.500000 0.153248 0.030483 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.030483 -0.153248 +v -0.468750 0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.153247 -0.030483 +v -0.468750 -0.153247 -0.030483 +v -0.500000 -0.153247 0.030483 +v -0.468750 -0.153247 0.030483 +v -0.468750 -0.024386 -0.122598 +v -0.468750 0.024387 -0.122598 +v -0.468750 0.069447 -0.103934 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.122598 0.024386 +v -0.468750 0.103934 0.069446 +v -0.468750 0.069447 0.103934 +v -0.468750 0.024387 0.122598 +v -0.468750 -0.024386 0.122598 +v -0.468750 -0.069446 0.103933 +v -0.468750 -0.103933 0.069446 +v -0.468750 0.000000 -0.000000 +v -0.500000 0.000000 -0.000000 +v 0.069446 -0.103934 0.468750 +v 0.103933 -0.069447 0.468750 +v 0.122598 -0.024387 0.468750 +v 0.122598 0.024386 0.468750 +v 0.129917 0.086807 0.500000 +v 0.129917 0.086807 0.468750 +v 0.086808 0.129917 0.500000 +v 0.086808 0.129917 0.468750 +v 0.030483 0.153247 0.500000 +v 0.030483 0.153247 0.468750 +v -0.030483 0.153247 0.500000 +v -0.030483 0.153247 0.468750 +v -0.086808 0.129917 0.500000 +v -0.086808 0.129917 0.468750 +v -0.129918 0.086808 0.500000 +v -0.129917 0.086808 0.468750 +v -0.153248 0.030483 0.500000 +v -0.153248 0.030483 0.468750 +v -0.153248 -0.030483 0.500000 +v -0.153248 -0.030483 0.468750 +v -0.129918 -0.086808 0.500000 +v -0.129917 -0.086808 0.468750 +v -0.086808 -0.129917 0.500000 +v -0.086808 -0.129917 0.468750 +v -0.030483 -0.153248 0.500000 +v -0.030483 -0.153248 0.468750 +v 0.030482 -0.153248 0.500000 +v 0.030482 -0.153248 0.468750 +v 0.086807 -0.129917 0.500000 +v 0.086807 -0.129917 0.468750 +v 0.129917 -0.086808 0.500000 +v 0.129917 -0.086808 0.468750 +v 0.153247 -0.030483 0.500000 +v 0.153247 -0.030483 0.468750 +v 0.153247 0.030483 0.500000 +v 0.153247 0.030483 0.468750 +v 0.024386 -0.122598 0.468750 +v -0.024387 -0.122598 0.468750 +v -0.069447 -0.103934 0.468750 +v -0.103934 -0.069447 0.468750 +v -0.122599 -0.024387 0.468750 +v -0.122599 0.024386 0.468750 +v -0.103934 0.069446 0.468750 +v -0.069447 0.103933 0.468750 +v -0.024387 0.122598 0.468750 +v 0.024386 0.122598 0.468750 +v 0.069446 0.103933 0.468750 +v 0.103933 0.069446 0.468750 +v -0.000000 -0.000000 0.468750 +v -0.000000 -0.000000 0.500000 +v -0.024386 -0.122598 0.024391 +v -0.069446 -0.103934 0.024391 +v -0.103934 -0.069446 0.024391 +v -0.122598 -0.024386 0.024391 +v -0.122598 0.024386 0.024391 +v -0.103934 0.069446 0.024391 +v -0.069446 0.103934 0.024391 +v -0.024386 0.122598 0.024391 +v 0.024386 0.122598 0.024391 +v 0.103934 0.069446 0.024391 +v 0.069446 0.103934 0.024391 +v 0.103934 -0.069446 0.024391 +v 0.122598 -0.024386 0.024391 +v 0.122598 0.024386 0.024391 +v 0.069446 -0.103934 0.024391 +v 0.024386 -0.122598 0.024391 +v 0.153248 0.030483 -0.468750 +v 0.153248 0.030483 -0.500000 +v 0.153248 -0.030483 -0.468750 +v 0.153248 -0.030483 -0.500000 +v 0.129917 -0.086808 -0.468750 +v 0.129917 -0.086808 -0.500000 +v 0.086808 -0.129917 -0.468750 +v 0.086808 -0.129917 -0.500000 +v 0.030483 -0.153248 -0.468750 +v 0.030483 -0.153248 -0.500000 +v -0.030483 -0.153248 -0.468750 +v -0.030483 -0.153248 -0.500000 +v -0.086808 -0.129917 -0.468750 +v -0.086808 -0.129917 -0.500000 +v -0.129917 -0.086808 -0.468750 +v -0.129917 -0.086808 -0.500000 +v -0.153247 -0.030483 -0.468750 +v -0.153247 -0.030483 -0.500000 +v -0.153247 0.030483 -0.468750 +v -0.153247 0.030483 -0.500000 +v -0.129917 0.086808 -0.468750 +v -0.129917 0.086808 -0.500000 +v -0.086808 0.129917 -0.468750 +v -0.086808 0.129917 -0.500000 +v -0.030483 0.153248 -0.468750 +v -0.030483 0.153248 -0.500000 +v 0.030483 0.153248 -0.468750 +v 0.030483 0.153248 -0.500000 +v 0.086808 0.129917 -0.468750 +v 0.086808 0.129917 -0.500000 +v 0.129917 0.086808 -0.468750 +v 0.129918 0.086808 -0.500000 +v 0.122598 0.024386 -0.468750 +v 0.122598 -0.024386 -0.468750 +v 0.103934 -0.069446 -0.468750 +v 0.069447 -0.103934 -0.468750 +v 0.024387 -0.122598 -0.468750 +v -0.024386 -0.122598 -0.468750 +v -0.069446 -0.103934 -0.468750 +v -0.103933 -0.069446 -0.468750 +v -0.122598 -0.024386 -0.468750 +v -0.122598 0.024386 -0.468750 +v -0.103933 0.069446 -0.468750 +v -0.069446 0.103934 -0.468750 +v -0.024386 0.122598 -0.468750 +v 0.024387 0.122598 -0.468750 +v 0.069447 0.103934 -0.468750 +v 0.103934 0.069446 -0.468750 +v 0.000000 -0.000000 -0.468750 +v 0.000000 0.000000 -0.500000 +v -0.024386 -0.122598 -0.024390 +v -0.069446 -0.103934 -0.024391 +v -0.103934 -0.069446 -0.024391 +v -0.122598 -0.024386 -0.024391 +v -0.122598 0.024386 -0.024391 +v -0.103934 0.069446 -0.024390 +v -0.069446 0.103934 -0.024390 +v -0.024386 0.122598 -0.024389 +v 0.024386 0.122598 -0.024389 +v 0.103934 0.069446 -0.024390 +v 0.069446 0.103934 -0.024390 +v 0.103934 -0.069446 -0.024390 +v 0.122598 -0.024386 -0.024390 +v 0.122598 0.024386 -0.024390 +v 0.069446 -0.103934 -0.024390 +v 0.024386 -0.122598 -0.024390 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.265625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.265625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.265625 +vt 0.687500 0.265625 +vt 0.687500 0.015625 +vt 0.500000 0.265625 +vt 0.500000 0.015625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.125000 0.265625 +vt 0.125000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.218363 0.657325 +vt 0.185866 0.820702 +vt 0.153368 0.657325 +vt 0.531836 0.657325 +vt 0.564334 0.820702 +vt 0.596832 0.657325 +vt 0.656879 0.682198 +vt 0.702838 0.728156 +vt 0.727710 0.788204 +vt 0.727710 0.853199 +vt 0.702838 0.913247 +vt 0.656879 0.959205 +vt 0.596831 0.984078 +vt 0.531836 0.984078 +vt 0.471788 0.959205 +vt 0.425830 0.913247 +vt 0.400957 0.853199 +vt 0.400957 0.788204 +vt 0.425830 0.728156 +vt 0.471789 0.682198 +vt 0.093321 0.682198 +vt 0.047362 0.728156 +vt 0.022489 0.788204 +vt 0.022489 0.853199 +vt 0.047362 0.913247 +vt 0.093320 0.959205 +vt 0.153368 0.984078 +vt 0.218363 0.984078 +vt 0.278411 0.959205 +vt 0.324369 0.913247 +vt 0.349242 0.853199 +vt 0.349242 0.788204 +vt 0.324369 0.728156 +vt 0.278411 0.682198 +vt 0.187500 0.515625 +vt 0.250000 0.515625 +vt 0.875000 0.515625 +vt 0.937500 0.515625 +vt 0.750000 0.515625 +vt 0.812500 0.515625 +vt 0.562500 0.515625 +vt 0.625000 0.515625 +vt 0.687500 0.515625 +vt 0.500000 0.515625 +vt 0.437500 0.515625 +vt 0.375000 0.515625 +vt 0.312500 0.515625 +vt 0.125000 0.515625 +vt 0.062500 0.515625 +vt 0.000000 0.515625 +vt 1.000000 0.515625 +usemtl None +s off +f 54/1 41/2 42/3 55/4 +f 31/5 33/6 50/7 +f 29/8 31/5 50/7 +f 27/9 29/8 50/7 +f 25/10 27/9 50/7 +f 23/11 25/10 50/7 +f 21/12 23/11 50/7 +f 19/13 21/12 50/7 +f 17/14 19/13 50/7 +f 15/15 17/14 50/7 +f 13/16 15/15 50/7 +f 11/17 13/16 50/7 +f 9/18 11/17 50/7 +f 7/19 9/18 50/7 +f 5/20 7/19 50/7 +f 35/21 5/20 50/7 +f 6/22 36/23 49/24 +f 8/25 6/22 49/24 +f 10/26 8/25 49/24 +f 12/27 10/26 49/24 +f 14/28 12/27 49/24 +f 16/29 14/28 49/24 +f 18/30 16/29 49/24 +f 20/31 18/30 49/24 +f 22/32 20/31 49/24 +f 24/33 22/32 49/24 +f 26/34 24/33 49/24 +f 28/35 26/34 49/24 +f 30/36 28/35 49/24 +f 32/37 30/36 49/24 +f 34/38 32/37 49/24 +f 36/23 34/38 49/24 +f 33/6 35/21 50/7 +f 8/39 7/40 5/41 6/42 +f 6/42 5/41 35/43 36/44 +f 10/45 9/46 7/40 8/39 +f 12/47 11/48 9/46 10/45 +f 14/49 13/50 11/51 12/52 +f 16/53 15/54 13/50 14/49 +f 18/55 17/56 15/54 16/53 +f 20/57 19/58 17/56 18/55 +f 22/59 21/60 19/58 20/57 +f 24/61 23/62 21/60 22/59 +f 26/63 25/64 23/62 24/61 +f 28/65 27/66 25/64 26/63 +f 30/67 29/68 27/66 28/65 +f 32/69 31/70 29/68 30/67 +f 34/71 33/72 31/70 32/69 +f 36/44 35/43 33/72 34/71 +f 65/73 1/74 37/75 66/76 +f 63/77 3/78 2/79 62/80 +f 61/81 47/82 48/83 60/84 +f 64/85 4/86 3/78 63/77 +f 62/80 2/79 1/74 65/73 +f 60/84 48/83 4/86 64/85 +f 59/87 46/88 47/82 61/81 +f 58/89 45/90 46/88 59/87 +f 57/91 44/92 45/90 58/89 +f 56/93 43/94 44/92 57/91 +f 55/4 42/3 43/94 56/93 +f 53/95 40/96 41/2 54/1 +f 52/97 39/98 40/96 53/95 +f 51/99 38/100 39/98 52/97 +f 66/76 37/75 38/101 51/102 +f 67/58 69/60 70/59 68/57 +f 69/60 71/62 72/61 70/59 +f 71/62 73/64 74/63 72/61 +f 73/64 75/66 76/65 74/63 +f 75/66 77/68 78/67 76/65 +f 77/68 79/70 80/69 78/67 +f 79/70 81/72 82/71 80/69 +f 81/72 83/43 84/44 82/71 +f 83/43 85/41 86/42 84/44 +f 85/41 87/40 88/39 86/42 +f 87/40 89/46 90/45 88/39 +f 89/46 91/48 92/47 90/45 +f 91/51 93/50 94/49 92/52 +f 93/50 95/54 96/53 94/49 +f 97/56 67/58 68/57 98/55 +f 95/54 97/56 98/55 96/53 +f 70/103 116/104 68/105 +f 67/106 115/107 69/108 +f 69/108 115/107 71/109 +f 71/109 115/107 73/110 +f 73/110 115/107 75/111 +f 75/111 115/107 77/112 +f 77/112 115/107 79/113 +f 79/113 115/107 81/114 +f 81/114 115/107 83/115 +f 83/115 115/107 85/116 +f 85/116 115/107 87/117 +f 87/117 115/107 89/118 +f 89/118 115/107 91/119 +f 91/119 115/107 93/120 +f 93/120 115/107 95/121 +f 95/121 115/107 97/122 +f 97/122 115/107 67/106 +f 68/105 116/104 98/123 +f 98/123 116/104 96/124 +f 96/124 116/104 94/125 +f 94/125 116/104 92/126 +f 92/126 116/104 90/127 +f 90/127 116/104 88/128 +f 88/128 116/104 86/129 +f 86/129 116/104 84/130 +f 84/130 116/104 82/131 +f 82/131 116/104 80/132 +f 80/132 116/104 78/133 +f 78/133 116/104 76/134 +f 76/134 116/104 74/135 +f 74/135 116/104 72/136 +f 72/136 116/104 70/103 +f 107/137 120/1 121/4 108/138 +f 102/139 131/73 132/76 103/140 +f 100/141 129/77 128/80 101/142 +f 113/143 127/81 126/84 114/144 +f 99/145 130/85 129/77 100/141 +f 101/142 128/80 131/73 102/139 +f 114/144 126/84 130/85 99/145 +f 112/146 125/87 127/81 113/143 +f 111/147 124/89 125/87 112/146 +f 110/148 123/91 124/89 111/147 +f 109/149 122/93 123/91 110/148 +f 108/138 121/4 122/93 109/149 +f 106/150 119/95 120/1 107/137 +f 105/151 118/97 119/95 106/150 +f 104/152 117/99 118/97 105/151 +f 103/140 132/76 117/102 104/153 +f 133/58 135/60 136/59 134/57 +f 135/60 137/62 138/61 136/59 +f 137/62 139/64 140/63 138/61 +f 139/64 141/66 142/65 140/63 +f 141/66 143/68 144/67 142/65 +f 143/68 145/70 146/69 144/67 +f 145/70 147/72 148/71 146/69 +f 147/72 149/43 150/44 148/71 +f 149/43 151/41 152/42 150/44 +f 151/41 153/40 154/39 152/42 +f 153/40 155/46 156/45 154/39 +f 155/46 157/48 158/47 156/45 +f 157/51 159/50 160/49 158/52 +f 159/50 161/54 162/53 160/49 +f 163/56 133/58 134/57 164/55 +f 161/54 163/56 164/55 162/53 +f 136/103 182/104 134/105 +f 133/106 181/107 135/108 +f 135/108 181/107 137/109 +f 137/109 181/107 139/110 +f 139/110 181/107 141/111 +f 141/111 181/107 143/112 +f 143/112 181/107 145/113 +f 145/113 181/107 147/114 +f 147/114 181/107 149/115 +f 149/115 181/107 151/116 +f 151/116 181/107 153/117 +f 153/117 181/107 155/118 +f 155/118 181/107 157/119 +f 157/119 181/107 159/120 +f 159/120 181/107 161/121 +f 161/121 181/107 163/122 +f 163/122 181/107 133/106 +f 134/105 182/104 164/123 +f 164/123 182/104 162/124 +f 162/124 182/104 160/125 +f 160/125 182/104 158/126 +f 158/126 182/104 156/127 +f 156/127 182/104 154/128 +f 154/128 182/104 152/129 +f 152/129 182/104 150/130 +f 150/130 182/104 148/131 +f 148/131 182/104 146/132 +f 146/132 182/104 144/133 +f 144/133 182/104 142/134 +f 142/134 182/104 140/135 +f 140/135 182/104 138/136 +f 138/136 182/104 136/103 +f 173/137 223/2 224/3 174/138 +f 213/5 215/6 232/7 +f 211/8 213/5 232/7 +f 209/9 211/8 232/7 +f 207/10 209/9 232/7 +f 205/11 207/10 232/7 +f 203/12 205/11 232/7 +f 201/13 203/12 232/7 +f 199/14 201/13 232/7 +f 197/15 199/14 232/7 +f 195/16 197/15 232/7 +f 193/17 195/16 232/7 +f 191/18 193/17 232/7 +f 189/19 191/18 232/7 +f 187/20 189/19 232/7 +f 217/21 187/20 232/7 +f 188/22 218/23 231/24 +f 190/25 188/22 231/24 +f 192/26 190/25 231/24 +f 194/27 192/26 231/24 +f 196/28 194/27 231/24 +f 198/29 196/28 231/24 +f 200/30 198/29 231/24 +f 202/31 200/30 231/24 +f 204/32 202/31 231/24 +f 206/33 204/32 231/24 +f 208/34 206/33 231/24 +f 210/35 208/34 231/24 +f 212/36 210/35 231/24 +f 214/37 212/36 231/24 +f 216/38 214/37 231/24 +f 218/23 216/38 231/24 +f 215/6 217/21 232/7 +f 190/39 189/40 187/41 188/42 +f 188/42 187/41 217/43 218/44 +f 192/45 191/46 189/40 190/39 +f 194/47 193/48 191/46 192/45 +f 196/49 195/50 193/51 194/52 +f 198/53 197/54 195/50 196/49 +f 200/55 199/56 197/54 198/53 +f 202/57 201/58 199/56 200/55 +f 204/59 203/60 201/58 202/57 +f 206/61 205/62 203/60 204/59 +f 208/63 207/64 205/62 206/61 +f 210/65 209/66 207/64 208/63 +f 212/67 211/68 209/66 210/65 +f 214/69 213/70 211/68 212/67 +f 216/71 215/72 213/70 214/69 +f 218/44 217/43 215/72 216/71 +f 168/139 183/74 219/75 169/140 +f 166/141 185/78 184/79 167/142 +f 179/143 229/82 230/83 180/144 +f 165/145 186/86 185/78 166/141 +f 167/142 184/79 183/74 168/139 +f 180/144 230/83 186/86 165/145 +f 178/146 228/88 229/82 179/143 +f 177/147 227/90 228/88 178/146 +f 176/148 226/92 227/90 177/147 +f 175/149 225/94 226/92 176/148 +f 174/138 224/3 225/94 175/149 +f 172/150 222/96 223/2 173/137 +f 171/151 221/98 222/96 172/150 +f 170/152 220/100 221/98 171/151 +f 169/140 219/75 220/101 170/153 +f 286/1 273/2 274/3 287/4 +f 263/5 265/6 282/7 +f 261/8 263/5 282/7 +f 259/9 261/8 282/7 +f 257/10 259/9 282/7 +f 255/11 257/10 282/7 +f 253/12 255/11 282/7 +f 251/13 253/12 282/7 +f 249/14 251/13 282/7 +f 247/15 249/14 282/7 +f 245/16 247/15 282/7 +f 243/17 245/16 282/7 +f 241/18 243/17 282/7 +f 239/19 241/18 282/7 +f 237/20 239/19 282/7 +f 267/21 237/20 282/7 +f 238/22 268/23 281/24 +f 240/25 238/22 281/24 +f 242/26 240/25 281/24 +f 244/27 242/26 281/24 +f 246/28 244/27 281/24 +f 248/29 246/28 281/24 +f 250/30 248/29 281/24 +f 252/31 250/30 281/24 +f 254/32 252/31 281/24 +f 256/33 254/32 281/24 +f 258/34 256/33 281/24 +f 260/35 258/34 281/24 +f 262/36 260/35 281/24 +f 264/37 262/36 281/24 +f 266/38 264/37 281/24 +f 268/23 266/38 281/24 +f 265/6 267/21 282/7 +f 240/39 239/40 237/41 238/42 +f 238/42 237/41 267/43 268/44 +f 242/45 241/46 239/40 240/39 +f 244/47 243/48 241/46 242/45 +f 246/49 245/50 243/51 244/52 +f 248/53 247/54 245/50 246/49 +f 250/55 249/56 247/54 248/53 +f 252/57 251/58 249/56 250/55 +f 254/59 253/60 251/58 252/57 +f 256/61 255/62 253/60 254/59 +f 258/63 257/64 255/62 256/61 +f 260/65 259/66 257/64 258/63 +f 262/67 261/68 259/66 260/65 +f 264/69 263/70 261/68 262/67 +f 266/71 265/72 263/70 264/69 +f 268/44 267/43 265/72 266/71 +f 297/73 233/74 269/75 298/76 +f 295/77 235/78 234/79 294/80 +f 293/81 279/82 280/83 292/84 +f 296/85 236/86 235/78 295/77 +f 294/80 234/79 233/74 297/73 +f 292/84 280/83 236/86 296/85 +f 291/87 278/88 279/82 293/81 +f 290/89 277/90 278/88 291/87 +f 289/91 276/92 277/90 290/89 +f 288/93 275/94 276/92 289/91 +f 287/4 274/3 275/94 288/93 +f 285/95 272/96 273/2 286/1 +f 284/97 271/98 272/96 285/95 +f 283/99 270/100 271/98 284/97 +f 298/76 269/75 270/101 283/102 +f 299/58 301/60 302/59 300/57 +f 301/60 303/62 304/61 302/59 +f 303/62 305/64 306/63 304/61 +f 305/64 307/66 308/65 306/63 +f 307/66 309/68 310/67 308/65 +f 309/68 311/70 312/69 310/67 +f 311/70 313/72 314/71 312/69 +f 313/72 315/43 316/44 314/71 +f 315/43 317/41 318/42 316/44 +f 317/41 319/40 320/39 318/42 +f 319/40 321/46 322/45 320/39 +f 321/46 323/48 324/47 322/45 +f 323/51 325/50 326/49 324/52 +f 325/50 327/54 328/53 326/49 +f 329/56 299/58 300/57 330/55 +f 327/54 329/56 330/55 328/53 +f 302/103 348/104 300/105 +f 299/106 347/107 301/108 +f 301/108 347/107 303/109 +f 303/109 347/107 305/110 +f 305/110 347/107 307/111 +f 307/111 347/107 309/112 +f 309/112 347/107 311/113 +f 311/113 347/107 313/114 +f 313/114 347/107 315/115 +f 315/115 347/107 317/116 +f 317/116 347/107 319/117 +f 319/117 347/107 321/118 +f 321/118 347/107 323/119 +f 323/119 347/107 325/120 +f 325/120 347/107 327/121 +f 327/121 347/107 329/122 +f 329/122 347/107 299/106 +f 300/105 348/104 330/123 +f 330/123 348/104 328/124 +f 328/124 348/104 326/125 +f 326/125 348/104 324/126 +f 324/126 348/104 322/127 +f 322/127 348/104 320/128 +f 320/128 348/104 318/129 +f 318/129 348/104 316/130 +f 316/130 348/104 314/131 +f 314/131 348/104 312/132 +f 312/132 348/104 310/133 +f 310/133 348/104 308/134 +f 308/134 348/104 306/135 +f 306/135 348/104 304/136 +f 304/136 348/104 302/103 +f 339/137 352/1 353/4 340/138 +f 334/139 363/73 364/76 335/140 +f 332/141 361/77 360/80 333/142 +f 345/143 359/81 358/84 346/144 +f 331/145 362/85 361/77 332/141 +f 333/142 360/80 363/73 334/139 +f 346/144 358/84 362/85 331/145 +f 344/146 357/87 359/81 345/143 +f 343/147 356/89 357/87 344/146 +f 342/148 355/91 356/89 343/147 +f 341/149 354/93 355/91 342/148 +f 340/138 353/4 354/93 341/149 +f 338/150 351/95 352/1 339/137 +f 337/151 350/97 351/95 338/150 +f 336/152 349/99 350/97 337/151 +f 335/140 364/76 349/102 336/153 diff --git a/no-mods/pipeworks/models/pipeworks_pipe_2.obj b/no-mods/pipeworks/models/pipeworks_pipe_2.obj new file mode 100644 index 0000000..c75bca4 --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_pipe_2.obj @@ -0,0 +1,392 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-stub-end.blend' +# www.blender.org +o pipe.001_Cylinder.000 +v 0.024386 -0.024391 0.122598 +v 0.024386 -0.024391 -0.122598 +v 0.468750 -0.024387 0.122599 +v 0.468750 0.024386 0.122599 +v 0.024391 0.024386 0.122598 +v 0.500000 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.500000 -0.000000 0.000001 +v 0.500000 -0.129917 -0.086807 +v 0.500000 -0.153248 -0.030482 +v 0.500000 -0.153248 0.030483 +v 0.500000 -0.129917 0.086808 +v 0.500000 -0.086808 0.129918 +v 0.500000 -0.030483 0.153248 +v 0.500000 0.030483 0.153248 +v 0.500000 0.086808 0.129918 +v 0.500000 0.129917 0.086808 +v 0.500000 0.153247 0.030483 +v 0.500000 0.153247 -0.030482 +v 0.500000 0.129917 -0.086807 +v 0.500000 0.086808 -0.129917 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.086808 -0.129917 +v 0.468750 0.030483 -0.153247 +v 0.468750 -0.000000 -0.000000 +v 0.468750 0.129917 -0.086807 +v 0.468750 0.153247 -0.030482 +v 0.468750 0.153247 0.030483 +v 0.468750 0.129917 0.086808 +v 0.468750 0.086808 0.129918 +v 0.468750 0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.468750 -0.086808 0.129918 +v 0.468750 -0.129917 0.086808 +v 0.468750 -0.153248 0.030483 +v 0.468750 -0.153248 -0.030482 +v 0.468750 -0.129917 -0.086807 +v 0.468750 -0.086808 -0.129917 +v 0.468750 -0.030483 -0.153247 +v 0.024391 -0.103934 -0.069446 +v 0.468750 -0.103934 -0.069446 +v 0.468750 -0.122598 -0.024386 +v 0.024391 -0.122598 -0.024386 +v 0.468750 -0.024387 -0.122598 +v 0.468750 -0.069447 -0.103933 +v 0.024391 -0.069446 -0.103934 +v 0.468750 0.103933 -0.069446 +v 0.468750 0.069446 -0.103933 +v 0.024391 0.069446 -0.103934 +v 0.024391 0.024386 -0.122598 +v 0.468750 0.024386 -0.122598 +v 0.024391 0.122598 -0.024386 +v 0.468750 0.122598 -0.024386 +v 0.024391 0.122598 0.024386 +v 0.468750 0.122598 0.024387 +v 0.024391 0.103934 0.069446 +v 0.468750 0.103933 0.069447 +v 0.024391 0.069446 0.103934 +v 0.468750 0.069446 0.103934 +v 0.024391 -0.069446 0.103934 +v 0.468750 -0.069447 0.103934 +v 0.024391 -0.103934 0.069446 +v 0.468750 -0.103934 0.069447 +v 0.024391 -0.122598 0.024386 +v 0.468750 -0.122598 0.024387 +v 0.024390 0.103934 -0.069446 +v -0.042016 -0.000000 0.000000 +v -0.034206 -0.012195 0.061299 +v -0.034203 -0.034723 0.051967 +v -0.034203 -0.061299 0.012193 +v -0.034203 -0.061299 -0.012193 +v -0.034203 -0.051967 -0.034723 +v -0.034203 -0.051967 0.034723 +v -0.034203 -0.034723 -0.051967 +v -0.034206 -0.012196 -0.061299 +v -0.034203 0.012193 -0.061299 +v -0.034203 0.034723 -0.051967 +v -0.034203 0.051967 -0.034723 +v -0.034203 0.061299 -0.012193 +v -0.034203 0.061299 0.012193 +v -0.034203 0.051967 0.034723 +v -0.034203 0.034723 0.051967 +v -0.034203 0.012193 0.061299 +v -0.042017 -0.006098 0.030650 +v -0.042016 -0.017362 0.025984 +v -0.042016 -0.030650 0.006097 +v -0.042016 -0.030650 -0.006096 +v -0.042016 -0.025984 -0.017361 +v -0.014672 -0.077950 0.052085 +v -0.042016 -0.017362 -0.025983 +v -0.042017 -0.006098 -0.030649 +v -0.042016 0.006096 -0.030649 +v -0.042016 0.017361 -0.025983 +v -0.042016 0.025983 -0.017362 +v -0.042016 0.030649 -0.006096 +v -0.042016 0.030649 0.006097 +v -0.042016 0.025983 0.017362 +v -0.042016 0.017361 0.025984 +v -0.042016 0.006096 0.030650 +v -0.014675 -0.018293 0.091949 +v -0.014672 -0.052084 0.077951 +v -0.014672 -0.091948 0.018290 +v -0.014672 -0.091949 -0.018289 +v -0.014672 -0.077951 -0.052084 +v -0.042016 -0.025984 0.017362 +v -0.014672 -0.052085 -0.077950 +v -0.014675 -0.018293 -0.091948 +v -0.014672 0.018289 -0.091948 +v -0.014672 0.052084 -0.077950 +v -0.014672 0.077950 -0.052085 +v -0.014672 0.091948 -0.018289 +v -0.014672 0.091949 0.018290 +v -0.014672 0.077951 0.052085 +v -0.014672 0.052085 0.077951 +v -0.014672 0.018290 0.091949 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.812500 0.265625 +vt 0.812500 0.015625 +vt 0.625000 0.265625 +vt 0.625000 0.015625 +vt 0.687500 0.015625 +vt 0.687500 0.265625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.500000 0.015625 +vt 0.500000 0.265625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.250000 0.265625 +vt 0.250000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.125000 0.015625 +vt 0.125000 0.265625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.648437 0.265625 +vt 0.414062 0.265625 +vt 0.531250 0.265625 +vt 0.632812 0.265625 +vt 0.617187 0.265625 +vt 0.601562 0.265625 +vt 0.585937 0.265625 +vt 0.570312 0.265625 +vt 0.554687 0.265625 +vt 0.539062 0.265625 +vt 0.523437 0.265625 +vt 0.507812 0.265625 +vt 0.492187 0.265625 +vt 0.476562 0.265625 +vt 0.460937 0.265625 +vt 0.445312 0.265625 +vt 0.429687 0.265625 +vt 0.882812 0.265625 +vt 0.179687 0.265625 +vt 0.296875 0.265625 +vt 0.765625 0.265625 +vt 0.835937 0.265625 +vt 0.734375 0.265625 +vt 0.789062 0.265625 +vt 0.703125 0.265625 +vt 0.742187 0.265625 +vt 0.671875 0.265625 +vt 0.695312 0.265625 +vt 0.640625 0.265625 +vt 0.609375 0.265625 +vt 0.578125 0.265625 +vt 0.546875 0.265625 +vt 0.515625 0.265625 +vt 0.484375 0.265625 +vt 0.453125 0.265625 +vt 0.367187 0.265625 +vt 0.421875 0.265625 +vt 0.320312 0.265625 +vt 0.390625 0.265625 +vt 0.273437 0.265625 +vt 0.359375 0.265625 +vt 0.226562 0.265625 +vt 0.328125 0.265625 +s off +f 6/1 7/2 8/3 +f 9/4 6/1 8/3 +f 10/5 9/4 8/3 +f 11/6 10/5 8/3 +f 12/7 11/6 8/3 +f 13/8 12/7 8/3 +f 14/9 13/8 8/3 +f 15/10 14/9 8/3 +f 16/11 15/10 8/3 +f 17/12 16/11 8/3 +f 18/13 17/12 8/3 +f 19/14 18/13 8/3 +f 20/15 19/14 8/3 +f 21/16 20/15 8/3 +f 22/17 21/16 8/3 +f 23/18 24/19 25/20 +f 26/21 23/18 25/20 +f 27/22 26/21 25/20 +f 28/23 27/22 25/20 +f 29/24 28/23 25/20 +f 30/25 29/24 25/20 +f 31/26 30/25 25/20 +f 32/27 31/26 25/20 +f 33/28 32/27 25/20 +f 34/29 33/28 25/20 +f 35/30 34/29 25/20 +f 36/31 35/30 25/20 +f 37/32 36/31 25/20 +f 38/33 37/32 25/20 +f 39/34 38/33 25/20 +f 24/19 39/34 25/20 +f 7/2 22/17 8/3 +f 26/35 20/36 21/37 23/38 +f 23/38 21/37 22/39 24/40 +f 27/41 19/42 20/36 26/35 +f 28/43 18/44 19/42 27/41 +f 29/45 17/46 18/47 28/48 +f 30/49 16/50 17/46 29/45 +f 31/51 15/52 16/50 30/49 +f 32/53 14/54 15/52 31/51 +f 33/55 13/56 14/54 32/53 +f 34/57 12/58 13/56 33/55 +f 35/59 11/60 12/58 34/57 +f 36/61 10/62 11/60 35/59 +f 37/63 9/64 10/62 36/61 +f 38/65 6/66 9/64 37/63 +f 39/67 7/68 6/66 38/65 +f 24/40 22/39 7/68 39/67 +f 40/69 41/70 42/71 43/72 +f 46/73 45/74 41/70 40/69 +f 49/75 48/76 51/77 50/78 +f 54/79 55/80 53/81 52/82 +f 56/83 57/84 55/80 54/79 +f 58/85 59/86 57/84 56/83 +f 5/87 4/88 59/86 58/85 +f 62/89 63/90 61/91 60/92 +f 64/93 65/94 63/90 62/89 +f 43/72 42/71 65/95 64/96 +f 1/97 3/98 4/88 5/87 +f 2/99 44/100 45/74 46/73 +f 66/101 47/102 48/76 49/75 +f 50/78 51/77 44/100 2/99 +f 52/82 53/81 47/102 66/101 +f 60/92 61/91 3/98 1/97 +f 86/103 105/104 67/105 +f 87/106 86/103 67/105 +f 88/107 87/106 67/105 +f 90/108 88/107 67/105 +f 91/109 90/108 67/105 +f 92/110 91/109 67/105 +f 93/111 92/110 67/105 +f 94/112 93/111 67/105 +f 95/113 94/112 67/105 +f 96/114 95/113 67/105 +f 97/115 96/114 67/105 +f 98/116 97/115 67/105 +f 99/117 98/116 67/105 +f 84/118 99/117 67/105 +f 85/119 84/118 67/105 +f 105/104 85/119 67/105 +f 102/120 89/121 73/122 70/123 +f 103/124 102/120 70/123 71/125 +f 104/126 103/124 71/125 72/127 +f 106/128 104/126 72/127 74/129 +f 107/130 106/128 74/129 75/131 +f 108/103 107/130 75/131 76/132 +f 109/108 108/103 76/132 77/133 +f 110/111 109/108 77/133 78/134 +f 111/114 110/111 78/134 79/135 +f 112/117 111/114 79/135 80/136 +f 113/104 112/117 80/136 81/137 +f 114/138 113/104 81/137 82/139 +f 115/140 114/138 82/139 83/141 +f 100/142 115/140 83/141 68/143 +f 101/144 100/142 68/143 69/145 +f 89/121 101/144 69/145 73/122 +f 70/123 73/122 105/104 86/103 +f 71/125 70/123 86/103 87/106 +f 72/127 71/125 87/106 88/107 +f 74/129 72/127 88/107 90/108 +f 75/131 74/129 90/108 91/109 +f 76/132 75/131 91/109 92/110 +f 77/133 76/132 92/110 93/111 +f 78/134 77/133 93/111 94/112 +f 79/135 78/134 94/112 95/113 +f 80/136 79/135 95/113 96/114 +f 81/137 80/136 96/114 97/115 +f 82/139 81/137 97/115 98/116 +f 83/141 82/139 98/116 99/117 +f 68/143 83/141 99/117 84/118 +f 69/145 68/143 84/118 85/119 +f 73/122 69/145 85/119 105/104 +f 64/96 62/89 89/121 102/120 +f 43/72 64/96 102/120 103/124 +f 40/69 43/72 103/124 104/126 +f 46/73 40/69 104/126 106/128 +f 2/99 46/73 106/128 107/130 +f 50/78 2/99 107/130 108/103 +f 49/75 50/78 108/103 109/108 +f 66/101 49/75 109/108 110/111 +f 52/82 66/101 110/111 111/114 +f 54/79 52/82 111/114 112/117 +f 56/83 54/79 112/117 113/104 +f 58/85 56/83 113/104 114/138 +f 5/87 58/85 114/138 115/140 +f 1/97 5/87 115/140 100/142 +f 60/92 1/97 100/142 101/144 +f 62/89 60/92 101/144 89/121 diff --git a/no-mods/pipeworks/models/pipeworks_pipe_3.obj b/no-mods/pipeworks/models/pipeworks_pipe_3.obj new file mode 100644 index 0000000..f126551 --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_pipe_3.obj @@ -0,0 +1,354 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-2way-straight.blend' +# www.blender.org +mtllib pipeworks_pipe_3.mtl +o Cube.001 +v 0.468750 -0.153248 0.030483 +v 0.500000 -0.153248 0.030483 +v 0.468750 -0.153248 -0.030483 +v 0.500000 -0.153248 -0.030483 +v 0.468750 -0.129917 -0.086808 +v 0.500000 -0.129917 -0.086808 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.030483 -0.153248 +v 0.500000 -0.030483 -0.153248 +v 0.468750 0.030483 -0.153248 +v 0.500000 0.030483 -0.153248 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153247 -0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.129917 0.086808 +v 0.500000 0.129917 0.086808 +v 0.468750 0.086808 0.129917 +v 0.500000 0.086808 0.129917 +v 0.468750 0.030483 0.153248 +v 0.500000 0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.086808 0.129917 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.122598 0.024386 +v 0.468750 -0.122598 -0.024386 +v 0.468750 -0.103934 -0.069446 +v 0.468750 -0.069446 -0.103934 +v 0.468750 -0.024386 -0.122598 +v 0.468750 0.024386 -0.122598 +v 0.468750 0.069446 -0.103934 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.122598 0.024386 +v 0.468750 0.103934 0.069446 +v 0.468750 0.069446 0.103934 +v 0.468750 0.024386 0.122598 +v 0.468750 -0.024387 0.122598 +v 0.468750 -0.069447 0.103934 +v 0.468750 -0.103934 0.069446 +v 0.468750 -0.000000 -0.000000 +v 0.500000 -0.000000 0.000000 +v -0.468750 -0.069446 -0.103934 +v -0.468750 -0.103933 -0.069446 +v -0.468750 -0.122598 -0.024387 +v -0.468750 -0.122598 0.024386 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.030483 0.153247 +v -0.468750 -0.030483 0.153248 +v -0.500000 0.030483 0.153247 +v -0.468750 0.030483 0.153248 +v -0.500000 0.086808 0.129917 +v -0.468750 0.086808 0.129917 +v -0.500000 0.129917 0.086808 +v -0.468750 0.129917 0.086808 +v -0.500000 0.153248 0.030483 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.030483 -0.153248 +v -0.468750 0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.153247 -0.030483 +v -0.468750 -0.153247 -0.030483 +v -0.500000 -0.153247 0.030483 +v -0.468750 -0.153247 0.030483 +v -0.468750 -0.024386 -0.122598 +v -0.468750 0.024387 -0.122598 +v -0.468750 0.069447 -0.103934 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.122598 0.024386 +v -0.468750 0.103934 0.069446 +v -0.468750 0.069447 0.103934 +v -0.468750 0.024387 0.122598 +v -0.468750 -0.024386 0.122598 +v -0.468750 -0.069446 0.103933 +v -0.468750 -0.103933 0.069446 +v -0.468750 0.000000 -0.000000 +v -0.500000 0.000000 -0.000000 +vt 0.750000 0.546875 +vt 0.687500 0.546875 +vt 0.687500 0.609375 +vt 0.750000 0.609375 +vt 0.625000 0.546875 +vt 0.625000 0.609375 +vt 0.562500 0.546875 +vt 0.562500 0.609375 +vt 0.500000 0.546875 +vt 0.500000 0.609375 +vt 0.437500 0.546875 +vt 0.437500 0.609375 +vt 0.375000 0.546875 +vt 0.375000 0.609375 +vt 0.312500 0.546875 +vt 0.312500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.125000 0.546875 +vt 0.125000 0.609375 +vt 0.062500 0.546875 +vt 0.062500 0.609375 +vt 0.000000 0.546875 +vt 0.000000 0.609375 +vt 1.000000 0.546875 +vt 0.937500 0.546875 +vt 0.937500 0.609375 +vt 1.000000 0.609375 +vt 0.875000 0.546875 +vt 0.875000 0.609375 +vt 0.812500 0.546875 +vt 0.812500 0.609375 +vt 0.218363 0.657325 +vt 0.185866 0.820702 +vt 0.153368 0.657325 +vt 0.531836 0.657325 +vt 0.564334 0.820702 +vt 0.596832 0.657325 +vt 0.656879 0.682198 +vt 0.702838 0.728156 +vt 0.727710 0.788204 +vt 0.727710 0.853199 +vt 0.702838 0.913247 +vt 0.656879 0.959205 +vt 0.596831 0.984078 +vt 0.531836 0.984078 +vt 0.471788 0.959205 +vt 0.425830 0.913247 +vt 0.400957 0.853199 +vt 0.400957 0.788204 +vt 0.425830 0.728156 +vt 0.471789 0.682198 +vt 0.093321 0.682198 +vt 0.047362 0.728156 +vt 0.022489 0.788204 +vt 0.022489 0.853199 +vt 0.047362 0.913247 +vt 0.093320 0.959205 +vt 0.153368 0.984078 +vt 0.218363 0.984078 +vt 0.278411 0.959205 +vt 0.324369 0.913247 +vt 0.349242 0.853199 +vt 0.349242 0.788204 +vt 0.324369 0.728156 +vt 0.278411 0.682198 +vt 0.187500 0.515625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.515625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.875000 0.515625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.515625 +vt 0.750000 0.515625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.515625 +vt 0.562500 0.515625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.515625 +vt 0.687500 0.515625 +vt 0.687500 0.015625 +vt 0.500000 0.515625 +vt 0.500000 0.015625 +vt 0.437500 0.515625 +vt 0.437500 0.015625 +vt 0.375000 0.515625 +vt 0.375000 0.015625 +vt 0.312500 0.515625 +vt 0.312500 0.015625 +vt 0.125000 0.515625 +vt 0.125000 0.015625 +vt 0.062500 0.515625 +vt 0.062500 0.015625 +vt 0.000000 0.515625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.515625 +usemtl None +s off +f 1/1 3/2 4/3 2/4 +f 3/2 5/5 6/6 4/3 +f 5/5 7/7 8/8 6/6 +f 7/7 9/9 10/10 8/8 +f 9/9 11/11 12/12 10/10 +f 11/11 13/13 14/14 12/12 +f 13/13 15/15 16/16 14/14 +f 15/15 17/17 18/18 16/16 +f 17/17 19/19 20/20 18/18 +f 19/19 21/21 22/22 20/20 +f 21/21 23/23 24/24 22/22 +f 23/23 25/25 26/26 24/24 +f 25/27 27/28 28/29 26/30 +f 27/28 29/31 30/32 28/29 +f 31/33 1/1 2/4 32/34 +f 29/31 31/33 32/34 30/32 +f 4/35 50/36 2/37 +f 1/38 49/39 3/40 +f 3/40 49/39 5/41 +f 5/41 49/39 7/42 +f 7/42 49/39 9/43 +f 9/43 49/39 11/44 +f 11/44 49/39 13/45 +f 13/45 49/39 15/46 +f 15/46 49/39 17/47 +f 17/47 49/39 19/48 +f 19/48 49/39 21/49 +f 21/49 49/39 23/50 +f 23/50 49/39 25/51 +f 25/51 49/39 27/52 +f 27/52 49/39 29/53 +f 29/53 49/39 31/54 +f 31/54 49/39 1/38 +f 2/37 50/36 32/55 +f 32/55 50/36 30/56 +f 30/56 50/36 28/57 +f 28/57 50/36 26/58 +f 26/58 50/36 24/59 +f 24/59 50/36 22/60 +f 22/60 50/36 20/61 +f 20/61 50/36 18/62 +f 18/62 50/36 16/63 +f 16/63 50/36 14/64 +f 14/64 50/36 12/65 +f 12/65 50/36 10/66 +f 10/66 50/36 8/67 +f 8/67 50/36 6/68 +f 6/68 50/36 4/35 +f 41/69 91/70 92/71 42/72 +f 81/73 83/74 100/75 +f 79/76 81/73 100/75 +f 77/77 79/76 100/75 +f 75/78 77/77 100/75 +f 73/79 75/78 100/75 +f 71/80 73/79 100/75 +f 69/81 71/80 100/75 +f 67/82 69/81 100/75 +f 65/83 67/82 100/75 +f 63/84 65/83 100/75 +f 61/85 63/84 100/75 +f 59/86 61/85 100/75 +f 57/87 59/86 100/75 +f 55/88 57/87 100/75 +f 85/89 55/88 100/75 +f 56/90 86/91 99/92 +f 58/93 56/90 99/92 +f 60/94 58/93 99/92 +f 62/95 60/94 99/92 +f 64/96 62/95 99/92 +f 66/97 64/96 99/92 +f 68/98 66/97 99/92 +f 70/99 68/98 99/92 +f 72/100 70/99 99/92 +f 74/101 72/100 99/92 +f 76/102 74/101 99/92 +f 78/103 76/102 99/92 +f 80/104 78/103 99/92 +f 82/105 80/104 99/92 +f 84/106 82/105 99/92 +f 86/91 84/106 99/92 +f 83/74 85/89 100/75 +f 58/22 57/21 55/19 56/20 +f 56/20 55/19 85/17 86/18 +f 60/24 59/23 57/21 58/22 +f 62/26 61/25 59/23 60/24 +f 64/29 63/28 61/27 62/30 +f 66/32 65/31 63/28 64/29 +f 68/34 67/33 65/31 66/32 +f 70/4 69/1 67/33 68/34 +f 72/3 71/2 69/1 70/4 +f 74/6 73/5 71/2 72/3 +f 76/8 75/7 73/5 74/6 +f 78/10 77/9 75/7 76/8 +f 80/12 79/11 77/9 78/10 +f 82/14 81/13 79/11 80/12 +f 84/16 83/15 81/13 82/14 +f 86/18 85/17 83/15 84/16 +f 36/107 51/108 87/109 37/110 +f 34/111 53/112 52/113 35/114 +f 47/115 97/116 98/117 48/118 +f 33/119 54/120 53/112 34/111 +f 35/114 52/113 51/108 36/107 +f 48/118 98/117 54/120 33/119 +f 46/121 96/122 97/116 47/115 +f 45/123 95/124 96/122 46/121 +f 44/125 94/126 95/124 45/123 +f 43/127 93/128 94/126 44/125 +f 42/72 92/71 93/128 43/127 +f 40/129 90/130 91/70 41/69 +f 39/131 89/132 90/130 40/129 +f 38/133 88/134 89/132 39/131 +f 37/110 87/109 88/135 38/136 diff --git a/no-mods/pipeworks/models/pipeworks_pipe_4.obj b/no-mods/pipeworks/models/pipeworks_pipe_4.obj new file mode 100644 index 0000000..0ef583f --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_pipe_4.obj @@ -0,0 +1,478 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-2way-corner.blend' +# www.blender.org +mtllib pipeworks_pipe_4.mtl +o pipe.001_Cylinder.000 +v -0.024386 -0.024391 0.122598 +v -0.024387 -0.468750 0.122598 +v 0.024386 -0.468750 0.122598 +v 0.024386 -0.024391 0.122598 +v -0.086808 -0.500000 -0.129917 +v -0.030483 -0.500000 -0.153247 +v -0.000000 -0.500000 0.000000 +v -0.129917 -0.500000 -0.086808 +v -0.153248 -0.500000 -0.030483 +v -0.153248 -0.500000 0.030483 +v -0.129917 -0.500000 0.086808 +v -0.086808 -0.500000 0.129917 +v -0.030483 -0.500000 0.153248 +v 0.030483 -0.500000 0.153248 +v 0.086808 -0.500000 0.129917 +v 0.129917 -0.500000 0.086808 +v 0.153247 -0.500000 0.030483 +v 0.153248 -0.500000 -0.030483 +v 0.129917 -0.500000 -0.086808 +v 0.086808 -0.500000 -0.129917 +v 0.030483 -0.500000 -0.153247 +v 0.086808 -0.468750 -0.129917 +v 0.030483 -0.468750 -0.153248 +v -0.000000 -0.468750 0.000000 +v 0.129917 -0.468750 -0.086808 +v 0.153248 -0.468750 -0.030483 +v 0.153247 -0.468750 0.030483 +v 0.129917 -0.468750 0.086808 +v 0.086808 -0.468750 0.129917 +v 0.030483 -0.468750 0.153248 +v -0.030483 -0.468750 0.153248 +v -0.086808 -0.468750 0.129917 +v -0.129917 -0.468750 0.086808 +v -0.153248 -0.468750 0.030483 +v -0.153248 -0.468750 -0.030483 +v -0.129917 -0.468750 -0.086808 +v -0.086808 -0.468750 -0.129917 +v -0.030483 -0.468750 -0.153248 +v -0.103934 -0.024391 -0.069446 +v -0.103934 -0.468750 -0.069446 +v -0.122598 -0.468750 -0.024386 +v -0.122598 -0.024391 -0.024386 +v -0.024386 -0.024391 -0.122598 +v -0.024386 -0.468750 -0.122598 +v -0.069446 -0.468750 -0.103933 +v -0.069446 -0.024391 -0.103934 +v 0.103934 -0.024391 -0.069446 +v 0.103933 -0.468750 -0.069446 +v 0.069446 -0.468750 -0.103934 +v 0.069446 -0.024391 -0.103934 +v 0.024386 -0.024391 -0.122598 +v 0.024386 -0.468750 -0.122598 +v 0.122598 -0.024391 -0.024386 +v 0.122598 -0.468750 -0.024386 +v 0.122598 -0.024391 0.024386 +v 0.122598 -0.468750 0.024386 +v 0.103934 -0.024391 0.069446 +v 0.103933 -0.468750 0.069447 +v 0.069446 -0.024391 0.103934 +v 0.069446 -0.468750 0.103934 +v -0.069446 -0.024391 0.103934 +v -0.069447 -0.468750 0.103934 +v -0.103934 -0.024391 0.069446 +v -0.103934 -0.468750 0.069446 +v -0.122598 -0.024391 0.024386 +v -0.122598 -0.468750 0.024386 +v -0.041924 0.041589 0.103934 +v -0.041925 0.041589 -0.103934 +v -0.010062 0.009727 -0.122598 +v -0.079509 0.079173 -0.024386 +v -0.066311 0.065976 -0.069446 +v -0.024663 0.094826 -0.069446 +v -0.011464 0.062964 0.103934 +v -0.024662 0.094827 0.069446 +v -0.031805 0.112070 0.024386 +v -0.031805 0.112070 -0.024386 +v 0.005779 0.021334 -0.122598 +v -0.011464 0.062964 -0.103934 +v 0.005780 0.021334 0.122598 +v -0.079509 0.079173 0.024386 +v -0.066311 0.065976 0.069446 +v 0.468750 -0.024387 0.122599 +v 0.468750 0.024386 0.122599 +v 0.024391 0.024386 0.122598 +v 0.500000 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.500000 -0.000000 0.000001 +v 0.500000 -0.129917 -0.086807 +v 0.500000 -0.153248 -0.030482 +v 0.500000 -0.153248 0.030483 +v 0.500000 -0.129917 0.086808 +v 0.500000 -0.086808 0.129918 +v 0.500000 -0.030483 0.153248 +v 0.500000 0.030483 0.153248 +v 0.500000 0.086808 0.129918 +v 0.500000 0.129917 0.086808 +v 0.500000 0.153247 0.030483 +v 0.500000 0.153247 -0.030482 +v 0.500000 0.129917 -0.086807 +v 0.500000 0.086808 -0.129917 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.086808 -0.129917 +v 0.468750 0.030483 -0.153247 +v 0.468750 -0.000000 -0.000000 +v 0.468750 0.129917 -0.086807 +v 0.468750 0.153247 -0.030482 +v 0.468750 0.153247 0.030483 +v 0.468750 0.129917 0.086808 +v 0.468750 0.086808 0.129918 +v 0.468750 0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.468750 -0.086808 0.129918 +v 0.468750 -0.129917 0.086808 +v 0.468750 -0.153248 0.030483 +v 0.468750 -0.153248 -0.030482 +v 0.468750 -0.129917 -0.086807 +v 0.468750 -0.086808 -0.129917 +v 0.468750 -0.030483 -0.153247 +v 0.024391 -0.103934 -0.069446 +v 0.468750 -0.103934 -0.069446 +v 0.468750 -0.122598 -0.024386 +v 0.024391 -0.122598 -0.024386 +v 0.468750 -0.024387 -0.122598 +v 0.468750 -0.069447 -0.103933 +v 0.024391 -0.069446 -0.103934 +v 0.468750 0.103933 -0.069446 +v 0.468750 0.069446 -0.103933 +v 0.024391 0.069446 -0.103934 +v 0.024391 0.024386 -0.122598 +v 0.468750 0.024386 -0.122598 +v 0.024391 0.122598 -0.024386 +v 0.468750 0.122598 -0.024386 +v 0.024391 0.122598 0.024386 +v 0.468750 0.122598 0.024387 +v 0.024391 0.103934 0.069446 +v 0.468750 0.103933 0.069447 +v 0.024391 0.069446 0.103934 +v 0.468750 0.069446 0.103934 +v 0.024391 -0.069446 0.103934 +v 0.468750 -0.069447 0.103934 +v 0.024391 -0.103934 0.069446 +v 0.468750 -0.103934 0.069447 +v 0.024391 -0.122598 0.024386 +v 0.468750 -0.122598 0.024387 +v 0.024390 0.103934 -0.069446 +v -0.020763 -0.005780 0.122598 +v -0.111499 0.031804 0.024386 +v -0.094256 0.024662 0.069446 +v -0.062393 0.011464 0.103934 +v -0.062393 0.011464 -0.103934 +v -0.020763 -0.005780 -0.122598 +v -0.111499 0.031804 -0.024386 +v -0.094256 0.024662 -0.069446 +v -0.010062 0.009727 0.122598 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.265625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.265625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.265625 +vt 0.687500 0.265625 +vt 0.687500 0.015625 +vt 0.500000 0.265625 +vt 0.500000 0.015625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.125000 0.265625 +vt 0.125000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.201671 0.341280 +vt 0.315528 0.341280 +vt 0.307071 0.384726 +vt 0.531250 0.296875 +vt 0.531250 0.343750 +vt 0.484375 0.343750 +vt 0.484375 0.296875 +vt 0.437500 0.343750 +vt 0.437500 0.296875 +vt 0.390625 0.296875 +vt 0.390625 0.343750 +vt 0.343750 0.343750 +vt 0.343750 0.296875 +vt 0.578125 0.296875 +vt 0.578125 0.343750 +vt 0.625000 0.296875 +vt 0.625000 0.343750 +vt 0.671875 0.296875 +vt 0.671875 0.343750 +vt 0.801371 0.340121 +vt 0.695971 0.383568 +vt 0.687514 0.340121 +vt 0.720953 0.419768 +vt 0.757935 0.446864 +vt 0.801382 0.453989 +vt 0.625000 0.484375 +vt 0.625000 0.437500 +vt 0.671875 0.437500 +vt 0.671875 0.484375 +vt 0.625000 0.390625 +vt 0.671875 0.390625 +vt 0.578125 0.390625 +vt 0.531250 0.390625 +vt 0.484375 0.390625 +vt 0.437500 0.390625 +vt 0.282090 0.420927 +vt 0.245108 0.448023 +vt 0.201660 0.455148 +vt 0.390625 0.390625 +vt 0.343750 0.390625 +vt 0.390625 0.437500 +vt 0.343750 0.437500 +vt 0.343750 0.484375 +vt 0.390625 0.484375 +vt 0.437500 0.437500 +vt 0.437500 0.484375 +vt 0.484375 0.437500 +vt 0.484375 0.484375 +vt 0.531250 0.437500 +vt 0.531250 0.484375 +vt 0.578125 0.484375 +vt 0.578125 0.437500 +usemtl None +s off +f 1/1 2/2 3/3 4/4 +f 5/5 6/6 7/7 +f 8/8 5/5 7/7 +f 9/9 8/8 7/7 +f 10/10 9/9 7/7 +f 11/11 10/10 7/7 +f 12/12 11/11 7/7 +f 13/13 12/12 7/7 +f 14/14 13/13 7/7 +f 15/15 14/14 7/7 +f 16/16 15/15 7/7 +f 17/17 16/16 7/7 +f 18/18 17/17 7/7 +f 19/19 18/18 7/7 +f 20/20 19/19 7/7 +f 21/21 20/20 7/7 +f 22/22 23/23 24/24 +f 25/25 22/22 24/24 +f 26/26 25/25 24/24 +f 27/27 26/26 24/24 +f 28/28 27/27 24/24 +f 29/29 28/28 24/24 +f 30/30 29/29 24/24 +f 31/31 30/30 24/24 +f 32/32 31/31 24/24 +f 33/33 32/32 24/24 +f 34/34 33/33 24/24 +f 35/35 34/34 24/24 +f 36/36 35/35 24/24 +f 37/37 36/36 24/24 +f 38/38 37/37 24/24 +f 23/23 38/38 24/24 +f 6/6 21/21 7/7 +f 25/39 19/40 20/41 22/42 +f 22/42 20/41 21/43 23/44 +f 26/45 18/46 19/40 25/39 +f 27/47 17/48 18/46 26/45 +f 28/49 16/50 17/51 27/52 +f 29/53 15/54 16/50 28/49 +f 30/55 14/56 15/54 29/53 +f 31/57 13/58 14/56 30/55 +f 32/59 12/60 13/58 31/57 +f 33/61 11/62 12/60 32/59 +f 34/63 10/64 11/62 33/61 +f 35/65 9/66 10/64 34/63 +f 36/67 8/68 9/66 35/65 +f 37/69 5/70 8/68 36/67 +f 38/71 6/72 5/70 37/69 +f 23/44 21/43 6/72 38/71 +f 39/73 40/74 41/75 42/76 +f 43/77 44/78 45/79 46/80 +f 47/81 48/82 49/83 50/84 +f 51/85 52/86 44/78 43/77 +f 46/80 45/79 40/74 39/73 +f 50/84 49/83 52/86 51/85 +f 53/87 54/88 48/82 47/81 +f 55/89 56/90 54/88 53/87 +f 57/91 58/92 56/90 55/89 +f 59/93 60/94 58/92 57/91 +f 4/4 3/3 60/94 59/93 +f 2/2 1/1 61/95 62/96 +f 63/97 64/98 62/96 61/95 +f 65/99 66/100 64/98 63/97 +f 42/76 41/75 66/101 65/102 +f 85/5 86/6 87/7 +f 88/8 85/5 87/7 +f 89/9 88/8 87/7 +f 90/10 89/9 87/7 +f 91/11 90/10 87/7 +f 92/12 91/11 87/7 +f 93/13 92/12 87/7 +f 94/14 93/13 87/7 +f 95/15 94/14 87/7 +f 96/16 95/15 87/7 +f 97/17 96/16 87/7 +f 98/18 97/17 87/7 +f 99/19 98/18 87/7 +f 100/20 99/19 87/7 +f 101/21 100/20 87/7 +f 102/22 103/23 104/24 +f 105/25 102/22 104/24 +f 106/26 105/25 104/24 +f 107/27 106/26 104/24 +f 108/28 107/27 104/24 +f 109/29 108/28 104/24 +f 110/30 109/29 104/24 +f 111/31 110/30 104/24 +f 112/32 111/31 104/24 +f 113/33 112/32 104/24 +f 114/34 113/33 104/24 +f 115/35 114/34 104/24 +f 116/36 115/35 104/24 +f 117/37 116/36 104/24 +f 118/38 117/37 104/24 +f 103/23 118/38 104/24 +f 86/6 101/21 87/7 +f 105/39 99/40 100/41 102/42 +f 102/42 100/41 101/43 103/44 +f 106/45 98/46 99/40 105/39 +f 107/47 97/48 98/46 106/45 +f 108/49 96/50 97/51 107/52 +f 109/53 95/54 96/50 108/49 +f 110/55 94/56 95/54 109/53 +f 111/57 93/58 94/56 110/55 +f 112/59 92/60 93/58 111/57 +f 113/61 91/62 92/60 112/59 +f 114/63 90/64 91/62 113/61 +f 115/65 89/66 90/64 114/63 +f 116/67 88/68 89/66 115/65 +f 117/69 85/70 88/68 116/67 +f 118/71 86/72 85/70 117/69 +f 103/44 101/43 86/72 118/71 +f 119/73 120/74 121/75 122/76 +f 125/80 124/79 120/74 119/73 +f 128/84 127/83 130/86 129/85 +f 133/89 134/90 132/88 131/87 +f 135/91 136/92 134/90 133/89 +f 137/93 138/94 136/92 135/91 +f 84/4 83/3 138/94 137/93 +f 141/97 142/98 140/96 139/95 +f 143/99 144/100 142/98 141/97 +f 122/76 121/75 144/101 143/102 +f 4/1 82/2 83/3 84/4 +f 51/77 123/78 124/79 125/80 +f 145/81 126/82 127/83 128/84 +f 129/85 130/86 123/78 51/77 +f 131/87 132/88 126/82 145/81 +f 139/95 140/96 82/2 4/1 +f 51/103 43/104 151/105 +f 65/106 147/107 152/108 42/109 +f 42/109 152/108 153/110 39/111 +f 46/112 39/111 153/110 150/113 +f 46/112 150/113 151/114 43/115 +f 65/106 63/116 148/117 147/107 +f 63/116 61/118 149/119 148/117 +f 61/118 1/120 146/121 149/119 +f 4/122 146/123 1/124 +f 4/122 154/125 146/123 +f 4/122 79/126 154/125 +f 79/126 4/122 84/127 +f 137/128 73/129 79/130 84/131 +f 73/129 67/132 154/133 79/130 +f 149/119 146/121 154/133 67/132 +f 81/134 148/117 149/119 67/132 +f 80/135 147/107 148/117 81/134 +f 80/135 70/136 152/108 147/107 +f 70/136 71/137 153/110 152/108 +f 51/103 151/105 69/138 +f 51/103 69/138 77/139 +f 77/139 129/140 51/103 +f 150/113 68/141 69/142 151/114 +f 78/143 77/144 69/142 68/141 +f 68/141 150/113 153/110 71/137 +f 129/145 77/144 78/143 128/146 +f 78/143 68/141 71/137 72/147 +f 78/143 72/147 145/148 128/146 +f 76/149 72/147 71/137 70/136 +f 76/149 131/150 145/148 72/147 +f 80/135 75/151 76/149 70/136 +f 133/152 131/150 76/149 75/151 +f 135/153 133/152 75/151 74/154 +f 75/151 80/135 81/134 74/154 +f 74/154 81/134 67/132 73/129 +f 137/128 135/153 74/154 73/129 diff --git a/no-mods/pipeworks/models/pipeworks_pipe_5.obj b/no-mods/pipeworks/models/pipeworks_pipe_5.obj new file mode 100644 index 0000000..abf8b97 --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_pipe_5.obj @@ -0,0 +1,542 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-3way-corner.blend' +# www.blender.org +o pipe.001_Cylinder.000 +v 0.122598 -0.024391 0.024386 +v 0.122598 -0.468750 0.024387 +v 0.122598 -0.468750 -0.024386 +v 0.122598 -0.024391 -0.024386 +v -0.129917 -0.500000 0.086808 +v -0.153247 -0.500000 0.030483 +v 0.000000 -0.500000 -0.000000 +v -0.086808 -0.500000 0.129917 +v -0.030483 -0.500000 0.153248 +v 0.030483 -0.500000 0.153248 +v 0.086808 -0.500000 0.129917 +v 0.129917 -0.500000 0.086808 +v 0.153248 -0.500000 0.030483 +v 0.153248 -0.500000 -0.030483 +v 0.129917 -0.500000 -0.086808 +v 0.086808 -0.500000 -0.129917 +v 0.030483 -0.500000 -0.153247 +v -0.030483 -0.500000 -0.153248 +v -0.086808 -0.500000 -0.129917 +v -0.129917 -0.500000 -0.086808 +v -0.153247 -0.500000 -0.030483 +v -0.129917 -0.468750 -0.086808 +v -0.153248 -0.468750 -0.030483 +v 0.000000 -0.468750 -0.000000 +v -0.086808 -0.468750 -0.129917 +v -0.030483 -0.468750 -0.153248 +v 0.030483 -0.468750 -0.153247 +v 0.086808 -0.468750 -0.129917 +v 0.129917 -0.468750 -0.086808 +v 0.153248 -0.468750 -0.030483 +v 0.153248 -0.468750 0.030483 +v 0.129917 -0.468750 0.086808 +v 0.086808 -0.468750 0.129917 +v 0.030483 -0.468750 0.153248 +v -0.030483 -0.468750 0.153248 +v -0.086808 -0.468750 0.129917 +v -0.129917 -0.468750 0.086808 +v -0.153248 -0.468750 0.030483 +v -0.069446 -0.024391 0.103934 +v -0.069446 -0.468750 0.103934 +v -0.024386 -0.468750 0.122598 +v -0.024386 -0.024391 0.122598 +v -0.122598 -0.024391 0.024386 +v -0.122598 -0.468750 0.024386 +v -0.103933 -0.468750 0.069446 +v -0.103934 -0.024391 0.069446 +v -0.069446 -0.024391 -0.103934 +v -0.069446 -0.468750 -0.103933 +v -0.103934 -0.468750 -0.069446 +v -0.103934 -0.024391 -0.069446 +v -0.122598 -0.024391 -0.024386 +v -0.122598 -0.468750 -0.024386 +v -0.024386 -0.024391 -0.122598 +v -0.024386 -0.468750 -0.122598 +v 0.024386 -0.024391 -0.122598 +v 0.024386 -0.468750 -0.122598 +v 0.069446 -0.024391 -0.103934 +v 0.069447 -0.468750 -0.103933 +v 0.103934 -0.024391 -0.069446 +v 0.103934 -0.468750 -0.069446 +v 0.103934 -0.024391 0.069446 +v 0.103934 -0.468750 0.069447 +v 0.069446 -0.024391 0.103934 +v 0.069446 -0.468750 0.103934 +v 0.024386 -0.024391 0.122598 +v 0.024386 -0.468750 0.122598 +v 0.468750 0.122598 0.024387 +v 0.468750 0.122598 -0.024386 +v 0.500000 -0.129917 0.086808 +v 0.500000 -0.153248 0.030483 +v 0.500000 0.000000 0.000000 +v 0.500000 -0.086808 0.129917 +v 0.500000 -0.030483 0.153248 +v 0.500000 0.030483 0.153248 +v 0.500000 0.086808 0.129917 +v 0.500000 0.129917 0.086808 +v 0.500000 0.153248 0.030483 +v 0.500000 0.153248 -0.030483 +v 0.500000 0.129917 -0.086808 +v 0.500000 0.086808 -0.129917 +v 0.500000 0.030483 -0.153247 +v 0.500000 -0.030483 -0.153247 +v 0.500000 -0.086808 -0.129917 +v 0.500000 -0.129917 -0.086807 +v 0.500000 -0.153248 -0.030482 +v 0.468750 -0.129917 -0.086807 +v 0.468750 -0.153248 -0.030483 +v 0.468750 -0.000000 0.000000 +v 0.468750 -0.086808 -0.129917 +v 0.468750 -0.030483 -0.153247 +v 0.468750 0.030483 -0.153247 +v 0.468750 0.086808 -0.129917 +v 0.468750 0.129917 -0.086808 +v 0.468750 0.153248 -0.030483 +v 0.468750 0.153248 0.030483 +v 0.468750 0.129917 0.086808 +v 0.468750 0.086808 0.129917 +v 0.468750 0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.468750 -0.086808 0.129917 +v 0.468750 -0.129917 0.086808 +v 0.468750 -0.153248 0.030483 +v 0.024386 -0.069446 0.103934 +v 0.468750 -0.069446 0.103934 +v 0.468750 -0.024386 0.122598 +v 0.024386 -0.122598 0.024386 +v 0.468750 -0.122598 0.024387 +v 0.468750 -0.103934 0.069447 +v 0.024386 -0.103934 0.069446 +v 0.024386 -0.069446 -0.103934 +v 0.468750 -0.069446 -0.103933 +v 0.468750 -0.103934 -0.069446 +v 0.024386 -0.103934 -0.069446 +v 0.468750 -0.122598 -0.024386 +v 0.468750 -0.024386 -0.122598 +v 0.024386 0.024386 -0.122598 +v 0.468750 0.024386 -0.122598 +v 0.024386 0.069446 -0.103934 +v 0.468750 0.069446 -0.103933 +v 0.024386 0.103934 -0.069446 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.103934 0.069447 +v 0.468750 0.069446 0.103934 +v 0.468750 0.024386 0.122598 +v 0.122599 -0.024387 -0.468750 +v 0.122599 0.024386 -0.468750 +v 0.122598 0.024386 -0.024391 +v -0.129917 -0.086808 -0.500000 +v -0.153247 -0.030483 -0.500000 +v 0.000001 0.000000 -0.500000 +v -0.086807 -0.129917 -0.500000 +v -0.030482 -0.153248 -0.500000 +v 0.030483 -0.153248 -0.500000 +v 0.086808 -0.129917 -0.500000 +v 0.129918 -0.086808 -0.500000 +v 0.153248 -0.030483 -0.500000 +v 0.153248 0.030483 -0.500000 +v 0.129918 0.086808 -0.500000 +v 0.086808 0.129917 -0.500000 +v 0.030483 0.153247 -0.500000 +v -0.030482 0.153247 -0.500000 +v -0.086807 0.129917 -0.500000 +v -0.129917 0.086808 -0.500000 +v -0.153247 0.030483 -0.500000 +v -0.129917 0.086808 -0.468750 +v -0.153247 0.030483 -0.468750 +v 0.000000 0.000000 -0.468750 +v -0.086807 0.129917 -0.468750 +v -0.030482 0.153247 -0.468750 +v 0.030483 0.153247 -0.468750 +v 0.086808 0.129917 -0.468750 +v 0.129918 0.086808 -0.468750 +v 0.153248 0.030483 -0.468750 +v 0.153248 -0.030483 -0.468750 +v 0.129918 -0.086808 -0.468750 +v 0.086808 -0.129917 -0.468750 +v 0.030483 -0.153248 -0.468750 +v -0.030482 -0.153248 -0.468750 +v -0.086807 -0.129917 -0.468750 +v -0.129917 -0.086808 -0.468750 +v -0.153247 -0.030483 -0.468750 +v -0.069446 -0.103934 -0.024391 +v -0.069446 -0.103934 -0.468750 +v -0.024386 -0.122598 -0.468750 +v -0.024386 -0.122598 -0.024391 +v -0.122598 -0.024387 -0.468750 +v -0.103933 -0.069447 -0.468750 +v -0.103934 -0.069446 -0.024391 +v -0.069446 0.103933 -0.468750 +v -0.103933 0.069446 -0.468750 +v -0.103934 0.069446 -0.024391 +v -0.122598 0.024386 -0.024391 +v -0.122598 0.024386 -0.468750 +v -0.024386 0.122598 -0.024391 +v -0.024386 0.122598 -0.468750 +v 0.024386 0.122598 -0.024391 +v 0.024387 0.122598 -0.468750 +v 0.069446 0.103934 -0.024391 +v 0.069447 0.103933 -0.468750 +v 0.103934 0.069446 -0.024391 +v 0.103934 0.069446 -0.468750 +v 0.103934 -0.069446 -0.024391 +v 0.103934 -0.069447 -0.468750 +v 0.069446 -0.103934 -0.024391 +v 0.069447 -0.103934 -0.468750 +v 0.024386 -0.122598 -0.024391 +v 0.024387 -0.122598 -0.468750 +v -0.069446 0.103934 -0.024390 +v 0.024386 0.024386 0.122594 +v 0.024386 0.069446 0.103930 +v 0.024386 0.103933 0.069442 +v 0.024386 0.122598 0.024382 +v -0.028389 0.109793 0.028385 +v -0.109793 0.028389 0.028387 +v -0.028389 0.028389 0.109791 +v -0.073974 0.029365 0.073972 +v -0.073974 0.070067 0.028386 +v -0.028389 0.070067 0.073971 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.265625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.265625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.265625 +vt 0.687500 0.265625 +vt 0.687500 0.015625 +vt 0.500000 0.265625 +vt 0.500000 0.015625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.125000 0.265625 +vt 0.125000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.934657 0.863213 +vt 0.901601 0.899049 +vt 0.865820 0.861492 +vt 0.925541 0.762929 +vt 0.899262 0.810455 +vt 0.865821 0.758725 +vt 0.832379 0.810455 +vt 0.806102 0.762929 +vt 0.959958 0.821457 +vt 0.796982 0.863213 +vt 0.973651 0.780138 +vt 0.830039 0.899049 +vt 0.865820 0.923510 +vt 0.757989 0.745545 +vt 0.793772 0.721082 +vt 0.757989 0.780138 +vt 0.937873 0.721082 +vt 0.973654 0.745543 +vt 0.771681 0.821457 +vt 0.840522 0.707845 +vt 0.891124 0.707845 +s off +f 1/1 2/2 3/3 4/4 +f 5/5 6/6 7/7 +f 8/8 5/5 7/7 +f 9/9 8/8 7/7 +f 10/10 9/9 7/7 +f 11/11 10/10 7/7 +f 12/12 11/11 7/7 +f 13/13 12/12 7/7 +f 14/14 13/13 7/7 +f 15/15 14/14 7/7 +f 16/16 15/15 7/7 +f 17/17 16/16 7/7 +f 18/18 17/17 7/7 +f 19/19 18/18 7/7 +f 20/20 19/19 7/7 +f 21/21 20/20 7/7 +f 22/22 23/23 24/24 +f 25/25 22/22 24/24 +f 26/26 25/25 24/24 +f 27/27 26/26 24/24 +f 28/28 27/27 24/24 +f 29/29 28/28 24/24 +f 30/30 29/29 24/24 +f 31/31 30/30 24/24 +f 32/32 31/31 24/24 +f 33/33 32/32 24/24 +f 34/34 33/33 24/24 +f 35/35 34/34 24/24 +f 36/36 35/35 24/24 +f 37/37 36/36 24/24 +f 38/38 37/37 24/24 +f 23/23 38/38 24/24 +f 6/6 21/21 7/7 +f 25/39 19/40 20/41 22/42 +f 22/42 20/41 21/43 23/44 +f 26/45 18/46 19/40 25/39 +f 27/47 17/48 18/46 26/45 +f 28/49 16/50 17/51 27/52 +f 29/53 15/54 16/50 28/49 +f 30/55 14/56 15/54 29/53 +f 31/57 13/58 14/56 30/55 +f 32/59 12/60 13/58 31/57 +f 33/61 11/62 12/60 32/59 +f 34/63 10/64 11/62 33/61 +f 35/65 9/66 10/64 34/63 +f 36/67 8/68 9/66 35/65 +f 37/69 5/70 8/68 36/67 +f 38/71 6/72 5/70 37/69 +f 23/44 21/43 6/72 38/71 +f 39/73 40/74 41/75 42/76 +f 43/77 44/78 45/79 46/80 +f 47/81 48/82 49/83 50/84 +f 51/85 52/86 44/78 43/77 +f 46/80 45/79 40/74 39/73 +f 50/84 49/83 52/86 51/85 +f 53/87 54/88 48/82 47/81 +f 55/89 56/90 54/88 53/87 +f 57/91 58/92 56/90 55/89 +f 59/93 60/94 58/92 57/91 +f 4/4 3/3 60/94 59/93 +f 2/2 1/1 61/95 62/96 +f 63/97 64/98 62/96 61/95 +f 65/99 66/100 64/98 63/97 +f 42/76 41/75 66/101 65/102 +f 69/5 70/6 71/7 +f 72/8 69/5 71/7 +f 73/9 72/8 71/7 +f 74/10 73/9 71/7 +f 75/11 74/10 71/7 +f 76/12 75/11 71/7 +f 77/13 76/12 71/7 +f 78/14 77/13 71/7 +f 79/15 78/14 71/7 +f 80/16 79/15 71/7 +f 81/17 80/16 71/7 +f 82/18 81/17 71/7 +f 83/19 82/18 71/7 +f 84/20 83/19 71/7 +f 85/21 84/20 71/7 +f 86/22 87/23 88/24 +f 89/25 86/22 88/24 +f 90/26 89/25 88/24 +f 91/27 90/26 88/24 +f 92/28 91/27 88/24 +f 93/29 92/28 88/24 +f 94/30 93/29 88/24 +f 95/31 94/30 88/24 +f 96/32 95/31 88/24 +f 97/33 96/32 88/24 +f 98/34 97/33 88/24 +f 99/35 98/34 88/24 +f 100/36 99/35 88/24 +f 101/37 100/36 88/24 +f 102/38 101/37 88/24 +f 87/23 102/38 88/24 +f 70/6 85/21 71/7 +f 89/39 83/40 84/41 86/42 +f 86/42 84/41 85/43 87/44 +f 90/45 82/46 83/40 89/39 +f 91/47 81/48 82/46 90/45 +f 92/49 80/50 81/51 91/52 +f 93/53 79/54 80/50 92/49 +f 94/55 78/56 79/54 93/53 +f 95/57 77/58 78/56 94/55 +f 96/59 76/60 77/58 95/57 +f 97/61 75/62 76/60 96/59 +f 98/63 74/64 75/62 97/61 +f 99/65 73/66 74/64 98/63 +f 100/67 72/68 73/66 99/65 +f 101/69 69/70 72/68 100/67 +f 102/71 70/72 69/70 101/69 +f 87/44 85/43 70/72 102/71 +f 106/77 107/78 108/79 109/80 +f 110/81 111/82 112/83 113/84 +f 109/80 108/79 104/74 103/73 +f 118/91 119/92 117/90 116/89 +f 120/93 121/94 119/92 118/91 +f 128/5 129/6 130/7 +f 131/8 128/5 130/7 +f 132/9 131/8 130/7 +f 133/10 132/9 130/7 +f 134/11 133/10 130/7 +f 135/12 134/11 130/7 +f 136/13 135/12 130/7 +f 137/14 136/13 130/7 +f 138/15 137/14 130/7 +f 139/16 138/15 130/7 +f 140/17 139/16 130/7 +f 141/18 140/17 130/7 +f 142/19 141/18 130/7 +f 143/20 142/19 130/7 +f 144/21 143/20 130/7 +f 145/22 146/23 147/24 +f 148/25 145/22 147/24 +f 149/26 148/25 147/24 +f 150/27 149/26 147/24 +f 151/28 150/27 147/24 +f 152/29 151/28 147/24 +f 153/30 152/29 147/24 +f 154/31 153/30 147/24 +f 155/32 154/31 147/24 +f 156/33 155/32 147/24 +f 157/34 156/33 147/24 +f 158/35 157/34 147/24 +f 159/36 158/35 147/24 +f 160/37 159/36 147/24 +f 161/38 160/37 147/24 +f 146/23 161/38 147/24 +f 129/6 144/21 130/7 +f 148/39 142/40 143/41 145/42 +f 145/42 143/41 144/43 146/44 +f 149/45 141/46 142/40 148/39 +f 150/47 140/48 141/46 149/45 +f 151/49 139/50 140/51 150/52 +f 152/53 138/54 139/50 151/49 +f 153/55 137/56 138/54 152/53 +f 154/57 136/58 137/56 153/55 +f 155/59 135/60 136/58 154/57 +f 156/61 134/62 135/60 155/59 +f 157/63 133/64 134/62 156/61 +f 158/65 132/66 133/64 157/63 +f 159/67 131/68 132/66 158/65 +f 160/69 128/70 131/68 159/67 +f 161/71 129/72 128/70 160/69 +f 146/44 144/43 129/72 161/71 +f 162/73 163/74 164/75 165/76 +f 168/80 167/79 163/74 162/73 +f 171/84 170/83 173/86 172/85 +f 176/89 177/90 175/88 174/87 +f 178/91 179/92 177/90 176/89 +f 180/93 181/94 179/92 178/91 +f 127/4 126/3 181/94 180/93 +f 184/97 185/98 183/96 182/95 +f 186/99 187/100 185/98 184/97 +f 165/76 164/75 187/101 186/102 +f 191/103 192/104 193/105 +f 195/106 198/107 196/108 +f 198/107 193/105 197/109 +f 198/107 197/109 196/108 +f 196/108 197/109 194/110 +f 190/111 191/103 198/107 +f 193/105 188/112 197/109 +f 193/105 198/107 191/103 +f 195/106 190/111 198/107 +f 190/111 195/106 189/113 +f 192/1 67/2 68/3 176/4 +f 103/73 104/74 105/75 65/76 +f 186/85 114/86 107/78 106/77 +f 113/84 112/83 114/86 186/85 +f 55/87 115/88 111/82 110/81 +f 116/89 117/90 115/88 55/87 +f 176/4 68/3 121/94 120/93 +f 191/95 122/96 67/2 192/1 +f 190/97 123/98 122/96 191/95 +f 189/99 124/100 123/98 190/97 +f 65/76 105/75 124/101 189/102 +f 4/1 125/2 126/3 127/4 +f 51/77 166/78 167/79 168/80 +f 188/81 169/82 170/83 171/84 +f 172/85 173/86 166/78 51/77 +f 174/87 175/88 169/82 188/81 +f 182/95 183/96 125/2 4/1 +f 174/114 192/104 176/115 +f 51/116 43/117 172/118 +f 42/119 65/120 189/113 +f 192/104 174/114 193/105 +f 188/112 193/105 174/114 +f 188/112 171/121 197/109 +f 46/122 39/123 196/108 +f 195/106 196/108 39/123 +f 194/110 46/122 196/108 +f 194/110 197/109 171/121 +f 171/121 172/118 194/110 +f 43/117 194/110 172/118 +f 46/122 194/110 43/117 +f 39/123 42/119 195/106 +f 189/113 195/106 42/119 diff --git a/no-mods/pipeworks/models/pipeworks_pipe_6.obj b/no-mods/pipeworks/models/pipeworks_pipe_6.obj new file mode 100644 index 0000000..0744c45 --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_pipe_6.obj @@ -0,0 +1,499 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-3way.blend' +# www.blender.org +o Cube.000 +v -0.069446 -0.468750 0.103934 +v -0.103933 -0.468750 0.069446 +v -0.122598 -0.468750 0.024386 +v -0.122598 -0.468750 -0.024386 +v -0.129917 -0.500000 -0.086808 +v -0.129917 -0.468750 -0.086808 +v -0.086808 -0.500000 -0.129917 +v -0.086808 -0.468750 -0.129917 +v -0.030483 -0.500000 -0.153248 +v -0.030483 -0.468750 -0.153248 +v 0.030483 -0.500000 -0.153247 +v 0.030483 -0.468750 -0.153247 +v 0.086808 -0.500000 -0.129917 +v 0.086808 -0.468750 -0.129917 +v 0.129917 -0.500000 -0.086808 +v 0.129917 -0.468750 -0.086808 +v 0.153248 -0.500000 -0.030483 +v 0.153248 -0.468750 -0.030483 +v 0.153248 -0.500000 0.030483 +v 0.153248 -0.468750 0.030483 +v 0.129917 -0.500000 0.086808 +v 0.129917 -0.468750 0.086808 +v 0.086808 -0.500000 0.129917 +v 0.086808 -0.468750 0.129917 +v 0.030483 -0.500000 0.153248 +v 0.030483 -0.468750 0.153248 +v -0.030483 -0.500000 0.153248 +v -0.030483 -0.468750 0.153248 +v -0.086808 -0.500000 0.129917 +v -0.086808 -0.468750 0.129917 +v -0.129917 -0.500000 0.086808 +v -0.129917 -0.468750 0.086808 +v -0.153247 -0.500000 0.030483 +v -0.153248 -0.468750 0.030483 +v -0.153247 -0.500000 -0.030483 +v -0.153248 -0.468750 -0.030483 +v -0.024386 -0.468750 0.122598 +v 0.024386 -0.468750 0.122598 +v 0.069446 -0.468750 0.103934 +v 0.103934 -0.468750 0.069447 +v 0.122598 -0.468750 0.024387 +v 0.122598 -0.468750 -0.024386 +v 0.103934 -0.468750 -0.069446 +v 0.069447 -0.468750 -0.103933 +v 0.024386 -0.468750 -0.122598 +v -0.024386 -0.468750 -0.122598 +v -0.069446 -0.468750 -0.103933 +v -0.103934 -0.468750 -0.069446 +v 0.000000 -0.468750 0.000000 +v 0.000000 -0.500000 0.000000 +v 0.024386 -0.024391 0.122598 +v 0.069446 -0.024391 0.103934 +v 0.103934 -0.024391 0.069446 +v 0.122598 -0.024391 0.024386 +v 0.122598 -0.024391 -0.024386 +v 0.103934 -0.024391 -0.069446 +v 0.069446 -0.024391 -0.103934 +v 0.024386 -0.024391 -0.122598 +v -0.024386 -0.024391 -0.122598 +v -0.103934 -0.024391 -0.069446 +v -0.069446 -0.024391 -0.103934 +v -0.103934 -0.024391 0.069446 +v -0.122598 -0.024391 0.024386 +v -0.122598 -0.024391 -0.024386 +v -0.069446 -0.024391 0.103934 +v -0.024386 -0.024391 0.122598 +v -0.468750 -0.153248 -0.030483 +v -0.500000 -0.153248 -0.030483 +v -0.468750 -0.153248 0.030483 +v -0.500000 -0.153248 0.030483 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.030483 0.153248 +v -0.500000 -0.030483 0.153248 +v -0.468750 0.030483 0.153248 +v -0.500000 0.030483 0.153248 +v -0.468750 0.086808 0.129917 +v -0.500000 0.086808 0.129917 +v -0.468750 0.129917 0.086808 +v -0.500000 0.129917 0.086808 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153248 0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.030483 -0.153248 +v -0.500000 0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.122598 -0.024386 +v -0.468750 -0.122598 0.024386 +v -0.468750 -0.103934 0.069446 +v -0.468750 -0.069446 0.103934 +v -0.468750 -0.024386 0.122598 +v -0.468750 0.024386 0.122598 +v -0.468750 0.069446 0.103934 +v -0.468750 0.103934 0.069446 +v -0.468750 0.122598 0.024386 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.069446 -0.103934 +v -0.468750 0.024386 -0.122598 +v -0.468750 -0.024386 -0.122598 +v -0.468750 -0.069446 -0.103934 +v -0.468750 -0.103934 -0.069446 +v -0.468750 0.000000 -0.000000 +v -0.500000 -0.000000 -0.000000 +v 0.468750 -0.069446 0.103934 +v 0.468750 -0.103934 0.069447 +v 0.468750 -0.122598 0.024387 +v 0.468750 -0.122598 -0.024386 +v 0.500000 -0.129917 -0.086807 +v 0.468750 -0.129917 -0.086807 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.468750 -0.030483 -0.153247 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.030483 -0.153247 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.153248 -0.030483 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.129917 0.086808 +v 0.468750 0.129917 0.086808 +v 0.500000 0.086808 0.129917 +v 0.468750 0.086808 0.129917 +v 0.500000 0.030483 0.153248 +v 0.468750 0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.086808 0.129917 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.153248 0.030483 +v 0.468750 -0.153248 0.030483 +v 0.500000 -0.153248 -0.030482 +v 0.468750 -0.153248 -0.030483 +v 0.468750 -0.024386 0.122598 +v 0.468750 0.024386 0.122598 +v 0.468750 0.069446 0.103934 +v 0.468750 0.103934 0.069447 +v 0.468750 0.122598 0.024387 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.069446 -0.103933 +v 0.468750 0.024386 -0.122598 +v 0.468750 -0.024386 -0.122598 +v 0.468750 -0.069446 -0.103933 +v 0.468750 -0.103934 -0.069446 +v 0.468750 0.000000 0.000000 +v 0.500000 0.000000 0.000000 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.265625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.265625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.265625 +vt 0.687500 0.265625 +vt 0.687500 0.015625 +vt 0.500000 0.265625 +vt 0.500000 0.015625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.125000 0.265625 +vt 0.125000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.218363 0.657325 +vt 0.185866 0.820702 +vt 0.153368 0.657325 +vt 0.531836 0.657325 +vt 0.564334 0.820702 +vt 0.596832 0.657325 +vt 0.656879 0.682198 +vt 0.702838 0.728156 +vt 0.727710 0.788204 +vt 0.727710 0.853199 +vt 0.702838 0.913247 +vt 0.656879 0.959205 +vt 0.596831 0.984078 +vt 0.531836 0.984078 +vt 0.471788 0.959205 +vt 0.425830 0.913247 +vt 0.400957 0.853199 +vt 0.400957 0.788204 +vt 0.425830 0.728156 +vt 0.471789 0.682198 +vt 0.093321 0.682198 +vt 0.047362 0.728156 +vt 0.022489 0.788204 +vt 0.022489 0.853199 +vt 0.047362 0.913247 +vt 0.093320 0.959205 +vt 0.153368 0.984078 +vt 0.218363 0.984078 +vt 0.278411 0.959205 +vt 0.324369 0.913247 +vt 0.349242 0.853199 +vt 0.349242 0.788204 +vt 0.324369 0.728156 +vt 0.278411 0.682198 +vt 0.187500 0.515625 +vt 0.250000 0.515625 +vt 0.875000 0.515625 +vt 0.937500 0.515625 +vt 0.750000 0.515625 +vt 0.812500 0.515625 +vt 0.562500 0.515625 +vt 0.625000 0.515625 +vt 0.687500 0.515625 +vt 0.500000 0.515625 +vt 0.437500 0.515625 +vt 0.375000 0.515625 +vt 0.312500 0.515625 +vt 0.125000 0.515625 +vt 0.062500 0.515625 +vt 0.000000 0.515625 +vt 1.000000 0.515625 +s off +f 54/1 41/2 42/3 55/4 +f 31/5 33/6 50/7 +f 29/8 31/5 50/7 +f 27/9 29/8 50/7 +f 25/10 27/9 50/7 +f 23/11 25/10 50/7 +f 21/12 23/11 50/7 +f 19/13 21/12 50/7 +f 17/14 19/13 50/7 +f 15/15 17/14 50/7 +f 13/16 15/15 50/7 +f 11/17 13/16 50/7 +f 9/18 11/17 50/7 +f 7/19 9/18 50/7 +f 5/20 7/19 50/7 +f 35/21 5/20 50/7 +f 6/22 36/23 49/24 +f 8/25 6/22 49/24 +f 10/26 8/25 49/24 +f 12/27 10/26 49/24 +f 14/28 12/27 49/24 +f 16/29 14/28 49/24 +f 18/30 16/29 49/24 +f 20/31 18/30 49/24 +f 22/32 20/31 49/24 +f 24/33 22/32 49/24 +f 26/34 24/33 49/24 +f 28/35 26/34 49/24 +f 30/36 28/35 49/24 +f 32/37 30/36 49/24 +f 34/38 32/37 49/24 +f 36/23 34/38 49/24 +f 33/6 35/21 50/7 +f 8/39 7/40 5/41 6/42 +f 6/42 5/41 35/43 36/44 +f 10/45 9/46 7/40 8/39 +f 12/47 11/48 9/46 10/45 +f 14/49 13/50 11/51 12/52 +f 16/53 15/54 13/50 14/49 +f 18/55 17/56 15/54 16/53 +f 20/57 19/58 17/56 18/55 +f 22/59 21/60 19/58 20/57 +f 24/61 23/62 21/60 22/59 +f 26/63 25/64 23/62 24/61 +f 28/65 27/66 25/64 26/63 +f 30/67 29/68 27/66 28/65 +f 32/69 31/70 29/68 30/67 +f 34/71 33/72 31/70 32/69 +f 36/44 35/43 33/72 34/71 +f 65/73 1/74 37/75 66/76 +f 63/77 3/78 2/79 62/80 +f 61/81 47/82 48/83 60/84 +f 64/85 4/86 3/78 63/77 +f 62/80 2/79 1/74 65/73 +f 60/84 48/83 4/86 64/85 +f 59/87 46/88 47/82 61/81 +f 58/89 45/90 46/88 59/87 +f 57/91 44/92 45/90 58/89 +f 56/93 43/94 44/92 57/91 +f 55/4 42/3 43/94 56/93 +f 53/95 40/96 41/2 54/1 +f 52/97 39/98 40/96 53/95 +f 51/99 38/100 39/98 52/97 +f 66/76 37/75 38/101 51/102 +f 67/58 69/60 70/59 68/57 +f 69/60 71/62 72/61 70/59 +f 71/62 73/64 74/63 72/61 +f 73/64 75/66 76/65 74/63 +f 75/66 77/68 78/67 76/65 +f 77/68 79/70 80/69 78/67 +f 79/70 81/72 82/71 80/69 +f 81/72 83/43 84/44 82/71 +f 83/43 85/41 86/42 84/44 +f 85/41 87/40 88/39 86/42 +f 87/40 89/46 90/45 88/39 +f 89/46 91/48 92/47 90/45 +f 91/51 93/50 94/49 92/52 +f 93/50 95/54 96/53 94/49 +f 97/56 67/58 68/57 98/55 +f 95/54 97/56 98/55 96/53 +f 70/103 116/104 68/105 +f 67/106 115/107 69/108 +f 69/108 115/107 71/109 +f 71/109 115/107 73/110 +f 73/110 115/107 75/111 +f 75/111 115/107 77/112 +f 77/112 115/107 79/113 +f 79/113 115/107 81/114 +f 81/114 115/107 83/115 +f 83/115 115/107 85/116 +f 85/116 115/107 87/117 +f 87/117 115/107 89/118 +f 89/118 115/107 91/119 +f 91/119 115/107 93/120 +f 93/120 115/107 95/121 +f 95/121 115/107 97/122 +f 97/122 115/107 67/106 +f 68/105 116/104 98/123 +f 98/123 116/104 96/124 +f 96/124 116/104 94/125 +f 94/125 116/104 92/126 +f 92/126 116/104 90/127 +f 90/127 116/104 88/128 +f 88/128 116/104 86/129 +f 86/129 116/104 84/130 +f 84/130 116/104 82/131 +f 82/131 116/104 80/132 +f 80/132 116/104 78/133 +f 78/133 116/104 76/134 +f 76/134 116/104 74/135 +f 74/135 116/104 72/136 +f 72/136 116/104 70/103 +f 107/137 157/2 158/3 108/138 +f 147/5 149/6 166/7 +f 145/8 147/5 166/7 +f 143/9 145/8 166/7 +f 141/10 143/9 166/7 +f 139/11 141/10 166/7 +f 137/12 139/11 166/7 +f 135/13 137/12 166/7 +f 133/14 135/13 166/7 +f 131/15 133/14 166/7 +f 129/16 131/15 166/7 +f 127/17 129/16 166/7 +f 125/18 127/17 166/7 +f 123/19 125/18 166/7 +f 121/20 123/19 166/7 +f 151/21 121/20 166/7 +f 122/22 152/23 165/24 +f 124/25 122/22 165/24 +f 126/26 124/25 165/24 +f 128/27 126/26 165/24 +f 130/28 128/27 165/24 +f 132/29 130/28 165/24 +f 134/30 132/29 165/24 +f 136/31 134/30 165/24 +f 138/32 136/31 165/24 +f 140/33 138/32 165/24 +f 142/34 140/33 165/24 +f 144/35 142/34 165/24 +f 146/36 144/35 165/24 +f 148/37 146/36 165/24 +f 150/38 148/37 165/24 +f 152/23 150/38 165/24 +f 149/6 151/21 166/7 +f 124/39 123/40 121/41 122/42 +f 122/42 121/41 151/43 152/44 +f 126/45 125/46 123/40 124/39 +f 128/47 127/48 125/46 126/45 +f 130/49 129/50 127/51 128/52 +f 132/53 131/54 129/50 130/49 +f 134/55 133/56 131/54 132/53 +f 136/57 135/58 133/56 134/55 +f 138/59 137/60 135/58 136/57 +f 140/61 139/62 137/60 138/59 +f 142/63 141/64 139/62 140/61 +f 144/65 143/66 141/64 142/63 +f 146/67 145/68 143/66 144/65 +f 148/69 147/70 145/68 146/67 +f 150/71 149/72 147/70 148/69 +f 152/44 151/43 149/72 150/71 +f 102/139 117/74 153/75 103/140 +f 100/141 119/78 118/79 101/142 +f 113/143 163/82 164/83 114/144 +f 99/145 120/86 119/78 100/141 +f 101/142 118/79 117/74 102/139 +f 114/144 164/83 120/86 99/145 +f 112/146 162/88 163/82 113/143 +f 111/147 161/90 162/88 112/146 +f 110/148 160/92 161/90 111/147 +f 109/149 159/94 160/92 110/148 +f 108/138 158/3 159/94 109/149 +f 106/150 156/96 157/2 107/137 +f 105/151 155/98 156/96 106/150 +f 104/152 154/100 155/98 105/151 +f 103/140 153/75 154/101 104/153 diff --git a/no-mods/pipeworks/models/pipeworks_pipe_7.obj b/no-mods/pipeworks/models/pipeworks_pipe_7.obj new file mode 100644 index 0000000..d299361 --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_pipe_7.obj @@ -0,0 +1,629 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-4way-corner.blend' +# www.blender.org +o Cube.000 +v -0.069446 -0.468750 0.103934 +v -0.103933 -0.468750 0.069446 +v -0.122598 -0.468750 0.024386 +v -0.122598 -0.468750 -0.024386 +v -0.129917 -0.500000 -0.086808 +v -0.129917 -0.468750 -0.086808 +v -0.086808 -0.500000 -0.129917 +v -0.086808 -0.468750 -0.129917 +v -0.030483 -0.500000 -0.153248 +v -0.030483 -0.468750 -0.153248 +v 0.030483 -0.500000 -0.153247 +v 0.030483 -0.468750 -0.153247 +v 0.086808 -0.500000 -0.129917 +v 0.086808 -0.468750 -0.129917 +v 0.129917 -0.500000 -0.086808 +v 0.129917 -0.468750 -0.086808 +v 0.153248 -0.500000 -0.030483 +v 0.153248 -0.468750 -0.030483 +v 0.153248 -0.500000 0.030483 +v 0.153248 -0.468750 0.030483 +v 0.129917 -0.500000 0.086808 +v 0.129917 -0.468750 0.086808 +v 0.086808 -0.500000 0.129917 +v 0.086808 -0.468750 0.129917 +v 0.030483 -0.500000 0.153248 +v 0.030483 -0.468750 0.153248 +v -0.030483 -0.500000 0.153248 +v -0.030483 -0.468750 0.153248 +v -0.086808 -0.500000 0.129917 +v -0.086808 -0.468750 0.129917 +v -0.129917 -0.500000 0.086808 +v -0.129917 -0.468750 0.086808 +v -0.153247 -0.500000 0.030483 +v -0.153248 -0.468750 0.030483 +v -0.153247 -0.500000 -0.030483 +v -0.153248 -0.468750 -0.030483 +v -0.024386 -0.468750 0.122598 +v 0.024386 -0.468750 0.122598 +v 0.069446 -0.468750 0.103934 +v 0.103934 -0.468750 0.069447 +v 0.122598 -0.468750 0.024387 +v 0.122598 -0.468750 -0.024386 +v 0.103934 -0.468750 -0.069446 +v 0.069447 -0.468750 -0.103933 +v 0.024386 -0.468750 -0.122598 +v -0.024386 -0.468750 -0.122598 +v -0.069446 -0.468750 -0.103933 +v -0.103934 -0.468750 -0.069446 +v 0.000000 -0.468750 0.000000 +v 0.000000 -0.500000 0.000000 +v 0.024386 -0.024391 0.122598 +v 0.069446 -0.024391 0.103934 +v 0.103934 -0.024391 0.069446 +v 0.122598 -0.024391 0.024386 +v 0.122598 -0.024391 -0.024386 +v 0.103934 -0.024391 -0.069446 +v 0.069446 -0.024391 -0.103934 +v 0.024386 -0.024391 -0.122598 +v -0.024386 -0.024391 -0.122598 +v -0.103934 -0.024391 -0.069446 +v -0.069446 -0.024391 -0.103934 +v -0.103934 -0.024391 0.069446 +v -0.122598 -0.024391 0.024386 +v -0.122598 -0.024391 -0.024386 +v -0.069446 -0.024391 0.103934 +v -0.024386 -0.024391 0.122598 +v -0.468750 -0.153248 -0.030483 +v -0.500000 -0.153248 -0.030483 +v -0.468750 -0.153248 0.030483 +v -0.500000 -0.153248 0.030483 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.030483 0.153248 +v -0.500000 -0.030483 0.153248 +v -0.468750 0.030483 0.153248 +v -0.500000 0.030483 0.153248 +v -0.468750 0.086808 0.129917 +v -0.500000 0.086808 0.129917 +v -0.468750 0.129917 0.086808 +v -0.500000 0.129917 0.086808 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153248 0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.030483 -0.153248 +v -0.500000 0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.122598 -0.024386 +v -0.468750 -0.122598 0.024386 +v -0.468750 -0.103934 0.069446 +v -0.468750 -0.069446 0.103934 +v -0.468750 -0.024386 0.122598 +v -0.468750 0.024386 0.122598 +v -0.468750 0.069446 0.103934 +v -0.468750 0.103934 0.069446 +v -0.468750 0.122598 0.024386 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.069446 -0.103934 +v -0.468750 0.024386 -0.122598 +v -0.468750 -0.024386 -0.122598 +v -0.468750 -0.069446 -0.103934 +v -0.468750 -0.103934 -0.069446 +v -0.468750 0.000000 -0.000000 +v -0.500000 -0.000000 -0.000000 +v 0.468750 -0.069446 0.103934 +v 0.468750 -0.103934 0.069447 +v 0.468750 -0.122598 0.024387 +v 0.468750 -0.122598 -0.024386 +v 0.500000 -0.129917 -0.086807 +v 0.468750 -0.129917 -0.086807 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.468750 -0.030483 -0.153247 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.030483 -0.153247 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.153248 -0.030483 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.129917 0.086808 +v 0.468750 0.129917 0.086808 +v 0.500000 0.086808 0.129917 +v 0.468750 0.086808 0.129917 +v 0.500000 0.030483 0.153248 +v 0.468750 0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.086808 0.129917 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.153248 0.030483 +v 0.468750 -0.153248 0.030483 +v 0.500000 -0.153248 -0.030482 +v 0.468750 -0.153248 -0.030483 +v 0.468750 -0.024386 0.122598 +v 0.468750 0.024386 0.122598 +v 0.468750 0.069446 0.103934 +v 0.468750 0.103934 0.069447 +v 0.468750 0.122598 0.024387 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.069446 -0.103933 +v 0.468750 0.024386 -0.122598 +v 0.468750 -0.024386 -0.122598 +v 0.468750 -0.069446 -0.103933 +v 0.468750 -0.103934 -0.069446 +v 0.468750 0.000000 0.000000 +v 0.500000 0.000000 0.000000 +v -0.069446 -0.103934 -0.468750 +v -0.103933 -0.069447 -0.468750 +v -0.122598 -0.024387 -0.468750 +v -0.122598 0.024386 -0.468750 +v -0.129917 0.086808 -0.500000 +v -0.129917 0.086808 -0.468750 +v -0.086807 0.129917 -0.500000 +v -0.086807 0.129917 -0.468750 +v -0.030482 0.153247 -0.500000 +v -0.030482 0.153247 -0.468750 +v 0.030483 0.153247 -0.500000 +v 0.030483 0.153247 -0.468750 +v 0.086808 0.129917 -0.500000 +v 0.086808 0.129917 -0.468750 +v 0.129918 0.086808 -0.500000 +v 0.129918 0.086808 -0.468750 +v 0.153248 0.030483 -0.500000 +v 0.153248 0.030483 -0.468750 +v 0.153248 -0.030483 -0.500000 +v 0.153248 -0.030483 -0.468750 +v 0.129918 -0.086808 -0.500000 +v 0.129918 -0.086808 -0.468750 +v 0.086808 -0.129917 -0.500000 +v 0.086808 -0.129917 -0.468750 +v 0.030483 -0.153248 -0.500000 +v 0.030483 -0.153248 -0.468750 +v -0.030482 -0.153248 -0.500000 +v -0.030482 -0.153248 -0.468750 +v -0.086807 -0.129917 -0.500000 +v -0.086807 -0.129917 -0.468750 +v -0.129917 -0.086808 -0.500000 +v -0.129917 -0.086808 -0.468750 +v -0.153247 -0.030483 -0.500000 +v -0.153247 -0.030483 -0.468750 +v -0.153247 0.030483 -0.500000 +v -0.153247 0.030483 -0.468750 +v -0.024386 -0.122598 -0.468750 +v 0.024387 -0.122598 -0.468750 +v 0.069447 -0.103934 -0.468750 +v 0.103934 -0.069447 -0.468750 +v 0.122599 -0.024387 -0.468750 +v 0.122599 0.024386 -0.468750 +v 0.103934 0.069446 -0.468750 +v 0.069447 0.103933 -0.468750 +v 0.024387 0.122598 -0.468750 +v -0.024386 0.122598 -0.468750 +v -0.069446 0.103933 -0.468750 +v -0.103933 0.069446 -0.468750 +v 0.000000 -0.000000 -0.468750 +v 0.000001 -0.000000 -0.500000 +v 0.024386 -0.122598 -0.024391 +v 0.069446 -0.103934 -0.024391 +v 0.103934 -0.069446 -0.024391 +v 0.122598 -0.024386 -0.024391 +v 0.122598 0.024386 -0.024391 +v 0.103934 0.069446 -0.024391 +v 0.069446 0.103934 -0.024391 +v 0.024386 0.122598 -0.024391 +v -0.024386 0.122598 -0.024391 +v -0.103934 0.069446 -0.024391 +v -0.069446 0.103934 -0.024391 +v -0.103934 -0.069446 -0.024391 +v -0.122598 -0.024386 -0.024391 +v -0.122598 0.024386 -0.024391 +v -0.069446 -0.103934 -0.024391 +v -0.024386 -0.122598 -0.024391 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.265625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.265625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.265625 +vt 0.687500 0.265625 +vt 0.687500 0.015625 +vt 0.500000 0.265625 +vt 0.500000 0.015625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.125000 0.265625 +vt 0.125000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.218363 0.657325 +vt 0.185866 0.820702 +vt 0.153368 0.657325 +vt 0.531836 0.657325 +vt 0.564334 0.820702 +vt 0.596832 0.657325 +vt 0.656879 0.682198 +vt 0.702838 0.728156 +vt 0.727710 0.788204 +vt 0.727710 0.853199 +vt 0.702838 0.913247 +vt 0.656879 0.959205 +vt 0.596831 0.984078 +vt 0.531836 0.984078 +vt 0.471788 0.959205 +vt 0.425830 0.913247 +vt 0.400957 0.853199 +vt 0.400957 0.788204 +vt 0.425830 0.728156 +vt 0.471789 0.682198 +vt 0.093321 0.682198 +vt 0.047362 0.728156 +vt 0.022489 0.788204 +vt 0.022489 0.853199 +vt 0.047362 0.913247 +vt 0.093320 0.959205 +vt 0.153368 0.984078 +vt 0.218363 0.984078 +vt 0.278411 0.959205 +vt 0.324369 0.913247 +vt 0.349242 0.853199 +vt 0.349242 0.788204 +vt 0.324369 0.728156 +vt 0.278411 0.682198 +vt 0.187500 0.515625 +vt 0.250000 0.515625 +vt 0.875000 0.515625 +vt 0.937500 0.515625 +vt 0.750000 0.515625 +vt 0.812500 0.515625 +vt 0.562500 0.515625 +vt 0.625000 0.515625 +vt 0.687500 0.515625 +vt 0.500000 0.515625 +vt 0.437500 0.515625 +vt 0.375000 0.515625 +vt 0.312500 0.515625 +vt 0.125000 0.515625 +vt 0.062500 0.515625 +vt 0.000000 0.515625 +vt 1.000000 0.515625 +s off +f 54/1 41/2 42/3 55/4 +f 31/5 33/6 50/7 +f 29/8 31/5 50/7 +f 27/9 29/8 50/7 +f 25/10 27/9 50/7 +f 23/11 25/10 50/7 +f 21/12 23/11 50/7 +f 19/13 21/12 50/7 +f 17/14 19/13 50/7 +f 15/15 17/14 50/7 +f 13/16 15/15 50/7 +f 11/17 13/16 50/7 +f 9/18 11/17 50/7 +f 7/19 9/18 50/7 +f 5/20 7/19 50/7 +f 35/21 5/20 50/7 +f 6/22 36/23 49/24 +f 8/25 6/22 49/24 +f 10/26 8/25 49/24 +f 12/27 10/26 49/24 +f 14/28 12/27 49/24 +f 16/29 14/28 49/24 +f 18/30 16/29 49/24 +f 20/31 18/30 49/24 +f 22/32 20/31 49/24 +f 24/33 22/32 49/24 +f 26/34 24/33 49/24 +f 28/35 26/34 49/24 +f 30/36 28/35 49/24 +f 32/37 30/36 49/24 +f 34/38 32/37 49/24 +f 36/23 34/38 49/24 +f 33/6 35/21 50/7 +f 8/39 7/40 5/41 6/42 +f 6/42 5/41 35/43 36/44 +f 10/45 9/46 7/40 8/39 +f 12/47 11/48 9/46 10/45 +f 14/49 13/50 11/51 12/52 +f 16/53 15/54 13/50 14/49 +f 18/55 17/56 15/54 16/53 +f 20/57 19/58 17/56 18/55 +f 22/59 21/60 19/58 20/57 +f 24/61 23/62 21/60 22/59 +f 26/63 25/64 23/62 24/61 +f 28/65 27/66 25/64 26/63 +f 30/67 29/68 27/66 28/65 +f 32/69 31/70 29/68 30/67 +f 34/71 33/72 31/70 32/69 +f 36/44 35/43 33/72 34/71 +f 65/73 1/74 37/75 66/76 +f 63/77 3/78 2/79 62/80 +f 61/81 47/82 48/83 60/84 +f 64/85 4/86 3/78 63/77 +f 62/80 2/79 1/74 65/73 +f 60/84 48/83 4/86 64/85 +f 59/87 46/88 47/82 61/81 +f 58/89 45/90 46/88 59/87 +f 57/91 44/92 45/90 58/89 +f 56/93 43/94 44/92 57/91 +f 55/4 42/3 43/94 56/93 +f 53/95 40/96 41/2 54/1 +f 52/97 39/98 40/96 53/95 +f 51/99 38/100 39/98 52/97 +f 66/76 37/75 38/101 51/102 +f 67/58 69/60 70/59 68/57 +f 69/60 71/62 72/61 70/59 +f 71/62 73/64 74/63 72/61 +f 73/64 75/66 76/65 74/63 +f 75/66 77/68 78/67 76/65 +f 77/68 79/70 80/69 78/67 +f 79/70 81/72 82/71 80/69 +f 81/72 83/43 84/44 82/71 +f 83/43 85/41 86/42 84/44 +f 85/41 87/40 88/39 86/42 +f 87/40 89/46 90/45 88/39 +f 89/46 91/48 92/47 90/45 +f 91/51 93/50 94/49 92/52 +f 93/50 95/54 96/53 94/49 +f 97/56 67/58 68/57 98/55 +f 95/54 97/56 98/55 96/53 +f 70/103 116/104 68/105 +f 67/106 115/107 69/108 +f 69/108 115/107 71/109 +f 71/109 115/107 73/110 +f 73/110 115/107 75/111 +f 75/111 115/107 77/112 +f 77/112 115/107 79/113 +f 79/113 115/107 81/114 +f 81/114 115/107 83/115 +f 83/115 115/107 85/116 +f 85/116 115/107 87/117 +f 87/117 115/107 89/118 +f 89/118 115/107 91/119 +f 91/119 115/107 93/120 +f 93/120 115/107 95/121 +f 95/121 115/107 97/122 +f 97/122 115/107 67/106 +f 68/105 116/104 98/123 +f 98/123 116/104 96/124 +f 96/124 116/104 94/125 +f 94/125 116/104 92/126 +f 92/126 116/104 90/127 +f 90/127 116/104 88/128 +f 88/128 116/104 86/129 +f 86/129 116/104 84/130 +f 84/130 116/104 82/131 +f 82/131 116/104 80/132 +f 80/132 116/104 78/133 +f 78/133 116/104 76/134 +f 76/134 116/104 74/135 +f 74/135 116/104 72/136 +f 72/136 116/104 70/103 +f 107/137 157/2 158/3 108/138 +f 147/5 149/6 166/7 +f 145/8 147/5 166/7 +f 143/9 145/8 166/7 +f 141/10 143/9 166/7 +f 139/11 141/10 166/7 +f 137/12 139/11 166/7 +f 135/13 137/12 166/7 +f 133/14 135/13 166/7 +f 131/15 133/14 166/7 +f 129/16 131/15 166/7 +f 127/17 129/16 166/7 +f 125/18 127/17 166/7 +f 123/19 125/18 166/7 +f 121/20 123/19 166/7 +f 151/21 121/20 166/7 +f 122/22 152/23 165/24 +f 124/25 122/22 165/24 +f 126/26 124/25 165/24 +f 128/27 126/26 165/24 +f 130/28 128/27 165/24 +f 132/29 130/28 165/24 +f 134/30 132/29 165/24 +f 136/31 134/30 165/24 +f 138/32 136/31 165/24 +f 140/33 138/32 165/24 +f 142/34 140/33 165/24 +f 144/35 142/34 165/24 +f 146/36 144/35 165/24 +f 148/37 146/36 165/24 +f 150/38 148/37 165/24 +f 152/23 150/38 165/24 +f 149/6 151/21 166/7 +f 124/39 123/40 121/41 122/42 +f 122/42 121/41 151/43 152/44 +f 126/45 125/46 123/40 124/39 +f 128/47 127/48 125/46 126/45 +f 130/49 129/50 127/51 128/52 +f 132/53 131/54 129/50 130/49 +f 134/55 133/56 131/54 132/53 +f 136/57 135/58 133/56 134/55 +f 138/59 137/60 135/58 136/57 +f 140/61 139/62 137/60 138/59 +f 142/63 141/64 139/62 140/61 +f 144/65 143/66 141/64 142/63 +f 146/67 145/68 143/66 144/65 +f 148/69 147/70 145/68 146/67 +f 150/71 149/72 147/70 148/69 +f 152/44 151/43 149/72 150/71 +f 102/139 117/74 153/75 103/140 +f 100/141 119/78 118/79 101/142 +f 113/143 163/82 164/83 114/144 +f 99/145 120/86 119/78 100/141 +f 101/142 118/79 117/74 102/139 +f 114/144 164/83 120/86 99/145 +f 112/146 162/88 163/82 113/143 +f 111/147 161/90 162/88 112/146 +f 110/148 160/92 161/90 111/147 +f 109/149 159/94 160/92 110/148 +f 108/138 158/3 159/94 109/149 +f 106/150 156/96 157/2 107/137 +f 105/151 155/98 156/96 106/150 +f 104/152 154/100 155/98 105/151 +f 103/140 153/75 154/101 104/153 +f 220/1 207/2 208/3 221/4 +f 197/5 199/6 216/7 +f 195/8 197/5 216/7 +f 193/9 195/8 216/7 +f 191/10 193/9 216/7 +f 189/11 191/10 216/7 +f 187/12 189/11 216/7 +f 185/13 187/12 216/7 +f 183/14 185/13 216/7 +f 181/15 183/14 216/7 +f 179/16 181/15 216/7 +f 177/17 179/16 216/7 +f 175/18 177/17 216/7 +f 173/19 175/18 216/7 +f 171/20 173/19 216/7 +f 201/21 171/20 216/7 +f 172/22 202/23 215/24 +f 174/25 172/22 215/24 +f 176/26 174/25 215/24 +f 178/27 176/26 215/24 +f 180/28 178/27 215/24 +f 182/29 180/28 215/24 +f 184/30 182/29 215/24 +f 186/31 184/30 215/24 +f 188/32 186/31 215/24 +f 190/33 188/32 215/24 +f 192/34 190/33 215/24 +f 194/35 192/34 215/24 +f 196/36 194/35 215/24 +f 198/37 196/36 215/24 +f 200/38 198/37 215/24 +f 202/23 200/38 215/24 +f 199/6 201/21 216/7 +f 174/39 173/40 171/41 172/42 +f 172/42 171/41 201/43 202/44 +f 176/45 175/46 173/40 174/39 +f 178/47 177/48 175/46 176/45 +f 180/49 179/50 177/51 178/52 +f 182/53 181/54 179/50 180/49 +f 184/55 183/56 181/54 182/53 +f 186/57 185/58 183/56 184/55 +f 188/59 187/60 185/58 186/57 +f 190/61 189/62 187/60 188/59 +f 192/63 191/64 189/62 190/61 +f 194/65 193/66 191/64 192/63 +f 196/67 195/68 193/66 194/65 +f 198/69 197/70 195/68 196/67 +f 200/71 199/72 197/70 198/69 +f 202/44 201/43 199/72 200/71 +f 231/73 167/74 203/75 232/76 +f 229/77 169/78 168/79 228/80 +f 227/81 213/82 214/83 226/84 +f 230/85 170/86 169/78 229/77 +f 228/80 168/79 167/74 231/73 +f 226/84 214/83 170/86 230/85 +f 225/87 212/88 213/82 227/81 +f 224/89 211/90 212/88 225/87 +f 223/91 210/92 211/90 224/89 +f 222/93 209/94 210/92 223/91 +f 221/4 208/3 209/94 222/93 +f 219/95 206/96 207/2 220/1 +f 218/97 205/98 206/96 219/95 +f 217/99 204/100 205/98 218/97 +f 232/76 203/75 204/101 217/102 diff --git a/no-mods/pipeworks/models/pipeworks_pipe_8.obj b/no-mods/pipeworks/models/pipeworks_pipe_8.obj new file mode 100644 index 0000000..5dc58f9 --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_pipe_8.obj @@ -0,0 +1,631 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-4way.blend' +# www.blender.org +mtllib pipeworks_pipe_8.mtl +o Cube.000 +v 0.069446 -0.468750 -0.103934 +v 0.103933 -0.468750 -0.069446 +v 0.122598 -0.468750 -0.024386 +v 0.122598 -0.468750 0.024386 +v 0.129917 -0.500000 0.086808 +v 0.129917 -0.468750 0.086808 +v 0.086808 -0.500000 0.129917 +v 0.086808 -0.468750 0.129917 +v 0.030483 -0.500000 0.153247 +v 0.030483 -0.468750 0.153248 +v -0.030483 -0.500000 0.153247 +v -0.030483 -0.468750 0.153248 +v -0.086808 -0.500000 0.129917 +v -0.086808 -0.468750 0.129917 +v -0.129918 -0.500000 0.086808 +v -0.129917 -0.468750 0.086808 +v -0.153248 -0.500000 0.030483 +v -0.153248 -0.468750 0.030483 +v -0.153248 -0.500000 -0.030483 +v -0.153248 -0.468750 -0.030483 +v -0.129918 -0.500000 -0.086808 +v -0.129917 -0.468750 -0.086808 +v -0.086808 -0.500000 -0.129917 +v -0.086808 -0.468750 -0.129917 +v -0.030483 -0.500000 -0.153248 +v -0.030483 -0.468750 -0.153248 +v 0.030482 -0.500000 -0.153248 +v 0.030482 -0.468750 -0.153248 +v 0.086807 -0.500000 -0.129917 +v 0.086807 -0.468750 -0.129917 +v 0.129917 -0.500000 -0.086808 +v 0.129917 -0.468750 -0.086808 +v 0.153247 -0.500000 -0.030483 +v 0.153247 -0.468750 -0.030483 +v 0.153247 -0.500000 0.030483 +v 0.153247 -0.468750 0.030483 +v 0.024386 -0.468750 -0.122598 +v -0.024387 -0.468750 -0.122598 +v -0.069447 -0.468750 -0.103934 +v -0.103934 -0.468750 -0.069446 +v -0.122599 -0.468750 -0.024386 +v -0.122599 -0.468750 0.024386 +v -0.103934 -0.468750 0.069446 +v -0.069447 -0.468750 0.103934 +v -0.024387 -0.468750 0.122598 +v 0.024386 -0.468750 0.122598 +v 0.069446 -0.468750 0.103933 +v 0.103933 -0.468750 0.069446 +v -0.000000 -0.468750 -0.000000 +v -0.000000 -0.500000 -0.000000 +v -0.024386 -0.024391 -0.122598 +v -0.069446 -0.024391 -0.103934 +v -0.103934 -0.024391 -0.069446 +v -0.122598 -0.024391 -0.024386 +v -0.122598 -0.024391 0.024386 +v -0.103934 -0.024391 0.069446 +v -0.069446 -0.024391 0.103934 +v -0.024386 -0.024391 0.122598 +v 0.024386 -0.024391 0.122598 +v 0.103934 -0.024391 0.069446 +v 0.069446 -0.024391 0.103934 +v 0.103934 -0.024391 -0.069446 +v 0.122598 -0.024391 -0.024386 +v 0.122598 -0.024391 0.024386 +v 0.069446 -0.024391 -0.103934 +v 0.024386 -0.024391 -0.122598 +v 0.153248 0.468750 0.030483 +v 0.153248 0.500000 0.030483 +v 0.153248 0.468750 -0.030483 +v 0.153248 0.500000 -0.030483 +v 0.129917 0.468750 -0.086808 +v 0.129917 0.500000 -0.086808 +v 0.086808 0.468750 -0.129917 +v 0.086808 0.500000 -0.129917 +v 0.030483 0.468750 -0.153248 +v 0.030483 0.500000 -0.153248 +v -0.030483 0.468750 -0.153248 +v -0.030483 0.500000 -0.153248 +v -0.086808 0.468750 -0.129917 +v -0.086808 0.500000 -0.129917 +v -0.129917 0.468750 -0.086808 +v -0.129917 0.500000 -0.086808 +v -0.153247 0.468750 -0.030483 +v -0.153247 0.500000 -0.030483 +v -0.153247 0.468750 0.030483 +v -0.153247 0.500000 0.030483 +v -0.129917 0.468750 0.086808 +v -0.129917 0.500000 0.086808 +v -0.086808 0.468750 0.129917 +v -0.086808 0.500000 0.129917 +v -0.030483 0.468750 0.153248 +v -0.030483 0.500000 0.153248 +v 0.030483 0.468750 0.153248 +v 0.030483 0.500000 0.153248 +v 0.086808 0.468750 0.129917 +v 0.086808 0.500000 0.129917 +v 0.129917 0.468750 0.086808 +v 0.129918 0.500000 0.086808 +v 0.122598 0.468750 0.024386 +v 0.122598 0.468750 -0.024386 +v 0.103934 0.468750 -0.069446 +v 0.069447 0.468750 -0.103934 +v 0.024387 0.468750 -0.122598 +v -0.024386 0.468750 -0.122598 +v -0.069446 0.468750 -0.103934 +v -0.103933 0.468750 -0.069446 +v -0.122598 0.468750 -0.024386 +v -0.122598 0.468750 0.024386 +v -0.103933 0.468750 0.069446 +v -0.069446 0.468750 0.103934 +v -0.024386 0.468750 0.122598 +v 0.024387 0.468750 0.122598 +v 0.069447 0.468750 0.103934 +v 0.103934 0.468750 0.069446 +v 0.000000 0.468750 -0.000000 +v 0.000000 0.500000 0.000000 +v -0.024386 0.024390 -0.122598 +v -0.069446 0.024390 -0.103934 +v -0.103934 0.024390 -0.069446 +v -0.122598 0.024390 -0.024386 +v -0.122598 0.024390 0.024386 +v -0.103934 0.024390 0.069446 +v -0.069446 0.024390 0.103934 +v -0.024386 0.024389 0.122598 +v 0.024386 0.024389 0.122598 +v 0.103934 0.024390 0.069446 +v 0.069446 0.024390 0.103934 +v 0.103934 0.024390 -0.069446 +v 0.122598 0.024390 -0.024386 +v 0.122598 0.024390 0.024386 +v 0.069446 0.024390 -0.103934 +v 0.024386 0.024390 -0.122598 +v 0.468750 -0.153248 0.030483 +v 0.500000 -0.153248 0.030483 +v 0.468750 -0.153248 -0.030483 +v 0.500000 -0.153248 -0.030483 +v 0.468750 -0.129917 -0.086808 +v 0.500000 -0.129917 -0.086808 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.030483 -0.153248 +v 0.500000 -0.030483 -0.153248 +v 0.468750 0.030483 -0.153248 +v 0.500000 0.030483 -0.153248 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153247 -0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.129917 0.086808 +v 0.500000 0.129917 0.086808 +v 0.468750 0.086808 0.129917 +v 0.500000 0.086808 0.129917 +v 0.468750 0.030483 0.153248 +v 0.500000 0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.086808 0.129917 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.122598 0.024386 +v 0.468750 -0.122598 -0.024386 +v 0.468750 -0.103934 -0.069446 +v 0.468750 -0.069446 -0.103934 +v 0.468750 -0.024386 -0.122598 +v 0.468750 0.024386 -0.122598 +v 0.468750 0.069446 -0.103934 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.122598 0.024386 +v 0.468750 0.103934 0.069446 +v 0.468750 0.069446 0.103934 +v 0.468750 0.024386 0.122598 +v 0.468750 -0.024387 0.122598 +v 0.468750 -0.069447 0.103934 +v 0.468750 -0.103934 0.069446 +v 0.468750 -0.000000 -0.000000 +v 0.500000 -0.000000 0.000000 +v -0.468750 -0.069446 -0.103934 +v -0.468750 -0.103933 -0.069446 +v -0.468750 -0.122598 -0.024387 +v -0.468750 -0.122598 0.024386 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.030483 0.153247 +v -0.468750 -0.030483 0.153248 +v -0.500000 0.030483 0.153247 +v -0.468750 0.030483 0.153248 +v -0.500000 0.086808 0.129917 +v -0.468750 0.086808 0.129917 +v -0.500000 0.129917 0.086808 +v -0.468750 0.129917 0.086808 +v -0.500000 0.153248 0.030483 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.030483 -0.153248 +v -0.468750 0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.153247 -0.030483 +v -0.468750 -0.153247 -0.030483 +v -0.500000 -0.153247 0.030483 +v -0.468750 -0.153247 0.030483 +v -0.468750 -0.024386 -0.122598 +v -0.468750 0.024387 -0.122598 +v -0.468750 0.069447 -0.103934 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.122598 0.024386 +v -0.468750 0.103934 0.069446 +v -0.468750 0.069447 0.103934 +v -0.468750 0.024387 0.122598 +v -0.468750 -0.024386 0.122598 +v -0.468750 -0.069446 0.103933 +v -0.468750 -0.103933 0.069446 +v -0.468750 0.000000 -0.000000 +v -0.500000 0.000000 -0.000000 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.265625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.265625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.265625 +vt 0.687500 0.265625 +vt 0.687500 0.015625 +vt 0.500000 0.265625 +vt 0.500000 0.015625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.125000 0.265625 +vt 0.125000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.218363 0.657325 +vt 0.185866 0.820702 +vt 0.153368 0.657325 +vt 0.531836 0.657325 +vt 0.564334 0.820702 +vt 0.596832 0.657325 +vt 0.656879 0.682198 +vt 0.702838 0.728156 +vt 0.727710 0.788204 +vt 0.727710 0.853199 +vt 0.702838 0.913247 +vt 0.656879 0.959205 +vt 0.596831 0.984078 +vt 0.531836 0.984078 +vt 0.471788 0.959205 +vt 0.425830 0.913247 +vt 0.400957 0.853199 +vt 0.400957 0.788204 +vt 0.425830 0.728156 +vt 0.471789 0.682198 +vt 0.093321 0.682198 +vt 0.047362 0.728156 +vt 0.022489 0.788204 +vt 0.022489 0.853199 +vt 0.047362 0.913247 +vt 0.093320 0.959205 +vt 0.153368 0.984078 +vt 0.218363 0.984078 +vt 0.278411 0.959205 +vt 0.324369 0.913247 +vt 0.349242 0.853199 +vt 0.349242 0.788204 +vt 0.324369 0.728156 +vt 0.278411 0.682198 +vt 0.187500 0.515625 +vt 0.250000 0.515625 +vt 0.875000 0.515625 +vt 0.937500 0.515625 +vt 0.750000 0.515625 +vt 0.812500 0.515625 +vt 0.562500 0.515625 +vt 0.625000 0.515625 +vt 0.687500 0.515625 +vt 0.500000 0.515625 +vt 0.437500 0.515625 +vt 0.375000 0.515625 +vt 0.312500 0.515625 +vt 0.125000 0.515625 +vt 0.062500 0.515625 +vt 0.000000 0.515625 +vt 1.000000 0.515625 +usemtl None +s off +f 54/1 41/2 42/3 55/4 +f 31/5 33/6 50/7 +f 29/8 31/5 50/7 +f 27/9 29/8 50/7 +f 25/10 27/9 50/7 +f 23/11 25/10 50/7 +f 21/12 23/11 50/7 +f 19/13 21/12 50/7 +f 17/14 19/13 50/7 +f 15/15 17/14 50/7 +f 13/16 15/15 50/7 +f 11/17 13/16 50/7 +f 9/18 11/17 50/7 +f 7/19 9/18 50/7 +f 5/20 7/19 50/7 +f 35/21 5/20 50/7 +f 6/22 36/23 49/24 +f 8/25 6/22 49/24 +f 10/26 8/25 49/24 +f 12/27 10/26 49/24 +f 14/28 12/27 49/24 +f 16/29 14/28 49/24 +f 18/30 16/29 49/24 +f 20/31 18/30 49/24 +f 22/32 20/31 49/24 +f 24/33 22/32 49/24 +f 26/34 24/33 49/24 +f 28/35 26/34 49/24 +f 30/36 28/35 49/24 +f 32/37 30/36 49/24 +f 34/38 32/37 49/24 +f 36/23 34/38 49/24 +f 33/6 35/21 50/7 +f 8/39 7/40 5/41 6/42 +f 6/42 5/41 35/43 36/44 +f 10/45 9/46 7/40 8/39 +f 12/47 11/48 9/46 10/45 +f 14/49 13/50 11/51 12/52 +f 16/53 15/54 13/50 14/49 +f 18/55 17/56 15/54 16/53 +f 20/57 19/58 17/56 18/55 +f 22/59 21/60 19/58 20/57 +f 24/61 23/62 21/60 22/59 +f 26/63 25/64 23/62 24/61 +f 28/65 27/66 25/64 26/63 +f 30/67 29/68 27/66 28/65 +f 32/69 31/70 29/68 30/67 +f 34/71 33/72 31/70 32/69 +f 36/44 35/43 33/72 34/71 +f 65/73 1/74 37/75 66/76 +f 63/77 3/78 2/79 62/80 +f 61/81 47/82 48/83 60/84 +f 64/85 4/86 3/78 63/77 +f 62/80 2/79 1/74 65/73 +f 60/84 48/83 4/86 64/85 +f 59/87 46/88 47/82 61/81 +f 58/89 45/90 46/88 59/87 +f 57/91 44/92 45/90 58/89 +f 56/93 43/94 44/92 57/91 +f 55/4 42/3 43/94 56/93 +f 53/95 40/96 41/2 54/1 +f 52/97 39/98 40/96 53/95 +f 51/99 38/100 39/98 52/97 +f 66/76 37/75 38/101 51/102 +f 67/58 69/60 70/59 68/57 +f 69/60 71/62 72/61 70/59 +f 71/62 73/64 74/63 72/61 +f 73/64 75/66 76/65 74/63 +f 75/66 77/68 78/67 76/65 +f 77/68 79/70 80/69 78/67 +f 79/70 81/72 82/71 80/69 +f 81/72 83/43 84/44 82/71 +f 83/43 85/41 86/42 84/44 +f 85/41 87/40 88/39 86/42 +f 87/40 89/46 90/45 88/39 +f 89/46 91/48 92/47 90/45 +f 91/51 93/50 94/49 92/52 +f 93/50 95/54 96/53 94/49 +f 97/56 67/58 68/57 98/55 +f 95/54 97/56 98/55 96/53 +f 70/103 116/104 68/105 +f 67/106 115/107 69/108 +f 69/108 115/107 71/109 +f 71/109 115/107 73/110 +f 73/110 115/107 75/111 +f 75/111 115/107 77/112 +f 77/112 115/107 79/113 +f 79/113 115/107 81/114 +f 81/114 115/107 83/115 +f 83/115 115/107 85/116 +f 85/116 115/107 87/117 +f 87/117 115/107 89/118 +f 89/118 115/107 91/119 +f 91/119 115/107 93/120 +f 93/120 115/107 95/121 +f 95/121 115/107 97/122 +f 97/122 115/107 67/106 +f 68/105 116/104 98/123 +f 98/123 116/104 96/124 +f 96/124 116/104 94/125 +f 94/125 116/104 92/126 +f 92/126 116/104 90/127 +f 90/127 116/104 88/128 +f 88/128 116/104 86/129 +f 86/129 116/104 84/130 +f 84/130 116/104 82/131 +f 82/131 116/104 80/132 +f 80/132 116/104 78/133 +f 78/133 116/104 76/134 +f 76/134 116/104 74/135 +f 74/135 116/104 72/136 +f 72/136 116/104 70/103 +f 107/137 120/1 121/4 108/138 +f 102/139 131/73 132/76 103/140 +f 100/141 129/77 128/80 101/142 +f 113/143 127/81 126/84 114/144 +f 99/145 130/85 129/77 100/141 +f 101/142 128/80 131/73 102/139 +f 114/144 126/84 130/85 99/145 +f 112/146 125/87 127/81 113/143 +f 111/147 124/89 125/87 112/146 +f 110/148 123/91 124/89 111/147 +f 109/149 122/93 123/91 110/148 +f 108/138 121/4 122/93 109/149 +f 106/150 119/95 120/1 107/137 +f 105/151 118/97 119/95 106/150 +f 104/152 117/99 118/97 105/151 +f 103/140 132/76 117/102 104/153 +f 133/58 135/60 136/59 134/57 +f 135/60 137/62 138/61 136/59 +f 137/62 139/64 140/63 138/61 +f 139/64 141/66 142/65 140/63 +f 141/66 143/68 144/67 142/65 +f 143/68 145/70 146/69 144/67 +f 145/70 147/72 148/71 146/69 +f 147/72 149/43 150/44 148/71 +f 149/43 151/41 152/42 150/44 +f 151/41 153/40 154/39 152/42 +f 153/40 155/46 156/45 154/39 +f 155/46 157/48 158/47 156/45 +f 157/51 159/50 160/49 158/52 +f 159/50 161/54 162/53 160/49 +f 163/56 133/58 134/57 164/55 +f 161/54 163/56 164/55 162/53 +f 136/103 182/104 134/105 +f 133/106 181/107 135/108 +f 135/108 181/107 137/109 +f 137/109 181/107 139/110 +f 139/110 181/107 141/111 +f 141/111 181/107 143/112 +f 143/112 181/107 145/113 +f 145/113 181/107 147/114 +f 147/114 181/107 149/115 +f 149/115 181/107 151/116 +f 151/116 181/107 153/117 +f 153/117 181/107 155/118 +f 155/118 181/107 157/119 +f 157/119 181/107 159/120 +f 159/120 181/107 161/121 +f 161/121 181/107 163/122 +f 163/122 181/107 133/106 +f 134/105 182/104 164/123 +f 164/123 182/104 162/124 +f 162/124 182/104 160/125 +f 160/125 182/104 158/126 +f 158/126 182/104 156/127 +f 156/127 182/104 154/128 +f 154/128 182/104 152/129 +f 152/129 182/104 150/130 +f 150/130 182/104 148/131 +f 148/131 182/104 146/132 +f 146/132 182/104 144/133 +f 144/133 182/104 142/134 +f 142/134 182/104 140/135 +f 140/135 182/104 138/136 +f 138/136 182/104 136/103 +f 173/137 223/2 224/3 174/138 +f 213/5 215/6 232/7 +f 211/8 213/5 232/7 +f 209/9 211/8 232/7 +f 207/10 209/9 232/7 +f 205/11 207/10 232/7 +f 203/12 205/11 232/7 +f 201/13 203/12 232/7 +f 199/14 201/13 232/7 +f 197/15 199/14 232/7 +f 195/16 197/15 232/7 +f 193/17 195/16 232/7 +f 191/18 193/17 232/7 +f 189/19 191/18 232/7 +f 187/20 189/19 232/7 +f 217/21 187/20 232/7 +f 188/22 218/23 231/24 +f 190/25 188/22 231/24 +f 192/26 190/25 231/24 +f 194/27 192/26 231/24 +f 196/28 194/27 231/24 +f 198/29 196/28 231/24 +f 200/30 198/29 231/24 +f 202/31 200/30 231/24 +f 204/32 202/31 231/24 +f 206/33 204/32 231/24 +f 208/34 206/33 231/24 +f 210/35 208/34 231/24 +f 212/36 210/35 231/24 +f 214/37 212/36 231/24 +f 216/38 214/37 231/24 +f 218/23 216/38 231/24 +f 215/6 217/21 232/7 +f 190/39 189/40 187/41 188/42 +f 188/42 187/41 217/43 218/44 +f 192/45 191/46 189/40 190/39 +f 194/47 193/48 191/46 192/45 +f 196/49 195/50 193/51 194/52 +f 198/53 197/54 195/50 196/49 +f 200/55 199/56 197/54 198/53 +f 202/57 201/58 199/56 200/55 +f 204/59 203/60 201/58 202/57 +f 206/61 205/62 203/60 204/59 +f 208/63 207/64 205/62 206/61 +f 210/65 209/66 207/64 208/63 +f 212/67 211/68 209/66 210/65 +f 214/69 213/70 211/68 212/67 +f 216/71 215/72 213/70 214/69 +f 218/44 217/43 215/72 216/71 +f 168/139 183/74 219/75 169/140 +f 166/141 185/78 184/79 167/142 +f 179/143 229/82 230/83 180/144 +f 165/145 186/86 185/78 166/141 +f 167/142 184/79 183/74 168/139 +f 180/144 230/83 186/86 165/145 +f 178/146 228/88 229/82 179/143 +f 177/147 227/90 228/88 178/146 +f 176/148 226/92 227/90 177/147 +f 175/149 225/94 226/92 176/148 +f 174/138 224/3 225/94 175/149 +f 172/150 222/96 223/2 173/137 +f 171/151 221/98 222/96 172/150 +f 170/152 220/100 221/98 171/151 +f 169/140 219/75 220/101 170/153 diff --git a/no-mods/pipeworks/models/pipeworks_pipe_9.obj b/no-mods/pipeworks/models/pipeworks_pipe_9.obj new file mode 100644 index 0000000..8c6e03b --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_pipe_9.obj @@ -0,0 +1,759 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-5way.blend' +# www.blender.org +o Cube.000 +v -0.069446 -0.468750 0.103934 +v -0.103933 -0.468750 0.069446 +v -0.122598 -0.468750 0.024386 +v -0.122598 -0.468750 -0.024386 +v -0.129917 -0.500000 -0.086808 +v -0.129917 -0.468750 -0.086808 +v -0.086808 -0.500000 -0.129917 +v -0.086808 -0.468750 -0.129917 +v -0.030483 -0.500000 -0.153248 +v -0.030483 -0.468750 -0.153248 +v 0.030483 -0.500000 -0.153247 +v 0.030483 -0.468750 -0.153247 +v 0.086808 -0.500000 -0.129917 +v 0.086808 -0.468750 -0.129917 +v 0.129917 -0.500000 -0.086808 +v 0.129917 -0.468750 -0.086808 +v 0.153248 -0.500000 -0.030483 +v 0.153248 -0.468750 -0.030483 +v 0.153248 -0.500000 0.030483 +v 0.153248 -0.468750 0.030483 +v 0.129917 -0.500000 0.086808 +v 0.129917 -0.468750 0.086808 +v 0.086808 -0.500000 0.129917 +v 0.086808 -0.468750 0.129917 +v 0.030483 -0.500000 0.153248 +v 0.030483 -0.468750 0.153248 +v -0.030483 -0.500000 0.153248 +v -0.030483 -0.468750 0.153248 +v -0.086808 -0.500000 0.129917 +v -0.086808 -0.468750 0.129917 +v -0.129917 -0.500000 0.086808 +v -0.129917 -0.468750 0.086808 +v -0.153247 -0.500000 0.030483 +v -0.153248 -0.468750 0.030483 +v -0.153247 -0.500000 -0.030483 +v -0.153248 -0.468750 -0.030483 +v -0.024386 -0.468750 0.122598 +v 0.024386 -0.468750 0.122598 +v 0.069446 -0.468750 0.103934 +v 0.103934 -0.468750 0.069447 +v 0.122598 -0.468750 0.024387 +v 0.122598 -0.468750 -0.024386 +v 0.103934 -0.468750 -0.069446 +v 0.069447 -0.468750 -0.103933 +v 0.024386 -0.468750 -0.122598 +v -0.024386 -0.468750 -0.122598 +v -0.069446 -0.468750 -0.103933 +v -0.103934 -0.468750 -0.069446 +v 0.000000 -0.468750 0.000000 +v 0.000000 -0.500000 0.000000 +v 0.024386 -0.024391 0.122598 +v 0.069446 -0.024391 0.103934 +v 0.103934 -0.024391 0.069446 +v 0.122598 -0.024391 0.024386 +v 0.122598 -0.024391 -0.024386 +v 0.103934 -0.024391 -0.069446 +v 0.069446 -0.024391 -0.103934 +v 0.024386 -0.024391 -0.122598 +v -0.024386 -0.024391 -0.122598 +v -0.103934 -0.024391 -0.069446 +v -0.069446 -0.024391 -0.103934 +v -0.103934 -0.024391 0.069446 +v -0.122598 -0.024391 0.024386 +v -0.122598 -0.024391 -0.024386 +v -0.069446 -0.024391 0.103934 +v -0.024386 -0.024391 0.122598 +v -0.153248 0.468750 -0.030483 +v -0.153248 0.500000 -0.030483 +v -0.153248 0.468750 0.030483 +v -0.153248 0.500000 0.030483 +v -0.129917 0.468750 0.086808 +v -0.129917 0.500000 0.086808 +v -0.086808 0.468750 0.129917 +v -0.086808 0.500000 0.129917 +v -0.030483 0.468750 0.153248 +v -0.030483 0.500000 0.153248 +v 0.030483 0.468750 0.153248 +v 0.030483 0.500000 0.153248 +v 0.086808 0.468750 0.129917 +v 0.086808 0.500000 0.129917 +v 0.129917 0.468750 0.086808 +v 0.129917 0.500000 0.086808 +v 0.153248 0.468750 0.030483 +v 0.153248 0.500000 0.030483 +v 0.153248 0.468750 -0.030483 +v 0.153248 0.500000 -0.030483 +v 0.129917 0.468750 -0.086808 +v 0.129917 0.500000 -0.086808 +v 0.086808 0.468750 -0.129917 +v 0.086808 0.500000 -0.129917 +v 0.030483 0.468750 -0.153248 +v 0.030483 0.500000 -0.153248 +v -0.030483 0.468750 -0.153248 +v -0.030483 0.500000 -0.153248 +v -0.086808 0.468750 -0.129917 +v -0.086808 0.500000 -0.129917 +v -0.129917 0.468750 -0.086808 +v -0.129917 0.500000 -0.086808 +v -0.122598 0.468750 -0.024386 +v -0.122598 0.468750 0.024386 +v -0.103934 0.468750 0.069446 +v -0.069446 0.468750 0.103934 +v -0.024386 0.468750 0.122598 +v 0.024386 0.468750 0.122598 +v 0.069446 0.468750 0.103934 +v 0.103934 0.468750 0.069446 +v 0.122598 0.468750 0.024386 +v 0.122598 0.468750 -0.024386 +v 0.103934 0.468750 -0.069446 +v 0.069446 0.468750 -0.103934 +v 0.024386 0.468750 -0.122598 +v -0.024386 0.468750 -0.122598 +v -0.069446 0.468750 -0.103934 +v -0.103934 0.468750 -0.069446 +v -0.000000 0.468750 0.000000 +v -0.000000 0.500000 -0.000000 +v 0.024386 0.024390 0.122598 +v 0.069446 0.024390 0.103934 +v 0.103934 0.024390 0.069446 +v 0.122598 0.024390 0.024386 +v 0.122598 0.024390 -0.024386 +v 0.103934 0.024390 -0.069446 +v 0.069446 0.024390 -0.103934 +v 0.024386 0.024389 -0.122598 +v -0.024386 0.024389 -0.122598 +v -0.103934 0.024390 -0.069446 +v -0.069446 0.024390 -0.103934 +v -0.103934 0.024390 0.069446 +v -0.122598 0.024390 0.024386 +v -0.122598 0.024390 -0.024386 +v -0.069446 0.024390 0.103934 +v -0.024386 0.024390 0.122598 +v -0.468750 -0.153248 -0.030483 +v -0.500000 -0.153248 -0.030483 +v -0.468750 -0.153248 0.030483 +v -0.500000 -0.153248 0.030483 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.030483 0.153248 +v -0.500000 -0.030483 0.153248 +v -0.468750 0.030483 0.153248 +v -0.500000 0.030483 0.153248 +v -0.468750 0.086808 0.129917 +v -0.500000 0.086808 0.129917 +v -0.468750 0.129917 0.086808 +v -0.500000 0.129917 0.086808 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153248 0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.030483 -0.153248 +v -0.500000 0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.122598 -0.024386 +v -0.468750 -0.122598 0.024386 +v -0.468750 -0.103934 0.069446 +v -0.468750 -0.069446 0.103934 +v -0.468750 -0.024386 0.122598 +v -0.468750 0.024386 0.122598 +v -0.468750 0.069446 0.103934 +v -0.468750 0.103934 0.069446 +v -0.468750 0.122598 0.024386 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.069446 -0.103934 +v -0.468750 0.024386 -0.122598 +v -0.468750 -0.024386 -0.122598 +v -0.468750 -0.069446 -0.103934 +v -0.468750 -0.103934 -0.069446 +v -0.468750 0.000000 -0.000000 +v -0.500000 -0.000000 -0.000000 +v 0.468750 -0.069446 0.103934 +v 0.468750 -0.103934 0.069447 +v 0.468750 -0.122598 0.024387 +v 0.468750 -0.122598 -0.024386 +v 0.500000 -0.129917 -0.086807 +v 0.468750 -0.129917 -0.086807 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.468750 -0.030483 -0.153247 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.030483 -0.153247 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.153248 -0.030483 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.129917 0.086808 +v 0.468750 0.129917 0.086808 +v 0.500000 0.086808 0.129917 +v 0.468750 0.086808 0.129917 +v 0.500000 0.030483 0.153248 +v 0.468750 0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.086808 0.129917 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.153248 0.030483 +v 0.468750 -0.153248 0.030483 +v 0.500000 -0.153248 -0.030482 +v 0.468750 -0.153248 -0.030483 +v 0.468750 -0.024386 0.122598 +v 0.468750 0.024386 0.122598 +v 0.468750 0.069446 0.103934 +v 0.468750 0.103934 0.069447 +v 0.468750 0.122598 0.024387 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.069446 -0.103933 +v 0.468750 0.024386 -0.122598 +v 0.468750 -0.024386 -0.122598 +v 0.468750 -0.069446 -0.103933 +v 0.468750 -0.103934 -0.069446 +v 0.468750 0.000000 0.000000 +v 0.500000 0.000000 0.000000 +v -0.069446 -0.103934 -0.468750 +v -0.103933 -0.069447 -0.468750 +v -0.122598 -0.024387 -0.468750 +v -0.122598 0.024386 -0.468750 +v -0.129917 0.086808 -0.500000 +v -0.129917 0.086808 -0.468750 +v -0.086807 0.129917 -0.500000 +v -0.086807 0.129917 -0.468750 +v -0.030482 0.153247 -0.500000 +v -0.030482 0.153247 -0.468750 +v 0.030483 0.153247 -0.500000 +v 0.030483 0.153247 -0.468750 +v 0.086808 0.129917 -0.500000 +v 0.086808 0.129917 -0.468750 +v 0.129918 0.086808 -0.500000 +v 0.129918 0.086808 -0.468750 +v 0.153248 0.030483 -0.500000 +v 0.153248 0.030483 -0.468750 +v 0.153248 -0.030483 -0.500000 +v 0.153248 -0.030483 -0.468750 +v 0.129918 -0.086808 -0.500000 +v 0.129918 -0.086808 -0.468750 +v 0.086808 -0.129917 -0.500000 +v 0.086808 -0.129917 -0.468750 +v 0.030483 -0.153248 -0.500000 +v 0.030483 -0.153248 -0.468750 +v -0.030482 -0.153248 -0.500000 +v -0.030482 -0.153248 -0.468750 +v -0.086807 -0.129917 -0.500000 +v -0.086807 -0.129917 -0.468750 +v -0.129917 -0.086808 -0.500000 +v -0.129917 -0.086808 -0.468750 +v -0.153247 -0.030483 -0.500000 +v -0.153247 -0.030483 -0.468750 +v -0.153247 0.030483 -0.500000 +v -0.153247 0.030483 -0.468750 +v -0.024386 -0.122598 -0.468750 +v 0.024387 -0.122598 -0.468750 +v 0.069447 -0.103934 -0.468750 +v 0.103934 -0.069447 -0.468750 +v 0.122599 -0.024387 -0.468750 +v 0.122599 0.024386 -0.468750 +v 0.103934 0.069446 -0.468750 +v 0.069447 0.103933 -0.468750 +v 0.024387 0.122598 -0.468750 +v -0.024386 0.122598 -0.468750 +v -0.069446 0.103933 -0.468750 +v -0.103933 0.069446 -0.468750 +v 0.000000 -0.000000 -0.468750 +v 0.000001 -0.000000 -0.500000 +v 0.024386 -0.122598 -0.024391 +v 0.069446 -0.103934 -0.024391 +v 0.103934 -0.069446 -0.024391 +v 0.122598 -0.024386 -0.024391 +v 0.122598 0.024386 -0.024391 +v 0.103934 0.069446 -0.024391 +v 0.069446 0.103934 -0.024391 +v 0.024386 0.122598 -0.024391 +v -0.024386 0.122598 -0.024391 +v -0.103934 0.069446 -0.024391 +v -0.069446 0.103934 -0.024391 +v -0.103934 -0.069446 -0.024391 +v -0.122598 -0.024386 -0.024391 +v -0.122598 0.024386 -0.024391 +v -0.069446 -0.103934 -0.024391 +v -0.024386 -0.122598 -0.024391 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.265625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.265625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.265625 +vt 0.687500 0.265625 +vt 0.687500 0.015625 +vt 0.500000 0.265625 +vt 0.500000 0.015625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.125000 0.265625 +vt 0.125000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.218363 0.657325 +vt 0.185866 0.820702 +vt 0.153368 0.657325 +vt 0.531836 0.657325 +vt 0.564334 0.820702 +vt 0.596832 0.657325 +vt 0.656879 0.682198 +vt 0.702838 0.728156 +vt 0.727710 0.788204 +vt 0.727710 0.853199 +vt 0.702838 0.913247 +vt 0.656879 0.959205 +vt 0.596831 0.984078 +vt 0.531836 0.984078 +vt 0.471788 0.959205 +vt 0.425830 0.913247 +vt 0.400957 0.853199 +vt 0.400957 0.788204 +vt 0.425830 0.728156 +vt 0.471789 0.682198 +vt 0.093321 0.682198 +vt 0.047362 0.728156 +vt 0.022489 0.788204 +vt 0.022489 0.853199 +vt 0.047362 0.913247 +vt 0.093320 0.959205 +vt 0.153368 0.984078 +vt 0.218363 0.984078 +vt 0.278411 0.959205 +vt 0.324369 0.913247 +vt 0.349242 0.853199 +vt 0.349242 0.788204 +vt 0.324369 0.728156 +vt 0.278411 0.682198 +vt 0.187500 0.515625 +vt 0.250000 0.515625 +vt 0.875000 0.515625 +vt 0.937500 0.515625 +vt 0.750000 0.515625 +vt 0.812500 0.515625 +vt 0.562500 0.515625 +vt 0.625000 0.515625 +vt 0.687500 0.515625 +vt 0.500000 0.515625 +vt 0.437500 0.515625 +vt 0.375000 0.515625 +vt 0.312500 0.515625 +vt 0.125000 0.515625 +vt 0.062500 0.515625 +vt 0.000000 0.515625 +vt 1.000000 0.515625 +s off +f 54/1 41/2 42/3 55/4 +f 31/5 33/6 50/7 +f 29/8 31/5 50/7 +f 27/9 29/8 50/7 +f 25/10 27/9 50/7 +f 23/11 25/10 50/7 +f 21/12 23/11 50/7 +f 19/13 21/12 50/7 +f 17/14 19/13 50/7 +f 15/15 17/14 50/7 +f 13/16 15/15 50/7 +f 11/17 13/16 50/7 +f 9/18 11/17 50/7 +f 7/19 9/18 50/7 +f 5/20 7/19 50/7 +f 35/21 5/20 50/7 +f 6/22 36/23 49/24 +f 8/25 6/22 49/24 +f 10/26 8/25 49/24 +f 12/27 10/26 49/24 +f 14/28 12/27 49/24 +f 16/29 14/28 49/24 +f 18/30 16/29 49/24 +f 20/31 18/30 49/24 +f 22/32 20/31 49/24 +f 24/33 22/32 49/24 +f 26/34 24/33 49/24 +f 28/35 26/34 49/24 +f 30/36 28/35 49/24 +f 32/37 30/36 49/24 +f 34/38 32/37 49/24 +f 36/23 34/38 49/24 +f 33/6 35/21 50/7 +f 8/39 7/40 5/41 6/42 +f 6/42 5/41 35/43 36/44 +f 10/45 9/46 7/40 8/39 +f 12/47 11/48 9/46 10/45 +f 14/49 13/50 11/51 12/52 +f 16/53 15/54 13/50 14/49 +f 18/55 17/56 15/54 16/53 +f 20/57 19/58 17/56 18/55 +f 22/59 21/60 19/58 20/57 +f 24/61 23/62 21/60 22/59 +f 26/63 25/64 23/62 24/61 +f 28/65 27/66 25/64 26/63 +f 30/67 29/68 27/66 28/65 +f 32/69 31/70 29/68 30/67 +f 34/71 33/72 31/70 32/69 +f 36/44 35/43 33/72 34/71 +f 65/73 1/74 37/75 66/76 +f 63/77 3/78 2/79 62/80 +f 61/81 47/82 48/83 60/84 +f 64/85 4/86 3/78 63/77 +f 62/80 2/79 1/74 65/73 +f 60/84 48/83 4/86 64/85 +f 59/87 46/88 47/82 61/81 +f 58/89 45/90 46/88 59/87 +f 57/91 44/92 45/90 58/89 +f 56/93 43/94 44/92 57/91 +f 55/4 42/3 43/94 56/93 +f 53/95 40/96 41/2 54/1 +f 52/97 39/98 40/96 53/95 +f 51/99 38/100 39/98 52/97 +f 66/76 37/75 38/101 51/102 +f 67/58 69/60 70/59 68/57 +f 69/60 71/62 72/61 70/59 +f 71/62 73/64 74/63 72/61 +f 73/64 75/66 76/65 74/63 +f 75/66 77/68 78/67 76/65 +f 77/68 79/70 80/69 78/67 +f 79/70 81/72 82/71 80/69 +f 81/72 83/43 84/44 82/71 +f 83/43 85/41 86/42 84/44 +f 85/41 87/40 88/39 86/42 +f 87/40 89/46 90/45 88/39 +f 89/46 91/48 92/47 90/45 +f 91/51 93/50 94/49 92/52 +f 93/50 95/54 96/53 94/49 +f 97/56 67/58 68/57 98/55 +f 95/54 97/56 98/55 96/53 +f 70/103 116/104 68/105 +f 67/106 115/107 69/108 +f 69/108 115/107 71/109 +f 71/109 115/107 73/110 +f 73/110 115/107 75/111 +f 75/111 115/107 77/112 +f 77/112 115/107 79/113 +f 79/113 115/107 81/114 +f 81/114 115/107 83/115 +f 83/115 115/107 85/116 +f 85/116 115/107 87/117 +f 87/117 115/107 89/118 +f 89/118 115/107 91/119 +f 91/119 115/107 93/120 +f 93/120 115/107 95/121 +f 95/121 115/107 97/122 +f 97/122 115/107 67/106 +f 68/105 116/104 98/123 +f 98/123 116/104 96/124 +f 96/124 116/104 94/125 +f 94/125 116/104 92/126 +f 92/126 116/104 90/127 +f 90/127 116/104 88/128 +f 88/128 116/104 86/129 +f 86/129 116/104 84/130 +f 84/130 116/104 82/131 +f 82/131 116/104 80/132 +f 80/132 116/104 78/133 +f 78/133 116/104 76/134 +f 76/134 116/104 74/135 +f 74/135 116/104 72/136 +f 72/136 116/104 70/103 +f 107/137 120/1 121/4 108/138 +f 102/139 131/73 132/76 103/140 +f 100/141 129/77 128/80 101/142 +f 113/143 127/81 126/84 114/144 +f 99/145 130/85 129/77 100/141 +f 101/142 128/80 131/73 102/139 +f 114/144 126/84 130/85 99/145 +f 112/146 125/87 127/81 113/143 +f 111/147 124/89 125/87 112/146 +f 110/148 123/91 124/89 111/147 +f 109/149 122/93 123/91 110/148 +f 108/138 121/4 122/93 109/149 +f 106/150 119/95 120/1 107/137 +f 105/151 118/97 119/95 106/150 +f 104/152 117/99 118/97 105/151 +f 103/140 132/76 117/102 104/153 +f 133/58 135/60 136/59 134/57 +f 135/60 137/62 138/61 136/59 +f 137/62 139/64 140/63 138/61 +f 139/64 141/66 142/65 140/63 +f 141/66 143/68 144/67 142/65 +f 143/68 145/70 146/69 144/67 +f 145/70 147/72 148/71 146/69 +f 147/72 149/43 150/44 148/71 +f 149/43 151/41 152/42 150/44 +f 151/41 153/40 154/39 152/42 +f 153/40 155/46 156/45 154/39 +f 155/46 157/48 158/47 156/45 +f 157/51 159/50 160/49 158/52 +f 159/50 161/54 162/53 160/49 +f 163/56 133/58 134/57 164/55 +f 161/54 163/56 164/55 162/53 +f 136/103 182/104 134/105 +f 133/106 181/107 135/108 +f 135/108 181/107 137/109 +f 137/109 181/107 139/110 +f 139/110 181/107 141/111 +f 141/111 181/107 143/112 +f 143/112 181/107 145/113 +f 145/113 181/107 147/114 +f 147/114 181/107 149/115 +f 149/115 181/107 151/116 +f 151/116 181/107 153/117 +f 153/117 181/107 155/118 +f 155/118 181/107 157/119 +f 157/119 181/107 159/120 +f 159/120 181/107 161/121 +f 161/121 181/107 163/122 +f 163/122 181/107 133/106 +f 134/105 182/104 164/123 +f 164/123 182/104 162/124 +f 162/124 182/104 160/125 +f 160/125 182/104 158/126 +f 158/126 182/104 156/127 +f 156/127 182/104 154/128 +f 154/128 182/104 152/129 +f 152/129 182/104 150/130 +f 150/130 182/104 148/131 +f 148/131 182/104 146/132 +f 146/132 182/104 144/133 +f 144/133 182/104 142/134 +f 142/134 182/104 140/135 +f 140/135 182/104 138/136 +f 138/136 182/104 136/103 +f 173/137 223/2 224/3 174/138 +f 213/5 215/6 232/7 +f 211/8 213/5 232/7 +f 209/9 211/8 232/7 +f 207/10 209/9 232/7 +f 205/11 207/10 232/7 +f 203/12 205/11 232/7 +f 201/13 203/12 232/7 +f 199/14 201/13 232/7 +f 197/15 199/14 232/7 +f 195/16 197/15 232/7 +f 193/17 195/16 232/7 +f 191/18 193/17 232/7 +f 189/19 191/18 232/7 +f 187/20 189/19 232/7 +f 217/21 187/20 232/7 +f 188/22 218/23 231/24 +f 190/25 188/22 231/24 +f 192/26 190/25 231/24 +f 194/27 192/26 231/24 +f 196/28 194/27 231/24 +f 198/29 196/28 231/24 +f 200/30 198/29 231/24 +f 202/31 200/30 231/24 +f 204/32 202/31 231/24 +f 206/33 204/32 231/24 +f 208/34 206/33 231/24 +f 210/35 208/34 231/24 +f 212/36 210/35 231/24 +f 214/37 212/36 231/24 +f 216/38 214/37 231/24 +f 218/23 216/38 231/24 +f 215/6 217/21 232/7 +f 190/39 189/40 187/41 188/42 +f 188/42 187/41 217/43 218/44 +f 192/45 191/46 189/40 190/39 +f 194/47 193/48 191/46 192/45 +f 196/49 195/50 193/51 194/52 +f 198/53 197/54 195/50 196/49 +f 200/55 199/56 197/54 198/53 +f 202/57 201/58 199/56 200/55 +f 204/59 203/60 201/58 202/57 +f 206/61 205/62 203/60 204/59 +f 208/63 207/64 205/62 206/61 +f 210/65 209/66 207/64 208/63 +f 212/67 211/68 209/66 210/65 +f 214/69 213/70 211/68 212/67 +f 216/71 215/72 213/70 214/69 +f 218/44 217/43 215/72 216/71 +f 168/139 183/74 219/75 169/140 +f 166/141 185/78 184/79 167/142 +f 179/143 229/82 230/83 180/144 +f 165/145 186/86 185/78 166/141 +f 167/142 184/79 183/74 168/139 +f 180/144 230/83 186/86 165/145 +f 178/146 228/88 229/82 179/143 +f 177/147 227/90 228/88 178/146 +f 176/148 226/92 227/90 177/147 +f 175/149 225/94 226/92 176/148 +f 174/138 224/3 225/94 175/149 +f 172/150 222/96 223/2 173/137 +f 171/151 221/98 222/96 172/150 +f 170/152 220/100 221/98 171/151 +f 169/140 219/75 220/101 170/153 +f 286/1 273/2 274/3 287/4 +f 263/5 265/6 282/7 +f 261/8 263/5 282/7 +f 259/9 261/8 282/7 +f 257/10 259/9 282/7 +f 255/11 257/10 282/7 +f 253/12 255/11 282/7 +f 251/13 253/12 282/7 +f 249/14 251/13 282/7 +f 247/15 249/14 282/7 +f 245/16 247/15 282/7 +f 243/17 245/16 282/7 +f 241/18 243/17 282/7 +f 239/19 241/18 282/7 +f 237/20 239/19 282/7 +f 267/21 237/20 282/7 +f 238/22 268/23 281/24 +f 240/25 238/22 281/24 +f 242/26 240/25 281/24 +f 244/27 242/26 281/24 +f 246/28 244/27 281/24 +f 248/29 246/28 281/24 +f 250/30 248/29 281/24 +f 252/31 250/30 281/24 +f 254/32 252/31 281/24 +f 256/33 254/32 281/24 +f 258/34 256/33 281/24 +f 260/35 258/34 281/24 +f 262/36 260/35 281/24 +f 264/37 262/36 281/24 +f 266/38 264/37 281/24 +f 268/23 266/38 281/24 +f 265/6 267/21 282/7 +f 240/39 239/40 237/41 238/42 +f 238/42 237/41 267/43 268/44 +f 242/45 241/46 239/40 240/39 +f 244/47 243/48 241/46 242/45 +f 246/49 245/50 243/51 244/52 +f 248/53 247/54 245/50 246/49 +f 250/55 249/56 247/54 248/53 +f 252/57 251/58 249/56 250/55 +f 254/59 253/60 251/58 252/57 +f 256/61 255/62 253/60 254/59 +f 258/63 257/64 255/62 256/61 +f 260/65 259/66 257/64 258/63 +f 262/67 261/68 259/66 260/65 +f 264/69 263/70 261/68 262/67 +f 266/71 265/72 263/70 264/69 +f 268/44 267/43 265/72 266/71 +f 297/73 233/74 269/75 298/76 +f 295/77 235/78 234/79 294/80 +f 293/81 279/82 280/83 292/84 +f 296/85 236/86 235/78 295/77 +f 294/80 234/79 233/74 297/73 +f 292/84 280/83 236/86 296/85 +f 291/87 278/88 279/82 293/81 +f 290/89 277/90 278/88 291/87 +f 289/91 276/92 277/90 290/89 +f 288/93 275/94 276/92 289/91 +f 287/4 274/3 275/94 288/93 +f 285/95 272/96 273/2 286/1 +f 284/97 271/98 272/96 285/95 +f 283/99 270/100 271/98 284/97 +f 298/76 269/75 270/101 283/102 diff --git a/no-mods/pipeworks/models/pipeworks_pump.obj b/no-mods/pipeworks/models/pipeworks_pump.obj new file mode 100644 index 0000000..f05dd02 --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_pump.obj @@ -0,0 +1,282 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-pump.blend' +# www.blender.org +mtllib pipeworks_pump.mtl +o Cube +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.375000 0.500000 +v -0.500000 -0.375000 -0.500000 +v 0.500000 -0.375000 -0.500000 +v 0.500000 -0.375000 0.500000 +v -0.437500 -0.375000 0.437500 +v -0.437500 -0.375000 -0.437500 +v 0.437500 -0.375000 -0.437500 +v 0.437500 -0.375000 0.437500 +v -0.437500 0.375000 0.437500 +v -0.437500 0.375000 -0.437500 +v 0.437500 0.375000 -0.437500 +v 0.437500 0.375000 0.437500 +v 0.153248 0.468750 0.030483 +v 0.153248 0.500000 0.030483 +v 0.153248 0.468750 -0.030483 +v 0.153248 0.500000 -0.030483 +v 0.129917 0.468750 -0.086808 +v 0.129917 0.500000 -0.086808 +v 0.086808 0.468750 -0.129917 +v 0.086808 0.500000 -0.129917 +v 0.030483 0.468750 -0.153248 +v 0.030483 0.500000 -0.153248 +v -0.030483 0.468750 -0.153248 +v -0.030483 0.500000 -0.153248 +v -0.086808 0.468750 -0.129917 +v -0.086808 0.500000 -0.129917 +v -0.129917 0.468750 -0.086808 +v -0.129917 0.500000 -0.086808 +v -0.153247 0.468750 -0.030483 +v -0.153247 0.500000 -0.030483 +v -0.153247 0.468750 0.030483 +v -0.153247 0.500000 0.030483 +v -0.129917 0.468750 0.086808 +v -0.129917 0.500000 0.086808 +v -0.086808 0.468750 0.129917 +v -0.086808 0.500000 0.129917 +v -0.030483 0.468750 0.153248 +v -0.030483 0.500000 0.153248 +v 0.030483 0.468750 0.153248 +v 0.030483 0.500000 0.153248 +v 0.086808 0.468750 0.129917 +v 0.086808 0.500000 0.129917 +v 0.129917 0.468750 0.086808 +v 0.129918 0.500000 0.086808 +v 0.122598 0.468750 0.024386 +v 0.122598 0.468750 -0.024386 +v 0.103934 0.468750 -0.069446 +v 0.069447 0.468750 -0.103934 +v 0.024387 0.468750 -0.122598 +v -0.024386 0.468750 -0.122598 +v -0.069446 0.468750 -0.103934 +v -0.103933 0.468750 -0.069446 +v -0.122598 0.468750 -0.024386 +v -0.122598 0.468750 0.024386 +v -0.103933 0.468750 0.069446 +v -0.069446 0.468750 0.103934 +v -0.024386 0.468750 0.122598 +v 0.024387 0.468750 0.122598 +v 0.069447 0.468750 0.103934 +v 0.103934 0.468750 0.069446 +v 0.000000 0.468750 -0.000000 +v 0.000000 0.500000 0.000000 +v 0.122598 0.375003 0.024386 +v 0.122598 0.375003 -0.024386 +v 0.103934 0.375003 -0.069446 +v 0.069446 0.375003 0.103934 +v 0.103934 0.375003 0.069446 +v 0.024386 0.375003 0.122598 +v -0.024386 0.375003 0.122598 +v -0.069446 0.375003 0.103934 +v -0.103934 0.375003 0.069446 +v -0.122598 0.375003 0.024386 +v -0.122598 0.375003 -0.024386 +v -0.103934 0.375003 -0.069446 +v -0.069446 0.375003 -0.103934 +v -0.024386 0.375003 -0.122598 +v 0.069446 0.375003 -0.103934 +v 0.024386 0.375003 -0.122598 +vt 0.714844 0.761719 +vt 0.714844 0.511719 +vt 0.746094 0.511719 +vt 0.746094 0.761719 +vt 0.621094 0.761719 +vt 0.621094 0.511719 +vt 0.652344 0.511719 +vt 0.652344 0.761719 +vt 0.683594 0.761719 +vt 0.683594 0.511719 +vt 0.996094 0.511719 +vt 0.996094 0.761719 +vt 0.996094 0.261719 +vt 0.746094 0.261719 +vt 0.230469 0.261719 +vt 0.449219 0.261719 +vt 0.449219 0.433594 +vt 0.230469 0.433594 +vt 0.222656 0.613281 +vt 0.003906 0.613281 +vt 0.003906 0.441406 +vt 0.222656 0.441406 +vt 0.222656 0.433594 +vt 0.003906 0.433594 +vt 0.003906 0.261719 +vt 0.222656 0.261719 +vt 0.675781 0.433594 +vt 0.457031 0.433594 +vt 0.457031 0.261719 +vt 0.675781 0.261719 +vt 0.230469 0.660156 +vt 0.230469 0.441406 +vt 0.449219 0.441406 +vt 0.449219 0.660156 +vt 0.750000 0.996094 +vt 0.812500 0.996094 +vt 0.812500 0.945313 +vt 0.750000 0.945313 +vt 0.875000 0.996094 +vt 0.875000 0.945313 +vt 0.937500 0.996094 +vt 0.937500 0.945313 +vt 1.000000 0.996094 +vt 1.000000 0.945313 +vt 0.000000 0.996094 +vt 0.062500 0.996094 +vt 0.062500 0.945313 +vt 0.000000 0.945313 +vt 0.125000 0.996094 +vt 0.125000 0.945313 +vt 0.187500 0.996094 +vt 0.187500 0.945313 +vt 0.250000 0.996094 +vt 0.250000 0.945313 +vt 0.312500 0.996094 +vt 0.312500 0.945313 +vt 0.375000 0.996094 +vt 0.375000 0.945313 +vt 0.437500 0.996094 +vt 0.437500 0.945313 +vt 0.500000 0.996094 +vt 0.500000 0.945313 +vt 0.562500 0.996094 +vt 0.562500 0.945313 +vt 0.625000 0.996094 +vt 0.625000 0.945313 +vt 0.687500 0.996094 +vt 0.687500 0.945313 +vt 0.007550 0.738767 +vt 0.046892 0.730976 +vt 0.007550 0.723186 +vt 0.101275 0.738767 +vt 0.140617 0.730976 +vt 0.101275 0.723186 +vt 0.107265 0.708790 +vt 0.118332 0.697773 +vt 0.132792 0.691810 +vt 0.148443 0.691810 +vt 0.162903 0.697773 +vt 0.173970 0.708790 +vt 0.179959 0.723186 +vt 0.179959 0.738767 +vt 0.173970 0.753163 +vt 0.162903 0.764180 +vt 0.148443 0.770143 +vt 0.132792 0.770143 +vt 0.118332 0.764180 +vt 0.107265 0.753163 +vt 0.013540 0.708790 +vt 0.024607 0.697773 +vt 0.039067 0.691810 +vt 0.054718 0.691810 +vt 0.069178 0.697773 +vt 0.080245 0.708790 +vt 0.086234 0.723186 +vt 0.086234 0.738767 +vt 0.080245 0.753162 +vt 0.069178 0.764180 +vt 0.054718 0.770143 +vt 0.039067 0.770143 +vt 0.024607 0.764180 +vt 0.013540 0.753162 +vt 0.250000 0.777344 +vt 0.312500 0.777344 +vt 0.937500 0.777344 +vt 1.000000 0.777344 +vt 0.812500 0.777344 +vt 0.875000 0.777344 +vt 0.625000 0.777344 +vt 0.687500 0.777344 +vt 0.750000 0.777344 +vt 0.562500 0.777344 +vt 0.500000 0.777344 +vt 0.437500 0.777344 +vt 0.375000 0.777344 +vt 0.187500 0.777344 +vt 0.125000 0.777344 +vt 0.062500 0.777344 +vt 0.000000 0.777344 +usemtl None +s off +f 5/1 6/2 2/3 1/4 +f 6/5 7/6 3/7 2/8 +f 7/9 8/10 4/2 3/1 +f 8/10 5/9 1/8 4/7 +f 1/4 2/3 3/11 4/12 +f 8/13 7/11 6/3 5/14 +f 13/15 14/16 10/17 9/18 +f 14/19 15/20 11/21 10/22 +f 15/23 16/24 12/25 11/26 +f 16/27 13/28 9/29 12/30 +f 16/31 15/32 14/33 13/34 +f 17/35 19/36 20/37 18/38 +f 19/36 21/39 22/40 20/37 +f 21/39 23/41 24/42 22/40 +f 23/41 25/43 26/44 24/42 +f 25/45 27/46 28/47 26/48 +f 27/46 29/49 30/50 28/47 +f 29/49 31/51 32/52 30/50 +f 31/51 33/53 34/54 32/52 +f 33/53 35/55 36/56 34/54 +f 35/55 37/57 38/58 36/56 +f 37/57 39/59 40/60 38/58 +f 39/59 41/61 42/62 40/60 +f 41/61 43/63 44/64 42/62 +f 43/63 45/65 46/66 44/64 +f 47/67 17/35 18/38 48/68 +f 45/65 47/67 48/68 46/66 +f 20/69 66/70 18/71 +f 17/72 65/73 19/74 +f 19/74 65/73 21/75 +f 21/75 65/73 23/76 +f 23/76 65/73 25/77 +f 25/77 65/73 27/78 +f 27/78 65/73 29/79 +f 29/79 65/73 31/80 +f 31/80 65/73 33/81 +f 33/81 65/73 35/82 +f 35/82 65/73 37/83 +f 37/83 65/73 39/84 +f 39/84 65/73 41/85 +f 41/85 65/73 43/86 +f 43/86 65/73 45/87 +f 45/87 65/73 47/88 +f 47/88 65/73 17/72 +f 18/71 66/70 48/89 +f 48/89 66/70 46/90 +f 46/90 66/70 44/91 +f 44/91 66/70 42/92 +f 42/92 66/70 40/93 +f 40/93 66/70 38/94 +f 38/94 66/70 36/95 +f 36/95 66/70 34/96 +f 34/96 66/70 32/97 +f 32/97 66/70 30/98 +f 30/98 66/70 28/99 +f 28/99 66/70 26/100 +f 26/100 66/70 24/101 +f 24/101 66/70 22/102 +f 22/102 66/70 20/69 +f 57/54 77/103 76/104 58/56 +f 52/42 81/105 82/106 53/44 +f 50/37 68/107 69/108 51/40 +f 63/66 70/109 71/110 64/68 +f 49/38 67/111 68/107 50/37 +f 51/40 69/108 81/105 52/42 +f 64/68 71/110 67/111 49/38 +f 62/64 72/112 70/109 63/66 +f 61/62 73/113 72/112 62/64 +f 60/60 74/114 73/113 61/62 +f 59/58 75/115 74/114 60/60 +f 58/56 76/104 75/115 59/58 +f 56/52 78/116 77/103 57/54 +f 55/50 79/117 78/116 56/52 +f 54/47 80/118 79/117 55/50 +f 53/48 82/119 80/118 54/47 diff --git a/no-mods/pipeworks/models/pipeworks_spigot.obj b/no-mods/pipeworks/models/pipeworks_spigot.obj new file mode 100644 index 0000000..f6e80c9 --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_spigot.obj @@ -0,0 +1,512 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-spigot.blend' +# www.blender.org +mtllib pipeworks_spigot.mtl +o pipe.000_Cylinder.001 +v -0.122598 -0.024391 -0.024386 +v -0.122598 -0.024391 0.024386 +v 0.129917 -0.250000 -0.086808 +v 0.153247 -0.250000 -0.030483 +v -0.000000 -0.250000 -0.000000 +v 0.086808 -0.250000 -0.129917 +v 0.030483 -0.250000 -0.153248 +v -0.030483 -0.250000 -0.153248 +v -0.086808 -0.250000 -0.129917 +v -0.129917 -0.250000 -0.086808 +v -0.153248 -0.250000 -0.030483 +v -0.153248 -0.250000 0.030483 +v -0.129917 -0.250000 0.086808 +v -0.086808 -0.250000 0.129917 +v -0.030483 -0.250000 0.153247 +v 0.030483 -0.250000 0.153248 +v 0.086808 -0.250000 0.129917 +v 0.129917 -0.250000 0.086808 +v 0.153247 -0.250000 0.030483 +v 0.129917 -0.187500 0.086808 +v 0.153248 -0.187500 0.030483 +v -0.000000 -0.187500 -0.000000 +v 0.086808 -0.187500 0.129917 +v 0.030483 -0.187500 0.153248 +v -0.030483 -0.187500 0.153247 +v -0.086808 -0.187500 0.129917 +v -0.129917 -0.187500 0.086808 +v -0.153248 -0.187500 0.030483 +v -0.153248 -0.187500 -0.030483 +v -0.129917 -0.187500 -0.086808 +v -0.086808 -0.187500 -0.129917 +v -0.030483 -0.187500 -0.153248 +v 0.030483 -0.187500 -0.153248 +v 0.086808 -0.187500 -0.129917 +v 0.129917 -0.187500 -0.086808 +v 0.153248 -0.187500 -0.030483 +v 0.069446 -0.024391 -0.103934 +v 0.024386 -0.024391 -0.122598 +v 0.122598 -0.024391 -0.024386 +v 0.103934 -0.024391 -0.069446 +v 0.069446 -0.024391 0.103934 +v 0.103934 -0.024391 0.069446 +v 0.122598 -0.024391 0.024386 +v 0.024386 -0.024391 0.122598 +v -0.024386 -0.024391 0.122598 +v -0.069446 -0.024391 0.103934 +v -0.103934 -0.024391 0.069446 +v -0.103934 -0.024391 -0.069446 +v -0.069446 -0.024391 -0.103934 +v -0.024386 -0.024391 -0.122598 +v -0.103934 0.041589 -0.041924 +v 0.103934 0.041589 -0.041925 +v 0.122598 0.009727 -0.010062 +v 0.024386 0.079173 -0.079509 +v 0.069446 0.065976 -0.066311 +v 0.069446 0.094826 -0.024663 +v -0.103934 0.062964 -0.011464 +v -0.069446 0.094827 -0.024662 +v -0.024386 0.112070 -0.031805 +v 0.024386 0.112070 -0.031805 +v 0.122598 0.021334 0.005779 +v 0.103934 0.062964 -0.011464 +v -0.122598 0.021334 0.005780 +v -0.024386 0.079173 -0.079509 +v -0.069446 0.065976 -0.066311 +v -0.122599 -0.024387 0.468750 +v -0.122599 0.024386 0.468750 +v -0.122598 0.024386 0.024391 +v 0.129917 -0.086808 0.500000 +v 0.153247 -0.030483 0.500000 +v -0.000001 0.000000 0.500000 +v 0.086807 -0.129917 0.500000 +v 0.030482 -0.153248 0.500000 +v -0.030483 -0.153248 0.500000 +v -0.086808 -0.129917 0.500000 +v -0.129918 -0.086808 0.500000 +v -0.153248 -0.030483 0.500000 +v -0.153248 0.030483 0.500000 +v -0.129918 0.086808 0.500000 +v -0.086808 0.129917 0.500000 +v -0.030483 0.153247 0.500000 +v 0.030482 0.153247 0.500000 +v 0.086807 0.129917 0.500000 +v 0.129917 0.086808 0.500000 +v 0.153247 0.030483 0.500000 +v 0.129917 0.086808 0.468750 +v 0.153247 0.030483 0.468750 +v 0.000000 0.000000 0.468750 +v 0.086807 0.129917 0.468750 +v 0.030482 0.153247 0.468750 +v -0.030483 0.153247 0.468750 +v -0.086808 0.129917 0.468750 +v -0.129918 0.086808 0.468750 +v -0.153248 0.030483 0.468750 +v -0.153248 -0.030483 0.468750 +v -0.129918 -0.086808 0.468750 +v -0.086808 -0.129917 0.468750 +v -0.030483 -0.153248 0.468750 +v 0.030482 -0.153248 0.468750 +v 0.086807 -0.129917 0.468750 +v 0.129917 -0.086808 0.468750 +v 0.153247 -0.030483 0.468750 +v 0.069446 -0.103934 0.024391 +v 0.069446 -0.103934 0.468750 +v 0.024386 -0.122598 0.468750 +v 0.024386 -0.122598 0.024391 +v 0.122598 -0.024387 0.468750 +v 0.103933 -0.069447 0.468750 +v 0.103934 -0.069446 0.024391 +v 0.069446 0.103933 0.468750 +v 0.103933 0.069446 0.468750 +v 0.103934 0.069446 0.024391 +v 0.122598 0.024386 0.024391 +v 0.122598 0.024386 0.468750 +v 0.024386 0.122598 0.024391 +v 0.024386 0.122598 0.468750 +v -0.024386 0.122598 0.024391 +v -0.024387 0.122598 0.468750 +v -0.069446 0.103934 0.024391 +v -0.069447 0.103933 0.468750 +v -0.103934 0.069446 0.024391 +v -0.103934 0.069446 0.468750 +v -0.103934 -0.069446 0.024391 +v -0.103934 -0.069447 0.468750 +v -0.069446 -0.103934 0.024391 +v -0.069447 -0.103934 0.468750 +v -0.024386 -0.122598 0.024391 +v -0.024387 -0.122598 0.468750 +v 0.069446 0.103934 0.024390 +v -0.122598 -0.005780 -0.020763 +v -0.024386 0.031804 -0.111499 +v -0.069446 0.024662 -0.094256 +v -0.103934 0.011464 -0.062393 +v 0.103934 0.011464 -0.062393 +v 0.122598 -0.005780 -0.020763 +v 0.024386 0.031804 -0.111499 +v 0.069446 0.024662 -0.094256 +v -0.122598 0.009727 -0.010062 +v -0.122598 -0.246570 0.024386 +v -0.103934 -0.246570 0.069446 +v -0.069447 -0.246570 0.103934 +v -0.122598 -0.246570 -0.024386 +v 0.069446 -0.246571 0.103933 +v 0.122598 -0.246571 0.024386 +v 0.103934 -0.246571 0.069446 +v 0.103933 -0.246571 -0.069446 +v -0.024386 -0.246570 0.122598 +v 0.122598 -0.246571 -0.024386 +v -0.024386 -0.246571 -0.122598 +v 0.024386 -0.246571 -0.122598 +v 0.069446 -0.246571 -0.103934 +v -0.103934 -0.246570 -0.069446 +v -0.069446 -0.246570 -0.103934 +v 0.024386 -0.246570 0.122598 +vt 0.139725 0.682190 +vt 0.199773 0.657318 +vt 0.232270 0.820694 +vt 0.093767 0.728149 +vt 0.068894 0.788196 +vt 0.068894 0.853192 +vt 0.093767 0.913239 +vt 0.139725 0.959198 +vt 0.199773 0.984070 +vt 0.264768 0.984070 +vt 0.324816 0.959198 +vt 0.370774 0.913239 +vt 0.395647 0.853192 +vt 0.395647 0.788196 +vt 0.370774 0.728149 +vt 0.324816 0.682190 +vt 0.264768 0.657318 +vt 0.487410 0.682190 +vt 0.547457 0.657318 +vt 0.579955 0.820694 +vt 0.441451 0.728149 +vt 0.416578 0.788196 +vt 0.416578 0.853192 +vt 0.441451 0.913239 +vt 0.487410 0.959198 +vt 0.547457 0.984070 +vt 0.612452 0.984070 +vt 0.672500 0.959198 +vt 0.718459 0.913239 +vt 0.743331 0.853192 +vt 0.743331 0.788196 +vt 0.718459 0.728149 +vt 0.672500 0.682190 +vt 0.612452 0.657318 +vt 0.125000 0.640625 +vt 0.125000 0.578125 +vt 0.187500 0.578125 +vt 0.187500 0.640625 +vt 0.250000 0.578125 +vt 0.250000 0.640625 +vt 0.062500 0.640625 +vt 0.062500 0.578125 +vt 0.000000 0.640625 +vt 0.000000 0.578125 +vt 0.937500 0.640625 +vt 0.937500 0.578125 +vt 1.000000 0.578125 +vt 1.000000 0.640625 +vt 0.875000 0.640625 +vt 0.875000 0.578125 +vt 0.812500 0.640625 +vt 0.812500 0.578125 +vt 0.750000 0.640625 +vt 0.750000 0.578125 +vt 0.687500 0.640625 +vt 0.687500 0.578125 +vt 0.625000 0.640625 +vt 0.625000 0.578125 +vt 0.562500 0.640625 +vt 0.562500 0.578125 +vt 0.500000 0.640625 +vt 0.500000 0.578125 +vt 0.437500 0.640625 +vt 0.437500 0.578125 +vt 0.375000 0.640625 +vt 0.375000 0.578125 +vt 0.312500 0.640625 +vt 0.312500 0.578125 +vt 0.187500 0.453125 +vt 0.125000 0.453125 +vt 0.139892 0.682190 +vt 0.199940 0.657318 +vt 0.232437 0.820694 +vt 0.093934 0.728149 +vt 0.069061 0.788196 +vt 0.069061 0.853192 +vt 0.093934 0.913239 +vt 0.139892 0.959198 +vt 0.199940 0.984070 +vt 0.264935 0.984070 +vt 0.324983 0.959198 +vt 0.370941 0.913239 +vt 0.395814 0.853192 +vt 0.395814 0.788196 +vt 0.370941 0.728149 +vt 0.324983 0.682190 +vt 0.264935 0.657318 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.812500 0.265625 +vt 0.812500 0.015625 +vt 0.625000 0.265625 +vt 0.625000 0.015625 +vt 0.687500 0.015625 +vt 0.687500 0.265625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.500000 0.015625 +vt 0.500000 0.265625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.250000 0.265625 +vt 0.250000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.125000 0.015625 +vt 0.125000 0.265625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.000000 0.999989 +vt 0.000000 0.890943 +vt 0.041611 0.899043 +vt 0.941956 0.794823 +vt 0.941956 0.841698 +vt 0.895081 0.841698 +vt 0.895081 0.794823 +vt 0.848206 0.841698 +vt 0.848206 0.794823 +vt 0.801331 0.794823 +vt 0.801331 0.841698 +vt 0.754456 0.841698 +vt 0.754456 0.794823 +vt 0.988831 0.794823 +vt 0.988831 0.841698 +vt 0.941956 0.701073 +vt 0.941956 0.747948 +vt 0.895081 0.747948 +vt 0.895081 0.701073 +vt 0.041611 0.741571 +vt 0.000000 0.749671 +vt 0.076282 0.717645 +vt 0.102233 0.682226 +vt 0.109057 0.640614 +vt 0.754456 0.747948 +vt 0.801331 0.747948 +vt 0.848206 0.747948 +vt 0.848206 0.701073 +vt 0.941956 0.888573 +vt 0.988831 0.888573 +vt 0.895081 0.888573 +vt 0.848206 0.888573 +vt 0.076282 0.922969 +vt 0.102233 0.958388 +vt 0.109057 1.000000 +vt 0.801331 0.888573 +vt 0.754456 0.888573 +vt 0.801331 0.935448 +vt 0.754456 0.935448 +vt 0.754456 0.982323 +vt 0.801331 0.982323 +vt 0.848206 0.935448 +vt 0.848206 0.982323 +vt 0.895081 0.935448 +vt 0.895081 0.982323 +vt 0.941956 0.935448 +vt 0.941956 0.982323 +vt 0.988831 0.982323 +vt 0.988831 0.935448 +vt 0.801331 0.701073 +vt 0.754456 0.701073 +vt 0.250000 0.453125 +vt 0.875000 0.453125 +vt 0.937500 0.453125 +vt 0.750000 0.453125 +vt 0.812500 0.453125 +vt 0.562500 0.453125 +vt 0.625000 0.453125 +vt 0.687500 0.453125 +vt 0.500000 0.453125 +vt 0.437500 0.453125 +vt 0.375000 0.453125 +vt 0.312500 0.453125 +vt 0.062500 0.453125 +vt 0.000000 0.453125 +vt 1.000000 0.453125 +g pipe.000_Cylinder.001_metal +usemtl metal +s off +f 3/1 4/2 5/3 +f 6/4 3/1 5/3 +f 7/5 6/4 5/3 +f 8/6 7/5 5/3 +f 9/7 8/6 5/3 +f 10/8 9/7 5/3 +f 11/9 10/8 5/3 +f 12/10 11/9 5/3 +f 13/11 12/10 5/3 +f 14/12 13/11 5/3 +f 15/13 14/12 5/3 +f 16/14 15/13 5/3 +f 17/15 16/14 5/3 +f 18/16 17/15 5/3 +f 19/17 18/16 5/3 +f 20/18 21/19 22/20 +f 23/21 20/18 22/20 +f 24/22 23/21 22/20 +f 25/23 24/22 22/20 +f 26/24 25/23 22/20 +f 27/25 26/24 22/20 +f 28/26 27/25 22/20 +f 29/27 28/26 22/20 +f 30/28 29/27 22/20 +f 31/29 30/28 22/20 +f 32/30 31/29 22/20 +f 33/31 32/30 22/20 +f 34/32 33/31 22/20 +f 35/33 34/32 22/20 +f 36/34 35/33 22/20 +f 21/19 36/34 22/20 +f 4/2 19/17 5/3 +f 23/35 17/36 18/37 20/38 +f 20/38 18/37 19/39 21/40 +f 24/41 16/42 17/36 23/35 +f 25/43 15/44 16/42 24/41 +f 26/45 14/46 15/47 25/48 +f 27/49 13/50 14/46 26/45 +f 28/51 12/52 13/50 27/49 +f 29/53 11/54 12/52 28/51 +f 30/55 10/56 11/54 29/53 +f 31/57 9/58 10/56 30/55 +f 32/59 8/60 9/58 31/57 +f 33/61 7/62 8/60 32/59 +f 34/63 6/64 7/62 33/61 +f 35/65 3/66 6/64 34/63 +f 36/67 4/68 3/66 35/65 +f 21/40 19/39 4/68 36/67 +f 142/69 1/37 48/36 152/70 +f 69/71 70/72 71/73 +f 72/74 69/71 71/73 +f 73/75 72/74 71/73 +f 74/76 73/75 71/73 +f 75/77 74/76 71/73 +f 76/78 75/77 71/73 +f 77/79 76/78 71/73 +f 78/80 77/79 71/73 +f 79/81 78/80 71/73 +f 80/82 79/81 71/73 +f 81/83 80/82 71/73 +f 82/84 81/83 71/73 +f 83/85 82/84 71/73 +f 84/86 83/85 71/73 +f 85/87 84/86 71/73 +f 86/18 87/19 88/20 +f 89/21 86/18 88/20 +f 90/22 89/21 88/20 +f 91/23 90/22 88/20 +f 92/24 91/23 88/20 +f 93/25 92/24 88/20 +f 94/26 93/25 88/20 +f 95/27 94/26 88/20 +f 96/28 95/27 88/20 +f 97/29 96/28 88/20 +f 98/30 97/29 88/20 +f 99/31 98/30 88/20 +f 100/32 99/31 88/20 +f 101/33 100/32 88/20 +f 102/34 101/33 88/20 +f 87/19 102/34 88/20 +f 70/72 85/87 71/73 +f 89/35 83/36 84/37 86/38 +f 86/38 84/37 85/39 87/40 +f 90/41 82/42 83/36 89/35 +f 91/43 81/44 82/42 90/41 +f 92/45 80/46 81/47 91/48 +f 93/49 79/50 80/46 92/45 +f 94/51 78/52 79/50 93/49 +f 95/53 77/54 78/52 94/51 +f 96/55 76/56 77/54 95/53 +f 97/57 75/58 76/56 96/55 +f 98/59 74/60 75/58 97/57 +f 99/61 73/62 74/60 98/59 +f 100/63 72/64 73/62 99/61 +f 101/65 69/66 72/64 100/63 +f 102/67 70/68 69/66 101/65 +f 87/40 85/39 70/68 102/67 +f 103/88 104/89 105/90 106/91 +f 109/92 108/93 104/89 103/88 +f 112/94 111/95 114/96 113/97 +f 117/98 118/99 116/100 115/101 +f 119/102 120/103 118/99 117/98 +f 121/104 122/105 120/103 119/102 +f 68/106 67/107 122/105 121/104 +f 125/108 126/109 124/110 123/111 +f 127/112 128/113 126/109 125/108 +f 106/91 105/90 128/114 127/115 +f 2/116 66/117 67/107 68/106 +f 43/118 107/119 108/93 109/92 +f 129/120 110/121 111/95 112/94 +f 113/97 114/96 107/119 43/118 +f 115/101 116/100 110/121 129/120 +f 123/111 124/110 66/117 2/116 +f 43/122 39/123 135/124 +f 50/125 131/126 136/127 38/128 +f 38/128 136/127 137/129 37/130 +f 40/131 37/130 137/129 134/132 +f 40/131 134/132 135/133 39/134 +f 50/125 49/135 132/136 131/126 +f 49/137 48/138 133/139 132/140 +f 48/138 1/125 130/128 133/139 +f 2/43 130/141 1/142 +f 2/43 138/143 130/141 +f 2/43 63/144 138/143 +f 63/144 2/43 68/145 +f 121/146 57/147 63/131 68/134 +f 57/147 51/148 138/130 63/131 +f 133/139 130/128 138/130 51/148 +f 65/149 132/140 133/139 51/148 +f 64/150 131/126 132/136 65/151 +f 64/150 54/152 136/127 131/126 +f 54/152 55/153 137/129 136/127 +f 43/122 135/124 53/154 +f 43/122 53/154 61/155 +f 61/155 113/156 43/122 +f 134/132 52/157 53/158 135/133 +f 62/159 61/160 53/158 52/157 +f 52/157 134/132 137/129 55/153 +f 113/161 61/160 62/159 112/162 +f 62/159 52/157 55/153 56/163 +f 62/159 56/163 129/164 112/162 +f 60/165 56/163 55/153 54/152 +f 60/165 115/166 129/164 56/163 +f 64/150 59/167 60/165 54/152 +f 117/168 115/166 60/165 59/167 +f 119/169 117/168 59/167 58/170 +f 59/167 64/150 65/151 58/170 +f 58/171 65/149 51/148 57/147 +f 121/146 119/172 58/171 57/147 +f 1/37 142/69 139/173 2/39 +f 37/50 151/174 150/175 38/46 +f 39/54 148/176 146/177 40/52 +f 41/60 143/178 145/179 42/58 +f 43/56 144/180 148/176 39/54 +f 40/52 146/177 151/174 37/50 +f 42/58 145/179 144/180 43/56 +f 44/62 154/181 143/178 41/60 +f 45/64 147/182 154/181 44/62 +f 46/66 141/183 147/182 45/64 +f 47/68 140/184 141/183 46/66 +f 2/39 139/173 140/184 47/68 +f 49/42 153/185 152/70 48/36 +f 50/44 149/186 153/185 49/42 +f 38/46 150/175 149/187 50/47 diff --git a/no-mods/pipeworks/models/pipeworks_spigot_pouring.obj b/no-mods/pipeworks/models/pipeworks_spigot_pouring.obj new file mode 100644 index 0000000..50f653c --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_spigot_pouring.obj @@ -0,0 +1,634 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-spigot-pouring.blend' +# www.blender.org +mtllib pipeworks_spigot_pouring.mtl +o pipe.001_Cylinder.000 +v -0.094401 -0.559070 0.018777 +v -0.080029 -0.559070 0.053473 +v -0.053474 -0.559070 0.080029 +v -0.094401 -0.559070 -0.018778 +v 0.053473 -0.559070 0.080029 +v 0.094400 -0.559070 0.018777 +v 0.080029 -0.559070 0.053473 +v 0.080029 -0.559071 -0.053474 +v -0.018777 -0.559070 0.094400 +v 0.094400 -0.559071 -0.018777 +v -0.018777 -0.559071 -0.094401 +v 0.018777 -0.559071 -0.094401 +v 0.053473 -0.559071 -0.080029 +v -0.080029 -0.559070 -0.053474 +v -0.053474 -0.559070 -0.080029 +v 0.018777 -0.559070 0.094400 +v -0.000000 -0.559070 -0.000000 +v -0.094401 -0.243141 0.018777 +v -0.080029 -0.243141 0.053473 +v -0.053474 -0.243141 0.080029 +v -0.094401 -0.243141 -0.018778 +v 0.053473 -0.243141 0.080029 +v 0.094400 -0.243141 0.018777 +v 0.080029 -0.243141 0.053473 +v 0.080029 -0.243141 -0.053474 +v -0.018777 -0.243141 0.094400 +v 0.094400 -0.243141 -0.018777 +v -0.018777 -0.243141 -0.094401 +v 0.018777 -0.243141 -0.094401 +v 0.053473 -0.243141 -0.080029 +v -0.080029 -0.243141 -0.053474 +v -0.053474 -0.243141 -0.080029 +v 0.018777 -0.243141 0.094400 +vt 0.499995 0.000000 +vt 0.374998 0.000000 +vt 0.375003 1.000000 +vt 0.500001 1.000000 +vt 0.249999 0.000000 +vt 0.250003 1.000000 +vt 0.124999 0.000000 +vt 0.125002 1.000000 +vt 0.874999 0.000000 +vt 0.750001 0.000000 +vt 0.750000 1.000000 +vt 0.874999 1.000000 +vt 0.625002 0.000000 +vt 0.624999 1.000000 +vt 0.500003 0.000000 +vt 0.499998 1.000000 +vt 0.375006 0.000000 +vt 0.375000 1.000000 +vt 0.250008 0.000000 +vt 0.250001 1.000000 +vt 0.125008 0.000000 +vt 0.000010 0.000000 +vt 0.000000 1.000000 +vt 0.125000 1.000000 +vt 0.749993 0.000000 +vt 0.624993 0.000000 +vt 0.625001 1.000000 +vt 0.750002 1.000000 +vt 0.999987 0.000000 +vt 0.874991 0.000000 +vt 0.875002 1.000000 +vt 1.000000 1.000000 +vt 0.999997 0.000000 +vt 0.999998 1.000000 +vt 0.000003 1.000000 +vt 0.000002 0.000000 +vt 0.000000 0.400543 +vt 0.076119 0.216772 +vt 0.500000 0.500000 +vt 0.216773 0.076119 +vt 0.400545 0.000000 +vt 0.599455 0.000000 +vt 0.783226 0.076119 +vt 0.923879 0.216773 +vt 1.000000 0.400544 +vt 1.000000 0.599455 +vt 0.923881 0.783226 +vt 0.783227 0.923879 +vt 0.599455 1.000000 +vt 0.400545 1.000000 +vt 0.216772 0.923879 +vt 0.076119 0.783227 +vt 0.000000 0.599455 +g pipe.001_Cylinder.000_water +usemtl water +s off +f 12/1 11/2 28/3 29/4 +f 11/2 15/5 32/6 28/3 +f 15/5 14/7 31/8 32/6 +f 1/9 2/10 19/11 18/12 +f 2/10 3/13 20/14 19/11 +f 3/13 9/15 26/16 20/14 +f 9/15 16/17 33/18 26/16 +f 16/17 5/19 22/20 33/18 +f 7/21 6/22 23/23 24/24 +f 8/25 13/26 30/27 25/28 +f 6/29 10/30 27/31 23/32 +f 5/19 7/21 24/24 22/20 +f 10/30 8/25 25/28 27/31 +f 13/26 12/1 29/4 30/27 +f 4/33 1/9 18/12 21/34 +f 21/35 31/8 14/7 4/36 +f 4/37 14/38 17/39 +f 14/38 15/40 17/39 +f 15/40 11/41 17/39 +f 11/41 12/42 17/39 +f 12/42 13/43 17/39 +f 13/43 8/44 17/39 +f 8/44 10/45 17/39 +f 10/45 6/46 17/39 +f 6/46 7/47 17/39 +f 7/47 5/48 17/39 +f 5/48 16/49 17/39 +f 16/49 9/50 17/39 +f 9/50 3/51 17/39 +f 3/51 2/52 17/39 +f 2/52 1/53 17/39 +f 1/53 4/37 17/39 +o pipe.000_Cylinder.001 +v -0.122598 -0.024391 -0.024386 +v -0.122598 -0.024391 0.024386 +v 0.129917 -0.250000 -0.086808 +v 0.153247 -0.250000 -0.030483 +v -0.000000 -0.250000 -0.000000 +v 0.086808 -0.250000 -0.129917 +v 0.030483 -0.250000 -0.153248 +v -0.030483 -0.250000 -0.153248 +v -0.086808 -0.250000 -0.129917 +v -0.129917 -0.250000 -0.086808 +v -0.153248 -0.250000 -0.030483 +v -0.153248 -0.250000 0.030483 +v -0.129917 -0.250000 0.086808 +v -0.086808 -0.250000 0.129917 +v -0.030483 -0.250000 0.153247 +v 0.030483 -0.250000 0.153248 +v 0.086808 -0.250000 0.129917 +v 0.129917 -0.250000 0.086808 +v 0.153247 -0.250000 0.030483 +v 0.129917 -0.187500 0.086808 +v 0.153248 -0.187500 0.030483 +v -0.000000 -0.187500 -0.000000 +v 0.086808 -0.187500 0.129917 +v 0.030483 -0.187500 0.153248 +v -0.030483 -0.187500 0.153247 +v -0.086808 -0.187500 0.129917 +v -0.129917 -0.187500 0.086808 +v -0.153248 -0.187500 0.030483 +v -0.153248 -0.187500 -0.030483 +v -0.129917 -0.187500 -0.086808 +v -0.086808 -0.187500 -0.129917 +v -0.030483 -0.187500 -0.153248 +v 0.030483 -0.187500 -0.153248 +v 0.086808 -0.187500 -0.129917 +v 0.129917 -0.187500 -0.086808 +v 0.153248 -0.187500 -0.030483 +v 0.069446 -0.024391 -0.103934 +v 0.024386 -0.024391 -0.122598 +v 0.122598 -0.024391 -0.024386 +v 0.103934 -0.024391 -0.069446 +v 0.069446 -0.024391 0.103934 +v 0.103934 -0.024391 0.069446 +v 0.122598 -0.024391 0.024386 +v 0.024386 -0.024391 0.122598 +v -0.024386 -0.024391 0.122598 +v -0.069446 -0.024391 0.103934 +v -0.103934 -0.024391 0.069446 +v -0.103934 -0.024391 -0.069446 +v -0.069446 -0.024391 -0.103934 +v -0.024386 -0.024391 -0.122598 +v -0.103934 0.041589 -0.041924 +v 0.103934 0.041589 -0.041925 +v 0.122598 0.009727 -0.010062 +v 0.024386 0.079173 -0.079509 +v 0.069446 0.065976 -0.066311 +v 0.069446 0.094826 -0.024663 +v -0.103934 0.062964 -0.011464 +v -0.069446 0.094827 -0.024662 +v -0.024386 0.112070 -0.031805 +v 0.024386 0.112070 -0.031805 +v 0.122598 0.021334 0.005779 +v 0.103934 0.062964 -0.011464 +v -0.122598 0.021334 0.005780 +v -0.024386 0.079173 -0.079509 +v -0.069446 0.065976 -0.066311 +v -0.122599 -0.024387 0.468750 +v -0.122599 0.024386 0.468750 +v -0.122598 0.024386 0.024391 +v 0.129917 -0.086808 0.500000 +v 0.153247 -0.030483 0.500000 +v -0.000001 0.000000 0.500000 +v 0.086807 -0.129917 0.500000 +v 0.030482 -0.153248 0.500000 +v -0.030483 -0.153248 0.500000 +v -0.086808 -0.129917 0.500000 +v -0.129918 -0.086808 0.500000 +v -0.153248 -0.030483 0.500000 +v -0.153248 0.030483 0.500000 +v -0.129918 0.086808 0.500000 +v -0.086808 0.129917 0.500000 +v -0.030483 0.153247 0.500000 +v 0.030482 0.153247 0.500000 +v 0.086807 0.129917 0.500000 +v 0.129917 0.086808 0.500000 +v 0.153247 0.030483 0.500000 +v 0.129917 0.086808 0.468750 +v 0.153247 0.030483 0.468750 +v 0.000000 0.000000 0.468750 +v 0.086807 0.129917 0.468750 +v 0.030482 0.153247 0.468750 +v -0.030483 0.153247 0.468750 +v -0.086808 0.129917 0.468750 +v -0.129918 0.086808 0.468750 +v -0.153248 0.030483 0.468750 +v -0.153248 -0.030483 0.468750 +v -0.129918 -0.086808 0.468750 +v -0.086808 -0.129917 0.468750 +v -0.030483 -0.153248 0.468750 +v 0.030482 -0.153248 0.468750 +v 0.086807 -0.129917 0.468750 +v 0.129917 -0.086808 0.468750 +v 0.153247 -0.030483 0.468750 +v 0.069446 -0.103934 0.024391 +v 0.069446 -0.103934 0.468750 +v 0.024386 -0.122598 0.468750 +v 0.024386 -0.122598 0.024391 +v 0.122598 -0.024387 0.468750 +v 0.103933 -0.069447 0.468750 +v 0.103934 -0.069446 0.024391 +v 0.069446 0.103933 0.468750 +v 0.103933 0.069446 0.468750 +v 0.103934 0.069446 0.024391 +v 0.122598 0.024386 0.024391 +v 0.122598 0.024386 0.468750 +v 0.024386 0.122598 0.024391 +v 0.024386 0.122598 0.468750 +v -0.024386 0.122598 0.024391 +v -0.024387 0.122598 0.468750 +v -0.069446 0.103934 0.024391 +v -0.069447 0.103933 0.468750 +v -0.103934 0.069446 0.024391 +v -0.103934 0.069446 0.468750 +v -0.103934 -0.069446 0.024391 +v -0.103934 -0.069447 0.468750 +v -0.069446 -0.103934 0.024391 +v -0.069447 -0.103934 0.468750 +v -0.024386 -0.122598 0.024391 +v -0.024387 -0.122598 0.468750 +v 0.069446 0.103934 0.024390 +v -0.122598 -0.005780 -0.020763 +v -0.024386 0.031804 -0.111499 +v -0.069446 0.024662 -0.094256 +v -0.103934 0.011464 -0.062393 +v 0.103934 0.011464 -0.062393 +v 0.122598 -0.005780 -0.020763 +v 0.024386 0.031804 -0.111499 +v 0.069446 0.024662 -0.094256 +v -0.122598 0.009727 -0.010062 +v -0.122598 -0.246570 0.024386 +v -0.103934 -0.246570 0.069446 +v -0.069447 -0.246570 0.103934 +v -0.122598 -0.246570 -0.024386 +v 0.069446 -0.246571 0.103933 +v 0.122598 -0.246571 0.024386 +v 0.103934 -0.246571 0.069446 +v 0.103933 -0.246571 -0.069446 +v -0.024386 -0.246570 0.122598 +v 0.122598 -0.246571 -0.024386 +v -0.024386 -0.246571 -0.122598 +v 0.024386 -0.246571 -0.122598 +v 0.069446 -0.246571 -0.103934 +v -0.103934 -0.246570 -0.069446 +v -0.069446 -0.246570 -0.103934 +v 0.024386 -0.246570 0.122598 +vt 0.139725 0.682190 +vt 0.199773 0.657318 +vt 0.232270 0.820694 +vt 0.093767 0.728149 +vt 0.068894 0.788196 +vt 0.068894 0.853192 +vt 0.093767 0.913239 +vt 0.139725 0.959198 +vt 0.199773 0.984070 +vt 0.264768 0.984070 +vt 0.324816 0.959198 +vt 0.370774 0.913239 +vt 0.395647 0.853192 +vt 0.395647 0.788196 +vt 0.370774 0.728149 +vt 0.324816 0.682190 +vt 0.264768 0.657318 +vt 0.487410 0.682190 +vt 0.547457 0.657318 +vt 0.579955 0.820694 +vt 0.441451 0.728149 +vt 0.416578 0.788196 +vt 0.416578 0.853192 +vt 0.441451 0.913239 +vt 0.487410 0.959198 +vt 0.547457 0.984070 +vt 0.612452 0.984070 +vt 0.672500 0.959198 +vt 0.718459 0.913239 +vt 0.743331 0.853192 +vt 0.743331 0.788196 +vt 0.718459 0.728149 +vt 0.672500 0.682190 +vt 0.612452 0.657318 +vt 0.125000 0.640625 +vt 0.125000 0.578125 +vt 0.187500 0.578125 +vt 0.187500 0.640625 +vt 0.250000 0.578125 +vt 0.250000 0.640625 +vt 0.062500 0.640625 +vt 0.062500 0.578125 +vt 0.000000 0.640625 +vt 0.000000 0.578125 +vt 0.937500 0.640625 +vt 0.937500 0.578125 +vt 1.000000 0.578125 +vt 1.000000 0.640625 +vt 0.875000 0.640625 +vt 0.875000 0.578125 +vt 0.812500 0.640625 +vt 0.812500 0.578125 +vt 0.750000 0.640625 +vt 0.750000 0.578125 +vt 0.687500 0.640625 +vt 0.687500 0.578125 +vt 0.625000 0.640625 +vt 0.625000 0.578125 +vt 0.562500 0.640625 +vt 0.562500 0.578125 +vt 0.500000 0.640625 +vt 0.500000 0.578125 +vt 0.437500 0.640625 +vt 0.437500 0.578125 +vt 0.375000 0.640625 +vt 0.375000 0.578125 +vt 0.312500 0.640625 +vt 0.312500 0.578125 +vt 0.187500 0.453125 +vt 0.125000 0.453125 +vt 0.139892 0.682190 +vt 0.199940 0.657318 +vt 0.232437 0.820694 +vt 0.093934 0.728149 +vt 0.069061 0.788196 +vt 0.069061 0.853192 +vt 0.093934 0.913239 +vt 0.139892 0.959198 +vt 0.199940 0.984070 +vt 0.264935 0.984070 +vt 0.324983 0.959198 +vt 0.370941 0.913239 +vt 0.395814 0.853192 +vt 0.395814 0.788196 +vt 0.370941 0.728149 +vt 0.324983 0.682190 +vt 0.264935 0.657318 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.812500 0.265625 +vt 0.812500 0.015625 +vt 0.625000 0.265625 +vt 0.625000 0.015625 +vt 0.687500 0.015625 +vt 0.687500 0.265625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.500000 0.015625 +vt 0.500000 0.265625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.250000 0.265625 +vt 0.250000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.125000 0.015625 +vt 0.125000 0.265625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.000000 0.999989 +vt 0.000000 0.890943 +vt 0.041611 0.899043 +vt 0.941956 0.794823 +vt 0.941956 0.841698 +vt 0.895081 0.841698 +vt 0.895081 0.794823 +vt 0.848206 0.841698 +vt 0.848206 0.794823 +vt 0.801331 0.794823 +vt 0.801331 0.841698 +vt 0.754456 0.841698 +vt 0.754456 0.794823 +vt 0.988831 0.794823 +vt 0.988831 0.841698 +vt 0.941956 0.701073 +vt 0.941956 0.747948 +vt 0.895081 0.747948 +vt 0.895081 0.701073 +vt 0.041611 0.741571 +vt 0.000000 0.749671 +vt 0.076282 0.717645 +vt 0.102233 0.682226 +vt 0.109057 0.640614 +vt 0.754456 0.747948 +vt 0.801331 0.747948 +vt 0.848206 0.747948 +vt 0.848206 0.701073 +vt 0.941956 0.888573 +vt 0.988831 0.888573 +vt 0.895081 0.888573 +vt 0.848206 0.888573 +vt 0.076282 0.922969 +vt 0.102233 0.958388 +vt 0.109057 1.000000 +vt 0.801331 0.888573 +vt 0.754456 0.888573 +vt 0.801331 0.935448 +vt 0.754456 0.935448 +vt 0.754456 0.982323 +vt 0.801331 0.982323 +vt 0.848206 0.935448 +vt 0.848206 0.982323 +vt 0.895081 0.935448 +vt 0.895081 0.982323 +vt 0.941956 0.935448 +vt 0.941956 0.982323 +vt 0.988831 0.982323 +vt 0.988831 0.935448 +vt 0.801331 0.701073 +vt 0.754456 0.701073 +vt 0.250000 0.453125 +vt 0.875000 0.453125 +vt 0.937500 0.453125 +vt 0.750000 0.453125 +vt 0.812500 0.453125 +vt 0.562500 0.453125 +vt 0.625000 0.453125 +vt 0.687500 0.453125 +vt 0.500000 0.453125 +vt 0.437500 0.453125 +vt 0.375000 0.453125 +vt 0.312500 0.453125 +vt 0.062500 0.453125 +vt 0.000000 0.453125 +vt 1.000000 0.453125 +g pipe.000_Cylinder.001_metal +usemtl metal +s off +f 36/54 37/55 38/56 +f 39/57 36/54 38/56 +f 40/58 39/57 38/56 +f 41/59 40/58 38/56 +f 42/60 41/59 38/56 +f 43/61 42/60 38/56 +f 44/62 43/61 38/56 +f 45/63 44/62 38/56 +f 46/64 45/63 38/56 +f 47/65 46/64 38/56 +f 48/66 47/65 38/56 +f 49/67 48/66 38/56 +f 50/68 49/67 38/56 +f 51/69 50/68 38/56 +f 52/70 51/69 38/56 +f 53/71 54/72 55/73 +f 56/74 53/71 55/73 +f 57/75 56/74 55/73 +f 58/76 57/75 55/73 +f 59/77 58/76 55/73 +f 60/78 59/77 55/73 +f 61/79 60/78 55/73 +f 62/80 61/79 55/73 +f 63/81 62/80 55/73 +f 64/82 63/81 55/73 +f 65/83 64/82 55/73 +f 66/84 65/83 55/73 +f 67/85 66/84 55/73 +f 68/86 67/85 55/73 +f 69/87 68/86 55/73 +f 54/72 69/87 55/73 +f 37/55 52/70 38/56 +f 56/88 50/89 51/90 53/91 +f 53/91 51/90 52/92 54/93 +f 57/94 49/95 50/89 56/88 +f 58/96 48/97 49/95 57/94 +f 59/98 47/99 48/100 58/101 +f 60/102 46/103 47/99 59/98 +f 61/104 45/105 46/103 60/102 +f 62/106 44/107 45/105 61/104 +f 63/108 43/109 44/107 62/106 +f 64/110 42/111 43/109 63/108 +f 65/112 41/113 42/111 64/110 +f 66/114 40/115 41/113 65/112 +f 67/116 39/117 40/115 66/114 +f 68/118 36/119 39/117 67/116 +f 69/120 37/121 36/119 68/118 +f 54/93 52/92 37/121 69/120 +f 175/122 34/90 81/89 185/123 +f 102/124 103/125 104/126 +f 105/127 102/124 104/126 +f 106/128 105/127 104/126 +f 107/129 106/128 104/126 +f 108/130 107/129 104/126 +f 109/131 108/130 104/126 +f 110/132 109/131 104/126 +f 111/133 110/132 104/126 +f 112/134 111/133 104/126 +f 113/135 112/134 104/126 +f 114/136 113/135 104/126 +f 115/137 114/136 104/126 +f 116/138 115/137 104/126 +f 117/139 116/138 104/126 +f 118/140 117/139 104/126 +f 119/71 120/72 121/73 +f 122/74 119/71 121/73 +f 123/75 122/74 121/73 +f 124/76 123/75 121/73 +f 125/77 124/76 121/73 +f 126/78 125/77 121/73 +f 127/79 126/78 121/73 +f 128/80 127/79 121/73 +f 129/81 128/80 121/73 +f 130/82 129/81 121/73 +f 131/83 130/82 121/73 +f 132/84 131/83 121/73 +f 133/85 132/84 121/73 +f 134/86 133/85 121/73 +f 135/87 134/86 121/73 +f 120/72 135/87 121/73 +f 103/125 118/140 104/126 +f 122/88 116/89 117/90 119/91 +f 119/91 117/90 118/92 120/93 +f 123/94 115/95 116/89 122/88 +f 124/96 114/97 115/95 123/94 +f 125/98 113/99 114/100 124/101 +f 126/102 112/103 113/99 125/98 +f 127/104 111/105 112/103 126/102 +f 128/106 110/107 111/105 127/104 +f 129/108 109/109 110/107 128/106 +f 130/110 108/111 109/109 129/108 +f 131/112 107/113 108/111 130/110 +f 132/114 106/115 107/113 131/112 +f 133/116 105/117 106/115 132/114 +f 134/118 102/119 105/117 133/116 +f 135/120 103/121 102/119 134/118 +f 120/93 118/92 103/121 135/120 +f 136/141 137/142 138/143 139/144 +f 142/145 141/146 137/142 136/141 +f 145/147 144/148 147/149 146/150 +f 150/151 151/152 149/153 148/154 +f 152/155 153/156 151/152 150/151 +f 154/157 155/158 153/156 152/155 +f 101/159 100/160 155/158 154/157 +f 158/161 159/162 157/163 156/164 +f 160/165 161/166 159/162 158/161 +f 139/144 138/143 161/167 160/168 +f 35/169 99/170 100/160 101/159 +f 76/171 140/172 141/146 142/145 +f 162/173 143/174 144/148 145/147 +f 146/150 147/149 140/172 76/171 +f 148/154 149/153 143/174 162/173 +f 156/164 157/163 99/170 35/169 +f 76/175 72/176 168/177 +f 83/178 164/179 169/180 71/181 +f 71/181 169/180 170/182 70/183 +f 73/184 70/183 170/182 167/185 +f 73/184 167/185 168/186 72/187 +f 83/178 82/188 165/189 164/179 +f 82/190 81/191 166/192 165/193 +f 81/191 34/178 163/181 166/192 +f 35/96 163/194 34/195 +f 35/96 171/196 163/194 +f 35/96 96/197 171/196 +f 96/197 35/96 101/198 +f 154/199 90/200 96/184 101/187 +f 90/200 84/201 171/183 96/184 +f 166/192 163/181 171/183 84/201 +f 98/202 165/193 166/192 84/201 +f 97/203 164/179 165/189 98/204 +f 97/203 87/205 169/180 164/179 +f 87/205 88/206 170/182 169/180 +f 76/175 168/177 86/207 +f 76/175 86/207 94/208 +f 94/208 146/209 76/175 +f 167/185 85/210 86/211 168/186 +f 95/212 94/213 86/211 85/210 +f 85/210 167/185 170/182 88/206 +f 146/214 94/213 95/212 145/215 +f 95/212 85/210 88/206 89/216 +f 95/212 89/216 162/217 145/215 +f 93/218 89/216 88/206 87/205 +f 93/218 148/219 162/217 89/216 +f 97/203 92/220 93/218 87/205 +f 150/221 148/219 93/218 92/220 +f 152/222 150/221 92/220 91/223 +f 92/220 97/203 98/204 91/223 +f 91/224 98/202 84/201 90/200 +f 154/199 152/225 91/224 90/200 +f 34/90 175/122 172/226 35/92 +f 70/103 184/227 183/228 71/99 +f 72/107 181/229 179/230 73/105 +f 74/113 176/231 178/232 75/111 +f 76/109 177/233 181/229 72/107 +f 73/105 179/230 184/227 70/103 +f 75/111 178/232 177/233 76/109 +f 77/115 187/234 176/231 74/113 +f 78/117 180/235 187/234 77/115 +f 79/119 174/236 180/235 78/117 +f 80/121 173/237 174/236 79/119 +f 35/92 172/226 173/237 80/121 +f 82/95 186/238 185/123 81/89 +f 83/97 182/239 186/238 82/95 +f 71/99 183/228 182/240 83/100 diff --git a/no-mods/pipeworks/models/pipeworks_valve_off.obj b/no-mods/pipeworks/models/pipeworks_valve_off.obj new file mode 100644 index 0000000..c5f71be --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_valve_off.obj @@ -0,0 +1,458 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-valve-off.blend' +# www.blender.org +mtllib pipeworks_valve_off.mtl +o Cube.003 +v 0.062500 0.281250 -0.312500 +v 0.062500 0.281250 0.093750 +v -0.062500 0.281250 0.093750 +v -0.062500 0.281250 -0.312500 +v 0.062500 0.343750 -0.312500 +v 0.062500 0.343750 0.093750 +v -0.062500 0.343750 0.093750 +v -0.062500 0.343750 -0.312500 +v 0.031250 0.250000 -0.031250 +v 0.031250 0.250000 0.031250 +v -0.031250 0.250000 0.031250 +v -0.031250 0.250000 -0.031250 +v 0.031250 0.281250 -0.031250 +v 0.031250 0.281250 0.031250 +v -0.031250 0.281250 0.031250 +v -0.031250 0.281250 -0.031250 +v 0.250000 -0.250000 -0.250000 +v 0.250000 -0.250000 0.250000 +v -0.250000 -0.250000 0.250000 +v -0.250000 -0.250000 -0.250000 +v 0.250000 0.250000 -0.250000 +v 0.250000 0.250000 0.250000 +v -0.250000 0.250000 0.250000 +v -0.250000 0.250000 -0.250000 +v -0.468750 -0.153248 -0.030483 +v -0.500000 -0.153248 -0.030483 +v -0.468750 -0.153248 0.030483 +v -0.500000 -0.153248 0.030483 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.030483 0.153248 +v -0.500000 -0.030483 0.153248 +v -0.468750 0.030483 0.153248 +v -0.500000 0.030483 0.153248 +v -0.468750 0.086808 0.129917 +v -0.500000 0.086808 0.129917 +v -0.468750 0.129917 0.086808 +v -0.500000 0.129917 0.086808 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153247 0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.030483 -0.153248 +v -0.500000 0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.122598 -0.024386 +v -0.468750 -0.122598 0.024386 +v -0.468750 -0.103934 0.069446 +v -0.468750 -0.069446 0.103934 +v -0.468750 -0.024386 0.122598 +v -0.468750 0.024386 0.122598 +v -0.468750 0.069446 0.103934 +v -0.468750 0.103934 0.069446 +v -0.468750 0.122598 0.024386 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.069446 -0.103934 +v -0.468750 0.024386 -0.122598 +v -0.468750 -0.024387 -0.122598 +v -0.468750 -0.069447 -0.103934 +v -0.468750 -0.103934 -0.069446 +v -0.468750 -0.000000 -0.000000 +v -0.500000 -0.000000 -0.000000 +v 0.468750 -0.069446 0.103934 +v 0.468750 -0.103933 0.069447 +v 0.468750 -0.122598 0.024387 +v 0.468750 -0.122598 -0.024386 +v 0.500000 -0.129917 -0.086807 +v 0.468750 -0.129917 -0.086807 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.468750 -0.030483 -0.153247 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.030483 -0.153247 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.153248 -0.030483 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.129917 0.086808 +v 0.468750 0.129917 0.086808 +v 0.500000 0.086808 0.129917 +v 0.468750 0.086808 0.129917 +v 0.500000 0.030483 0.153248 +v 0.468750 0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.086807 0.129917 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.153247 0.030483 +v 0.468750 -0.153247 0.030483 +v 0.500000 -0.153247 -0.030483 +v 0.468750 -0.153247 -0.030483 +v 0.468750 -0.024386 0.122598 +v 0.468750 0.024387 0.122598 +v 0.468750 0.069447 0.103934 +v 0.468750 0.103934 0.069447 +v 0.468750 0.122598 0.024387 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.069447 -0.103933 +v 0.468750 0.024387 -0.122598 +v 0.468750 -0.024386 -0.122598 +v 0.468750 -0.069446 -0.103933 +v 0.468750 -0.103933 -0.069446 +v 0.468750 0.000000 0.000000 +v 0.500000 0.000000 0.000000 +vt 0.265625 0.234375 +vt 0.468750 0.234375 +vt 0.468750 0.265625 +vt 0.265625 0.265625 +vt 0.265625 0.187500 +vt 0.328125 0.187500 +vt 0.328125 0.218750 +vt 0.265625 0.218750 +vt 0.468750 0.312500 +vt 0.265625 0.312500 +vt 0.265625 0.281250 +vt 0.468750 0.281250 +vt 0.406250 0.218750 +vt 0.343750 0.218750 +vt 0.343750 0.187500 +vt 0.406250 0.187500 +vt 0.468750 0.468750 +vt 0.265625 0.468750 +vt 0.265625 0.406250 +vt 0.468750 0.406250 +vt 0.468750 0.390625 +vt 0.265625 0.390625 +vt 0.265625 0.328125 +vt 0.468750 0.328125 +vt 0.039062 0.203125 +vt 0.007812 0.203125 +vt 0.007812 0.187500 +vt 0.039062 0.187500 +vt 0.085938 0.203125 +vt 0.054688 0.203125 +vt 0.054688 0.187500 +vt 0.085938 0.187500 +vt 0.148438 0.187500 +vt 0.179688 0.187500 +vt 0.179688 0.203125 +vt 0.148438 0.203125 +vt 0.132812 0.203125 +vt 0.101562 0.203125 +vt 0.101562 0.187500 +vt 0.132812 0.187500 +vt 0.515625 0.484375 +vt 0.515625 0.734375 +vt 0.265625 0.734375 +vt 0.265625 0.484375 +vt 0.000000 0.468750 +vt 0.000000 0.218750 +vt 0.250000 0.218750 +vt 0.250000 0.468750 +vt 0.515625 1.000000 +vt 0.265625 1.000000 +vt 0.265625 0.750000 +vt 0.515625 0.750000 +vt 0.250000 0.734375 +vt 0.000000 0.734375 +vt 0.000000 0.484375 +vt 0.250000 0.484375 +vt 0.781250 1.000000 +vt 0.531250 1.000000 +vt 0.531250 0.750000 +vt 0.781250 0.750000 +vt 0.000847 0.750015 +vt 0.250216 0.750015 +vt 0.250216 0.999385 +vt 0.000847 0.999385 +vt 0.867188 0.273438 +vt 0.835938 0.273438 +vt 0.835938 0.304688 +vt 0.867188 0.304688 +vt 0.804688 0.273438 +vt 0.804688 0.304688 +vt 0.773438 0.273438 +vt 0.773438 0.304688 +vt 0.742188 0.273438 +vt 0.742188 0.304688 +vt 0.710938 0.273438 +vt 0.710938 0.304688 +vt 0.679688 0.273438 +vt 0.679688 0.304688 +vt 0.648438 0.273438 +vt 0.648438 0.304688 +vt 0.617188 0.273438 +vt 0.617188 0.304688 +vt 0.585938 0.273438 +vt 0.585938 0.304688 +vt 0.554688 0.273438 +vt 0.554688 0.304688 +vt 0.523438 0.273438 +vt 0.523438 0.304688 +vt 0.492188 0.273438 +vt 0.492188 0.304688 +vt 0.992188 0.273438 +vt 0.960938 0.273438 +vt 0.960938 0.304688 +vt 0.992188 0.304688 +vt 0.929688 0.273438 +vt 0.929688 0.304688 +vt 0.898438 0.273438 +vt 0.898438 0.304688 +vt 0.600936 0.328499 +vt 0.584692 0.410164 +vt 0.568448 0.328499 +vt 0.757628 0.328499 +vt 0.773872 0.410164 +vt 0.790117 0.328499 +vt 0.820132 0.340932 +vt 0.843105 0.363905 +vt 0.855537 0.393920 +vt 0.855537 0.426408 +vt 0.843105 0.456424 +vt 0.820132 0.479396 +vt 0.790117 0.491829 +vt 0.757628 0.491829 +vt 0.727613 0.479396 +vt 0.704640 0.456424 +vt 0.692207 0.426408 +vt 0.692207 0.393920 +vt 0.704640 0.363905 +vt 0.727613 0.340932 +vt 0.538432 0.340932 +vt 0.515460 0.363905 +vt 0.503027 0.393920 +vt 0.503027 0.426408 +vt 0.515460 0.456424 +vt 0.538432 0.479396 +vt 0.568448 0.491829 +vt 0.600936 0.491829 +vt 0.630951 0.479396 +vt 0.653924 0.456424 +vt 0.666357 0.426408 +vt 0.666357 0.393920 +vt 0.653924 0.363905 +vt 0.630951 0.340932 +vt 0.585938 0.257812 +vt 0.585938 0.007812 +vt 0.617188 0.007812 +vt 0.617188 0.257812 +vt 0.538433 0.340928 +vt 0.568449 0.328495 +vt 0.584693 0.410160 +vt 0.515460 0.363901 +vt 0.503028 0.393916 +vt 0.503028 0.426405 +vt 0.515460 0.456420 +vt 0.538433 0.479393 +vt 0.568449 0.491826 +vt 0.600937 0.491826 +vt 0.630952 0.479393 +vt 0.653925 0.456420 +vt 0.666358 0.426405 +vt 0.666358 0.393916 +vt 0.653925 0.363901 +vt 0.630952 0.340928 +vt 0.600937 0.328495 +vt 0.727611 0.340928 +vt 0.757626 0.328495 +vt 0.773870 0.410160 +vt 0.704638 0.363901 +vt 0.692205 0.393916 +vt 0.692205 0.426405 +vt 0.704638 0.456420 +vt 0.727611 0.479393 +vt 0.757626 0.491826 +vt 0.790115 0.491826 +vt 0.820130 0.479393 +vt 0.843103 0.456420 +vt 0.855535 0.426405 +vt 0.855535 0.393916 +vt 0.843103 0.363901 +vt 0.820130 0.340928 +vt 0.790115 0.328495 +vt 0.929688 0.257812 +vt 0.929688 0.007812 +vt 0.960938 0.007812 +vt 0.960938 0.257812 +vt 0.867188 0.257812 +vt 0.867188 0.007812 +vt 0.898438 0.007812 +vt 0.898438 0.257812 +vt 0.773438 0.257812 +vt 0.773438 0.007812 +vt 0.804688 0.007812 +vt 0.804688 0.257812 +vt 0.835938 0.257812 +vt 0.835938 0.007812 +vt 0.742188 0.257812 +vt 0.742188 0.007812 +vt 0.710938 0.257812 +vt 0.710938 0.007812 +vt 0.679688 0.257812 +vt 0.679688 0.007812 +vt 0.648438 0.257812 +vt 0.648438 0.007812 +vt 0.554688 0.257812 +vt 0.554688 0.007812 +vt 0.523438 0.257812 +vt 0.523438 0.007812 +vt 0.492188 0.257812 +vt 0.492188 0.007812 +vt 0.992188 0.007812 +vt 0.992188 0.257812 +usemtl None +s off +f 5/1 6/2 2/3 1/4 +f 6/5 7/6 3/7 2/8 +f 7/9 8/10 4/11 3/12 +f 8/13 5/14 1/15 4/16 +f 1/17 2/18 3/19 4/20 +f 8/21 7/22 6/23 5/24 +f 13/25 14/26 10/27 9/28 +f 14/29 15/30 11/31 10/32 +f 15/33 16/34 12/35 11/36 +f 16/37 13/38 9/39 12/40 +f 21/41 22/42 18/43 17/44 +f 22/45 23/46 19/47 18/48 +f 23/49 24/50 20/51 19/52 +f 24/53 21/54 17/55 20/56 +f 17/57 18/58 19/59 20/60 +f 24/61 23/62 22/63 21/64 +f 25/65 27/66 28/67 26/68 +f 27/66 29/69 30/70 28/67 +f 29/69 31/71 32/72 30/70 +f 31/71 33/73 34/74 32/72 +f 33/73 35/75 36/76 34/74 +f 35/75 37/77 38/78 36/76 +f 37/77 39/79 40/80 38/78 +f 39/79 41/81 42/82 40/80 +f 41/81 43/83 44/84 42/82 +f 43/83 45/85 46/86 44/84 +f 45/85 47/87 48/88 46/86 +f 47/87 49/89 50/90 48/88 +f 49/91 51/92 52/93 50/94 +f 51/92 53/95 54/96 52/93 +f 55/97 25/65 26/68 56/98 +f 53/95 55/97 56/98 54/96 +f 28/99 74/100 26/101 +f 25/102 73/103 27/104 +f 27/104 73/103 29/105 +f 29/105 73/103 31/106 +f 31/106 73/103 33/107 +f 33/107 73/103 35/108 +f 35/108 73/103 37/109 +f 37/109 73/103 39/110 +f 39/110 73/103 41/111 +f 41/111 73/103 43/112 +f 43/112 73/103 45/113 +f 45/113 73/103 47/114 +f 47/114 73/103 49/115 +f 49/115 73/103 51/116 +f 51/116 73/103 53/117 +f 53/117 73/103 55/118 +f 55/118 73/103 25/102 +f 26/101 74/100 56/119 +f 56/119 74/100 54/120 +f 54/120 74/100 52/121 +f 52/121 74/100 50/122 +f 50/122 74/100 48/123 +f 48/123 74/100 46/124 +f 46/124 74/100 44/125 +f 44/125 74/100 42/126 +f 42/126 74/100 40/127 +f 40/127 74/100 38/128 +f 38/128 74/100 36/129 +f 36/129 74/100 34/130 +f 34/130 74/100 32/131 +f 32/131 74/100 30/132 +f 30/132 74/100 28/99 +f 65/133 115/134 116/135 66/136 +f 105/137 107/138 124/139 +f 103/140 105/137 124/139 +f 101/141 103/140 124/139 +f 99/142 101/141 124/139 +f 97/143 99/142 124/139 +f 95/144 97/143 124/139 +f 93/145 95/144 124/139 +f 91/146 93/145 124/139 +f 89/147 91/146 124/139 +f 87/148 89/147 124/139 +f 85/149 87/148 124/139 +f 83/150 85/149 124/139 +f 81/151 83/150 124/139 +f 79/152 81/151 124/139 +f 109/153 79/152 124/139 +f 80/154 110/155 123/156 +f 82/157 80/154 123/156 +f 84/158 82/157 123/156 +f 86/159 84/158 123/156 +f 88/160 86/159 123/156 +f 90/161 88/160 123/156 +f 92/162 90/161 123/156 +f 94/163 92/162 123/156 +f 96/164 94/163 123/156 +f 98/165 96/164 123/156 +f 100/166 98/165 123/156 +f 102/167 100/166 123/156 +f 104/168 102/167 123/156 +f 106/169 104/168 123/156 +f 108/170 106/169 123/156 +f 110/155 108/170 123/156 +f 107/138 109/153 124/139 +f 82/86 81/85 79/83 80/84 +f 80/84 79/83 109/81 110/82 +f 84/88 83/87 81/85 82/86 +f 86/90 85/89 83/87 84/88 +f 88/93 87/92 85/91 86/94 +f 90/96 89/95 87/92 88/93 +f 92/98 91/97 89/95 90/96 +f 94/68 93/65 91/97 92/98 +f 96/67 95/66 93/65 94/68 +f 98/70 97/69 95/66 96/67 +f 100/72 99/71 97/69 98/70 +f 102/74 101/73 99/71 100/72 +f 104/76 103/75 101/73 102/74 +f 106/78 105/77 103/75 104/76 +f 108/80 107/79 105/77 106/78 +f 110/82 109/81 107/79 108/80 +f 60/171 75/172 111/173 61/174 +f 58/175 77/176 76/177 59/178 +f 71/179 121/180 122/181 72/182 +f 57/183 78/184 77/176 58/175 +f 59/178 76/177 75/172 60/171 +f 72/182 122/181 78/184 57/183 +f 70/185 120/186 121/180 71/179 +f 69/187 119/188 120/186 70/185 +f 68/189 118/190 119/188 69/187 +f 67/191 117/192 118/190 68/189 +f 66/136 116/135 117/192 67/191 +f 64/193 114/194 115/134 65/133 +f 63/195 113/196 114/194 64/193 +f 62/197 112/198 113/196 63/195 +f 61/174 111/173 112/199 62/200 diff --git a/no-mods/pipeworks/models/pipeworks_valve_on.obj b/no-mods/pipeworks/models/pipeworks_valve_on.obj new file mode 100644 index 0000000..ba08b30 --- /dev/null +++ b/no-mods/pipeworks/models/pipeworks_valve_on.obj @@ -0,0 +1,458 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-valve-on.blend' +# www.blender.org +mtllib pipeworks_valve_on.mtl +o Cube.003 +v 0.312500 0.281250 0.062500 +v -0.093750 0.281250 0.062500 +v -0.093750 0.281250 -0.062500 +v 0.312500 0.281250 -0.062500 +v 0.312500 0.343750 0.062500 +v -0.093750 0.343750 0.062500 +v -0.093750 0.343750 -0.062500 +v 0.312500 0.343750 -0.062500 +v 0.031250 0.250000 -0.031250 +v 0.031250 0.250000 0.031250 +v -0.031250 0.250000 0.031250 +v -0.031250 0.250000 -0.031250 +v 0.031250 0.281250 -0.031250 +v 0.031250 0.281250 0.031250 +v -0.031250 0.281250 0.031250 +v -0.031250 0.281250 -0.031250 +v 0.250000 -0.250000 -0.250000 +v 0.250000 -0.250000 0.250000 +v -0.250000 -0.250000 0.250000 +v -0.250000 -0.250000 -0.250000 +v 0.250000 0.250000 -0.250000 +v 0.250000 0.250000 0.250000 +v -0.250000 0.250000 0.250000 +v -0.250000 0.250000 -0.250000 +v -0.468750 -0.153248 -0.030483 +v -0.500000 -0.153248 -0.030483 +v -0.468750 -0.153248 0.030483 +v -0.500000 -0.153248 0.030483 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.030483 0.153248 +v -0.500000 -0.030483 0.153248 +v -0.468750 0.030483 0.153248 +v -0.500000 0.030483 0.153248 +v -0.468750 0.086808 0.129917 +v -0.500000 0.086808 0.129917 +v -0.468750 0.129917 0.086808 +v -0.500000 0.129917 0.086808 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153247 0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.030483 -0.153248 +v -0.500000 0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.122598 -0.024386 +v -0.468750 -0.122598 0.024386 +v -0.468750 -0.103934 0.069446 +v -0.468750 -0.069446 0.103934 +v -0.468750 -0.024386 0.122598 +v -0.468750 0.024386 0.122598 +v -0.468750 0.069446 0.103934 +v -0.468750 0.103934 0.069446 +v -0.468750 0.122598 0.024386 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.069446 -0.103934 +v -0.468750 0.024386 -0.122598 +v -0.468750 -0.024387 -0.122598 +v -0.468750 -0.069447 -0.103934 +v -0.468750 -0.103934 -0.069446 +v -0.468750 -0.000000 -0.000000 +v -0.500000 -0.000000 -0.000000 +v 0.468750 -0.069446 0.103934 +v 0.468750 -0.103933 0.069447 +v 0.468750 -0.122598 0.024387 +v 0.468750 -0.122598 -0.024386 +v 0.500000 -0.129917 -0.086807 +v 0.468750 -0.129917 -0.086807 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.468750 -0.030483 -0.153247 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.030483 -0.153247 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.153248 -0.030483 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.129917 0.086808 +v 0.468750 0.129917 0.086808 +v 0.500000 0.086808 0.129917 +v 0.468750 0.086808 0.129917 +v 0.500000 0.030483 0.153248 +v 0.468750 0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.086807 0.129917 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.153247 0.030483 +v 0.468750 -0.153247 0.030483 +v 0.500000 -0.153247 -0.030483 +v 0.468750 -0.153247 -0.030483 +v 0.468750 -0.024386 0.122598 +v 0.468750 0.024387 0.122598 +v 0.468750 0.069447 0.103934 +v 0.468750 0.103934 0.069447 +v 0.468750 0.122598 0.024387 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.069447 -0.103933 +v 0.468750 0.024387 -0.122598 +v 0.468750 -0.024386 -0.122598 +v 0.468750 -0.069446 -0.103933 +v 0.468750 -0.103933 -0.069446 +v 0.468750 0.000000 0.000000 +v 0.500000 0.000000 0.000000 +vt 0.265625 0.234375 +vt 0.468750 0.234375 +vt 0.468750 0.265625 +vt 0.265625 0.265625 +vt 0.265625 0.187500 +vt 0.328125 0.187500 +vt 0.328125 0.218750 +vt 0.265625 0.218750 +vt 0.468750 0.312500 +vt 0.265625 0.312500 +vt 0.265625 0.281250 +vt 0.468750 0.281250 +vt 0.406250 0.218750 +vt 0.343750 0.218750 +vt 0.343750 0.187500 +vt 0.406250 0.187500 +vt 0.468750 0.468750 +vt 0.265625 0.468750 +vt 0.265625 0.406250 +vt 0.468750 0.406250 +vt 0.468750 0.390625 +vt 0.265625 0.390625 +vt 0.265625 0.328125 +vt 0.468750 0.328125 +vt 0.039062 0.203125 +vt 0.007812 0.203125 +vt 0.007812 0.187500 +vt 0.039062 0.187500 +vt 0.085938 0.203125 +vt 0.054688 0.203125 +vt 0.054688 0.187500 +vt 0.085938 0.187500 +vt 0.148438 0.187500 +vt 0.179688 0.187500 +vt 0.179688 0.203125 +vt 0.148438 0.203125 +vt 0.132812 0.203125 +vt 0.101562 0.203125 +vt 0.101562 0.187500 +vt 0.132812 0.187500 +vt 0.515625 0.484375 +vt 0.515625 0.734375 +vt 0.265625 0.734375 +vt 0.265625 0.484375 +vt 0.000000 0.468750 +vt 0.000000 0.218750 +vt 0.250000 0.218750 +vt 0.250000 0.468750 +vt 0.515625 1.000000 +vt 0.265625 1.000000 +vt 0.265625 0.750000 +vt 0.515625 0.750000 +vt 0.250000 0.734375 +vt 0.000000 0.734375 +vt 0.000000 0.484375 +vt 0.250000 0.484375 +vt 0.781250 1.000000 +vt 0.531250 1.000000 +vt 0.531250 0.750000 +vt 0.781250 0.750000 +vt 0.000847 0.750015 +vt 0.250216 0.750015 +vt 0.250216 0.999385 +vt 0.000847 0.999385 +vt 0.867188 0.273438 +vt 0.835938 0.273438 +vt 0.835938 0.304688 +vt 0.867188 0.304688 +vt 0.804688 0.273438 +vt 0.804688 0.304688 +vt 0.773438 0.273438 +vt 0.773438 0.304688 +vt 0.742188 0.273438 +vt 0.742188 0.304688 +vt 0.710938 0.273438 +vt 0.710938 0.304688 +vt 0.679688 0.273438 +vt 0.679688 0.304688 +vt 0.648438 0.273438 +vt 0.648438 0.304688 +vt 0.617188 0.273438 +vt 0.617188 0.304688 +vt 0.585938 0.273438 +vt 0.585938 0.304688 +vt 0.554688 0.273438 +vt 0.554688 0.304688 +vt 0.523438 0.273438 +vt 0.523438 0.304688 +vt 0.492188 0.273438 +vt 0.492188 0.304688 +vt 0.992188 0.273438 +vt 0.960938 0.273438 +vt 0.960938 0.304688 +vt 0.992188 0.304688 +vt 0.929688 0.273438 +vt 0.929688 0.304688 +vt 0.898438 0.273438 +vt 0.898438 0.304688 +vt 0.600936 0.328499 +vt 0.584692 0.410164 +vt 0.568448 0.328499 +vt 0.757628 0.328499 +vt 0.773872 0.410164 +vt 0.790117 0.328499 +vt 0.820132 0.340932 +vt 0.843105 0.363905 +vt 0.855537 0.393920 +vt 0.855537 0.426408 +vt 0.843105 0.456424 +vt 0.820132 0.479396 +vt 0.790117 0.491829 +vt 0.757628 0.491829 +vt 0.727613 0.479396 +vt 0.704640 0.456424 +vt 0.692207 0.426408 +vt 0.692207 0.393920 +vt 0.704640 0.363905 +vt 0.727613 0.340932 +vt 0.538432 0.340932 +vt 0.515460 0.363905 +vt 0.503027 0.393920 +vt 0.503027 0.426408 +vt 0.515460 0.456424 +vt 0.538432 0.479396 +vt 0.568448 0.491829 +vt 0.600936 0.491829 +vt 0.630951 0.479396 +vt 0.653924 0.456424 +vt 0.666357 0.426408 +vt 0.666357 0.393920 +vt 0.653924 0.363905 +vt 0.630951 0.340932 +vt 0.585938 0.257812 +vt 0.585938 0.007812 +vt 0.617188 0.007812 +vt 0.617188 0.257812 +vt 0.538433 0.340928 +vt 0.568449 0.328495 +vt 0.584693 0.410160 +vt 0.515460 0.363901 +vt 0.503028 0.393916 +vt 0.503028 0.426405 +vt 0.515460 0.456420 +vt 0.538433 0.479393 +vt 0.568449 0.491826 +vt 0.600937 0.491826 +vt 0.630952 0.479393 +vt 0.653925 0.456420 +vt 0.666358 0.426405 +vt 0.666358 0.393916 +vt 0.653925 0.363901 +vt 0.630952 0.340928 +vt 0.600937 0.328495 +vt 0.727611 0.340928 +vt 0.757626 0.328495 +vt 0.773870 0.410160 +vt 0.704638 0.363901 +vt 0.692205 0.393916 +vt 0.692205 0.426405 +vt 0.704638 0.456420 +vt 0.727611 0.479393 +vt 0.757626 0.491826 +vt 0.790115 0.491826 +vt 0.820130 0.479393 +vt 0.843103 0.456420 +vt 0.855535 0.426405 +vt 0.855535 0.393916 +vt 0.843103 0.363901 +vt 0.820130 0.340928 +vt 0.790115 0.328495 +vt 0.929688 0.257812 +vt 0.929688 0.007812 +vt 0.960938 0.007812 +vt 0.960938 0.257812 +vt 0.867188 0.257812 +vt 0.867188 0.007812 +vt 0.898438 0.007812 +vt 0.898438 0.257812 +vt 0.773438 0.257812 +vt 0.773438 0.007812 +vt 0.804688 0.007812 +vt 0.804688 0.257812 +vt 0.835938 0.257812 +vt 0.835938 0.007812 +vt 0.742188 0.257812 +vt 0.742188 0.007812 +vt 0.710938 0.257812 +vt 0.710938 0.007812 +vt 0.679688 0.257812 +vt 0.679688 0.007812 +vt 0.648438 0.257812 +vt 0.648438 0.007812 +vt 0.554688 0.257812 +vt 0.554688 0.007812 +vt 0.523438 0.257812 +vt 0.523438 0.007812 +vt 0.492188 0.257812 +vt 0.492188 0.007812 +vt 0.992188 0.007812 +vt 0.992188 0.257812 +usemtl None +s off +f 5/1 6/2 2/3 1/4 +f 6/5 7/6 3/7 2/8 +f 7/9 8/10 4/11 3/12 +f 8/13 5/14 1/15 4/16 +f 1/17 2/18 3/19 4/20 +f 8/21 7/22 6/23 5/24 +f 13/25 14/26 10/27 9/28 +f 14/29 15/30 11/31 10/32 +f 15/33 16/34 12/35 11/36 +f 16/37 13/38 9/39 12/40 +f 21/41 22/42 18/43 17/44 +f 22/45 23/46 19/47 18/48 +f 23/49 24/50 20/51 19/52 +f 24/53 21/54 17/55 20/56 +f 17/57 18/58 19/59 20/60 +f 24/61 23/62 22/63 21/64 +f 25/65 27/66 28/67 26/68 +f 27/66 29/69 30/70 28/67 +f 29/69 31/71 32/72 30/70 +f 31/71 33/73 34/74 32/72 +f 33/73 35/75 36/76 34/74 +f 35/75 37/77 38/78 36/76 +f 37/77 39/79 40/80 38/78 +f 39/79 41/81 42/82 40/80 +f 41/81 43/83 44/84 42/82 +f 43/83 45/85 46/86 44/84 +f 45/85 47/87 48/88 46/86 +f 47/87 49/89 50/90 48/88 +f 49/91 51/92 52/93 50/94 +f 51/92 53/95 54/96 52/93 +f 55/97 25/65 26/68 56/98 +f 53/95 55/97 56/98 54/96 +f 28/99 74/100 26/101 +f 25/102 73/103 27/104 +f 27/104 73/103 29/105 +f 29/105 73/103 31/106 +f 31/106 73/103 33/107 +f 33/107 73/103 35/108 +f 35/108 73/103 37/109 +f 37/109 73/103 39/110 +f 39/110 73/103 41/111 +f 41/111 73/103 43/112 +f 43/112 73/103 45/113 +f 45/113 73/103 47/114 +f 47/114 73/103 49/115 +f 49/115 73/103 51/116 +f 51/116 73/103 53/117 +f 53/117 73/103 55/118 +f 55/118 73/103 25/102 +f 26/101 74/100 56/119 +f 56/119 74/100 54/120 +f 54/120 74/100 52/121 +f 52/121 74/100 50/122 +f 50/122 74/100 48/123 +f 48/123 74/100 46/124 +f 46/124 74/100 44/125 +f 44/125 74/100 42/126 +f 42/126 74/100 40/127 +f 40/127 74/100 38/128 +f 38/128 74/100 36/129 +f 36/129 74/100 34/130 +f 34/130 74/100 32/131 +f 32/131 74/100 30/132 +f 30/132 74/100 28/99 +f 65/133 115/134 116/135 66/136 +f 105/137 107/138 124/139 +f 103/140 105/137 124/139 +f 101/141 103/140 124/139 +f 99/142 101/141 124/139 +f 97/143 99/142 124/139 +f 95/144 97/143 124/139 +f 93/145 95/144 124/139 +f 91/146 93/145 124/139 +f 89/147 91/146 124/139 +f 87/148 89/147 124/139 +f 85/149 87/148 124/139 +f 83/150 85/149 124/139 +f 81/151 83/150 124/139 +f 79/152 81/151 124/139 +f 109/153 79/152 124/139 +f 80/154 110/155 123/156 +f 82/157 80/154 123/156 +f 84/158 82/157 123/156 +f 86/159 84/158 123/156 +f 88/160 86/159 123/156 +f 90/161 88/160 123/156 +f 92/162 90/161 123/156 +f 94/163 92/162 123/156 +f 96/164 94/163 123/156 +f 98/165 96/164 123/156 +f 100/166 98/165 123/156 +f 102/167 100/166 123/156 +f 104/168 102/167 123/156 +f 106/169 104/168 123/156 +f 108/170 106/169 123/156 +f 110/155 108/170 123/156 +f 107/138 109/153 124/139 +f 82/86 81/85 79/83 80/84 +f 80/84 79/83 109/81 110/82 +f 84/88 83/87 81/85 82/86 +f 86/90 85/89 83/87 84/88 +f 88/93 87/92 85/91 86/94 +f 90/96 89/95 87/92 88/93 +f 92/98 91/97 89/95 90/96 +f 94/68 93/65 91/97 92/98 +f 96/67 95/66 93/65 94/68 +f 98/70 97/69 95/66 96/67 +f 100/72 99/71 97/69 98/70 +f 102/74 101/73 99/71 100/72 +f 104/76 103/75 101/73 102/74 +f 106/78 105/77 103/75 104/76 +f 108/80 107/79 105/77 106/78 +f 110/82 109/81 107/79 108/80 +f 60/171 75/172 111/173 61/174 +f 58/175 77/176 76/177 59/178 +f 71/179 121/180 122/181 72/182 +f 57/183 78/184 77/176 58/175 +f 59/178 76/177 75/172 60/171 +f 72/182 122/181 78/184 57/183 +f 70/185 120/186 121/180 71/179 +f 69/187 119/188 120/186 70/185 +f 68/189 118/190 119/188 69/187 +f 67/191 117/192 118/190 68/189 +f 66/136 116/135 117/192 67/191 +f 64/193 114/194 115/134 65/133 +f 63/195 113/196 114/194 64/193 +f 62/197 112/198 113/196 63/195 +f 61/174 111/173 112/199 62/200 diff --git a/no-mods/pipeworks/pipes.lua b/no-mods/pipeworks/pipes.lua new file mode 100644 index 0000000..2056fdf --- /dev/null +++ b/no-mods/pipeworks/pipes.lua @@ -0,0 +1,222 @@ +-- This file supplies the steel pipes + +local REGISTER_COMPATIBILITY = true + +local pipes_empty_nodenames = {} +local pipes_full_nodenames = {} + +local vti = {4, 3, 2, 1, 6, 5} +local cconnects = {{}, {1}, {1, 2}, {1, 3}, {1, 3, 5}, {1, 2, 3}, {1, 2, 3, 5}, {1, 2, 3, 4}, {1, 2, 3, 4, 5}, {1, 2, 3, 4, 5, 6}} +for index, connects in ipairs(cconnects) do + local outsel = {} + + local jx = 0 + local jy = 0 + local jz = 0 + for _, v in ipairs(connects) do + if v == 1 or v == 2 then + jx = jx + 1 + elseif v == 3 or v == 4 then + jy = jy + 1 + else + jz = jz + 1 + end + table.insert(outsel, pipeworks.pipe_selectboxes[v]) + end + + if #connects == 1 then + local v = connects[1] + v = v-1 + 2*(v%2) -- Opposite side + end + + local pgroups = {snappy = 3, pipe = 1, not_in_creative_inventory = 1} + local pipedesc = "Pipe segement".." "..dump(connects).."... You hacker, you." + local image = nil + + if #connects == 0 then + pgroups = {snappy = 3, tube = 1} + pipedesc = "Pipe segment" + image = "pipeworks_pipe_inv.png" + end + + local outimg_e = { "pipeworks_pipe_plain.png" } + local outimg_l = { "pipeworks_pipe_plain.png" } + + if index == 3 then + outimg_e = { "pipeworks_pipe_3_empty.png" } + outimg_l = { "pipeworks_pipe_3_loaded.png" } + end + + local mesh = "pipeworks_pipe_"..index..".obj" + + if index == 1 then + mesh = "pipeworks_pipe_3.obj" + end + + minetest.register_node("pipeworks:pipe_"..index.."_empty", { + description = pipedesc, + drawtype = "mesh", + mesh = mesh, + tiles = outimg_e, + sunlight_propagates = true, + inventory_image = image, + wield_image = image, + paramtype = "light", + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = outsel + }, + collision_box = { + type = "fixed", + fixed = outsel + }, + groups = pgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + drop = "pipeworks:pipe_1_empty", + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end + }) + + local pgroups = {snappy = 3, pipe = 1, not_in_creative_inventory = 1} + + minetest.register_node("pipeworks:pipe_"..index.."_loaded", { + description = pipedesc, + drawtype = "mesh", + mesh = mesh, + tiles = outimg_l, + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = outsel + }, + collision_box = { + type = "fixed", + fixed = outsel + }, + groups = pgroups, + sounds = default.node_sound_wood_defaults(), + walkable = true, + drop = "pipeworks:pipe_1_empty", + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + after_dig_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end + }) + + table.insert(pipes_empty_nodenames, "pipeworks:pipe_"..index.."_empty") + table.insert(pipes_full_nodenames, "pipeworks:pipe_"..index.."_loaded") +end + + + +if REGISTER_COMPATIBILITY then + local cempty = "pipeworks:pipe_compatibility_empty" + local cloaded = "pipeworks:pipe_compatibility_loaded" + minetest.register_node(cempty, { + drawtype = "airlike", + sunlight_propagates = true, + paramtype = "light", + inventory_image = "pipeworks_pipe_inv.png", + wield_image = "pipeworks_pipe_inv.png", + description = "Pipe Segment (legacy)", + groups = {not_in_creative_inventory = 1, pipe_to_update = 1}, + drop = "pipeworks:pipe_1_empty", + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + }) + minetest.register_node(cloaded, { + drawtype = "airlike", + sunlight_propagates = true, + paramtype = "light", + inventory_image = "pipeworks_pipe_inv.png", + groups = {not_in_creative_inventory = 1, pipe_to_update = 1}, + drop = "pipeworks:pipe_1_empty", + after_place_node = function(pos) + pipeworks.scan_for_pipe_objects(pos) + end, + }) + 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 pname = xm..xp..ym..yp..zm..zp + minetest.register_alias("pipeworks:pipe_"..pname.."_empty", cempty) + minetest.register_alias("pipeworks:pipe_"..pname.."_loaded", cloaded) + end + end + end + end + end + end + minetest.register_abm({ + nodenames = {"group:pipe_to_update"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local minp = {x = pos.x-1, y = pos.y-1, z = pos.z-1} + local maxp = {x = pos.x+1, y = pos.y+1, z = pos.z+1} + if table.getn(minetest.find_nodes_in_area(minp, maxp, "ignore")) == 0 then + pipeworks.scan_for_pipe_objects(pos) + end + end + }) +end + +table.insert(pipes_empty_nodenames,"pipeworks:valve_on_empty") +table.insert(pipes_empty_nodenames,"pipeworks:valve_off_empty") +table.insert(pipes_empty_nodenames,"pipeworks:entry_panel_empty") +table.insert(pipes_empty_nodenames,"pipeworks:flow_sensor_empty") + +table.insert(pipes_full_nodenames,"pipeworks:valve_on_loaded") +table.insert(pipes_full_nodenames,"pipeworks:entry_panel_loaded") +table.insert(pipes_full_nodenames,"pipeworks:flow_sensor_loaded") + +minetest.register_abm({ + nodenames = pipes_empty_nodenames, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + pipeworks.check_for_inflows(pos,node) + end +}) + +minetest.register_abm({ + nodenames = pipes_full_nodenames, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + pipeworks.check_sources(pos,node) + end +}) + +minetest.register_abm({ + nodenames = {"pipeworks:spigot","pipeworks:spigot_pouring"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + pipeworks.spigot_check(pos,node) + end +}) + +minetest.register_abm({ + nodenames = {"pipeworks:fountainhead","pipeworks:fountainhead_pouring"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + pipeworks.fountainhead_check(pos,node) + end +}) + diff --git a/no-mods/pipeworks/routing_tubes.lua b/no-mods/pipeworks/routing_tubes.lua new file mode 100644 index 0000000..8620d20 --- /dev/null +++ b/no-mods/pipeworks/routing_tubes.lua @@ -0,0 +1,119 @@ +-- the default tube and default textures +pipeworks.register_tube("pipeworks:tube", "Pneumatic tube segment") +minetest.register_craft( { + output = "pipeworks:tube_1 6", + recipe = { + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "", "", "" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } + }, +}) + +-- the high priority tube is a low-cpu replacement for sorting tubes in situations +-- where players would use them for simple routing (turning off paths) +-- without doing actual sorting, like at outputs of tubedevices that might both accept and eject items +if pipeworks.enable_priority_tube then + local color = "#ff3030:128" + pipeworks.register_tube("pipeworks:priority_tube", { + description = "High Priority Tube Segment", + inventory_image = "pipeworks_tube_inv.png^[colorize:" .. color, + plain = { "pipeworks_tube_plain.png^[colorize:" .. color }, + noctr = { "pipeworks_tube_noctr.png^[colorize:" .. color }, + ends = { "pipeworks_tube_end.png^[colorize:" .. color }, + short = "pipeworks_tube_short.png^[colorize:" .. color, + node_def = { + tube = { priority = 150 } -- higher than tubedevices (100) + }, + }) + minetest.register_craft( { + output = "pipeworks:priority_tube_1 6", + recipe = { + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "default:gold_ingot", "", "default:gold_ingot" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } + }, + }) +end + +if pipeworks.enable_accelerator_tube then + pipeworks.register_tube("pipeworks:accelerator_tube", { + description = "Accelerating Pneumatic Tube Segment", + inventory_image = "pipeworks_accelerator_tube_inv.png", + plain = { "pipeworks_accelerator_tube_plain.png" }, + noctr = { "pipeworks_accelerator_tube_noctr.png" }, + ends = { "pipeworks_accelerator_tube_end.png" }, + short = "pipeworks_accelerator_tube_short.png", + node_def = { + tube = {can_go = function(pos, node, velocity, stack) + velocity.speed = velocity.speed+1 + return pipeworks.notvel(pipeworks.meseadjlist, velocity) + end} + }, + }) + minetest.register_craft( { + output = "pipeworks:accelerator_tube_1 2", + recipe = { + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "default:mese_crystal_fragment", "default:steel_ingot", "default:mese_crystal_fragment" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } + }, + }) +end + +if pipeworks.enable_crossing_tube then + pipeworks.register_tube("pipeworks:crossing_tube", { + description = "Crossing Pneumatic Tube Segment", + inventory_image = "pipeworks_crossing_tube_inv.png", + plain = { "pipeworks_crossing_tube_plain.png" }, + noctr = { "pipeworks_crossing_tube_noctr.png" }, + ends = { "pipeworks_crossing_tube_end.png" }, + short = "pipeworks_crossing_tube_short.png", + node_def = { + tube = {can_go = function(pos, node, velocity, stack) return {velocity} end } + }, + }) + minetest.register_craft( { + output = "pipeworks:crossing_tube_1 5", + recipe = { + { "", "pipeworks:tube_1", "" }, + { "pipeworks:tube_1", "pipeworks:tube_1", "pipeworks:tube_1" }, + { "", "pipeworks:tube_1", "" } + }, + }) +end + +if pipeworks.enable_one_way_tube then + minetest.register_node("pipeworks:one_way_tube", { + description = "One way tube", + tiles = {"pipeworks_one_way_tube_top.png", "pipeworks_one_way_tube_top.png", "pipeworks_one_way_tube_output.png", + "pipeworks_one_way_tube_input.png", "pipeworks_one_way_tube_side.png", "pipeworks_one_way_tube_top.png"}, + paramtype2 = "facedir", + drawtype = "nodebox", + paramtype = "light", + node_box = {type = "fixed", + fixed = {{-1/2, -9/64, -9/64, 1/2, 9/64, 9/64}}}, + groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, tubedevice = 1}, + sounds = default.node_sound_wood_defaults(), + tube = { + connect_sides = {left = 1, right = 1}, + can_go = function(pos, node, velocity, stack) + return {velocity} + end, + can_insert = function(pos, node, stack, direction) + local dir = minetest.facedir_to_right_dir(node.param2) + return vector.equals(dir, direction) + end, + priority = 75 -- Higher than normal tubes, but lower than receivers + }, + after_place_node = pipeworks.after_place, + after_dig_node = pipeworks.after_dig, + }) + minetest.register_craft({ + output = "pipeworks:one_way_tube 2", + recipe = { + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "group:stick", "default:mese_crystal", "homedecor:plastic_sheeting" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } + }, + }) +end diff --git a/no-mods/pipeworks/screenshot.png b/no-mods/pipeworks/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..686d95566ebb9ccc579d009d1496337710779856 GIT binary patch literal 92579 zcmV)iK%&2iP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 z 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 z�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%0Dr=4 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 0) and found or tbl + end}, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + for i = 1, 6 do + meta:set_int("l"..tostring(i).."s", 1) + inv:set_size("line"..tostring(i), 6*1) + end + update_formspec(pos) + meta:set_string("infotext", "Sorting pneumatic tube") + end, + on_punch = update_formspec, + on_receive_fields = function(pos, formname, fields, sender) + if not pipeworks.may_configure(pos, sender) then return end + fs_helpers.on_receive_fields(pos, fields) + update_formspec(pos) + end, + can_dig = function(pos, player) + update_formspec(pos) -- so non-virtual items would be dropped for old tubes + return true + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + if not pipeworks.may_configure(pos, player) then return 0 end + update_formspec(pos) -- For old tubes + local inv = minetest.get_meta(pos):get_inventory() + local stack_copy = ItemStack(stack) + stack_copy:set_count(1) + inv:set_stack(listname, index, stack_copy) + return 0 + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + if not pipeworks.may_configure(pos, player) then return 0 end + update_formspec(pos) -- For old tubes + local inv = minetest.get_meta(pos):get_inventory() + inv:set_stack(listname, index, ItemStack("")) + return 0 + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + if not pipeworks.may_configure(pos, player) then return 0 end + update_formspec(pos) -- For old tubes + local inv = minetest.get_meta(pos):get_inventory() + + if from_list:match("line%d") and to_list:match("line%d") then + return count + else + inv:set_stack(from_list, from_index, ItemStack("")) + return 0 + end + end, + }, + }) + + minetest.register_craft( { + output = "pipeworks:mese_tube_000000 2", + recipe = { + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "", "default:mese_crystal", "" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "pipeworks:mese_tube_000000", + recipe = { + "pipeworks:tube_1", + "default:mese_crystal_fragment", + "default:mese_crystal_fragment", + "default:mese_crystal_fragment", + "default:mese_crystal_fragment" + }, + }) +end diff --git a/no-mods/pipeworks/teleport_tube.lua b/no-mods/pipeworks/teleport_tube.lua new file mode 100644 index 0000000..3a870f5 --- /dev/null +++ b/no-mods/pipeworks/teleport_tube.lua @@ -0,0 +1,242 @@ +local filename=minetest.get_worldpath() .. "/teleport_tubes" + +local tp_tube_db = nil -- nil forces a read +local tp_tube_db_version = 2.0 + +local function hash(pos) + return string.format("%d", minetest.hash_node_position(pos)) +end + +local function save_tube_db() + local file, err = io.open(filename, "w") + if file then + tp_tube_db.version = tp_tube_db_version + file:write(minetest.serialize(tp_tube_db)) + tp_tube_db.version = nil + io.close(file) + else + error(err) + end +end + +local function migrate_tube_db() + local tmp_db = {} + tp_tube_db.version = nil + for key, val in pairs(tp_tube_db) do + if(val.channel ~= "") then -- skip unconfigured tubes + tmp_db[hash(val)] = val + end + end + tp_tube_db = tmp_db + save_tube_db() +end + +local function read_tube_db() + local file = io.open(filename, "r") + if file ~= nil then + local file_content = file:read("*all") + io.close(file) + + if file_content and file_content ~= "" then + tp_tube_db = minetest.deserialize(file_content) + if(not tp_tube_db.version or tonumber(tp_tube_db.version) < tp_tube_db_version) then + migrate_tube_db() + end + tp_tube_db.version = nil -- we add it back when saving + return tp_tube_db -- we read sucessfully + end + end + tp_tube_db = {} + return tp_tube_db +end + +-- updates or adds a tube +local function set_tube(pos, channel, can_receive) + local tubes = tp_tube_db or read_tube_db() + local hash = hash(pos) + local tube = tubes[hash] + if tube then + tube.channel = channel + tube.cr = can_receive + save_tube_db() + return + end + + -- we haven't found any tp tube to update, so lets add it + tp_tube_db[hash] = {x=pos.x,y=pos.y,z=pos.z,channel=channel,cr=can_receive} + save_tube_db() +end + +local function remove_tube(pos) + local tubes = tp_tube_db or read_tube_db() + tubes[hash(pos)] = nil + save_tube_db() +end + +local function read_node_with_vm(pos) + local vm = VoxelManip() + local MinEdge, MaxEdge = vm:read_from_map(pos, pos) + local data = vm:get_data() + local area = VoxelArea:new({MinEdge = MinEdge, MaxEdge = MaxEdge}) + return minetest.get_name_from_content_id(data[area:index(pos.x, pos.y, pos.z)]) +end + +local function get_receivers(pos, channel) + local tubes = tp_tube_db or read_tube_db() + local receivers = {} + local dirty = false + for key, val in pairs(tubes) do + -- skip all non-receivers and the tube that it came from as early as possible, as this is called often + if (val.cr == 1 and val.channel == channel and (val.x ~= pos.x or val.y ~= pos.y or val.z ~= pos.z)) then + local is_loaded = (minetest.get_node_or_nil(val) ~= nil) + local node_name = is_loaded and minetest.get_node(pos).name or read_node_with_vm(val) + + if minetest.registered_nodes[node_name] and minetest.registered_nodes[node_name].is_teleport_tube then + table.insert(receivers, val) + else + tp_tube_db[key] = nil + dirty = true + end + end + end + if dirty then + save_tube_db() + end + return receivers +end + +local function update_meta(meta, can_receive) + meta:set_int("can_receive", can_receive and 1 or 0) + local cr_state = can_receive and "on" or "off" + meta:set_string("formspec","size[8.6,2.2]".. + "field[0.6,0.6;7,1;channel;Channel:;${channel}]".. + "label[7.3,0;Receive]".. + "image_button[7.3,0.3;1,1;pipeworks_button_" .. cr_state .. ".png;cr" .. (can_receive and 0 or 1) .. ";;;false;pipeworks_button_interm.png]".. + "image[0.3,1.3;1,1;pipeworks_teleport_tube_inv.png]".. + "label[1.6,1.2;channels are public by default]" .. + "label[1.6,1.5;use : for fully private channels]" .. + "label[1.6,1.8;use \\; for private receivers]" .. + default.gui_bg.. + default.gui_bg_img) +end + +pipeworks.register_tube("pipeworks:teleport_tube", { + description = "Teleporting Pneumatic Tube Segment", + inventory_image = "pipeworks_teleport_tube_inv.png", + noctr = { "pipeworks_teleport_tube_noctr.png" }, + plain = { "pipeworks_teleport_tube_plain.png" }, + ends = { "pipeworks_teleport_tube_end.png" }, + short = "pipeworks_teleport_tube_short.png", + node_def = { + is_teleport_tube = true, + tube = { + can_go = function(pos,node,velocity,stack) + velocity.x = 0 + velocity.y = 0 + velocity.z = 0 + + local channel = minetest.get_meta(pos):get_string("channel") + if channel == "" then return {} end + + local target = get_receivers(pos, channel) + if target[1] == nil then return {} end + + local d = math.random(1,#target) + pos.x = target[d].x + pos.y = target[d].y + pos.z = target[d].z + return pipeworks.meseadjlist + end + }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + update_meta(meta, true) + meta:set_string("infotext", "unconfigured Teleportation Tube") + end, + on_receive_fields = function(pos,formname,fields,sender) + if not fields.channel -- ignore escaping or clientside manipulation of the form + or not pipeworks.may_configure(pos, sender) then + return + end + local new_channel = tostring(fields.channel):trim() + + local meta = minetest.get_meta(pos) + local can_receive = meta:get_int("can_receive") + + -- check for private channels each time before actually changing anything + -- to not even allow switching between can_receive states of private channels + if new_channel ~= "" then + local sender_name = sender:get_player_name() + local name, mode = new_channel:match("^([^:;]+)([:;])") + if name and mode and name ~= sender_name then + --channels starting with '[name]:' can only be used by the named player + if mode == ":" then + minetest.chat_send_player(sender_name, "Sorry, channel '"..new_channel.."' is reserved for exclusive use by "..name) + return + + --channels starting with '[name];' can be used by other players, but cannot be received from + elseif mode == ";" and (fields.cr1 or (can_receive ~= 0 and not fields.cr0)) then + minetest.chat_send_player(sender_name, "Sorry, receiving from channel '"..new_channel.."' is reserved for "..name) + return + end + end + end + + local dirty = false + + -- was the channel changed? + local channel = meta:get_string("channel") + if new_channel ~= channel then + channel = new_channel + meta:set_string("channel", channel) + dirty = true + end + + -- test if a can_receive button was pressed + if fields.cr0 and can_receive ~= 0 then + can_receive = 0 + update_meta(meta, false) + dirty = true + elseif fields.cr1 and can_receive ~= 1 then + can_receive = 1 + update_meta(meta, true) + dirty = true + end + + -- save if we changed something, handle the empty channel while we're at it + if dirty then + if channel ~= "" then + set_tube(pos, channel, can_receive) + local cr_description = (can_receive == 1) and "sending and receiving" or "sending" + meta:set_string("infotext", string.format("Teleportation Tube %s on '%s'", cr_description, channel)) + else + -- remove empty channel tubes, to not have to search through them + remove_tube(pos) + meta:set_string("infotext", "unconfigured Teleportation Tube") + end + end + end, + on_destruct = function(pos) + remove_tube(pos) + end + }, +}) +minetest.register_craft( { + output = "pipeworks:teleport_tube_1 2", + recipe = { + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "default:desert_stone", "default:mese", "default:desert_stone" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } + }, +}) + +if minetest.get_modpath("mesecons_mvps") ~= nil then + mesecon.register_on_mvps_move(function(moved_nodes) + for _, n in ipairs(moved_nodes) do + if string.find(n.node.name, "pipeworks:teleport_tube") ~= nil then + local meta = minetest.get_meta(n.pos) + set_tube(n.pos, meta:get_string("channel"), meta:get_int("can_receive")) + end + end + end) +end diff --git a/no-mods/pipeworks/textures/.directory b/no-mods/pipeworks/textures/.directory new file mode 100644 index 0000000..183050b --- /dev/null +++ b/no-mods/pipeworks/textures/.directory @@ -0,0 +1,4 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2017,1,19,3,3,53 +Version=3 diff --git a/no-mods/pipeworks/textures/homedecor_oil_extract.png b/no-mods/pipeworks/textures/homedecor_oil_extract.png new file mode 100644 index 0000000000000000000000000000000000000000..b945a9e7f56870b5a462c172bc38d3c8f7f18e56 GIT binary patch literal 285 zcmV+&0pk9NP)!B(KJnjh~&K|1l-O!fIg-@ijtK^(;rX!>tB>*&R6o@X6OY64E)Zk?sR@5^Br9tV{Ih<2fMtyt7Fjp2`O z5gBVOahK{0P-v|wX5J+c8B&}B>N*Kva||F6bUK3DBgBTtEw*i2@&36Rd8o3l4ns`7 j140DyZ%+U~v3KwR9aw}~?~uJT00000NkvXXu0mjftdVzc literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/homedecor_paraffin.png b/no-mods/pipeworks/textures/homedecor_paraffin.png new file mode 100644 index 0000000000000000000000000000000000000000..77d2bbd12e37d724d87822457fa22b927a48c18f GIT binary patch literal 345 zcmV-f0jBjm@zqOr9pf#>1mvib%4#NfwJP zPZ)e+%=#VRlNOX9PL7g<0q_A)q;_`)qPX!U# zSv{nT;*Bx|Y8aR_c*mke6>T6Q2U`i>#6!_T=Ykt5RCo;UgIhoODtluh+q2gXSvwWv rlxFN&(J)=jtZ0kTh2#0x-pREfDC$N*K|~Z4L`Bdur1J(wx|kN*RR=;g`7b}2-2VHeY5E|( z7WRGr=(^6Ws!E7F&z;M{Wm#O6Wf%q_H%%jTU4MjN^%PFiB=bD$JdPs}4Jgaf4pA2G z6i|p@U02!nUAAolf)iXAfE}U=9Mc`)aU4K!q5*B&nq5eeBzA}@c5r|Q2u=V3HV(2Z z6E&`cVMx4%ASBN2j93%}0PP?M0v*2Z->ne!g>*LJbAGxh^~Q~vAs1o}Z+#9*W~D*ylh07*qoM6N<$f=%3XX8-^I literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_accelerator_tube_end.png b/no-mods/pipeworks/textures/pipeworks_accelerator_tube_end.png new file mode 100644 index 0000000000000000000000000000000000000000..683916577fb08d1eeb8945147f0ff1c058734356 GIT binary patch literal 1229 zcmV;;1Ty=HP)MW+v&dA>AcP1q}S)S*XOv@<+8QYd)(^4 z*yy^}=C!!gf70Zy(BrGX*^a^5kh#@@yw``l*NC~)fxFg)zSxTZ0026ZJvRUV05Wt^ zPE-H?|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|Ns90 z4N#cx000BDNkllEH*!Vn8L(pN!guLVUHE@LCUZr(4a(Ymq>?3@ESi)9|5$^`{w z0Ea9WWC%Y1UJ*jD&b6zt!9dnFWXBPmca=s2!a#=58f(2hfTyN)rt#wwyjHyB`JT%e$h_MWsEFNz(VBMp`uRnPUuhftI3`FT=u*bk?H zNe0v_S*vHo=BelWFUbh@Tu!wR?4OgI`(E^)L&*B-!4MzEM$e~Ks?NkV0i05? zODc=ApfNd>&$o&h;g~@7(<8<1R?jj1?c0Y<6b}!8tepe)QGKaAo{YPAn?1{KfRFFI z1yY}2ae>TnA0ubMr)lROtLBMI#s3woSH9<=!dL_t&6Jl8wrz&R@tB0W?l||2TmwTSl5 literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_accelerator_tube_inv.png b/no-mods/pipeworks/textures/pipeworks_accelerator_tube_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..743956a76c6bbdf6ec5a2a1fe57eeb29a62fc824 GIT binary patch literal 665 zcmV;K0%rY*P)cPX_oxa?a#^9pc>%_(1pw{WU*Xh34>cGd~qsii^%HpZW;iS{& zxXQ)3 z&GZ6#TFXNzZa}i6b(QN~Wz8@(vfu@_)B2`x0}d{DfxYXcG;k|80jYNM6;L=@AO}uh zwiExD;nY&R`Tz^+9-G2%AQ2V|(HX!hQnl@GXeBcU(A79_ zC>she5s?}g1nRrgP)ZD0=H+ere0}A40VDMb+M%ZOD~z8x00000NkvXXu0mjfM;1*x literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_accelerator_tube_noctr.png b/no-mods/pipeworks/textures/pipeworks_accelerator_tube_noctr.png new file mode 100644 index 0000000000000000000000000000000000000000..fa0daa6c60b5fb50876bd610f2d968b432040000 GIT binary patch literal 1032 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 literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_black.png b/no-mods/pipeworks/textures/pipeworks_black.png new file mode 100644 index 0000000000000000000000000000000000000000..34afad8048a4996a81be966e152f3b484e457886 GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;bAV5XE0A7ZWqS)qaeKNrhH%Ix aD+mHP1`Lc`&pkwdECx?kKbLh*2~7a?xDB}g literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_blue.png b/no-mods/pipeworks/textures/pipeworks_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..64c8a6f895d51eb13b3f91736152cc054cb9bb05 GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;bAV5Xt3}$Ye^q{4fn07+7sn6| c*<=MlAjg1#k?XmK2$03#>FVdQ&MBb@06t$2ga7~l literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_button_interm.png b/no-mods/pipeworks/textures/pipeworks_button_interm.png new file mode 100644 index 0000000000000000000000000000000000000000..47320ced3e544c5ad19c6fef00b5b13c28bff3b3 GIT binary patch literal 5409 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 XE%d#yd*)jL`rkrW2<|{_@Oke4qB9po literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_conductor_tube_on_end.png b/no-mods/pipeworks/textures/pipeworks_conductor_tube_on_end.png new file mode 100644 index 0000000000000000000000000000000000000000..46d0e30cab577251a960cf639dd61bb17b4bb0bd GIT binary patch literal 2188 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 literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_conductor_tube_plain.png b/no-mods/pipeworks/textures/pipeworks_conductor_tube_plain.png new file mode 100644 index 0000000000000000000000000000000000000000..e0891ed687e435864b509ebb991f2d78c6dbecdb GIT binary patch literal 2169 zcmV-<2!{8GP)JbwIGDwVYK_ixRB+qZAak4V5`kdyWGb@v!>>Cz>sE#qeqfx1C#+qT3ovjTWmm_5&Zb^qr}>PVI&|c z*RNl9j{&!C-IB5KUt$^X>eZ`62?&CWASq6IfhDy8rxLutmoHy7^*?|9+_a%SmCA1d zGo53=)vH(4f@fu5FqQ#4?56$?A3m72krBK=L2lf*;T{9f+u}@GM#o!^175#=ZRYg! zC<7K#a_`4sG+2AE#pFVvuK~%Mx zMFrfn0R%!rLlFa7u>*)b%)<@7c=5tL2JqI{{K=D%3cPvqMz#_6E!z+L=^G}(Oea+! zs20An0Z*Ph+4e!6K7G2WkGTt_jI6D#xyJy~;raQD96jbs%tOWoMJ5?qObdC1lWq_f zHgq=L3&g3%;Uf;?0c;u@@K@)LG2p?22b;zXD)Z*%Q+NS4Z9u(IkP|0V-JZ94;v%srW-_TOXaMLjCj_YA0PKX zgmxDXSXo(t!?+q2qJY4lcc$FGe_vzzRpX0sZHOadFiec2&>sF~9AF6J>Wz#H40(o5 z5Cn4J!Ufhc<>JMQ#Q5LQBkiT84O(Z1J(-=$n|o}^ojZ5H2AIol#pV(UnUgn&@7j7!X{2RkwV>me zpV7VKxHk+a7E@{maxyoUf-c3Zv)H5uUVy6vIzwHwE*L0oYPyXeihYIS_4(556`++q zT|Xzr(uPH0Xlh-!S$CiDjS>6%ke0*EHVo65zG%+zE?>~q^CLQ6>z-bnr)lg|(NlV! zsc~ohiVGBHp>1k1Ju`lGUi$`o85wJqp>w{JDy&2C3pJ?T2(3HSgYN#~(&`#j5- za4%t7bU!+3YJ#zFuckhI+R)kBK!5%E^{40?;c*M3`$*T@;tpe}gzfW8P^}(oa0!5Q)C5PQ{*SmM`5(p;G!F3@4lheM~sv5>~ zej#Jr+)gF7RW;<>-j2iy1}p{{JU~1W6m#J*pn(mrd?0%}0Krx`9=)YV%&N7tpvQ3r zEROd1Q6F3}UImhwiHgS9A&bi(JIR0u!A=Y;o~+MPMHrAFf=r}gX(Q~fw{PFZ60Oy0 zY6RPaw;1AntunYA_%buw7Vib@Jyj&?wt-GuKk<6Gk}^gx6wy`P%m0m@ma8S*fNYK__<3Y#@BNd1Ytj&HufBq~Mk)NG)g#o2&2+ZA+Xs0z zYmAR;-&nM-!9mhq_8UD9=M{Q;qy2h-9RLad1`DM<#&Q>DG73kh0Yv!34bT9npvchg zQesTGO@Rmi2{Q(eK||I&-~%VapvBwQ`+YD%@7oB9OmOidZ&E^3n^ggGm(vG?) zjg(GXWP-6MCX|-@#S*VyrPySy&iPe+XqE_TfClc49K4Z`l)0 zgfW*k=rf*qKvmSZRBHMt%!d{d5CkduXk!o1pe8s9+t~-S!g)Y)A%te``BcxE%ppW) zJ~eZ86BOm`s2JLVqMe-{(gsuA{4xXs&^3El+~fjCg`20u*nE!~(HQp`d!0JPr?ECf z**ylJZ`0E$15DcDj$Qxypw#HFdknzHEU86D1#DvvTrD01W96g`D3#Mj0&KELF8nv? zFk!WmXN70fhmY)l0f!FraWsz+bkYXk!ifA@K$fCIl3d4)4RH9hco3xJSXca6;W)`4 z^d_n!h;sC_cwYWE;EOHNbnu`rt84rD;OQm^G-2B4?#;z4Z7&2^p!Y3;w>2cEtk`lv!@Iyqacs_HN>g{B7ZrXs+ zvEK}c5@K>K;fs+CaPycPnL+djp~iB7Jl@S*V16NI4oKL1u8#gSmIusm zG7?O{1CqmHuts1v01+qMAYtslKnw$tPm6;ux~T$)EvL#t39yg?;s9v4sR9Hq#hE?8 v=hmBNuCvJy!3$72nEej^KF`_3U1h+3l{((Rb${nZ00000NkvXXu0mjfrGpA@ literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_conductor_tube_short.png b/no-mods/pipeworks/textures/pipeworks_conductor_tube_short.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec809a6cbd27e5ffeac1ef35e1aae84b6015c93 GIT binary patch literal 839 zcmV-N1GxN&P)7+i2;g=0E&tMi;Dq_i~)^}0gjFVkB9`3 zs9>n5VX3KMsi|VBs$#0DW2&mEtE*$Ht7NRKWUQ=ZtgNi9t*x%EuCK4Ju&}VQva++Y zv$V9dwY9ajwzjvox45{txw*Nzy1Ki&yS%)-y}iA@zP`V|zreu2!NI}8!otJD!^FhI z#l^+O#>U6T$H~dbT8=+p00001bW%=J06^y0W&i*I;Ymb6R2UiU!P$1wKmZ2d-=#{G zB#?>1Y#zHwW7Ee!ek~3VBOyTJq$vdoWbMqvKRS2pQJc$8ES4eM_6Y!Jz%({g_T^yV)G{ zMt%FNLn-Z9rvuv_^}7wX16li#qLvQGamBcAYQ#JucS%XDX~m*u)(_RgT9K5F)Vg`E ztW_0*JhdTn2>uJhhItBE%fOaEieb+T8^>pmT@zmm6h75*1F%tR| zvgaChJ|o4khao{6$ZQ=uAu@hp&m2I-fy{agKp-(gMudbw)(pT&7c!>?z{6ktfJ}EG zYt)cnNUd?hhosVijMkBekot)m0)Ke8W^^DMX-LeF5ka!RHO+yHnnA(a0?0h~??b4!YKP*BM?|jb_ia-R|%e zWSmDIRz6#V;;S!W&*xlRg?uiSG2=mec^S-^7tH--@Ll*}5DVmTxm@lR`VB$ANfLNO R-zxwB002ovPDHLkV1hB@ls5nX literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_crossing_tube_end.png b/no-mods/pipeworks/textures/pipeworks_crossing_tube_end.png new file mode 100644 index 0000000000000000000000000000000000000000..7b51ce318ec8067563243f8acf973d8194808933 GIT binary patch literal 1195 zcmV;c1XTNpP)K~xwSmBHzD;>ZDj(eM3VA}5nGV?a_#RayYsG@Ev`0y6DR(kJvHz%nu5&kxyCEV0vg$dy|+_a2#^wSU%o~+T*l+l5H;bTJCEmynsVF#q-))Eu5 z)xfBYdgbV2j$6NXHiC7Y<7vawWr51slzslEeE&^ZLJLOqn zAVW{t%TTC5S)nCmV1-jx*~|Gvh`@5@zVP{3XW3hOIG&rNYERvJS9blWcYZZ`aB!(GNz!&SyehTVmRy94i?3b`pE=I({N zf>FLgD}X4d_~a;_x!FUu<}T^oI!Z39H2I`H5yxQe@!w0h;H;x46psnbJV*Y)nO zjFT6;s^xV;(fY}t6jP!W3=JJE>72ZJTy&u*vI7}yzogOtW{nV>m)0ycwOvr zO8(+d^^kM(_ep)>K{q@Fd?}3jcrwY()t2QZuV9K51`S&(|KU=b^ zhEqE9L!Vr}|F=3_s`I%$zO!(xKP=%W#}2;z{xq}IJP?lMZ=WWPd=5k3pL^CqMxp0E zOQjZ;yAS>ms+kOCLJINfA%3&xwi2%LgGm^Ma~1lIaHUYM6KRLaQ%hyruJbZeZXg3o zxpU8TrgA==g;o?q9$yn~iATcNem#zg47F-nMYwCZV&32W9d>L_Zo zvp>T`w8**2@&xUD;$gzI-?++)7_Ao1mi>8>EPCLG#rCc@2$As_pBxqZ%s-=aA$gjEEaP>V1F=4p}?sBe5 zM_@ww6~Am4wU&j6(ChgnXY?jROgO)v`K0kBCREVyN$yI%^nbXi`HZNzXk7pR002ov JPDHLkV1h^PLx%tW literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_crossing_tube_inv.png b/no-mods/pipeworks/textures/pipeworks_crossing_tube_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..2ee350b51bffa9d8586f7620d5ac2a4016c18cc8 GIT binary patch literal 535 zcmV+y0_gpTP)*Qn3{&>Inh_{)jimMMekz6qH!+x_=IN@ry3nDzLioH%GsuSYPK2IaD3Q6>K znGgdysrY7(9_O}$k7hn%YFWu`|`3(qbeA+8&$EoFLXh#T~WpAY;p@O z+Rdt1y)X$b+V$vSb;cA-n)L;V)kPKbniW-SI#sS1wR)Yq{*>Cm-HJChjwux%c;JEbNb(oL0l$1+XY@+(2#bp$WY7kGwDypLxI{d!r(aa!i?`|-cq51&5m Z@ITQUCso<4K9>Lh002ovPDHLkV1jI-`sM%t literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_crossing_tube_noctr.png b/no-mods/pipeworks/textures/pipeworks_crossing_tube_noctr.png new file mode 100644 index 0000000000000000000000000000000000000000..fdef1be4876a85ea6910972bda1031a3b5c5249d GIT binary patch literal 1005 zcmVJAnsZ$mXo6_3!dm54Hq5G?1U00um-+| z0v&dkp`{0kL#}-q2;f5nI$CppSop@5tJSTj1p8ZgGu4D3!Z#a%;_+v|&^Kc}D zXG}v^xcpV6>8UAR4|QBN`}SL#x81($c&GSY?~Ceu?*7bQv%}$Z=$&6H1}(pD!3Roi z#N4&!M#II@zgtFqkgrt1t zqU0(ef2xuqtEy^K%%hkORGT>6MB8K?m78QuN^iwanD&AQ~!Hz+qQl^{nfPHp{cuucaCj&+$YEG*v03s|CIZ4 zc{nt$-;2)&iQ`R#BgC_f_+*Br6qaY!&Aj8Lc$Y;mCCa zWJ$Hy77%lkQ*=y%dP}cpk}VKXPbE4$_e@DINl?;YjE?cR|15wH-_-t3}Ipv~|r3qqF5>LM|?7X$D*1 z+gxD6n-^$#1zX@8xtLJi9xbiV_O^!!;SFf%7VV%EpZmjel!}CSewr*?F>P7goK&eF_=dbcLoQuGhcC0)r z3}m<|>}4oapsdi6GO)s_tL)``B1B+0b6@y;Z}a@JuMej#ZT83hy|4P=I5@%O>#>b5 zO_OB(_fuC7f%C09*6sB={8=4})9G>=T@NicJ^!|}3bZsqd$%Rpicd6rkTP;)&nRPC zp#AA8v@IVrJnZ;K$|wlm8Ex1kXqPbHZo@w|JmlPT+~ka8m~&I5CE7`a+*Oe9@WMmM zs92$uKolIgY03nx7SG)6AYb#4@$d%8CPCW(k=UcfC0g$)9x}4#mAi(AjOwM$>Y{Di zxLzjdC`;S4%Pv)%CP|fb>8_2_JWh7mHfiE)OU`J+PjQm1i{#vOS-nfDvd+>p$?A5~ zbZwL5n>;kqSS zyh7Vc8xx^-VU&^-XwB0c6V|L})Kj)-Cx3>CXi;#J7b)8N#KVMZU$`mC1g#a%m?D@+Qy=7q{^ag$?7+qwD3Fr3{zvz64 h2^DnwqHraj`ak_24pP-^DX{J%=P)8v_V^%h#c*eX3;P6DHsC{wD}j3O z8aEj3Xw0mE>u~~5MgX31MYyw706Kz;4S-HGfDku!aG53q&IDJ`qmtItrL{JzNf)ND zMQe^#R%l(Bw#aR!bCc>OGbw5T7j?+AQKg>R*3`K+MWIb?lcu$e-X_~ZN2=IXjaIv? zL?z)`y#aO8;VQ)!j;ku$0mlto{2f4E;%bX80)P3K`ZoTm+qysXUEkX7 zz3VHntFxBIDn!55ZHkRPpNI|()hAS@9@L8vUByX!$#Jnh#u?U_8sVrEnL&>C2 z3@)PRA>k|tMaD(!b0U$4s>BZ08NOc})NS N002ovPDHLkV1kXP0dD{R literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_deployer_back.png b/no-mods/pipeworks/textures/pipeworks_deployer_back.png new file mode 100644 index 0000000000000000000000000000000000000000..4e08be38497f3253b087be95e34055530e14cc7d GIT binary patch literal 275 zcmV+u0qp*XP)pFP;t|^iS*WTo3Q8A`*G8bofpT*YgCj0vY+- z{lq^Z#CVz-#Wa#}mm)UB0tzi(sm#n`12|^r=$h|qlf?#m?l6)IjtBRG!17~CkA!_l z)x0IHyU($@^+w98{#cI51e2o=iM&)A-O@pTVx2`AcABd9OdQM6%i)|-($UhVN*vPC z&rVH9(0@GE*w?J7tV2RQqeK|f)Y7i3r__f+M@B-UsH4?~LeR;{q^YD*QA}}gX|J!Z z*^Nfd(9SI^Dadm*tE{RuG%!s}NOyH_aBpc@S5j+gV_RBOVqjZ;eRt2#(|vq((}h8| zyti#@W!H^H(b3PUsHv!?s@2!nC@3XeTvuFMRXRB}a&c=uJvl-_Jv%!#Z*FK^TvjeE zDN9O5VqsfpXkt`TPB1VmZ*FH_URgpxJYHQ_MnyqEKs;(`V?RDRIyyBxJU3`(VN+5~ zP)|xXHZoIEOk-hOTUu3YYh_?xTDxH>=A&2Ll}pTdIhs2Z$a6E8IupuyH@;^r&3ih+ zX)nTSFWZqxz-cW_Oh;p4T-=gMVPINtZfHb9K7)dLU|(4|I5cc(WJ^g!ZER*kLOyYD zYEe*2Sy)p^NJCy-SZr%#)`>)%JrvJ}ww-+Tzim2)IXxgJr4fQ)6mnjzRO z{rfNbiG{dTgg_}H?{S!LoBSXEeTyhzUKDcfl)yKw{y#3>uk`s zq*A7-+}JRj=#lKQIb-1ZER<^|Jq~o>#$(M+_S4ktv~^)_0y5t|&Ve{L?IzB5O5I<= z*N6KJzsAnco#XUfE)WDd`2Li;K+QC=Z};AQy1@I2KR)18_HcXe07IWSz$`C*|M{-R fkV+qMnJe2b0mow5jjQW7OTqloAAe>Ggfj1PmS|yG@7>-38j!7P#SSHwhH=tQ3l}8-Ycr=((Be7B; zia;66aWRrmBD7W_vQ#0qStOoQBfVfK$!#yTSR|NIBfMWHo>C%%LmY`m9h_4nk4qoA zTqf3gHpy%*&vY`@dN##rEZKiJwO1q1bTgVe6v}xw!f7v_KNj7UOPD$n)`>*oollYAv%>BFAbi#b_+PVJOUSFwlQJ%zHV{ zb27qaE8CGt)Q3XOaxqCsNuxvU&9QB>xvgqfzy4MxndIjDzM!jeKY}XDst$%G^&@DK zq#0n_#mA?Y{GDrUab>A!+kjBvOzerR&VGG)uYeGQleyhSnH4#qOF!q5Vc>m(Z#2t!K6}tIDy_U8^?g)4Seh_AAAK!IF81)A{pqs(ra_OGoShl$lGsPPDvU!LoK7E#KN$)E0E(S|KpB-s9C$Ysqgp4RStk$$ z0g*=?o>L>9QX+vo7mrLJfj1O@Iv0O86r58en^Gf~QX`j8BA8Pnjzt`fNgjhk9FkBX zk4qnkM;#Cb0S*HJFfcGkNJc_HLc(b;o*wDcSr0007%b zL_t(|+BJ>^js!6b1bxiR%y-MoG&_*tB$L?xf6G}btyL3O*t&LuJ`9oBA zJ*v6T?X(BdL+eN@58ItC^yRDQ> hVWk-qX1RuCihnn=KFI2T9M=E<002ovPDHLkV1gh>(I@}_ literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_deployer_side.png b/no-mods/pipeworks/textures/pipeworks_deployer_side.png new file mode 100644 index 0000000000000000000000000000000000000000..2c7da56151d4d0c982ac55ffe37ff853e00f5851 GIT binary patch literal 823 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 BUw!}p literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_deployer_top.png b/no-mods/pipeworks/textures/pipeworks_deployer_top.png new file mode 100644 index 0000000000000000000000000000000000000000..f331212672b45aff8b273585f1126ea9b53f2186 GIT binary patch literal 800 zcmV+*1K<3KP)TWh=|k%hJ)(r%D{*oKn)# z&!a>bPEAPAe>~RM*Q}|mLqa{&heAh2LZhgouB@kVaB0)j(xj=RQc+CEb2V^pY1M~9 z(8Ku&z-cW_Oh;p4T-=gMVPINtZfJvodrL`0IXE;#Lq2S3WME%eSy)qTY-VwA zYC}RkUR_v8NJDIEWKmE{)`>)%JrvJDAme*g7}$B@cia_J{01V8Y{ zJDkc~9G{+J=o<%g;QcvwgPLjN%ocq4bi?{ZSefb_kKb0F4Xn~8I+ zP-_c7`;I)8On(}5r`(I#Y4BRN9M1MeeQPRZ8qH14!0z_C z&>`e&>FgOA69m}V9AVj-O18SbxqFbEVqs%8-V|Xp(pW4RADA#2f$vi=@$yh{g+vu1 zNL~#Q4at`kibN$<+C(hLFwmx|6Bmd<^2a)DA_)z(rA7b#%YUNbusoVS$Vh2~AQ**= eS1Xk|KJg3in_}4o@*^2dM&Pp9%LymL!PGd^#Bzo8wi8V}VEU2Aa z4;#u!dAFig`aU*%x#8VCwaU@hkfS3Xo`D}jfsJ4o^Whn&A|D$n$hncb0X9TXa$~0y zpZgYgN<~6U?s_9%=_nfMsMq&}6u&t^;D)}^M*ES8A~}3?r5;U$8OcC+!J{7b#2BOQ zg&u@TjY2tmkPl`kLM`2y3LFzk6DW6VgbI~o94SM`^nK-yhdm)e#~W&)`I)X($9%gx zWQ!!<7jMO;DEFlo9`aq9|IEvEa>%m3_hsn)$oAXxbSnSa?Bc`Wc&MFrDQ5-08awL^ z6cmt=K$W?Y#v`9d=vYwmC*ek}1#IYA z(@5!>aN&wPr=nF7pTZt2>H5w^O2?9mNwk8zq>-%QPk9ea>3HHIrE5XM3l8Lb$k-SG zjOfZ}tmxX%@N}NSksM;)AS;yw)^xpa7AM(0&;C0VMUm}}Kl7qIA~-yGp7&kdix-VIze429?D=ewRKC&p+! z44jdSOyEzXQX|KohkqC~kl{c`Aszz67kB6?;VT{Xj4?xHv?qKi)I(3YMg?lDT-W#R z2g(m+=qP^}_+DQQ`vc=dVHEH=;pg0Vy%X5*{WUjo>0-kKM`{b+C3iz?ID>*(!MlSV zU?UpEoULfR^#W}8?vb;YRw^dg2!j)6F|ECEvEkeuXw0c?A=45Yp;ysZP>Uf~J#6$% z!c`3AY=n)zU(gX#C>I-2J-=|Zpi&+-22nPrF{k!I<|%B1`b5InjK(VJW24_Mc%rf7 zEK?dA+Amqqc;+k_JJ^VHN^8p5YiO|H_*+^rXB$soL+XTgQ);>6V8a9@?_z34X|Uma mJ#Zt_5*sSaxDor3PyG+7WQ2jMDLr-o0000))&c5ojG#`=(-C9 z-#vhoaY>M0@PCp4L*cx=eGCkY|2$nBLn;{GUXRRwWFyk>u}L~Oq*w`tXv{^z}Wfp&NB;~`KR!#J?X(9^~K>^;}pvcjXiPK zvKwvpJo$g}W9#cc=HHVR&S&sqc z=8C6+x&@EsJhbE~d>g>Db2qP@7}}X%zkJ29`Pj89aR+zmb_r#X1!!BlhXGkgYoo=eM~!NZgn`S!ms<# z|G((5w+s0C#4HR~PD^~znD0}xDUQG5{EARr=8jnhxn44u=5#Xs(v4M=w?AqUp~R>r zdeI@<<0Av7ZE2t&r^xoz%Zk>m&-q)h$MfAf`^t3=KKmK_`1pJufCL{(=S3j3^ HP6-F& zgQ7t$Dw<4fP3`{K=U6~9VkKpz&*5|NWW|Nrbul5r4Hssfz{G?753P`sTn{nf=pC&) zPPR&7!jCFC_Z+?H5EH}jKqup9D-|Y!Z#A8SqqVrlgwQ!h1&t@FVSouwt~q+5@j?}A zOenjcXHII3F)_NY>3ja=`IwMiNy6EB>uF4Qx+0EWQCk`lGT!sYBk(H{nDC;MKOTWP zbTOg4f(wQ1VM2Hn7dA@qxgVaRR4BycW)QndhheP4!O#_ZF4SQtqkCKGcp`#WdcyJU zbutGcgzKi9O*vU` zw&1!IXSbXz=~;5sjGj3s51dW8Zq8Z8$(+uN#)Rvh=qzYVx%88-Tk)BcuS@96=^Jy+ zioPYCHGLDVnbY@^qcuHquA0*Gz|oq%gll5@aykq8R$Q~B@0nJb<=Z0v?@*RyzS;jS z%4%2SRlx^!nbq5QUDZ``c>Ooq98e`MZRz>%?Iv8DivGq z%>OG;Bk7NX6ynZ9e6u5430G-<5ClP_0__M_iX|7Sk#c?MTgr_**BQ!aI0~%L4?R97 z+=2_QHv$u`yW~P4ZA=8-o<_pE>?Xp5H7aS8yxZv!Cc-$SwczA!;9b>8YvWNfQey{ah5{$6k}rOmh_~Q%Ep9LkI$SX z)XKrcD9mScW;CA39fb*BAINAu(OHB;Obmx54|L|Va-}h$-HL?HBdu&~VItIPPNuY8 z{Qwh|`@%^|Yvl+`NS*O+N~5qWOaxxVyOhRW2AFWZ@3@d_i3#QBTu5EXr~U_J>fxan SDlsbn0000< literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_detector_tube_plain.png b/no-mods/pipeworks/textures/pipeworks_detector_tube_plain.png new file mode 100644 index 0000000000000000000000000000000000000000..6a9845cf18fd8633b4176ce4713a3325d126771c GIT binary patch literal 1551 zcmchX`9BkU0LSNSd6MZMM-oLzNXt#LO~i>zX^EgiHV7pmKMN^2K)pjliAtXSyooo-roMw@j?zXlzI-Nc|JlxaMGdemt zK0ZD$Fi=rZ0aj6sjg8gS)&2eby}i9)^>SBN7g#kP8X6iL9HdYvEEbDQCKCvRk&zMM znmwD%7Oq{bs;VN9NbldjClZOZwY6Z?w4tG)uCA`8rl!8WerG+uv+Axpx`}qQa{~WI zAm^TxQy>s=4QmwgdekJ&B?$ZFJWLSay%5rjKON=-b!xU2d(?PS@+km5Q4z`n!kdjG zv|R~13zLlwhN~ZqeQ*6!NiL`4`xhSsGXAH=ADR35Ey8sGMKMI`Q23z5tQq#4ileU$ zOdfgfpOgryUHA5BIK*AJY zHFI^5I-+Vzqu)cwP$f@sI&=3~(`hSz9nlwVDG#pGBSg30@xt`@bXHEGth@*+^yT!y zW*-5~q-qZB-JZ zk1`)d?~DtD%WJoH+HJwD&~mIGgyCFgaDqm(){(d?%I5bnKL?AQJkBB?za_Jv2y55% zvK31xmGmwYw0O(pzS2*0RI=Q6h4|dl{LgqLa}@cEa(A-T8GRYHU*Oy!HDc`@FI||4 ztwg?xgBWQk1={5Yw@;gLtLcpRmIJ%Qp)ar0;NQZ%zId~H#u6|ATLDMJ<#qqD+?E%_ zfZyEOSkrMINniS*xBaC~U?_i~19M}g-ZsAhC+V_542i_L7fPZunDuHO``s_=z_NLq z-!gncspDIhJad{}j1?@36t}s(D~2QCJ|BuBo6!rT|6*^q zwoX%xvS2&OL1>=kI+M{+c!iIAHRyI)Tn>+2D=R4e;nNx<2u2zcTueAGMQ#fq)5Z5% zld%mR5Vu_p^C=2qjEnAiJ$tGA9Ar0G#WCW(|j@X=Gkk3?>N98H()%7xED*szxVvJ_=%OVTYjqxG)c}xh1XyMhtgcToen~)-A3Q zj0El}3`!1L*y3u735GiwgCd3P(cor@5#bKQpeEQ@iyMWBJ??k_js#oK01z0smR#GX^0>FZd+zmyZvv4_kb|z{NxeOMnjr z!N!jm#F&U+W4Nh8*w_gdgpq{J$4$p!qa!YS{7Z)>`~H6Fe&ug@(>HbV zR@CRF*|k~o)0o!eUDum>S9Pxi!RAUqn{AZxh|5GRw@Dz$dx=)WyfBek1WQ5DI#@YM zGASYk8&UWWa~3GE=0f|NNNf~&BGQbcb{y$3UwS-}&w?wd1!l9^Z1xTP0gxpkntUO| QJpcdz07*qoM6N<$f*K{?ng9R* literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_digiline_detector_tube_end.png b/no-mods/pipeworks/textures/pipeworks_digiline_detector_tube_end.png new file mode 100644 index 0000000000000000000000000000000000000000..e9d01bae4c895d88ab7b2d180c7801b32b726c19 GIT binary patch literal 1068 zcmV+{1k?M8P)^2dM&Pp9%LymL!PGd^#Bzo8wi8V}VEU2Aa z4;#u!dAFig`aU*%x#8VCwaU@hkfS3Xo`D}jfsJ4o^Whn&A|D$n$hncb0X9TXa$~0y zpZgYgN<~6U?s_9%=_nfMsMq&}6u&t^;D)}^M*ES8A~}3?r5;U$8OcC+!J{7b#2BOQ zg&u@TjY2tmkPl`kLM`2y3LFzk6DW6VgbI~o94SM`^nK-yhdm)e#~W&)`I)X($9%gx zWQ!!<7jMO;DEFlo9`aq9|IEvEa>%m3_hsn)$oAXxbSnSa?Bc`Wc&MFrDQ5-08awL^ z6cmt=K$W?Y#v`9d=vYwmC*ek}1#IYA z(@5!>aN&wPr=nF7pTZt2>H5w^O2?9mNwk8zq>-%QPk9ea>3HHIrE5XM3l8Lb$k-SG zjOfZ}tmxX%@N}NSksM;)AS;yw)^xpa7AM(0&;C0VMUm}}Kl7qIA~-yGp7&kdix-VIze429?D=ewRKC&p+! z44jdSOyEzXQX|KohkqC~kl{c`Aszz67kB6?;VT{Xj4?xHv?qKi)I(3YMg?lDT-W#R z2g(m+=qP^}_+DQQ`vc=dVHEH=;pg0Vy%X5*{WUjo>0-kKM`{b+C3iz?ID>*(!MlSV zU?UpEoULfR^#W}8?vb;YRw^dg2!j)6F|ECEvEkeuXw0c?A=45Yp;ysZP>Uf~J#6$% z!c`3AY=n)zU(gX#C>I-2J-=|Zpi&+-22nPrF{k!I<|%B1`b5InjK(VJW24_Mc%rf7 zEK?dA+Amqqc;+k_JJ^VHN^8p5YiO|H_*+^rXB$soL+XTgQ);>6V8a9@?_z34X|Uma mJ#Zt_5*sSaxDor3PyG+7WQ2jMDLr-o0000(`)YR40)z;S5*VotB*x1?G+1uOO+}zyV-QC{a-Y2H>3;+NC z0d!JMQvg8b*k%9#00Cl4M??UK1szBL000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2jBz}5-ByFCKL_uzZ#@fk-eDu^QS;MyEs8ZZ*cq+&Vl4{B+IX=s z*c<1e76nw;Qy8TYwIy;waw-9C73=uKkx?A1BG8*HU%*?IBA25V6xQQJDvbkw3CRp(5gLM2)2 z%$^)Uvb8h0!IO0VI#Y|Dj1Ynok2xx1v^;vTA!linW~taYs<+BsYn;ZJoz^&2X)A~h v8u_j>((d=~wfT?Le}|twd>G+>O%ow3thOsh00000NkvXXu0mjf5n*=e literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_digiline_detector_tube_noctr.png b/no-mods/pipeworks/textures/pipeworks_digiline_detector_tube_noctr.png new file mode 100644 index 0000000000000000000000000000000000000000..6f078863ad8536cccf35545ae01af85357d491ca GIT binary patch literal 892 zcmV-?1B3jDP)-F& zgQ7t$Dw<4fP3`{K=U6~9VkKpz&*5|NWW|Nrbul5r4Hssfz{G?753P`sTn{nf=pC&) zPPR&7!jCFC_Z+?H5EH}jKqup9D-|Y!Z#A8SqqVrlgwQ!h1&t@FVSouwt~q+5@j?}A zOenjcXHII3F)_NY>3ja=`IwMiNy6EB>uF4Qx+0EWQCk`lGT!sYBk(H{nDC;MKOTWP zbTOg4f(wQ1VM2Hn7dA@qxgVaRR4BycW)QndhheP4!O#_ZF4SQtqkCKGcp`#WdcyJU zbutGcgzKi9O*vU` zw&1!IXSbXz=~;5sjGj3s51dW8Zq8Z8$(+uN#)Rvh=qzYVx%88-Tk)BcuS@96=^Jy+ zioPYCHGLDVnbY@^qcuHquA0*Gz|oq%gll5@aykq8R$Q~B@0nJb<=Z0v?@*RyzS;jS z%4%2SRlx^!nbq5QUDZ``c>Ooq98e`MZRz>%?Iv8DivGq z%>OG;Bk7NX6ynZ9e6u5430G-<5ClP_0__M_iX|7Sk#c?MTgr_**BQ!aI0~%L4?R97 z+=2_QHv$u`yW~P4ZA=8-o<_pE>?Xp5H7aS8yxZv!Cc-$SwczA!;9b>8YvWNfQey{ah5{$6k}rOmh_~Q%Ep9LkI$SX z)XKrcD9mScW;CA39fb*BAINAu(OHB;Obmx54|L|Va-}h$-HL?HBdu&~VItIPPNuY8 z{Qwh|`@%^|Yvl+`NS*O+N~5qWOaxxVyOhRW2AFWZ@3@d_i3#QBTu5EXr~U_J>fxan SDlsbn0000< literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_digiline_detector_tube_plain.png b/no-mods/pipeworks/textures/pipeworks_digiline_detector_tube_plain.png new file mode 100644 index 0000000000000000000000000000000000000000..86ded6f9e00b20f7c196deccd7596c10211d84f3 GIT binary patch literal 1500 zcmV<21ta>2P)Cf>sHv%`s;a81tE;T6tgWrBuCA`H zudlGMu(7eRva+(Xv$M3cw6(Rhwzjsnx3{>sxVgExy1Kf%ySu!+yuH1>zP`S{zrVo1 zz`?=6!otGC!^6bH#KpzM#>U3S$H&OX$jQmc%F4>i%gfBn%+1Zs&d$!y&(F}%(9zM+ z($dn?)6>+{)YaA1*4Eb7*VowC*xA|H+S=OO+}z&Y-r(Ti;o;%t=H`cAS8V_Q00DGT zPE!Ct=GbNc0004EOGiWihy@);00009a7bBm000XU000XU0RWnu7ytkO2XskIMF-#n z5)vshF*E@c000CdNklToR z4=#XNO-F=fj9D|T7>LjepEb9Z#p6C1Rm-Yr+R0I|p<8yX*05{EQd-JLKc&)XNls^F zMNa3GT+XbYRZP2aqPY#z(5l9nT`y|KxYlRQE<2XhaLoFtdFs|R$2O(SY&xaL86};S zo+(mR&ZZRAG#%9~=~m^qUeq*4t=4VL=KHYQy&K=$PDky*c;elAeb1lxl6>&4u)BG% zvr~Av_vii}J8xv^+h}q#oX`Eg`?tO6^lloM-wp|R{ODO~i#3N*hR7L@7?98=AZ7Ll zykzNpI!ok&gaNS@D{TU@a!BAemJSq|g(fRaVqI3c1TxAiLfgdlvkD7+Rz4HECgB>$ z$pu0?#CD`S3oQ~l#Lii10y*h5kxdr%(ph31RtCg6L|Oz+fV{Lz^Hzth%FBRr&do4JngX6j{!t zQ%^HFC7nJoEvupGE$1)SDw|GOGd1nhK>JXsS1e7pY^UhDZryV2s-|b8Y2*V|mdtvo?5Z`VX7D&oAG7A`k%kCezh=$YtRTWQ?g+G58XVOT zp_V-Y9!pcZjEGvJN2p8ezGxsquiO#p5gTeJh;WQKp&qe`TS0_+G$qm^a04UTM1)hF z5or_X!PqJyqT~)(>4AUQKtxIRNa*2N6-1cU#T6@UW>ysu<=Uu4q($J0QPo0(W6v27 zx+K!Al@L)Xd7KmJ5E@xFB5d8KP2_^m;8;aO%^nhK68h@6h*0$#Vm(6rs)h*D9jqxG)c}xh1XyMhtgcToen~)-A3Q zj0El}3`!1L*y3u735GiwgCd3P(cor@5#bKQpeEQ@iyMWBJ??k_js#oK01z0smR#GX^0>FZd+zmyZvv4_kb|z{NxeOMnjr z!N!jm#F&U+W4Nh8*w_gdgpq{J$4$p!qa!YS{7Z)>`~H6Fe&ug@(>HbV zR@CRF*|k~o)0o!eUDum>S9Pxi!RAUqn{AZxh|5GRw@Dz$dx=)WyfBek1WQ5DI#@YM zGASYk8&UWWa~3GE=0f|NNNf~&BGQbcb{y$3UwS-}&w?wd1!l9^Z1xTP0gxpkntUO| QJpcdz07*qoM6N<$f*K{?ng9R* literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_digiline_filter_input.png b/no-mods/pipeworks/textures/pipeworks_digiline_filter_input.png new file mode 100644 index 0000000000000000000000000000000000000000..c1ffa53bcaaa96ca6d71e636b9654159b7f6332a GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(awYD@54G#2lcTG-Aa0uNm zrR=MysOVs89TyWNz_HXFsEo6~BeIx*fm;}a85w5HkpK#^mw5WRvft+s66O+PU^m+f z6iV`RaSY+OuG_nt^MC;lYbeY4N2Wn6HV!VAb_vQI*m!An!?8X)w>@6RWeq-OHwOl9 zKA2IcVBF0+#UX?%==JX~x6o%QR#Q$E3D+7m{#2^EldS*!%O&p$f$7Jy1ysMU37eAg YFHFUlGp^6t5ojBOr>mdKI;Vst0Atxl-~a#s literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_digiline_filter_output.png b/no-mods/pipeworks/textures/pipeworks_digiline_filter_output.png new file mode 100644 index 0000000000000000000000000000000000000000..4c57d0abdb5de861e850384dee0c32dc3c628b5f GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU^>lYlPE4@2G!G39bO_zA zsHo^*YaJI8#rmo)38;p%z$3Dlfq`2Xgc%uT&5-~KvX^-Jy0YKr5fbK7+_7u&CZJG= zr;B3<$Mw>)8wC#-a4EE+D83Uv6C8FZzf%Y+Yy85}Sb4q9e0KQC4aR2}S literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_digiline_filter_top.png b/no-mods/pipeworks/textures/pipeworks_digiline_filter_top.png new file mode 100644 index 0000000000000000000000000000000000000000..04ffda01e6a136ac44b7ceef4f9506ee9c96fc97 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(awYD@54G#2lcTG-AkW%(_ z2;Hx!s2CR$gol_Eal|aox4|Am;%E0haHns+?g(q8zi<3v6IuHcL3CZCzb=$Y_0RT4LJi#%mX3 zGA>W!bhB^&Vv&#HXxUHx3vIVCg!0LPq3tpET3 literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_dispenser_back.png b/no-mods/pipeworks/textures/pipeworks_dispenser_back.png new file mode 100644 index 0000000000000000000000000000000000000000..ce447bd416d7c8d6269bb0ce7505b908f9431b5b GIT binary patch literal 1744 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 literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_dispenser_side2.png b/no-mods/pipeworks/textures/pipeworks_dispenser_side2.png new file mode 100644 index 0000000000000000000000000000000000000000..005d9a5efd40c01e02bb16aeebec0b5fb39c8337 GIT binary patch literal 1597 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 literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_filter_input.png b/no-mods/pipeworks/textures/pipeworks_filter_input.png new file mode 100644 index 0000000000000000000000000000000000000000..187c402221668dd531e8f8cf5822e3744254761c GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!bbwEYtF@(hXmFsXyK8b{0>g^0 z3|h8|ii!@l)^RaWFW&4v4OABA>EaktaVxdIk&8i*$Ladq=zssk=bJ8hAg7bKaK{YZ zwT7$RLN4wS+oSHWuU{^Ei@odfBj1>n8_q@UbK!h)E@EE_XJ=6ve=TQc^^Kw`2HWNC mUAx_jtL}XNlmAin8ox^%n|jmy+7m#V7(8A5T-G@yGywpx@Iq4n literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_filter_output.png b/no-mods/pipeworks/textures/pipeworks_filter_output.png new file mode 100644 index 0000000000000000000000000000000000000000..db7af0868a0e0bd5fba59d5e3946bcfd2e2af1b4 GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!M1W6-tEanba$otvIiu5`+p;PN%pMyO={ye`EcANLP!GxnKOPI&73>z}Cp%e3+>Y8KYV m1n0=Ulw2fZzIX9E9ed5itbbmXNqPcpV(@hJb6Mw<&;$UQ(L#9u literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_filter_top.png b/no-mods/pipeworks/textures/pipeworks_filter_top.png new file mode 100644 index 0000000000000000000000000000000000000000..45b6b5a5b4c89333b31a9b92f1b4acbd3c82dbc3 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!bbwEYtF@(hXmFsXyK8b{0)v(< z!-}tpii&YDQ4Y4&$N6PzfXb3RT^vIyZl(4IaDRYy7dM?@JF~cAlSl=D%py#kUu$ rEfs7zs_xqsxyS#SreSMh{fE)$KkJ|OM*kKAtz+bP0l+XkK48lYF literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_flow_sensor_off.png b/no-mods/pipeworks/textures/pipeworks_flow_sensor_off.png new file mode 100644 index 0000000000000000000000000000000000000000..10c6846462c559fedcff2d7458150b977014ff74 GIT binary patch literal 3759 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 Z{tx2qy02^mILQD2002ovPDHLkV1j*HM=JmT literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_flow_sensor_on.png b/no-mods/pipeworks/textures/pipeworks_flow_sensor_on.png new file mode 100644 index 0000000000000000000000000000000000000000..03e054a62c80d16d30e2a09eeca3682016654736 GIT binary patch literal 4484 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 literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_grating_sides.png b/no-mods/pipeworks/textures/pipeworks_grating_sides.png new file mode 100644 index 0000000000000000000000000000000000000000..28ce593b9f9f06dc4b1d4d0b0969e7d7e2c6b4be GIT binary patch literal 4433 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 K8Wqn!{rVq_jwX-* literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_grating_top.png b/no-mods/pipeworks/textures/pipeworks_grating_top.png new file mode 100644 index 0000000000000000000000000000000000000000..6e876fa5548b8bde763e28e7f8739124db57484e GIT binary patch literal 4376 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 OIt^7Fl_I4t0sjMusJ*ZN literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_green.png b/no-mods/pipeworks/textures/pipeworks_green.png new file mode 100644 index 0000000000000000000000000000000000000000..3f42f9f07530abfbf797ac3ede4b658be76056bc GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;bAV5XtK&WEib=O;0J+?rE{-7_ cvdId9K#lcTSO5S3 literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_filter_input.png b/no-mods/pipeworks/textures/pipeworks_mese_filter_input.png new file mode 100644 index 0000000000000000000000000000000000000000..58095d0540ad04c564f365fe0fb3dc6deea83e8b GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!bbwEYtF@(hXmFsXyK8b{!ky#R zjGs$^R&Ojo&4XO}%M;?Fpbw44$rjF6*2UngFcDLN@>a literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_filter_output.png b/no-mods/pipeworks/textures/pipeworks_mese_filter_output.png new file mode 100644 index 0000000000000000000000000000000000000000..a39e5a88932b408adc8ee23e08b292f6ce18e9f6 GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!M1W6-tEanba$1c7RTJY5_^DsD~f59B&vz~P)LJ^T0lip`l0H?Fhrvcz?4G~IIS zT#WJLYeqNBJ^HM!8RYjKX3l0(cb7a-zJTXr>K&PfsbA!rqWB$tFLwX^{C9WdYvyNx Wtof40TV?@GXYh3Ob6Mw<&;$T-);d`L literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_filter_side.png b/no-mods/pipeworks/textures/pipeworks_mese_filter_side.png new file mode 100644 index 0000000000000000000000000000000000000000..3438ce1bb8ca43f4b917dba00017d3a5988602e3 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!bbwEYYiMwwwWWD-VuGi;tD~*V zo#WPuii!@l)^RaW)hoLm0+q#ix;TbZ+)C}UotvIiu5`+p;PN%pMyO={ye`EcANLP!GxnKOPI&73>z}Cp%e3+>Y8KYV m1n0=Ulw2fZzIX9E9ed5itbbmXNqPcpV(@hJb6Mw<&;$TUkVD=8 literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_filter_top.png b/no-mods/pipeworks/textures/pipeworks_mese_filter_top.png new file mode 100644 index 0000000000000000000000000000000000000000..aa4f67c0bca5a2b70a35be6ffdf22c98ede6f966 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!bbwEYtF@(hXmFsXyK8b{f}^d> zo#WPuii&YDQ4Y4&swH!`0F@TD zbQ}AhRnWP$K%e_S9Pb|8QzADX+@9j+clCtlvLcHr*Z5;i-^wj9%zx3Yi*GMh rTPoOcRNc2Na*zKtO~cm2`VXVgf7UgTe~DWM4fh|@&t literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_sand_tube_end.png b/no-mods/pipeworks/textures/pipeworks_mese_sand_tube_end.png new file mode 100644 index 0000000000000000000000000000000000000000..fa59f37c13031438c117073a49da3f0665857121 GIT binary patch literal 1104 zcmV-W1h4yvP)e=$>)$ioa+{2OG#g^sMuHMF%=hd^{$eQTbx9Qrv>DjvQ=F#fh zzvk4j=hwFD-NNM2tM1~<=-9dK;KuCU!`{c4?BB)T$(-fVtn1yt>f62G%AeuPqVMC( z;?1Mr%AM`u$l=SN;?AYx?Z08`Gn*#H0l0d!JMQvg8b*k%9#1AR$EK~#7Fl~&nu z<2Ve&9+M+pJCSW2qDV6FG7O7W&Cd_-y_5rHIGWD<-DF)8>k=DT$rs~34+sw8Fh_@gs zGyn!uC~5CETNi`Y{2Rw{G#H=kh`lw)X>6{i_$6>(-i2|A_z^MU5TAc67?-}c z*g!|_)%l!q=F98hn3J&2j<1I)hgpPK$aO)4XbvfLj!yg{=@|IvgZFO){v}IJo)YsU zpGd;lQ}F3+3Rx1RIps`wJ|^P8E|C!BDadpbC;Z1*?e|mp`JlWPXssPKWY9n;7M%;0 zgMbF^IM&0m=cA56x7JP4Ov>9i$9hz?eg+Mgb^%bbPJ=_gnNbUX;hP)t-sVE_Q- z(yZpxvFFvZ=hwFA*th7|x#`)u>Ds*N+r8@Czw6z=>)pca-oxzQ#qHq6?cvDo;>+*j z%4}v90004WQchC!e2;$z}s7unMCWSw9FgzP^@Td%m z5yuW-K!z{kDv&l`$Otps2B1Xk_YV(Zmh3;vIc6t93P4pr{OczX=^n%u-N1&UGOPs1 z*6Lqdv&~BO2+7RL(0d1<83@D*P<%EV6dHg9Zy%~Mk|>nm`~<6fTzy#ZVNz0nk%2*{ z#p+jH1n5}k0HjLVcX>Wk_6m)TM&=*9ED8&qlaJW#b4rGT&XJiU#=lGfg%gF&$)x5t z{_5d`(Ba7x59(1~eUq?}VK_eD^&aQ|Rd`um|JKO%-F5IQ98B?;S_0p61^7mpl5SPl zb)h#JGfqGIVd3?jKADhz_?^EoeE{Wu@3M|z!fHuO>)K8|)kGN#COgP7Cm!3$qCgG3 z;rhEEy~3FBdC<()GO}DT9L%X;xCT40h2GFwf!@a-#lV|+mI3r@&{6xzw93r`B(woG zZp6cw_kAxRN9UvZ-w;JSfKUd4+d*IvQ|FK{XcI-)Cx8A0|VW;qwD h($>G*7Xfc?{{X$m5Z&Xhcsl?9002ovPDHLkV1gSJDf0jT literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_sand_tube_noctr.png b/no-mods/pipeworks/textures/pipeworks_mese_sand_tube_noctr.png new file mode 100644 index 0000000000000000000000000000000000000000..f26f39d27c53ff02a3d898c43e79d3f3eb49c66e GIT binary patch literal 912 zcmV;B18@9^P)fFER*th4^v){;?>Ds*K*S723 z!sOAb=G3w5-ox$S#_r)pWK$C>Kez2VHF;L4ri&7T?ZQwrti*dvJm48_MnPZ3xz0-%o(U>F^FC}my1YFxGIW*3!=ECsOnxVk(N zNd<}kyldy%gSz&e2p}sX+Yft?MPQ*;!)%`?Apl@f!>kBhv?m#nY@^iItdR*pmO|J5 zW#RcgjX^dGMYujrP9a3+WNqvx9*mhJ03nh72}*a5pcl5W7NAj=qU<1y33ZdJX0z48GNX9^jidiJGR62`A7pSlh9F#~Vbc%czFhlPP zw6wKbqJU@@nohm7*pmV8Ix-<(?+62`xBTlXwmLP{pxadM>tmg6_8ma)tEBT7)30N? zHcf197Sn?+wM6ijoSKdP{{b$G2Twl-P-nKD(Veef+x*h(ro}`%zFD>t6U(L2oL53P zEEVA}Ltm5M%PiINN{@b43qk(OhUbjd!#^(lEEfPAmh$BYhZPd70Ic$`V7rPl?>Wu& z8V?Vju2Nh5j&)sEDZaIJYTBFU`{7vYm<}<;G{nz$ouY1(YvXT2|aIN=BR%wiU72wPC$!;$j=JffkSc|sS!h9^d(%mZ5NJrIC1mP|%H;Y+O! z&#L^n6W$B(6hUj92!J5+rs^Gu0Q#)vV%cCOi=eo2lI)G}c6O07Cl8$n0O1KBk(1S6 z*UU6ZD^;QJweF_3@)$?!jqtUu`3$8?Ap?M#Phst4HL(6Nu)&Q&fQ+istcruGoR<|5 zqtfgaAYl)2`;! zvFFvZ=hwFA*th7|x#`)u>Ds*N+r8@Czw6z=>)pca-oxzQ#qHq6?cvDo;>+*j%&q@GNu7I@&vG|J$ zKz=sn<=aALLR|`R+`91Jx*J`i0<^BHPi`R;02LtEe)DT48By6tx6O|=0;^ocwrqY~ zhlQOk0`4TBur7swqZCHa0UTy2apR)l5FH&UgqA!%`6p&aa7|;LmgzR-oPo+~?$0Hq{5-wSL&^lpkW*hue!Jyvp3D4UC4aTcWcC(qCxr#P zn6lE+=B=FzzCxcr{{B|=4a2&oKRtNa1BjPxA5}u(wG*o*{Cm3#-}9GrTLE)mV^&FY zd9^L!^@1sHF;+ryaUboPqbSW97rU`OxTQQ{kPpcstm0*jD?+~ks$BeeGuKn14*nVnr_MzXA6`;SmJLT46o@}=9$`kw(VecrK! zU@|rPmz|6t$ao^Z)G}>^n~(dN?ExY&z@-*{1B`W~wc_4EcA=;(&}5_@{Fb(SS(k=9 z4*!*Dnuc87$0^U_kSXLiFQqT#ZO&a@@?`y#N`5Z6Rc@ySOu`hNe;`Ij=Bii zPBzKXC{Jf7a#Zy$ssMyLKxWX@;4p79st&G!yee=7On)2z_?B2ua+Pw1U)$!-j;L4xq*tg-!pyAA-;L4ri&7DjvO;>+vZ!0_hL=hd_8-NNVBw&l~V@8itk&ZXqhtL@>)=G3v{|ntkyRh zO8@`>0d!JMQvg8b*k%9#0dGk}K~#7F?UC7P6y;|BoEnAVO0P z8z~eDg#wWDp#q2#0z$3fZ{^{gz(GKY*XIBP0o`E)g5(rWD7DlC zkyK5dW=c&X!HM3Lh=SIl>f|+M1gVe961f|fah|Tca~y}*#XsZP&)sA1ci!SK^t?^e zKCZJBAYOii9yQiBL6=Q$(}r}^{cakb^WmsjW(lv-kzHaIv^MY?awM3||2pPVWg{3T z+lKO6#>{lSh3y*wjsX)GMzC4|ILEWt3lCQCynQXrJcrqNOh!Q0oH+AocKM}eo7Khh z`=3AR4x3;*H0J_i=udh#^YHjyu#o9t%Oe(>X=tq=a<}fx+jd+2tsg6o%>1$Qm3iWU zw-`CD%Q8lu`ei-YK?3k-WhNo`P_E#PZ s5K%yy21yl(1T82)aQTH43WY-9KaL$I$2_hEc>n+a07*qoM6N<$f&%6k*#H0l literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_tube_end.png b/no-mods/pipeworks/textures/pipeworks_mese_tube_end.png new file mode 100644 index 0000000000000000000000000000000000000000..b47281a3f2efc3725fb015b10a3525e563e437f1 GIT binary patch literal 1229 zcmb7@{Xf$Q0LQcZm6=m^ zvmQ*=@>tlK=COw(DQX@z_WW$z<=mgp=k?H;P)$V0F@N!F$cnOOMbWXM>{``~NWL7^saWFA=oM9;a=BQmXqWJ!6iWq4 z;WY{Gv{LxHa``ufAXhpUrxIS*DxN8ph$_)7m8e=RzO9y!6@se@LB3Yrs+B)d3IEVY zDH<77E%{SA7o(N8X=F5w^uBaHK`kMv#C39hmYkm>n@^T4q{$X=()lFW!Ug%_rHyI# z@>Glsxn`ilj;?=e0F#JXDFEoT2l*X7mIJD;namP8m=$Mor(T88ndR}cL2%?ABe#LI z=O0UrVg0ZUg7F2F^U_ecP3kne z2aR?}fYI&!G747)O#9yY)S$)G6mWLyvXv2*;7SZQI`n-;-bu)=S>({Faq1#Q-?MK5{Ld0TFfN%n;Cn&IeGZpV|{-sc)WctcE*|Vy0dMI=&qhu zdE!noS6@F7C~>q(FgygrnESMjGHCQZ`2>JRNS4b#J%*gg9-^BDm}Kv#z&LM6&g~zwR72ydV7NuT@t z#Nkd|tph)fUuY$N<~c$isGP{y-`sB06#&%1QE;5mTK8x%kC%Gi6Lj##jX0cvxo)yV z;~VIoIfa;p)K=ZVI)*~mUNES^i|jV;!=M8{dn6Vu@eW_v=hnz&o%YIg+5)xCsp?n9 zwdC)7s*qYBQ1gVTC5xmON1)C+Jigw%80)XAqGC>PLP9?2seUaji(XCnN^couxr6Sa z>A?==PssZZRF5&stiRMEHE-?Nk`rV5zlx_zLM@| zTVev!LM#ghkO-UjR2PV8k1?)k)Auf^V8Ex#B#@MWEH`Xo&P}8QTjo2qI9SD;Am)Pj z(Gfe#00Z_2AJJUx1Qv)Zt%gWX{ekIWJoUqM;wNjrn3nUCmLNl0;0>~F6D=>Ysd?K0 zUE7vj|DNpSH}+#7+eU8QGJT5W0-mgEE=8`;Uvds5Z(_nAsZO&$SUmrCLEFOMpj8XvyV_M=TM$ZgdfDmE$bo5j;^s5% n`Z?mujVc#?UWdyZl&}sup1||EC^*91cs~&2ALjSSC${iEQ5}WL literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_tube_inv.png b/no-mods/pipeworks/textures/pipeworks_mese_tube_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..4b15ef98334d0c2ba4f2a504465fd3741040b9ef GIT binary patch literal 665 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!LIQk3Tz`Dt`}tMdk54;)d^z~z z^X~7TwtRlo@##hV=huDTKkfMZy65}Hb>Ba3`2KOzm)HGY-c0@SX8M=c6Tf{}`Ssm` zZ||3WeLL&h`{iHXE&BFh^_RCZzrLFXGvyO;IUvqu(|L^_c20_7y7dk7>6diJ1!}N9iBlbYodp}NB zG5%MXkncH}t<#@rw(a`M!3S(_JFPs=pzXlQRb$7PqVSgOYT<&Ut;{bBHhk;;t?(gs zgMIau?UyA47&kE`+1K$ha;|A=ogl$jw&B#b7zu`y`Jd~5%X|~y7EAod{QUmh=F|xv zn5*VBpI{02$Smm)8YMI_<9&4_OLvT1vBXAx^$An{DfplL!c-M?+F3KtVbhY*sjp*G z&l;F+dceBv@~>qD%zSzkjeB1&H7U@xU|d=DMKr)7N`c)kVVm&(84s@n?fJ#P{Yq~3 zp?n32r;O)5-duNm*$#%#b3bplrbHJqEWN%ULS9<$!T)bFCiOP;US{v&_J|c1)!8}s zCSycW=*DCI-(QNd2i*I)P%tN*PvPH3o$TKQ4Bj3=ruvr`wufE3Y+G=U`O2Y-W@}_> zv?uf)V|{V{ziU?FkB0TVJ7y8Z4Y5D>$ydG}&_g8n$ zYd)qG@;6?3>G0Tpa11|s?>qBfSEVFIo>Ya1wF(8v93AFCTi@nqs2X!zxN1?LAQOz-3)+Q*8hMbTK~Y zU^T)242P<-wvWVDqbkTR)LSWiv9}(q*q_~F2PtJ^O6jm<`zM9COTx<$tbZfjAqzIH zNp}mxyt@iXuWYYM#xIxd7D;yUgqt`SpCaaEOSXU97u3nc9b#_QzJMwh(e{Nc`@$x< z=$UXcRxW%Z=H8a>mMFw@!N&Fdy&BnGrHGRvd>=33;DzrK#M}%aCt0*b@MO8Fb`k1b zDwRr|>3XfZYS`Zn4hT^<|5E^=ZmVg1pvq{xfF_SthRAg_@ z49NTBfrYG0xL63PUIe8+QdN7W84kM_I;_?W_yF!IjuEkwqQ@UCAx7LA=C0^Z(Jdj` z(mSkOcxY4^z?ioD4NCXCq7ii(8+$(7-0=|mZ)7F&@W}i)1BG*nf7ln79*eSum={Co zX@ztH3^AOOgnSutqXPpXtXXc!PGBqOwZ3(JmVR7=I1L#?Eakr|2P&4UjROpSMo@EQTQ>RHi}a?a$!modjBe-5kHeP znjU`^q=i(-!-mpQ5FG0(+@6XEsUaikhQ036>xR*Z;y7b+SF5CL`}K3C!Q1;`1#Zwa ztJeNT#H~)+$BRZE9MS1mZ2MJg-G+(sd;J_G0oI?CY_B&E*!>dnD_`XyB0K`}^x@W^ z(g^1YY0&3Aag#|$vRB7a0b8-A^E6<)t-l86+ZIQnb0Fb@K;8p3(Jne+nKzk%Z8SPK z!@j&ptcA7RB++29BhFc%gAV^9``g6P&oiVbvlfsKiF4=%cPJ$n%w@#AGjkq+g!vyL z!xB{F2AeM5e{6IfR+^lyCpGcPk}K)CjvHJ>JMwy6j(^O!Bno)TPBT<_{2rW#0;HmWk3pIZQot%`^gI`Ev*tDA|Re^q&G z@eM57HeY2#Rgi*DAxAvlz4^rh>|K4x&V<_ zn)Xj>f7coIp!aJtVrOnwOV0?Yb`Y7{)I()Sx{dytY_gM*z8nIwp*scKfO8s>TJ`S$ MjCTOK-3xdBU#ufQSO5S3 literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_2.png b/no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ffe53b7c5df701a768fa81663bc930bdd26d26e9 GIT binary patch literal 1102 zcmb7@`&ZHj0L8z20mWAsKAPkjy6Lg0b5459e4yz9&9~JwZJ4hVOxmFVHI<1kO*GCZW14@CF^0zMi06L!zJ_jAtu>Hc!BMMoa7GRK<( z0ANKShr}95`p+1oG4J#;myNg`eKbB)ujavuNsV$;qa0cJ5GR+!YE=TAimP6_x-yfX zT4b)wB&%g*YS|6dLWxe*r&(sN%Ih?;o9d-s6tkx_%fG4?E~*wwS63Q!aHndacy*;& ztN2|9cW4zYT4lRJnx<8@!Sm-dvRgX1OEG(Db)`WguT{?FD5M$6xm=|*6P{-%=V?0 zg{U~icO96vCvgPtLEWD$QX9&Q^pu_|g{<&6A^z-cUOw1FCT)G*!(t&LeVq~bI8nm; zJ?%a;8V;C|LhR%#E@ZIEW32LB!$x)lc*!jws{J1z2Sn74{+<3k4nfL5?Be^{7vrFr z^SGOpyGE?fxIg4L{WZCBN3W^K(~Ml8@D*c{!f=fbV8_0QPXL%8-$P;)3+&*1uA7^! zx+&2aVh%X5L83#|2-{4KIR#1l`ZG87I>5^_aO4U4tfi8lPYV&oMR>CZ$yt z0##c#Wv!l%X^&2Y!d%>5)ic^z-`U5tqu{N~rX8AXXn9qiJ}G6LYjwH>~TM2{@Z7B`!l?0dQKp(qOj;xRedPFI+C&c4EcjZBL&Rb;s-rvkKN-KH(7!f$nG%QV*XS zlF+$h!M`-+kBTb1o;oCd)Vg#Kn1YVj%y|nd2Hci)? z2`#;MVvhC~?oA}HuiHDThVOTFjg4C$rayM-`eSOt=NQ?KOy8`SmcQV3kfGrT$r4q8 zd`Kao#hA&7fyz1*#u0HKIOdqZqSR^{lO#M|&RLV#t)|A-tdp=m00vN+qYHZ?w{|xk O51@obhI9l|FZ~PIR5Zr` literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_3.png b/no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_3.png new file mode 100644 index 0000000000000000000000000000000000000000..b65c0e24fcc6283d70d88ea521e99b4b899f5523 GIT binary patch literal 1102 zcmb7@`8(SO9LK*&sJPEjp-oiSsHm5ET)N*;lZY(ibubPy9AUDSa*yM62afik%9Ld_=sKAm1h{ zc5B6JpDT91lW!Gk9-|Xnf82#n{3c$smxeWji6gD(CHvbKMDZS`TfE9p$!X`4x zoZ$Pcb=-;>S*z2rNPPrU75f6b;oR)etV>``O8Ye!@zZ1^(5{o4qFZK+)J!beOEY~ zKjR4QFIVMI&auj#iSFctfunGZ!U=)r>yylA4-CR(2*EJSJuUr^B`{_m*jvOP)PTdB7q!qW)gBszzhr9m zDkjOSIF9~T3bAc7VM+VJH*pP)XWPk03GK_q$7Oz^SDD32YRqSGEf^D3Mt}GBHo}$L z2zoH;%2CBtWJ7ocPq><72!^0WO74|wz3XCOb_8zVN7bE+2xXS6)X*df-_HU5h-~r} zj0QteN@8*F{c)r=g*0gt?t%p>)jupBpE&Gx0p(CvU&~j~WRS5>578x?^AKVK3{7mB zTLkP-3=qdgKaF+G;S+dM?}|$saTTR;v#SU^!eWr{{!RbtW{X5L%wF+nYnyFa)vN1fM%HfF(_KIteCA zEU7dS?2v1cIY?))t~rC^LlXW>6mYzgjr*CSh?JTdhed9ekAe*P4bU1M6ExvH^_vCy O;Q?4oWavN$zVu&bvO6RI literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_4.png b/no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_4.png new file mode 100644 index 0000000000000000000000000000000000000000..278c7e85985004e6dce67bb88b9505da220ff0d7 GIT binary patch literal 1102 zcmb7@`#0MM7{OESX7eM)t`YZ17h=P8${~&X52b8DvKpgROzBh;dn?geg+RGoArX-kTMUUP zLAg_@++is;i?oUX^ zNLw|sPN_IWzHwb6>(I)3RXa6mNsDytifXSxww^5&r^(iHWa4!BMuBXdDu0t}dtV4A7QV0Z*gIYuSCZrZk3xqSgB&795 zvT)R-B1aMP^eQc=Y%3C%d87WLI_Fw0uLmuim_@*yulzg(cOP^lM16ks6gueU*a)6V zIr?%5ZjBV!>v#t0JNcpWa8C+NBR1HPiwy0XMB zJADD!cA^xN*~}H>D5}V%o>+2VXREL=k28PJn8A;;MR|=nO_FM}FQ!CYj@$QGelsl6 z+fxF_^XT#wX7>ECa?dW8hijsnReHV6%=m4lZn8RPmKf7SUny$*$9$Y_FfghoA(%=W z2J{#Uyh2!3;jnuTeuQhDqpzFLSSQDmU^GHCB_c8Zn`zer6MpWkvjGrzrQCN2kL_P` z7}-n*VIAPRA14MQvw}JKULyi^8$Zrtijw3hIdfHkjhYUD~cjy`K0-Wrs5jkilG*M9ASJZl+-Lp7|&$d zj_QA@3z2oDl_g18N60)F)_u zRtTKVg5(q4G|@}Db9e~(r2U9H56s4J?6*DhBEW$Qfr(jV-O&!f{?m7Iqna2mq|YD} zBErfvtKX?@v-m=Wb+IS$n%U`%vO0{=3;VlQUOx7NDj`!iRj-nupAUL~Y^&D*3rS&d zCFI3yNL&Gv=PU3R0hR8x{yZp5FJ?Qt@u2GX`@@_NkE#X>l?*ELCdX^f3EzDjU>qJm M2q%VholPwH7vya;7ytkO literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_5.png b/no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_5.png new file mode 100644 index 0000000000000000000000000000000000000000..4b75ae22335a2148bd7c9ebce37992a8bc0f66e1 GIT binary patch literal 1102 zcmb7@`8(SO0LH%&B82wCuDmSO6h=bBUZXg6mBHQ z_G@MP-${3hmC~U@0Zo2DmG3{0?U6*A$?}88(w%RmyXA*MhEnoex>Iy0Y*mPUP)d3f zq7H?)Q?!+;5I>V_=gIdUDkXh~!WPkHqFm4@=Ho?MX<~k+cXxIe_~o>M%XAcfBEW+ zwN`ieVJ_(+v+SkdPHvc1gfBNFCg8jSzHX2ONjYao$bV>usNcy$d3;@$uHwE^2|VDR zb+Qfp$fp@Iz!b%*qa6fqFo_B(2K`bRHFf6$SCxeYoYJ~mG~aE4`VDFxOiXVta7G7{ z7UYGaJm)v384*tUGRL){1=0qkLly_^DliG^`MD9EksiLe!MS9(+Sgg#wL9g!zO~x? zMXfLRFUQW2l-0gTCcL`UwPzukGs%Y^^PO6VCN`2v#63pSQ%@ON<<7DpzE*3%h)TVz zEVLJB{0gwD2lK`?DBPyOs&o^U>Cl8Z&kf9Nzn){vO|a`Hse!Ho`n>U&)`i5hl^xD< z_d?B0OL1E-dltOh&t3-W8rb?GX*zj!;*Xd-J=U?MaU@a!Sk1VQ3msA|p}sgD1H-w< zc*BHf>YqvYmhIRj^@rKf_15R+w2TVAp|?`{n8jby0AOw;tJ@Zl@+?KEj(#|5goQ-~SRH@a

7-JGO4EDYLV0KCL@A=1=KpHW|cwXOt$9a OcmNg?8rTznEBzP23_Sb* literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_6.png b/no-mods/pipeworks/textures/pipeworks_mese_tube_noctr_6.png new file mode 100644 index 0000000000000000000000000000000000000000..e2bd483a44525f1179a1ce3ea06ec89005aa7f91 GIT binary patch literal 1102 zcmb7@`8(SO0LH%&N5p-U3ae;CN2S#jV;&kR?SiRcQ65K%YE3gXM;#AK)DhR3HnI|} z07=t2#SJR?mndbLNhOCtWiA6ZSsO=l%Tp{_<8ugkLj(!k_>Em|#8) zjyyK%JrMA5KmCQcf2=1FVbSPAIZGjVEfw=bYf%cxD1X%K-8iX|Dcj~ zE5+?fNr!kdRVjHc-O5w!Jyc114@Ax4jYNg8Q6j*LH`647Ov&bL=~li(kRko&o4^%6 z?VhenBc(Z{I}GF^rE*u<^XP(g{PT+ z<#@>43|%rV(`dC!LT56vign4c{=%es(#f|biGCG^zn+Ky=vtW(s%gSN$-to8wL@EW z2B|y>P&Mu^o&r%V5r9cwl@xM!mP}ab_wLC)0YU2=syHs*XR_um;*A>W8U?}|PjAd% z0MZ7e^X?gUv?U|8fW{Gd&SzMfbE@t=pqb3NnUj}~hU~Dx067-tF!qT>ktJch(CX!@ z({?&t3(T^Y!aKRwbt3(FVKG7Hobh!7EQ6G@#)SNbryT3I^AKKN*QKj@Yigkv z?6VHGaRB)wV+xp{*tWNUU=3!`A;q9yOQR?5e1KG2Tf-(bCMD13YEL849=0(Dedw&NN0grNcYc;u#EJGjdkutdu`Bx7E$% zCtuY1ga3Bv7*1L49cRL-TaevzSnjw0b|i3ZCYsqxD;@7Knx1*f*=kRgJ@K_h3wEqD z%*sOffW|HZ%ZBE@xCW)iBv_qp#hDq@08>tCf|^CWMdiyR|2+E?&Lz}R2zst&d)Q4p7Hdf>Hbil~|lKbVF^L5cM>*N{VkE>hf;fgF}sU9=}*Tn|@NNfn; z4+MgfN}@v@4~Gz%B*Lgch!X~=RDQqsPJg)F36x7-eIr{%5kZC?&+$$<>}Lj+K<~(w ziK)*nNf-Xk;K#wXDO@a%^KWtKR(3@xmKf$fTbo<|(^-(e*qsl%*-@{LDp8ij&!xfV zi!Om^*+IHG6d~6&4o<1og)?val~Z$rt~eyq=_yUaEP7+mIyzb8JhIH~@5T^DTkZLy zC1zv_0XEEqX7*5N%&QKdn4s7{A7egiamC#F>)V@&q@ O;{h0ScyM`$b zVpvFw+4%n!0W-7lX^G6N+ffnZgYu6Nichgi`j<<(=kn^0W)m*xIJ}2md z|Eko=eA?>js+sx4ESg!~xiO?zbMk)&2#<520sw5B7!pLL3G3>_IS>4-$^#0xMT2lA z+O;G6efBkD@zZrSm)pl@D@b2Ld-mP!q1*9H%PpE^og>D=WNhpQZZtbnHe!)i|LTvs zs{^4c7;w-aDbfO`bGHE0nd;&7FQN`X3W>KFE69#2Xl2DX>d!q*Wa7JB6fb{P+S@+g z-byIA>lFWuk6_l;!n3om|MjQy6e))9mW`q{?x|$qgBLVflpqYC%mC*QQnK;^(E1zk z>kpYHO06cJ6|Psmt>Z9l?k{8TZ1{q1hgJGaCu3=UgMS*}VktHd+FEu{8B-0{rySWs zuGg__=>9U0Oh|-B^;$m4aKHy`hPHb31Ic_l*Sbgb=f8kI9E~;vVA^fg^IdGWAY#JW zs3|`4PprG)ROg_#EIpwi;S;=OIC{kQZ?|T`cz!y#b{txrw2nIFInZ&)ZCT8G)pj+$ z3b{3MP926NO^HU`h1B8ZyVJV8$QzLp9_n+L6QuR8{}Hq9|IH}#01)}2roQt&GRseH;0`53B>!liz8yP~^+eXr zF2~>C=XhA)+iQkVGBw@PzQ+DxU14c?AxB_m0smzyAG zsH;HdB=;l2Ep+)YZbD+cn1@>G2Z9l;9W_wIw(IiG8>Yii78K?g?l)IruP`y-XwtgS zjV}r-NBGxRO8=^uiD;nA3BYC~!bjeqjFW3{_0YUTi@kZEHZhcH{z+UH%yj5hrlTdO zu(tBsTwk)+-8ZC<;cd-f3|=6;f*{jHgpi!o!6zcM;cIn0iM1iY4mYbPB}XOUd@A^eSyybAKj*gOl%wlKpyugMh$3 aLrqRdwxr$$rG9Dd2Y`5x6v8G@F8&K9F^J*- literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_tube_plain_2.png b/no-mods/pipeworks/textures/pipeworks_mese_tube_plain_2.png new file mode 100644 index 0000000000000000000000000000000000000000..12d79665fe2e7348de4b509d8250c9dcec502431 GIT binary patch literal 1273 zcmb7^|3A|S9LGPik({yfb=-BN2T96GSeBY^u_KLPXCdUG429ELTZYy*R^jNe&X?7# zvO1E(P+jZGLp>%QZkPv^Z}WY&efC}D+U@>?dp{oU_w)65|MYsiet2EM$3(y_oGkzV zfa4;=;*7-px8_jeZQz%#8qtK0jt`ejMXN!vPWe`^>XXk9WYckLnip&8C-T`O^~y!P zszbG0DxXbJODk1NbcG~CExo2*xvW}dYNXdStF?M%n_kteS-q*1-O|eMsFu!Yxa6U)5 zP!K$cF#wcV;Pkf9D&TSf+~8@yn}r}v+6@uMiUM0@RW5Z(gRV@e>NxKP0l@pi6{ zOIr6YL-y)ofeP8EegQJF7Z77R0viAJ_S6>9;SjM5*-C$rAf>?TSaDLI3TLlREAPWdFZ!!Xc zzg|Om`u?ri=2oT_Ia{$kJzz(eHkJ_rA6$-d75C+CQ5T}lh=4FFk&GF4I7;Zof9%Q+ zN@hiPBqW;_m_v9Mx-B_W>-cdrqs#+_KXx9nuiWpTSAx$M6U!fyIIHLIq#Z~`ILZ^j zy%E>{`lRO=MVjos`&b@Pi$gGe=lKdsL$=}-TAsxG1ecC{iZg{ts|t`i1sxs4Rvuhg=hDy zAxG)!Be&q`580zlME9oKt-yIj(BX>FkC_-6v{8V5wK6%7C3y37D-iBKUOWZ3o${B- z0gN@8%6~4NrDz-War`p;8{|Oe2Fpp=fk-aVMGv&DjCVX&%%GtAt1*H+lV+h4-U%0T-yoT08*8XOv*1n6D;8!^rd$m!?p6#U+aNW z<~~PhSDFqK6*EH7SoL_js8g|r_H*<4bt>EnZ^oE_+BJ~_Vpr+3RG-3cAT!g!1@+|; zx@E5}bgmW#JW?k^G6`z|2_dXAj=>vypx;9UC(P3H_Dh)^`IzX_yTJOyPY1Zt-umh{ z4{|2F@`r|c2O@Ez`*l`(asuyR8bzTK+yVB}ul?I*a*zB?js?yg7dq$cI-8pJM^&@; ztI>9TuY*af$@UIApws_eTH71Lh4JhUo-HHad5@IWiak-6pCLk=OA|{I7h1*=ktk^u zylWDPWxZp-+Md<@a}c#xR6^$^-o!rYe`_#BhG6gJ+F=1Uc`+Y2D)a>27uDpF>Pa8M zAel2HG!-ijO*X4brcdF1eQ?dhbsfN`OLqU%HQ4>!gVHnCEb(gNLF*R-y@n$o)EAos z0U~k*8YsHS7-Dx@b|m#|R^}M{FJ4sw<+>rRWGJr;Mo-o2;PZu@7l; zu6|!}q@GJB2JQehQ7+Si&#dvU54nNw9by8L?D;G-l(x~nA}6@g3FeO2G*(8>^C``6 g@hCrQj+}NB7~FZEYvSfXfw3R}TzE`aYe-tzzZK|=6#xJL literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_tube_plain_3.png b/no-mods/pipeworks/textures/pipeworks_mese_tube_plain_3.png new file mode 100644 index 0000000000000000000000000000000000000000..4d3d415ab595d77d7e6aec2a4f91615f50fe3ae3 GIT binary patch literal 1274 zcmVx}Z~eedI9^XrcD>WK2` zh4kx>^z4=Q@v!&uxb*Co_3fJS=zI0yhu{Uia~` z^zE7U@T>3SWcBWz@#l8&=XmhsXYl21@a1psi_@$00022 zxvT>K001>~QchF<|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0 z|NsC0|NsC0|Ns90e6`RD000BkNkl2j+$5QRN+C%ac{u-P#}yVRY;dH-h{ zuuyEJZhq)gA+U?{x%;TWi?6>buTJlQQh>kT`3pcv8Ups9q5z5g@9L8tP+%Vgu-IOG zZyrF6jsl=;oH3aJ8OkU?FNrg9Ux7AJ0P&DI<9P;@Dv8?#EM{jtE!+2|7f}Gv0LIqucRIWeY#jyIBrXH5a|Ur0Xy{yiK0_J_0Bo)RAHq7-`zQeFaT1Sr8`&Vl zwXhyTe0C-5riG|J3XrS8IeiJl+PH0Geh%hN8i2?_y1h`UX-Qe+Hs<8EhpX|(q>8IR z4j~|w5SIbe?}2I?2T;(20BX!HfETdFNTsS}pMyaubCi7#N~;9}um}bPf)r9}nOKc^ zr9`elSx8X!YP}GqQn*25a@6uozX_=jwcQ$E0<{2R*FqUIOfapHiGKQKbSh+4qQb>f zc|4Mu)3!MCns!-t>KfWuB(JpG63*$Nduj{bpv?-(OG28*6CK)?w4(?u7aya#kDpqz zA#63X`tz#fGt?Ep@4e?~vAUaVhi||m7-v}ByZH?G*#88e$R^wF8$blkrrjN2=K)9W z_Sae*ufCH9v_{OP(;cAlfWf={2Z{9R;~v0OHJkSLJsf7hM{)<)O#oFp<8}sgU~Zht3Xg2nT3BTUNUEorbRrmH$z%!2!wuPeAa0-cQZZHFl?242v*_?L8DS5Wd) zcTHOt4H{at87WEn*wTS!O~-V{Q+i07v^kU4e>f$)ZEKn>a$qk^Sz|3GFUyTJ5|w4R zTJ}~~LLf?Dxt0Q;(#GTr_V`DbjmC}AO1;5CJy>at0)yBKA*2y#6=-GNdToUPvmV)C ztBnEF$P7pT+iTfx1d}8E*OzL23G}**{9k|}1k~C_0R)iAcK!zNrHlfwO*h%5#i_+j z6hP*#g`)>#J;Y^T$<_CrM5(GM0KyLd6*ew|W$TRlYl4?cfjX`Nn>xUGuA?@66rdN} z0emCPHje{9cL@lciOWEnl^Y`8NE!*)$YMXI=m3Q^aUmkPxD>XIbCi)G_T43M*28rz z3`P!8(Xo1&~7VJxV k2^9M<87xA;0KWkK2Lw6#lL5$88~^|S07*qoM6N<$g8luGJpcdz literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_mese_tube_plain_4.png b/no-mods/pipeworks/textures/pipeworks_mese_tube_plain_4.png new file mode 100644 index 0000000000000000000000000000000000000000..f4c337021b2bceb8327553965adbdfd34a60fd40 GIT binary patch literal 1269 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 QU>GoXy85}Sb4q9e04h<+9RL6T literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_nodebreaker_bottom_off.png b/no-mods/pipeworks/textures/pipeworks_nodebreaker_bottom_off.png new file mode 100644 index 0000000000000000000000000000000000000000..c7a48d441155b8959bbb887336aba73c1dc65eed GIT binary patch literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47+nHuQ&Vztv*Y4o z5)%_5BEs_Wax*j29UUFa&COzBBIRUcl9LnN+*|?!0|Ep6LqdXba??n3#mPxR8(#FE6hsSXzLeUr<0mOjJ}rKtM=PP*_Na9|-tB!29%tFkrBL@pN$v zk+{ry@N$!LAP>WVHMzIVUa!sFe%;FJ-~Zb51CA;xpLQx09os53A*kgE_rZyCKECHK zP-I%V<87_xkyk&YbMiBOw;Y=6cwnltLaf?fty}A?CmA`k2qqgnIJ72WojP-n!LKbd zo^RZ}y!^DNoues*L`zZW0Fo{2NCc@P&h^`0Ez*`} zKl|+0Tbwf@-^?-X((Jf?dGDn=SDv`IL|eq%|IzGtFhgSFkCMH1wg?qwFK@ T;K{88^gn~AtDnm{r-UW|s0P^B literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_nodebreaker_bottom_on.png b/no-mods/pipeworks/textures/pipeworks_nodebreaker_bottom_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e14ca32ae54b09983ed2184744265f3785b3e39f GIT binary patch literal 640 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47+nHOGt(m?!h(VVV`3un@^VvCQ<9Stb91v(Qj+xb^-N7o zt*or{^mIc*LlP4cQc{worKIBGfaW-uo0|m&2DrJo1P1!c%E%-oCAho0ii?TKNJ~dY zM}~$5+u7N8c({p+i(6V+h>3|=Sy>1Q3i9&sa03AsS7v5LK!9IfUQSe0go%l9PEMAM zja7PjYDh?spP!Ghv5~j8r>m>8si}#(yPKPvtGBn8v$KRuFE1At zSAKr3lar&pypRbvjsf4(=u&^-DVt;>MUtb@8 ze?M1O7a<`bUS3{1J6kbPQBk0A!omXl{DJ}?APkff6yyg2J`mXJEw~*RtlvFd977~7 zvmU(MbT~kO;X>r?wCiQL)|szN%JiQ7zyDokgN1wFi*}xiK~}O3$0jWH&pdH4=wF@U z5|acSlfC)JDx-fgUe2CrSM+M40>{i&hnV&sxp}+Z^-O3eo?*$y>GbQyl-Pcj6A9lm zt>-V=S{=p0#Sry}LK9Yb)kXTaf6JS3Ijk;J$sgNc&}*CGNMDT(}?A=cfPl;s-0v z!+~3)%zo`X+S*d5e9hZHtjjGob)S*=<*@aA{hthSZ!DTC*Q}t^nSJu`D=Q0odpkK989O^0S663gX=!U~ zD{)a#b8|COQxh{YQ&CY-ZXn>|N=S&y$;nDjPfblt_VMxZ@Nf$b4h#(qadL7L7Z(o< z^mlP_^7Hc%78V9tVrgl?%frLP#T60~l%Jm)92^uL9_r`k>+kQYsG#8H<|-&C$ivO; z>gr-=XDcBtE-E6z#|r{tqN3trVnRYf0{r|UA|iqU0>VN5frRJg<7BcHN8_v*cs?aEHZJ8fRP zxK*)MFz(F!7t*uTbC+waOwK=e*6Pe!3ddPp$4O|7y^%Gx_T4$4{4fW+rcc zX20)nV3Ez-b=$+#Hp~9LwVd(C8f)A1veZqrw>0*+#4kv_^{(yPvwJts{>_$iJrFr- zQ(Tqx?61KK1rKiMcaf6(GXFkPW)Z7fo6m<3knLs!NDRSA;!kW z$;rta8yg-R92*-O6%`e&t*x)Guf@g1%gf6a78VT*4D<8z@bK{K>+9p=7Zw&26B7>)4-gO#5)ly(4h{|u4(Bi0djJ3c;z>k7R2b6* z!2@ChK@b4Ij&1YeW$HUsjWkW`ETsa(HZLWq%jADGKM zVzKT3bDAl_=nUtoU8N1rofMNl6TF8I iO^iY1%oxV8Q~m>fW<9H6w(Hse0000tLqkGNPEAKgMjjmL_|X~GcrX*Lq0w|MMXqBJUbj48yOfF6B82*3kxV!Z?@2^KR2b6*!2^QBKokJbzqZY8ZQD&_&Lrcx|3UUWxLyZ^ zbjSxXv*OZ;P literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_nodebreaker_side1_on.png b/no-mods/pipeworks/textures/pipeworks_nodebreaker_side1_on.png new file mode 100644 index 0000000000000000000000000000000000000000..ff0a893c6cb76d5380bc79bb2c64ecf361f47308 GIT binary patch literal 589 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47{vp8LR>R5GXetqqM{-^Jlx~s z;~X9B9UUFw;$j>e?DX~ZtgNiu+*}e96M}*Q_4IU2O-%y>142VX+}&N36cz34Yyt!Q z73JmK+*~CjB*etTtgI}grKIG5Kt@JVQj(jCi)zw)>M#kLS%+%Dx+uO^+!ra-}$;QUo-Q7)2R@Tze!rR-^&(Fu--&a9io{yK8 zi;K(N-p=3O&(_w)!NK0z+RDYn*~`nr)zw8tTH4RgS5iVkSXdZnpRccvot>?jnW>_J zf~<^;xR{u@xVVUj2rnv!|>HFun z14HVgr;B5V#AViltVxF)1Q-si-MxGJj@`~q4GwoEU;g{w+KT!5RJV1PUaU5JE>!=2 zSwY$5RncLuWd&0={GRFbu4Y?=&8(PXk;l|`%TDRjpLVsncd2IbL>{IYvS*%eFW;pu zbjqlc!~NL5ld0>&f2*A|dn}~5zntSJd-b24YMk2cr5vtj^=_U2cH^S3*Hob?nvvG$ zZvFgKaM&c|*8;6uqJ_3jE?TJ~(E%2*nQia69T#&JxftBOd+>rsi}z-WXF-Q@uHLcf zbz7${!ENkfu-Z4-c+UP;E*$nxg{*!)ExIb3v&Vemg(=<}uDC8t-WLDo?X*@ww*R;6 W9QI}jo_YlIJcFmJpUXO@geCwc7q|KV literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_nodebreaker_side2_off.png b/no-mods/pipeworks/textures/pipeworks_nodebreaker_side2_off.png new file mode 100644 index 0000000000000000000000000000000000000000..babb68122c616ac0a26a869501e371bc30814c6f GIT binary patch literal 581 zcmV-L0=oT)P)2K9UL4G4-XI!5Em8}6ciK^5fKp(5EK&=6%-U07Z(!}5)Tg# z78Ml^4h|0v4g}CNi~s-t?@2^KR2b6*!2^QBKokJbzqZY8ZQD&_&Lrcx|3UUWnC1SI z79viD;kF!ZuVD6T`&ucb+m6#|U!Q|*Peqo+TEzFu<@}-yzONI`)0C6D&EoQ;4qK%& zPN?)uc2g=H%^}nxvncy)^?K3iLFE`aMuStf|C$81wEzwaP~SZgYDSabIj99K>B4Zg zNnP~w9qprN&qxEDr$p;iGUg$Ms=GXdN~mcR5GXetqqM{-^Jlx~s z;~X9B9UUFw;$j>e>=F|btgNiu++2c!0`>Lv^z?L1O-%y>1C$gMLqkK{-CgbMY!v0? z0|Wi7tSrRD#N6CmB_t#yB_-v6Kt@JdN{X9{ijP*Bj=*vQ7l+SJs<+uO^+!dy;P*4f#~+}zCF-ObzE)6dVx($d1;-&a9io{yK8 zi;K(N-p<qgRDu190V8+tlhnP`;OhtP7MxsCSU&h-`a}#^8WZKbKE~CE)L7M zvM%x0W^NUweOq#N-`=&e>2BVk%{r6rRK)0|KWF7&k~E&S%%^sRj$YsC1`T63;fJrj zZ|^EHV4h-gTkXl>D|z$hzM1WQp?9^8;_LGpOT$|Z@0FPnK1FSp@wRzu7KI8a@`NW! zRo#z2cdPJPOW47_B+X#Qj@J{tOHJ8b`Xx%8PVv%Ui+5Pptm7DGUIk*3( X_Brf5_-IQO(DMwQu6{1-oD!M_>n}+IZWF#acLPLWsEiEJ^C1s?g#l*w}1qFF|c({Rpiz_oTBOt&p zFE1xJIMBqz*w4?`&(Fuk#>(2-%G=w^-QCUD*vQ-4)7914+1bg|)WpKV+{VUQTwGjI zLV}N%my3%lKR?&r-p??n3#mPxR8(#FE6hsSXzLeUr<0mOjJ}rKtM=PP*_Na9|-tBKsHLU5*VysJY5_^ zBrdZayxim*$ir}8P3~>8*K2dPU$^r5_rEqhA;3uLSbWj0n{#q=j`;N{-aJ$KsW^DD zaAI!l_b)okd+W5OzT2|cVDlZ@3=!@R*RMai`R!1R#+GYuzw0FhygKq-C@R}<)2_-X zuX&9UmI&`!wtd>G+wIrO{hOJdY>tiP&tH2**?jG`z?$ZTKaOGt(0i;vyo#5)%`Gf&%mMa#K@Na&xm&Qj#1T>|$afe9WTd5| zqa#B@gYE2W#KpxuJlw>@#4If>tgI{q1qFF|c({Rpiz_oTBOt&pFE1x5D#FjtCnqN> zJw4UL#Ms^4EhHq!+uPH|#>(5<%hlD{+1bg>&DGf0$kf!t!ou9f##&NBLPSJ_kC&H= ziz`1rH#|HvI5^PW-pK_i+S?isHiB=IALJ{etrP~0YL!)AwfZ5At8Ps-~)j)7S(oOuzvS+ zaSV~T%zE&0)8POCh6|Cm)2^50T4%m8DbsuQ|NeKG8D?+h#m;C@(f#UYG+l6phw9=z z*6}mDGmkI79v&*u+kJG+MPPsk{c>F&*L)~K`q^*k)fZpvvy;1RU5ai&HEGc;`Uen6+G;VX55Z`x$Irsy|?Q* zx7?ex^Ps{+zoqj_n-}wM=D+#T=J~USo@Jf=JZXK-hZ}6nQm-#oG+MCE`LCIIY`I(J z3CkIAr@u@T?r%#xpwrSYVZz1(U-n5p&wa{1!SKloVWEO8Q})MiuyF5t!On9r$ZBr= Yonmjn%%%D(fkD9F>FVdQ&MBb@0O)Pn$p8QV literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_one_way_tube_input.png b/no-mods/pipeworks/textures/pipeworks_one_way_tube_input.png new file mode 100644 index 0000000000000000000000000000000000000000..8490858b0f9f4db4e6ba468eea9b3276aa58163d GIT binary patch literal 349 zcmV-j0iyniP)cuUw3a@xj$D#bnu0^-Rtxfmw3Q=L)>}c~h<&$hs=Qk+n_2zaewJ$= zgJUEgfH^bR3vEcC3WA6=T9eHpVn&Y6rNoxrlsc&$w#7U{f;7HX9M>+o0 zi3LX{D;!O*Hw8LF;26>tR|U{00glJ0!aFWrQ4Tyfq^OYNVu9W%a7a}G3tVk{1dee! z2j;jcOa_iv_rMfaD^lQyU5y)sHQ;b|leItJRrj@PH;blU*TR6qO$JeH#zf9NYcVt_ v=>!}`*_X&jvf7TUlu4XDSp-241b6QbRr;VcD;7CB00000NkvXXu0mjf&YX;j literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_one_way_tube_output.png b/no-mods/pipeworks/textures/pipeworks_one_way_tube_output.png new file mode 100644 index 0000000000000000000000000000000000000000..8490858b0f9f4db4e6ba468eea9b3276aa58163d GIT binary patch literal 349 zcmV-j0iyniP)cuUw3a@xj$D#bnu0^-Rtxfmw3Q=L)>}c~h<&$hs=Qk+n_2zaewJ$= zgJUEgfH^bR3vEcC3WA6=T9eHpVn&Y6rNoxrlsc&$w#7U{f;7HX9M>+o0 zi3LX{D;!O*Hw8LF;26>tR|U{00glJ0!aFWrQ4Tyfq^OYNVu9W%a7a}G3tVk{1dee! z2j;jcOa_iv_rMfaD^lQyU5y)sHQ;b|leItJRrj@PH;blU*TR6qO$JeH#zf9NYcVt_ v=>!}`*_X&jvf7TUlu4XDSp-241b6QbRr;VcD;7CB00000NkvXXu0mjf&YX;j literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_one_way_tube_side.png b/no-mods/pipeworks/textures/pipeworks_one_way_tube_side.png new file mode 100644 index 0000000000000000000000000000000000000000..9881be2c0ecb7cc5104e439f9ba91df43ac6b14b GIT binary patch literal 859 zcmV-h1EldCU$jHda$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~ z)z#M4*4Nk9*x1-7HzO_DVgJkS z3NSJX?A7Y3ZOg-eyk0!V!!lv*(COdbTpMEV@fCckba!WCvIfHf)m0k#Jn&wPD1fF{D#vk_f(s|#mB?~X}x2e1ZFl?_0 z+!@oo;>f%&a3lyA7S}%EV9&NpBF^B@g|9&jt-!pW%oa94PLANN6LCyJomAU;~HT7{k!H|1<6391PKBK6zcXRAsr(!`G~?<71J$V3{40@=b4xD5}L002ovPDHLkV1m?%yoUe) literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_one_way_tube_top.png b/no-mods/pipeworks/textures/pipeworks_one_way_tube_top.png new file mode 100644 index 0000000000000000000000000000000000000000..5ade4275c52c35932cf73693bec85591632c837e GIT binary patch literal 860 zcmV-i1Ec(jP)dCU$jHda$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~ z)z#M4*4Nk9*x19d*#<(=EoqXLutT7ug+lPsaCc*=rJ;rrP>e$B&UqUdv&9fPt=UcB@n&x`zxG7V5ejK(bSLtQsT z6B{Zb+Tsdbz(;57nm|R|wC>*pUO2SH-NnZ3SU~BjIsNv1hC(aUa@&M)eQ48A3w`+C z>h%ISXw>4NfmL5TwrTjVRMtAs$0Kt;PuuL+aXp&LVo}?==>%d9L(>Hl_GjvDGaCsI zdY@ri*M-oiW7DlVm@shD7mj{96Y%OfV;FtJLzj5y@^>RZ_k#yF=r~ho#BLaVVA*AY z1GE_g9#JJ(f9S~h0G;FZ0_@nf_c2vQf7p26;L^3Y*5RXoCst$6t_Ok7i&3+x>+RWF zh%{@wMdyUWb$s%c%J}1B@<4QJ58SuD`(YM^f6F+I!?bvf;v|p4L_)gCpUa>)z2xa* zRwXeOv46_;r{t9E%BMemR{D7!r4@2G{*4(0O4RkQ*@A$r7{&5#W>Dd3Ev0Q@M_AhA zt^jZ_->RP)7D6qUU~Fw7_Ji027ze2gt+fqWQpN>?wIPTG6P7>-r>g~UB@_m3o1D&t mJzr>SDa%9?6B82?UxbI0000jBIYXN`>%Ws z_hB3+;6<{eQi)PkZ?t)2ehD=H1_4r}C}B{NAc_4sNnppAv2EB+oCF9^2QNyLgdvFo zf=B>PlGt!2X6*j$APB%BKvCcjhA2sW7D1rt#Bg&L9;oI;NgU#UilW#&5+res6s|n0 zd5MD>6ibi$yz0#C=QSmz+-xC&vXBq&yyEAg3f!-I;hA?HXMR-IZFKy?ia*X8 z+zY?De=LAl6h~JPB)k5J5%&mQ_~#L#AgQE54ro9;`q%rH=?-G`?`Yqdr)o_h!NrG0 zuYhCEQ~!7T8YJ}qcl``|^80=K02tT2I&!zY%z1I-Z$d?1y|DRn78~;$*>;JF!6!!k1 z_WJ+(@&2%+!ST^Ql;?N-zw-|@zw5v5{6pR8|G4oF z6u#&`$Bloelm71XfAG71NZslGoqwqLUH|+3&;B8Gr~kb150%&dAKvtT?;q^xUc>Um zzhCqpd;gG`%uXR2{;dCd|1i^ah-=56^uL36^AEj=$q~Ud{-^#AZv8{cu$>e({7L_@ z_YV&hOKth5{$uYSeE4wGhCk~+_x{22SfJY6|DykV`iJ=8A6kk6q`3juNC-qEK!Di2@)!99960R( z6ls;^Lui!)dqaW?K_c2sCYcY9+g*=?J;W0dA3A-Ral8EVs$KQ!S#bCI=2G80^J^y$ zzP>xi_W+=9+0dz4UrZl>dq;~0sByJU1jxtHE3=q~o*?Z5P!SOaCy4-=3J9UoL;w*X zpzI^i3s6Gop)NYn^g4h5 zkmwTu0#qQPmJC3EAfihIU{iv$)NXVz5+GwTKx`?b0*C=5djb4Yz0BZCOkT;}%87#p zcPTkt99JL(V&GG)1R>AQGtG29aBCXf&eG5Fv1Ybg%RKkx{$yQ@EGL7Fi+CVA(I^0v zBALYnt7=|UI$QXahm-ejN$%w-DU^mm_U>l;`!BbHw5ou*yLa6FmMX2JL8|KZ z=J~Z$oqFJdXScndk#8kUbb9^RXGfiwxsEj4gx$PY+jSdBlkQ|0b&K70^+In{!^b}Z z0KW5Aej{m3P`kQw?kj(#BLnc!51ri=0AP36oB#;1QKytXdESW~LP-E9n(Jo(&>Yx$ zCUGNak=&LE0QeCAW}=P&aM-!`7y$5?VggVoQoAm|r<+azK+$sCx%c@`*Z+4)g8%}N zdMl`1A07kPDRr>bPO}bEHET3MIM5>i_~n0cTB{aY?x7v7TcFk}C zHVo{)p#7UUEGJ&Wi>&6u*%~nKi`j{|K$rdgc341~(N1bO$^Eh(+Vg4c>-ifpJRA5$ z@msKkFHbK*=Kjb6i_zceG|ys1E2b|W8WaM97|PQsaJ&-afBA#i`9&-TZs}dbzWLl_ zf8pzx3I5pwG#Dw~UXAIf%~2V0%NNBWi|%R==k=tli~Lds%dyeLJpdh$sZg- zC_$zg3?)RwLDC&cJ6uz3Uh}Y0Qr|+@4A)eT6x!jc^?kn=QW->RhHH8ywkagn0oe>! zYHBwIvs!`$N$tk7sJbqP%WS;}KJoNwo002ovPDHLkV1ns` B(ZK)! literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_pipe_3_empty.png b/no-mods/pipeworks/textures/pipeworks_pipe_3_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..d13ec77016c28a22ad667ad2880446792992a223 GIT binary patch literal 2351 zcmV+~3DEY5P)000Q~Nkldu;^N}c(h|4Y(IE$}TyX<8{`vFg;>C-QbLh|^+>SHY;sSen8#%a`a%#2O z*|TTYq5$v5_OH_+7MYI5qhx5lz>O%1C`&5gium62_T}Z}Rpo?Xxb_u*^kfB`Nocx{ zA3wf*`*wPI`rEf}_;$mF4FdxMTeoiQ>FMFDxRK~_NLk6URI8FhVN^gSmp-^wayn7~ zav>-d>1M!Ye0==Hix+_Y>(?(#hHnA1$Blja_U+lTN9M=GrBaEqaN|m9h$Vw~DKn_5 z3=z7~kpk9n@7%fb>eZ{SU%!6;{{83ApEwVo<#M@Fsr2>r{r>$MCl4P!j46w5Xzo}6 z=Z6pkPhW24`ZB-JQ-YP#kpg35V-ph-pFVw>ot=dOm>8JoD)1u2D-JPJZ*TAZ{re*~ ztkJ!TWZqOb1+IkUoJxk*P+uDc=zrdz`=81d&U_jlMc8NUjZm~zAY?N z%H_x?K!pj^a=)b=UYVeGqwExb24ROQfH`1(7#{d6$8li4>c&bsfUMHfV|`aEX_;qL z^c>jlG>9<`4bO#cb%TPB?qrwVV>5XX6}ISkBWO)Jbff^O1`~tkt=nX;2Ix{cHf`Dj z1SF#D3MdSkq8DyRD0dbEAuY$TefxIuF%8^soug{Z)KjT|LpN^RxO3-DfzS#xt(Tgj zuecja<+>)4^M5NK$|JRNeWe4_EzyHFd;9vJ0L+ilEkaAZn3i z3WY0It~_|~0Ob%!iJ=S|!|8#3aBvXN&z(Cb>L8g=7V~tRs+=6g6457c%MC+nbU^`S zE86?~`ST}Fo_ziKHHspnw%-5#+d4RS_fPoP>OxTK?6n)7;x9rJ~ z>xf3_teTZ(+r4`?V!D$0td_nZeYzS(=dXaC zOsx7gUe@?uQ3azMy791>Dgei+k$z)2EVrZ8<)|`WBMT{KSuYBce1N}2*i!j{^s3AF zHq1V?_ymtZ1hoY$nQyca&%j(a@g9NO$^U) zr|DKVYG3iGDAin=I@+~smwI!H%tkilx*&}|EM2Q+5TyMC9wdsJho$=mk=Po74CVbKsPAoN*4tq?O7J(WD?mM>+A!GoT?CX3z% zr#*~g(u3Xr)C3}nGZiylLXdY-hdS-1Bz;Y zVFtcLAzMfn)cOf&PEX^klju-yCt8tpE9fG|$YW))o}lXsEr@D;GIT5mpD^$c==qmG z+hk|y+_QSC4C6tU_)Q_1g%cRO@oq&2^(pnSf+^M%nM9=<6G2o%M z&~5s()~&xOOJDdkg&rezQWEG6Z=um)>dY22fnI-TpuSGsop)(dt9y=1phB+*ZW_K` zs!ptK97Z&sHKLc4q(Hp!&}X501+&=3y1r~LOse@W? z%o)bnoN67^5{QLvv05*(%|MnMQJU8cZ_sCxdc775ad|GFhho$CT90>NIxxMUX5-+L298P98XLfD`C>vV1+8cf9Vx zBN<40{P^+n=g-mQmCNPf;o(!KP7MtWt;Jy)vrrtD6BgbQ%}{r#h(qh0AY zE?>SpH8u75^JgnRxPSlt-o1OfRj)&VCr_SCOiW;*V6zh^PMkh{8uGiSm!$Hj*M&Qeek0OTgPiL1^jA&!^cyQKi1Vx0m2~s# zHzG@&dDQD^@aEEQBs7|9y`JLFtKW#c#MJeAU4EZazY$sUcV4fDLFm0E((CK4^c!BQ zl)R}IEv{Oxw<;v-Y6P(w*__(y340dwzq}5#{2mPs4tDY~#{Mp-E3aW#B>(#@{{#B| VjC1m{+j;;1002ovPDHLkV1mZUnKb|a literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_pipe_3_loaded.png b/no-mods/pipeworks/textures/pipeworks_pipe_3_loaded.png new file mode 100644 index 0000000000000000000000000000000000000000..c086e19a7648f807fd5ba85e9e8792e296e2e4fa GIT binary patch literal 2389 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 literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_storage_tank_front_1.png b/no-mods/pipeworks/textures/pipeworks_storage_tank_front_1.png new file mode 100644 index 0000000000000000000000000000000000000000..889893b1150dbf97cbc965cf241f0368e93cede9 GIT binary patch literal 723 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47(;Fe4GlYX z>{zyJ+2qNS=gyrwZ{EDcix>Cw^vs$yYvRO-wY9ZVrcBwhXV1cg3)in--`UyO*x1l? z!94DuBWI(U>W*D|@aofx1ok~s3LVoJbB}y|e7J(UW{y#OhS8$O6&rSMxUnVtw%q(kvu`DQp#d`LqdUy4mK4PZ~0zLZs_jGg{vvy8ZUEt`{^4e49 zN_O_Y7}j^0$LqxM^q#L*nxc?reKk_8CMO}(2%Nc|MH;P2a4UsyB!nBTh@ zGV$X6-$gP^f6M1uom@SkSI>{b#wKjnwe6QTZe1yL_g~wGFaLhs+$v?Vp;K;|xpGCd m=JtKRu3d24v}X00AI!m1UE6=1XUGKlp25@A&t;ucLK6T9prwld literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_storage_tank_front_10.png b/no-mods/pipeworks/textures/pipeworks_storage_tank_front_10.png new file mode 100644 index 0000000000000000000000000000000000000000..f48a738d77d0a6682d200b2562cf2a07d69895f2 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UASkfJR9T^xl_H+M9WCik>N`m}? z85qhYpS1w;wtKobhDb=V9z2=IqR7K?KC>lA8X6jl7A@MfYnP~~=WxzT)EIM~@y|y?XWL z&6~%MAD=yY_S&^;D=RB&YHF@rxpL;rnfdeQZ{NQC#*G^nFJ8QR_wLlGQ}5locj3Z? zhYug#zJ2?^fdi*bojP&i#OBSL6%`fL)zw>DTg%JK_wCzv{rdHjCr_?hw{GRil{03{ zXlQ6Sbm-8wZQD+tK7IM}Uwsq^)9Xoa`TefWO z+_{q{Po6h#UQbU?U0vO*S+iexM$CvDO0AbU%$Syv$L_WvAeswqoZTt!iCG1 zFK=pU+Pin}f&~j^&YZbo#fs_Er?<4U)YsQ<*s!6wxw)&WYtp1iz~Jgg^#KMKLt;sg zU+{k#1BP`C`G!EtK6<)1hDcmyJ;>a|>?pu+!0z@o(c3q9uRp8!^gldC^hIaEEXh^= zxnCdt`}9Ym=2YvE(=$pheY@&f#lg7HX2LO9pT%tmYgRYw zxVL0_fRM-HkTnjs%B4@oupLpEb)|f}qpvzo>Q93wYS&M>^S;=o9c+GXgYt>kmun;( z*IWO4xA~^gbj9VrUWv?$&r<$gTe~DWM4fMOT~% literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_storage_tank_front_3.png b/no-mods/pipeworks/textures/pipeworks_storage_tank_front_3.png new file mode 100644 index 0000000000000000000000000000000000000000..4575e37e417be2ed2ff3a48b1610dea79ff3e192 GIT binary patch literal 700 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47-a)|LR{6=)qp@#Q?s?TRb5^E z{Q2`LDk_T>Eqd_a!Smdl)s zj~_o?Sy@?LUOs#F?6qsxUb%AR%$YOu=g;51ef!FlD{tJmaq;5CyLazSojUd2y?Ylf zTzL5K;qBYE4;(mf>eQ(dCr&6TD%RB0?Ay2R`t|E4PoCVodGoq;>t@WD(a_Lv=+L2U z+qRuPefsj{%UiZ=IdbI4gb5Q4A3j`HSGRca;w4L#^z`%`J9cdA)~!2s>{zyJ+1$Bv zCr_R{Z{EC#6DKZQxNy&&JyWJkS-*aLXJ=<)W8_jrOG`_0b8}Z$*Q804fC0t0{Te8|;!A@3g8$PLFif5m zuLHE|y{C&~NX0GDv&>0H0z@1xhTq<1`X-{#Xyf0hfAtr?WO}!AL&u7%-k;-dioDM| z@85q=moxRKk;~zVfwKhmY~4Olz)n+WN-M z{dY{VbdS&C|9x>+iZHM^4@JqY_VnZO$L!=ti^X&IltTsW0I|K*z@t!oTzp2 z*{^jw)W1D8O6L5w@xY&}dL0{EKAFsBJ)+LJu0n!0YE!JW*iqk_kV*r&v-{ONR<3TC zayE;9-aPBz&Do#ZmUCWA6+LkJ`S0&nWENe}__AQntHZ~mtN$3At6GPL#wz@i@4DmE UDVkzl0Q5S8r>mdKI;Vst0ILU?UH||9 literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_storage_tank_front_4.png b/no-mods/pipeworks/textures/pipeworks_storage_tank_front_4.png new file mode 100644 index 0000000000000000000000000000000000000000..47d9669ea653ac772614d2df63ec9750621e62ef GIT binary patch literal 701 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47-a)|LR{6=)qp@lLu1vdRr~kv zKY#wbii*mjMT;Ihc<}uB^S-{mPoF-ux3}-wwM$e~^!4l4j~_o?vu4fJt5+XAdQ@3i zSzca#^XARt$B)mRJ$voiwO6iOIdkUB_U+qOu3UNJ#*KaZ_T9aE_u|EiQ>RY7aN)we zd-onbe0clz?E?o6oH}*t#EBD|H*Z!{RGdG5eoaly_3PJ9o;C@}$>swk{Hf-3?)z#J9+&pR0Bw#>Yb?Q|GQt>50e!>4~3K%BO ziq`>J^}*A{F+}1r>p|wG!vP`;2exlJyDs#0uGH^)=tQmtj# zCGpp@C-BZy-#bCm^o0`7Dc*=QF6Th_xT&IHr_ar=(5i0!_SKnfBbZgI?fW)Yx&5( YVTRN8U3oVvfqrN3boFyt=akR{0Er}^PXGV_ literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_storage_tank_front_5.png b/no-mods/pipeworks/textures/pipeworks_storage_tank_front_5.png new file mode 100644 index 0000000000000000000000000000000000000000..17eaf6984bbdd8a3298d35aaa5723501ee1bcadd GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UASkfJR9T^xl_H+M9WCik>N`m}? z85qhYpS1w;4tcsbhDb=V9y}PxswlvE!2Cl3qpq<5>t`dT{ADXcr!iLC-*3Qu=Ehn7 zX~%+!l25CKCf@0K^i1*eEPea@94p0+=?V?;@At3C^X5&xp*Q0^|FUPnu}5r=Y+0a_ zQLBHzCn5cf&p{(SX#ux01~;l)KWw~Gvt3S&|4mugi%HQRe*HbZXZ|}|!4O5U4+*Uu z{5Q(JE_&hPy~w&}I#1*b9f`!w+d5@u8YiF3nHHzp^`i7~T9@7dUD?~8{z*KsTO?aB deX8TV|GC2DY&=RQ&j5YH;OXk;vd$@?2>{#7ZwCMX literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_storage_tank_front_6.png b/no-mods/pipeworks/textures/pipeworks_storage_tank_front_6.png new file mode 100644 index 0000000000000000000000000000000000000000..77619e389333fb34513bf7894fd8f235bd364af8 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAm`Z~Df*BafCZDwc@(z2tIEF|_ zvL1BwV^tJjJ#hU)f|SX-J#F7VvAo-}j63;}sLwNg1BdOQf0l%;dUk4-sc7OI=2y=Y zPtVf7pT8#ANkHF`VgJ4Qh&$H|GPbXsah`wKtKuCU)g76M0fD#U8fG3icVk9VYRomo zo(W$Qa#;`lmU!@hYm0!o)o9S87{&A8X z_v9|QX*+zkCYR0eNehnNsA05D+B~>~F)#DRwD0cf-v!?`>|Vq3=^y)-m@>ZG8>6Z~ Op7eC}b6Mw<&;$TYt87sK literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_storage_tank_front_7.png b/no-mods/pipeworks/textures/pipeworks_storage_tank_front_7.png new file mode 100644 index 0000000000000000000000000000000000000000..ffebf9ba77cd765fb1412cd93887125f95ac7aeb GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAm`Z~Df*BafCZDwc@(y{rIEF|_ zvK~C`%VH?Ndf@uE&C7EIQZ`izGMZm{(xAYqvc>vwzIo`M1!1e6otkATns`U{)icG@ zv-IQ5uh}VfELUilpMPH`Z?*K6n_*|3vj=~@8GFR`h)HTd;QGA`#*Ito$1h8eTyDy- zc<-bBuUZ`U!p!eiC4D-u?t9a|6b>c7XMat;xxA1~V&oU=sA$f8zfM;C@}w7hk2QV8 z)I@c43TI~>&)H!-(|2!|>%=-fo@FnXcy?~kegECWt~$(69A{sX@&p* literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_storage_tank_front_8.png b/no-mods/pipeworks/textures/pipeworks_storage_tank_front_8.png new file mode 100644 index 0000000000000000000000000000000000000000..4974a826d365734d1117e2d3c12f54ded7a651e3 GIT binary patch literal 266 zcmV+l0rmcgP)9`1*bO%vm1={I*_7G^H_SJbH}QW12&}#GESED($_#TgLuM|2SlR5S6Haw;x;8m zzh7$f2z_Z|?Nc&YfGxe4m|hQUzcAh7z%rbE~Ib>e#HQViUA< z^ZfnsJ72RY-fwC7^z++M-9Iawm(9L$`aS=2x#(sMrKf+|4>#GpVR*;lEfF&*{EnUD zoWD&)^1PbQ0{JI59u;3>FZJbuQp%l}x0yHHf>y6v$Wnr$Orcmoh`5l4R;r|thXw{Ln6gM>c{C72D0{#FQiBG9AP_Jj zgs>01g)unHH9YDRv9Ggy-Aesqkl!u%sHRm&zU)#u#j&tR*qH> z1Yv>#{lnKt{M!~LYuPwdumnM<)UfX;0fs3F(EMb0GzvZ(0{UCvLx4IrQk5A7^mo7t z3Ft?_O0Z5)tjZ2IKA-$JKchY!0Sxz4rzrZdo4PCK)a+Qp#Gv7!2x!g#;w zXOJ5L{hc15Inv*t zDM|pE0xgdTkRH9{hGBdF=qiD(LY)@_v?V}!48Sb_X$SCCpw7_W?L%%h!yP<;^dSR6 zpo|1a7eG3JnhxMbZABJPGvJmq_NK`}{=SscD1OaLvU`x-gSiH^>@4Qx?OuYpHQJpNwvDu|zTgpITCa|%`z!PE z^OA$>eGpZR3Q{+rs$=GTGo7u1Pc>RBe34ei-9Gtmij|cuF>`t> zEiZEkjh`un@>1H^+OfcW|^n>`~mk+0Dj2^FJ;HzVxzmck=;@zYANr(2se|3!A(uhQGqJmwSc`Qv1%d9Q*qMeWIL5lm(q!=z=b zSI(Nosj}O`2p>`w!i@3ci?5RM-bX2y#B}#I`44U3mz?>Np}94?60E07S-*|Get5CQ z=D^aiMj4J?+e?b7-(+lj7Q|a6W*N0MugduZ+^79ina>mauybFi(}7!QJ>>U_(97iY zrgdDkf{`Np4DxY6D{@B*LnEi|yEGH|I1y&}LiX2+c;`=Tl^rF}aCzy^yO(hUwv5(H zacVM(%qnGm1a#U~vo{xMk4?&3-H@HL2TU25P(~?a+`x&0n!63(Z8^;taJ#D7<=*P? zkv5|(zP*9tra%#2Y<6&!Bo~PZBUDn|NI_S#X6N%a;AyogvD#X*&gPr%gC%mq9F6FM zL<>2#MLMC`*9>Q9_g-6iMGc|hufyXefw9l?prjMOCm;%`Er#Bjxia(Tj!R?&=AvAW z+e~&+*+<>Fhgj@AjpLn(m9ti;#G|%!-TGE*zT-yVXcOA0IF0$j*yB=NB=gmocu-RIQJ#R3F zd%gUlSM?!p%kutrjgG99y58nci_sVe*tmOlf*l#6B#x-ejnY zBp*&SnviMztCWwz)H~tPQfll88U8GP$Y&03u#A4zB^Gi7OV?K)pC8AG6@7XST1dX~ zu@klT$9cIswmsr?N=wI%UFB6YhwJa^9-M#q#Az;}s)A9FL-mKwKN6;3gyIGlblpTU zz6J{T7Pk>4^2T>07S4uz74I~#Iwsombo3ir$%%96V&5^r7?0T>RX)`b%@!O+GJLqJ zxDwc5&fcGWE`0JWYVh2acGY9B>)z ziLKtpfkgKgjh^q_{UIf6v%9~TWV+(U9LK-gv}&3t2}Mu#15SB7Me!|7b+j9Hhg~%6Je@lg$CQWfl&huAjh<_T zq-ECZ#!{BPlJqU+>99Nwr%RWI*uD>wKIUKWzI(r4zr26=+~?jZu_%epo6bWJgrAa} zxZX|lpS?Kl)U+sv-DnoCl?YwdPGD|<^AtEv0MiOgyQ}ZEi?Dz*m%)wT%m?RbppBHi zlDtp|j0tFitNSK6RY0n#OT|ow0q7>O5(BysXg$+u0;++$SVU>hfwP#>l~avs>Pjh4 z)j;cjst58MkY|{7J=4}iHJqW1wLq5BEti2TWi0MO9n;zfl!m^35vU8a`4WAthHkE+ zP3M8Ebf5g>r_V$;mK|I#+5rD6WGN2r$FL`*B*se=tgkN#QAE5C_Mv~5?Qn8}*Q_t! z9JiyK9dP>Lod#`q^v#9$@A%CL88j4SzUd7dTd+b2ep>L^+4J$%XtF&(RsD4xzN5IS z>)TYBhnO8#6T&)(j&QGjsNmHaN4PSJvNSkrWvqft6+0$KkF@>ZWMPpWt1(_=JGQOv z9?~-3&an)ermM#Jh90ea`96JMWOJI+T)sFP|MONT%MqXVEczYO6Qfo==FGt5tG^@) z1&?$}_SqlAyZulduveBb6vZ-c->W2uB;*ik;6}C?HyOHh`TNqIXXS9?r1s}TIkyb$ z^OxEm5*xA$Fl~}|UPDd%oOYWGk(S^$f{C$3vB`mk5;P)caiDM@4DneO+UebtJ+F{g zvGC1U-v~ci=;6q(`jg{VAZB%ZwoUk*D&dTVuJY(P(3CmwzDFe0VpC*g;hEoup9M`u zcO2LlVJ@AG4c*;rm6rwJd(w(b*VmZ!ds3%~tTPn}oDzNzyVdad9iq|fmZ0R=7P-zg zi1igPR;l2aS4}_hf~EOot-Je*RPzMl!_jKbLs$6HP@LZ%{*4X>0>G$3$G)LoNV6^v_H{F%)Uy*Hd)mw(#6GKvjqQvF|*~!17+S(KV literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_teleport_tube_noctr.png b/no-mods/pipeworks/textures/pipeworks_teleport_tube_noctr.png new file mode 100644 index 0000000000000000000000000000000000000000..ac7364d360db06dda75c7e82a4bc4104698e5622 GIT binary patch literal 1455 zcmchX|3A}t0LMQzUl!*ca;{6QQrBte6#C*)GDTR0j3mUE6sfrlL)?5xCSOnUB}VyL z7$fFOR-(jJ=HzsVQe8@sZJ*CRpKa0m+&^)z$K&;S{`UIe^}~zn?&_qkyGj>=Abl5S z2ahF^|1$xGLjSqRebb3g3q2<9E(I3J)A1GErG52=TGfvOXz+JN*3T9zhfd3+gp z2voNg#)pBj8D@I}^*vSZEqRnDT9S;_=BWp|U=9tf$OK5d`hf_J_XUcJ0L@p41?v6| ztU3q4Q2=HFsT)9I0agtZT(mqLpgf>RL5n%)^$bNp0+3PR1bXr&GD{oy>_q8hW zW0k^EfaU=-2Ovp6Sql`G0CpWH1weTdz!9p>S|Ia+69WKNu57PS-EC6jMgg=K6BGli z62Or_Sr6ni>_$F-&nte9QHrWmT{n>wI*|DSI2^eYhH%fqNx?uK0OY|y<`3kdimXT^ zlL6#sfII}rIESR2UfOxodNOVaES85W75x8#P}YNR2*PK(IM{o#$9V-h)Q@DNi?QOE z_<6B+RXWMhF>WWP3M&J4FlXacFNgUdVP|~W;wdH*n^iZI2@+c~b$xL!zLZO##}jMK zCK!eU26^%GK4v3%z|mmJy^&Q8{MJ`zm~aYuW&VlQw2pt< zVQ6**PdsbA%f<7!dpVpUAqqZr(1$YT(zLw#nKa{9=DMe*^R~QaSX%DqQWl--#( ziS30yZ4Ig(L_BSZO{p7EqbcA}wGb*Js4P1fB?7wHbIPte26NLU=f!vC5K7RK`U!7tK7SXULy27`wavH1dd)eEP`qe)q-fp<8MC6{E7Jc4i<0>6CP_wx@#hy~xxSfr z;UpXtb=>LTrd@&So{@|bG#^;#}aKi^O_>6hgQ>5 zy3@hJv69UDExeJJF#&x2JIk)NQmEsFSg;nw?X>CSqrT_Hm2)=T7J|i)(d6s;E@|{3 z=Dw#+ZKO#f&)u!QA$8`wqo=7BRZe?wt4DmE472$Wk-e|e{xn-rXYbcnA}Ol7U*Jw- z4W;rA_f~#?B@-g_FpNj}LCj?aoNcTGtAuTI9*&T!7hn@Vc7}SJ__I!u-G|S6w}+CU ztjnzO!bXchcOmhy*WR`7&Oa05x&`aHVnRaKgsh2nGPANAtrfntAqel)9IbuyNl09& zmTq`ssL#{Z&{Yn$Zn}(LVP9`TcFy*-{Ku%rI&e3sMu2b1H|)aUNVqeTu@ZPZ&Or3T zmF=Tkr#7<&L#?}OI{xauKuUrtJPx>h`ZZTaqwa{I?Y8aOc--*amK)>&ZNjxMO*6k1 b$!tGJ>3c@#D9FfOdIreF(bb`Ge_-;z8|Xw) literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_teleport_tube_plain.png b/no-mods/pipeworks/textures/pipeworks_teleport_tube_plain.png new file mode 100644 index 0000000000000000000000000000000000000000..0a859f2059d55f8049b05a3f435c7cd583a8ab15 GIT binary patch literal 1682 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 Qfch9bUHx3vIVCg!04J6nEdT%j literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_trashcan_side.png b/no-mods/pipeworks/textures/pipeworks_trashcan_side.png new file mode 100644 index 0000000000000000000000000000000000000000..cf0a3bffdeae2fd1134bd633ceaf3b1f21b1a9c6 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9>#XUMj~_eYz;K=gD8lFI l;uyjqn>=M=q6#Y`L+Ax zYHc}rW2Vcp2@@o(Z+81ADq30_Pqg%$(Q{4eo!^eff*y}Ps>{dum@kw&cr_kqCxfS} KpUXO@geCwznLQl< literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_tube_connection_stony.png b/no-mods/pipeworks/textures/pipeworks_tube_connection_stony.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed02a43b6db3e29b5a5f2f11977205dd05f895a GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`g`O^sAr-gYp7Z5)a}a4ute+c~ zw85aXXW4d+pXZk7{N3*U#$@*9jm6hDTgS>if4y|u&ZC#YEy|kLT`_RxHNKX>tg`v_ zkBv&|b^>hsSXGoBF|QO56L43Q|53S))#vPd{x{kDu^Jguodxf{pFE{t-@TVCEkE4P Ue)`Sv5@mdKI;Vst0P$!-z5oCK literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_tube_connection_wooden.png b/no-mods/pipeworks/textures/pipeworks_tube_connection_wooden.png new file mode 100644 index 0000000000000000000000000000000000000000..ff199ca0750c4e6ebaaa8586549feafe19d0c7e2 GIT binary patch literal 152 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 SDlsbn0000< literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_tube_plain.png b/no-mods/pipeworks/textures/pipeworks_tube_plain.png new file mode 100644 index 0000000000000000000000000000000000000000..9d6442b28493a4a0af67a0cd5623976c5527f494 GIT binary patch literal 1073 zcmV-11kU@3P)1eaMmIWAOSsrdg$?sd-UANceJ{D=iMf_TBFH(($6 z*ib>vo!kwuA%c=S8>RT#-+`x8B*gHc)AyB*qP~tgU0+D?hZ6*D=qqisADJkU@v|#+ ze<(~}2Eq%Tb=(mHjCvHh7b?{cW&9+cOe{hz-LVQB6G{^(cVL7Hm17(!L&tP|#`A$4$yv!S4pnf;%TyQhVkL2`y79o-C-$xcccUYHze8G$!0ksf6Z4WyICNgj|fc z8PS+?Gp8cWoU;{;oibdkxOt?pq-6<2;g++6###)yn9wq#@xsjrh(u0p%thfV8Z&MZ z8Z&AWDnsDWO{u+6nZQ9B8e?j6DkJW_(&(EHZdR}r4)<1kWx>Utos@Szy|R7?`OTEt zjJ5$6u9Gt6(~^@Gu%c~AEv0S9g)7#uE{4$@=G?60BQT=ng^QH7 zDK#%R!GxRK2%t|}Mr}^pikhbj?yQsqmbATdwn(yVp8a<$iXz(_e&t2E%d=9e&ExLJ zF+J>m?l#NqsVp2>B>U}bU+&B4@#EiQdrWq_d~>4jJAXUEQ=S{Xe1GV9>dCMtq!3R5;+q@0O882L9b-(ajP`^tg?j2p*Qh`Z zl<7kI;An<>?1VTaQrom1!pTyU_6lB)%k rgEZLizVEn`X^9OLX53l$k}v%aGK_N=pIn3E00000NkvXXu0mjf{=x$+ literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_tube_short.png b/no-mods/pipeworks/textures/pipeworks_tube_short.png new file mode 100644 index 0000000000000000000000000000000000000000..6729c5329ca6d18ba6e3a125e286110691f6d91a GIT binary patch literal 526 zcmV+p0`dKcP)jqxG)c}xh1XyMhtgcToen~)-A3Q zj0El}3`!1L*y3u735GiwgCd3P(cor@5#bKQpeEQ@iyMWBJ??k_js#oK01z0smR#GX^0>FZd+zmyZvv4_kb|z{NxeOMnjr z!N!jm#F&U+W4Nh8*w_gdgpq{J$4$p!qa!YS{7Z)>`~H6Fe&ug@(>HbV zR@CRF*|k~o)0o!eUDum>S9Pxi!RAUqn{AZxh|5GRw@Dz$dx=)WyfBek1WQ5DI#@YM zGASYk8&UWWa~3GE=0f|NNNf~&BGQbcb{y$3UwS-}&w?wd1!l9^Z1xTP0gxpkntUO| QJpcdz07*qoM6N<$f*K{?ng9R* literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_tube_transparent.png b/no-mods/pipeworks/textures/pipeworks_tube_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..aa4418d118df4c1f0e8f319d8f27070f32bf3af0 GIT binary patch literal 95 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

h(T{7};CMlm z;%yuoxBG#kguHFY`b`(_{xM6~tjOLeme4eSiry5Z=&XEE$%3Fszr;{ixqxzs6V-)p z!jptbmKgol2y`V-ripBJovb;A0MrPx`3d(Nit(C@lS$i2+iO-x1Ns%E?~~Bo@49|_ zW2qzH$tJ;=V%!61@Uz#P+7jY7GOqcfXZSUqBPDE{otU!e@2wHixO{S?+TIuF^Z2K6 z<>tk1yNA6KVE`T;m@q6k_$!B$?LtraxKS>P%SUm226jnWOUI##{D3sC@&5iu?(xZr z&Vf|yVbNdxOgpwly;wkq*bG9BeP zPw$YGkk+I1wYZ1b22f@`b~GA)6cw#;zKA1loe2(*yY+A0=HVG#QZKzEA(R{5ef?b} z`OKP~&;5e^n)7ZcR;4*mb~q{3d>`S%UGME{z^2bPcC>Xst`OT7`2T9c)ttN1B$3_> zL*A_Aq`+-Q*=y6%`%{G1na?4w5l(1ExsFztzLx~C%ObJdd^lBN*s)M@H&p@Fu@i$`L`1d*0JYF*!%qJ@N04K-X zH)Zib302}?eQ%S1Jp7ITjB7>%_rEMM^#@mQ`UL9E6P}<<=&UY zpGs@p?`wT4D`;3Xug#Ie_#lZCQX+i_!)Kp`eM~YNoLEWntXYa*??*m&NcS+i#QZ4Y zNzs?wIpyGb>DQh$k{Y9`^;nfb?nh+b4)XmtTm;8fhW2euBz~G3YYd7_qJ}*CIMmbo zozL)x?zm~jLJ;~{Y6+=Frf6ZoqNJ^(qVMRu{aMqwRPZQlVj!J4W$<9D?CHgxrSDov zJu}_x2IddnOcal{#=fH!)P`?z$c1UGk;?=9f>-tRLgtplS(4~xi_~=+MNyUN4qpG3?1CBA z16TI}+t>4JY!k`Um(hb-A&(ze8Ucl_FV?oH4O2(m5UNsmmOn;xScs<&+4XkaH?Ynx zLa5q-tFo+5K+WYkLWibyiHw7dCFSaj&amx8by0bxMg{f*d?H7MUs)ICw@Y>J*TYwr zs!C(;P!~L*t%L}%6;GA=-+Lm!lvN2lWTUWP!mA`Em%H5voyCDHF-Kb&KdXz_!h34K zp2o$W4+_3t8jC+|#K49FFI^9m(6CfocFQf`qc?g>%SW}*yFz+Zl&$s&Y((&(^z4{q z!P<_B(MolB%t%(K8!INi%c?#5c3RpWFmgB3c}|2gt~A&1bZBtM)1kW89 zw3}wgbDy==tOlE;k=UlumyFVZcYlPqhq@Q;vJ&zhZvJ#w{C*@kQBj%QXNr)Zw6I(7 zTP=9|Ddx{0h~|s%^}!H~o@eZDRx4AvmO1l}fyrxcAKHS|fNx_?i)YMRZrEQFUL}=k zuC3+0ba{|utzxMmg)_*Sf!(+C<673POVBE)sxjYpMyD6to{+xz8Fi+vU2E?k*<$V_ z?w8u@#tl&>vM_fPcsdDY+Sjj}>4sHp!MbD35?f^GAbm`0Bm3$G5V zj)9}(LO}SBE#Eo?#p&g1P|9P{?JY(}B*J9Owy?px$yvX%jGn4S(wW!K3D#K#W3hmB zEwbsu50bRa5rb}1Sq;u9+|H&4Nl%zdyJ9*EH}2Ic*ugioxGkK!)azs?ECV@9q*Vwk z7QS7vdkxZ)u)x-Fke~zkBlu*}HgMhGdU;pOY5&obRp5FG*KM*_!g<>!qoaZD#PbHG zPG{%NGC`^uQRk9v|GJ7rsdbEoW5;>SX+SF0Upjm5py!}PX0iRE`=;FfQziu<`GU`s nZ&_hJIR`wSYCr)$@A!~^#sLg<&2;LuToV2t$@icp literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_white.png b/no-mods/pipeworks/textures/pipeworks_white.png new file mode 100644 index 0000000000000000000000000000000000000000..faf0ec13de983c2e28528138705425868155b239 GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;bAV5X>;M1%mmiTn0pxOfx;Tb# c$R;ZY0yzc@j9kw>M1U*?Pgg&ebxsLQ0CUz5%m4rY literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_yellow.png b/no-mods/pipeworks/textures/pipeworks_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..ce1af4113edc81d9536f395ab05106b04b8c51c1 GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;bAV5X>;KmRJMSBp0J+?rE{-7_ cvdId9K#l 0 then -- avoid endless loops with empty tables + while idx > size do idx = idx - size end + return table[idx] + end + end +} + +local register_one_tube = function(name, tname, dropname, desc, plain, noctrs, ends, short, inv, special, connects, style) + noctrs = noctrs or default_noctrs + setmetatable(noctrs, texture_mt) + plain = plain or default_plain + setmetatable(plain, texture_mt) + ends = ends or default_ends + setmetatable(ends, texture_mt) + short = short or "pipeworks_tube_short.png" + inv = inv or "pipeworks_tube_inv.png" + + local outboxes = {} + local outsel = {} + local outimgs = {} + + for i = 1, 6 do + outimgs[vti[i]] = plain[i] + end + + for _, v in ipairs(connects) do + table.extend(outboxes, pipeworks.tube_boxes[v]) + table.insert(outsel, pipeworks.tube_selectboxes[v]) + outimgs[vti[v]] = noctrs[v] + end + + if #connects == 1 then + local v = connects[1] + v = v-1 + 2*(v%2) -- Opposite side + outimgs[vti[v]] = ends[v] + end + + local tgroups = {snappy = 3, tube = 1, tubedevice = 1, not_in_creative_inventory = 1} + local tubedesc = string.format("%s %s... You hacker, you.", desc, dump(connects)) + local iimg = plain[1] + local wscale = {x = 1, y = 1, z = 1} + + if #connects == 0 then + tgroups = {snappy = 3, tube = 1, tubedevice = 1} + tubedesc = desc + iimg=inv + outimgs = { + short, short, + ends[3],ends[4], + short, short + } + 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 + + local rname = string.format("%s_%s", name, tname) + table.insert(tubenodes, rname) + + local nodedef = { + description = tubedesc, + drawtype = "nodebox", + tiles = outimgs, + sunlight_propagates = true, + 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, + basename = name, + style = style, + drop = string.format("%s_%s", name, dropname), + tubelike = 1, + tube = { + connect_sides = {front = 1, back = 1, left = 1, right = 1, top = 1, bottom = 1}, + priority = 50 + }, + after_place_node = pipeworks.after_place, + after_dig_node = pipeworks.after_dig + } + if style == "6d" then + nodedef.paramtype2 = "facedir" + end + + if special == nil then special = {} end + + for key, value in pairs(special) do + --if key == "after_dig_node" or key == "after_place_node" then + -- nodedef[key.."_"] = value + if key == "groups" then + for group, val in pairs(value) do + nodedef.groups[group] = val + end + elseif key == "tube" then + for key, val in pairs(value) do + nodedef.tube[key] = val + end + else + nodedef[key] = table.recursive_replace(value, "#id", tname) + end + end + + minetest.register_node(rname, nodedef) +end + +local register_all_tubes = function(name, desc, plain, noctrs, ends, short, inv, special, old_registration) + if old_registration then + 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 connects = {} + if xm == 1 then + connects[#connects+1] = 1 + end + if xp == 1 then + connects[#connects+1] = 2 + end + if ym == 1 then + connects[#connects+1] = 3 + end + if yp == 1 then + connects[#connects+1] = 4 + end + if zm == 1 then + connects[#connects+1] = 5 + end + if zp == 1 then + connects[#connects+1] = 6 + end + local tname = xm..xp..ym..yp..zm..zp + register_one_tube(name, tname, "000000", desc, plain, noctrs, ends, short, inv, special, connects, "old") + end + end + end + end + end + end + else + -- 6d tubes: uses only 10 nodes instead of 64, but the textures must be rotated + local cconnects = {{}, {1}, {1, 2}, {1, 3}, {1, 3, 5}, {1, 2, 3}, {1, 2, 3, 5}, {1, 2, 3, 4}, {1, 2, 3, 4, 5}, {1, 2, 3, 4, 5, 6}} + for index, connects in ipairs(cconnects) do + register_one_tube(name, tostring(index), "1", desc, plain, noctrs, ends, short, inv, special, connects, "6d") + end + if REGISTER_COMPATIBILITY then + local cname = name.."_compatibility" + minetest.register_node(cname, { + drawtype = "airlike", + style = "6d", + basename = name, + inventory_image = inv, + wield_image = inv, + paramtype = "light", + sunlight_propagates = true, + description = "Pneumatic tube segment (legacy)", + after_place_node = pipeworks.after_place, + groups = {not_in_creative_inventory = 1, tube_to_update = 1, tube = 1}, + tube = {connect_sides = {front = 1, back = 1, left = 1, right = 1, top = 1, bottom = 1}}, + drop = name.."_1", + }) + table.insert(tubenodes, cname) + 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 tname = xm..xp..ym..yp..zm..zp + minetest.register_alias(name.."_"..tname, cname) + end + end + end + end + end + end + end + end +end + +pipeworks.register_tube = function(name, def, ...) + if type(def) == "table" then + register_all_tubes(name, def.description, + def.plain, def.noctr, def.ends, def.short, + def.inventory_image, def.node_def, def.no_facedir) + else + -- we assert to be the old function with the second parameter being the description + -- function(name, desc, plain, noctrs, ends, short, inv, special, old_registration) + assert(type(def) == "string", "invalid arguments to pipeworks.register_tube") + register_all_tubes(name, def, ...) + end +end + + +if REGISTER_COMPATIBILITY then + minetest.register_abm({ + nodenames = {"group:tube_to_update"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local minp = vector.subtract(pos, 1) + local maxp = vector.add(pos, 1) + if table.getn(minetest.find_nodes_in_area(minp, maxp, "ignore")) == 0 then + pipeworks.scan_for_tube_objects(pos) + end + end + }) +end diff --git a/no-mods/pipeworks/vacuum_tubes.lua b/no-mods/pipeworks/vacuum_tubes.lua new file mode 100644 index 0000000..51f6f81 --- /dev/null +++ b/no-mods/pipeworks/vacuum_tubes.lua @@ -0,0 +1,122 @@ +if pipeworks.enable_sand_tube then + pipeworks.register_tube("pipeworks:sand_tube", { + description = "Vacuuming Pneumatic Tube Segment", + inventory_image = "pipeworks_sand_tube_inv.png", + short = "pipeworks_sand_tube_short.png", + noctr = { "pipeworks_sand_tube_noctr.png" }, + plain = { "pipeworks_sand_tube_plain.png" }, + ends = { "pipeworks_sand_tube_end.png" }, + node_def = { groups = {vacuum_tube = 1}}, + }) + + minetest.register_craft( { + output = "pipeworks:sand_tube_1 2", + recipe = { + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "group:sand", "group:sand", "group:sand" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } + }, + }) + + minetest.register_craft( { + output = "pipeworks:sand_tube_1", + recipe = { + { "group:sand", "pipeworks:tube_1", "group:sand" }, + }, + }) +end + +if pipeworks.enable_mese_sand_tube then + pipeworks.register_tube("pipeworks:mese_sand_tube", { + description = "Adjustable Vacuuming Pneumatic Tube Segment", + inventory_image = "pipeworks_mese_sand_tube_inv.png", + short = "pipeworks_mese_sand_tube_short.png", + noctr = { "pipeworks_mese_sand_tube_noctr.png" }, + plain = { "pipeworks_mese_sand_tube_plain.png" }, + ends = { "pipeworks_mese_sand_tube_end.png" }, + node_def = { + groups = {vacuum_tube = 1}, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_int("dist", 0) + meta:set_string("formspec", "size[2.1,0.8]".. + "image[0,0;1,1;pipeworks_mese_sand_tube_inv.png]".. + "field[1.3,0.4;1,1;dist;radius;${dist}]".. + default.gui_bg.. + default.gui_bg_img) + meta:set_string("infotext", "Adjustable Vacuuming Pneumatic Tube Segment") + end, + on_receive_fields = function(pos,formname,fields,sender) + if not pipeworks.may_configure(pos, sender) then return end + local meta = minetest.get_meta(pos) + local dist = tonumber(fields.dist) + if dist then + dist = math.max(0, dist) + dist = math.min(8, dist) + meta:set_int("dist", dist) + meta:set_string("infotext", ("Adjustable Vacuuming Pneumatic Tube Segment (%dm)"):format(dist)) + end + end, + }, + }) + + minetest.register_craft( { + output = "pipeworks:mese_sand_tube_1 2", + recipe = { + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, + { "group:sand", "default:mese_crystal", "group:sand" }, + { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "pipeworks:mese_sand_tube_1", + recipe = { + "pipeworks:sand_tube_1", + "default:mese_crystal_fragment", + "default:mese_crystal_fragment", + "default:mese_crystal_fragment", + "default:mese_crystal_fragment" + }, + }) +end + +local sqrt_3 = math.sqrt(3) +local tube_inject_item = pipeworks.tube_inject_item +local get_objects_inside_radius = minetest.get_objects_inside_radius +local function vacuum(pos, radius) + radius = radius + 0.5 + for _, object in pairs(get_objects_inside_radius(pos, sqrt_3 * radius)) do + local lua_entity = object:get_luaentity() + if not object:is_player() and lua_entity and lua_entity.name == "__builtin:item" then + local obj_pos = object:getpos() + local x1, y1, z1 = pos.x, pos.y, pos.z + local x2, y2, z2 = obj_pos.x, obj_pos.y, obj_pos.z + + if x1 - radius <= x2 and x2 <= x1 + radius + and y1 - radius <= y2 and y2 <= y1 + radius + and z1 - radius <= z2 and z2 <= z1 + radius then + if lua_entity.itemstring ~= "" then + tube_inject_item(pos, pos, vector.new(0, 0, 0), lua_entity.itemstring) + lua_entity.itemstring = "" + end + object:remove() + end + end + end +end + +minetest.register_abm({nodenames = {"group:vacuum_tube"}, + interval = 1, + chance = 1, + label = "Vacuum tubes", + action = function(pos, node, active_object_count, active_object_count_wider) + if node.name:find("pipeworks:sand_tube") then + vacuum(pos, 2) + else + local radius = minetest.get_meta(pos):get_int("dist") + vacuum(pos, radius) + end + end +}) diff --git a/no-mods/pipeworks/wielder.lua b/no-mods/pipeworks/wielder.lua new file mode 100644 index 0000000..4e2882b --- /dev/null +++ b/no-mods/pipeworks/wielder.lua @@ -0,0 +1,457 @@ +local assumed_eye_pos = vector.new(0, 1.5, 0) + +local function vector_copy(v) + return { x = v.x, y = v.y, z = v.z } +end + +local function delay(x) + return (function() return x end) +end + +local function set_wielder_formspec(data, meta) + meta:set_string("formspec", + "invsize[8,"..(6+data.wield_inv_height)..";]".. + "item_image[0,0;1,1;"..data.name_base.."_off]".. + "label[1,0;"..minetest.formspec_escape(data.description).."]".. + "list[current_name;"..minetest.formspec_escape(data.wield_inv_name)..";"..((8-data.wield_inv_width)*0.5)..",1;"..data.wield_inv_width..","..data.wield_inv_height..";]".. + "list[current_player;main;0,"..(2+data.wield_inv_height)..";8,4;]" .. + "listring[]") + meta:set_string("infotext", data.description) +end + +local function wielder_on(data, wielder_pos, wielder_node) + data.fixup_node(wielder_pos, wielder_node) + if wielder_node.name ~= data.name_base.."_off" then return end + wielder_node.name = data.name_base.."_on" + minetest.swap_node(wielder_pos, wielder_node) + nodeupdate(wielder_pos) + local wielder_meta = minetest.get_meta(wielder_pos) + local inv = wielder_meta:get_inventory() + local wield_inv_name = data.wield_inv_name + local wieldindex, wieldstack + for i, stack in ipairs(inv:get_list(wield_inv_name)) do + if not stack:is_empty() then + wieldindex = i + wieldstack = stack + break + end + end + if not wieldindex then + if not data.ghost_inv_name then return end + wield_inv_name = data.ghost_inv_name + inv:set_stack(wield_inv_name, 1, ItemStack(data.ghost_tool)) + wieldindex = 1 + wieldstack = inv:get_stack(wield_inv_name, 1) + end + local dir = minetest.facedir_to_dir(wielder_node.param2) + -- under/above is currently intentionally left switched + -- even though this causes some problems with deployers and e.g. seeds + -- as there are some issues related to nodebreakers otherwise breaking 2 nodes afar. + -- solidity would have to be checked as well, + -- but would open a whole can of worms related to difference in nodebreaker/deployer behavior + -- and the problems of wielders acting on themselves if below is solid + local under_pos = vector.subtract(wielder_pos, dir) + local above_pos = vector.subtract(under_pos, dir) + local pitch + local yaw + if dir.z < 0 then + yaw = 0 + pitch = 0 + elseif dir.z > 0 then + yaw = math.pi + pitch = 0 + elseif dir.x < 0 then + yaw = 3*math.pi/2 + pitch = 0 + elseif dir.x > 0 then + yaw = math.pi/2 + pitch = 0 + elseif dir.y > 0 then + yaw = 0 + pitch = -math.pi/2 + else + yaw = 0 + pitch = math.pi/2 + end + local virtplayer = { + get_inventory_formspec = delay(wielder_meta:get_string("formspec")), + get_look_dir = delay(vector.multiply(dir, -1)), + get_look_pitch = delay(pitch), + get_look_yaw = delay(yaw), + get_player_control = delay({ jump=false, right=false, left=false, LMB=false, RMB=false, sneak=data.sneak, aux1=false, down=false, up=false }), + get_player_control_bits = delay(data.sneak and 64 or 0), + get_player_name = delay(data.masquerade_as_owner and wielder_meta:get_string("owner") or ":pipeworks:"..minetest.pos_to_string(wielder_pos)), + is_player = delay(true), + is_fake_player = true, + set_inventory_formspec = delay(), + getpos = delay(vector.subtract(wielder_pos, assumed_eye_pos)), + get_hp = delay(20), + get_inventory = delay(inv), + get_wielded_item = delay(wieldstack), + get_wield_index = delay(wieldindex), + get_wield_list = delay(wield_inv_name), + moveto = delay(), + punch = delay(), + remove = delay(), + right_click = delay(), + setpos = delay(), + set_hp = delay(), + set_properties = delay(), + set_wielded_item = function(self, item) + wieldstack = item + inv:set_stack(wield_inv_name, wieldindex, item) + end, + set_animation = delay(), + set_attach = delay(), + set_detach = delay(), + set_bone_position = delay(), + hud_change = delay(), + get_breath = delay(11), + -- TODO "implement" all these + -- set_armor_groups + -- get_armor_groups + -- get_animation + -- get_attach + -- get_bone_position + -- get_properties + -- get_player_velocity + -- set_look_pitch + -- set_look_yaw + -- set_breath + -- set_physics_override + -- get_physics_override + -- hud_add + -- hud_remove + -- hud_get + -- hud_set_flags + -- hud_get_flags + -- hud_set_hotbar_itemcount + -- hud_get_hotbar_itemcount + -- hud_set_hotbar_image + -- hud_get_hotbar_image + -- hud_set_hotbar_selected_image + -- hud_get_hotbar_selected_image + -- hud_replace_builtin + -- set_sky + -- get_sky + -- override_day_night_ratio + -- get_day_night_ratio + -- set_local_animation + } + local pointed_thing = { type="node", under=under_pos, above=above_pos } + data.act(virtplayer, pointed_thing) + if data.eject_drops then + for i, stack in ipairs(inv:get_list("main")) do + if not stack:is_empty() then + pipeworks.tube_inject_item(wielder_pos, wielder_pos, dir, stack) + inv:set_stack("main", i, ItemStack("")) + end + end + end +end + +local function wielder_off(data, pos, node) + if node.name == data.name_base.."_on" then + node.name = data.name_base.."_off" + minetest.swap_node(pos, node) + nodeupdate(pos) + end +end + +local function register_wielder(data) + data.fixup_node = data.fixup_node or function (pos, node) end + data.fixup_oldmetadata = data.fixup_oldmetadata or function (m) return m end + for _, state in ipairs({ "off", "on" }) do + local groups = { snappy=2, choppy=2, oddly_breakable_by_hand=2, mesecon=2, tubedevice=1, tubedevice_receiver=1 } + if state == "on" then groups.not_in_creative_inventory = 1 end + local tile_images = {} + for _, face in ipairs({ "top", "bottom", "side2", "side1", "back", "front" }) do + table.insert(tile_images, data.texture_base.."_"..face..(data.texture_stateful[face] and "_"..state or "")..".png") + end + minetest.register_node(data.name_base.."_"..state, { + description = data.description, + tiles = tile_images, + mesecons = { + effector = { + rules = pipeworks.rules_all, + action_on = function (pos, node) + wielder_on(data, pos, node) + end, + action_off = function (pos, node) + wielder_off(data, pos, node) + end, + }, + }, + tube = { + can_insert = function(pos, node, stack, tubedir) + if not data.tube_permit_anteroposterior_insert then + local nodedir = minetest.facedir_to_dir(node.param2) + if vector.equals(tubedir, nodedir) or vector.equals(tubedir, vector.multiply(nodedir, -1)) then + return false + end + end + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + return inv:room_for_item(data.wield_inv_name, stack) + end, + insert_object = function(pos, node, stack, tubedir) + if not data.tube_permit_anteroposterior_insert then + local nodedir = minetest.facedir_to_dir(node.param2) + if vector.equals(tubedir, nodedir) or vector.equals(tubedir, vector.multiply(nodedir, -1)) then + return stack + end + end + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + return inv:add_item(data.wield_inv_name, stack) + end, + input_inventory = data.wield_inv_name, + connect_sides = data.tube_connect_sides, + can_remove = function(pos, node, stack, tubedir) + return stack:get_count() + end, + }, + is_ground_content = true, + paramtype2 = "facedir", + tubelike = 1, + groups = groups, + sounds = default.node_sound_stone_defaults(), + drop = data.name_base.."_off", + on_construct = function(pos) + local meta = minetest.get_meta(pos) + set_wielder_formspec(data, meta) + local inv = meta:get_inventory() + inv:set_size(data.wield_inv_name, data.wield_inv_width*data.wield_inv_height) + if data.ghost_inv_name then + inv:set_size(data.ghost_inv_name, 1) + end + if data.eject_drops then + inv:set_size("main", 100) + end + end, + after_place_node = function (pos, placer) + pipeworks.scan_for_tube_objects(pos) + local placer_pos = placer:getpos() + if placer_pos and placer:is_player() then placer_pos = vector.add(placer_pos, assumed_eye_pos) end + if placer_pos then + local dir = vector.subtract(pos, placer_pos) + local node = minetest.get_node(pos) + node.param2 = minetest.dir_to_facedir(dir, true) + minetest.set_node(pos, node) + minetest.log("action", "real (6d) facedir: " .. node.param2) + end + minetest.get_meta(pos):set_string("owner", placer:get_player_name()) + end, + can_dig = (data.can_dig_nonempty_wield_inv and delay(true) or function(pos, player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + return inv:is_empty(data.wield_inv_name) + end), + after_dig_node = function(pos, oldnode, oldmetadata, digger) + -- The legacy-node fixup is done here in a + -- different form from the standard fixup, + -- rather than relying on a standard fixup + -- in an on_dig callback, because some + -- non-standard diggers (such as technic's + -- mining drill) don't respect on_dig. + oldmetadata = data.fixup_oldmetadata(oldmetadata) + for _, stack in ipairs(oldmetadata.inventory[data.wield_inv_name] or {}) do + if not stack:is_empty() then + minetest.add_item(pos, stack) + end + end + pipeworks.scan_for_tube_objects(pos) + end, + on_punch = data.fixup_node, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + if not pipeworks.may_configure(pos, player) then return 0 end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + if not pipeworks.may_configure(pos, player) then return 0 end + return stack:get_count() + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + if not pipeworks.may_configure(pos, player) then return 0 end + return count + end + }) + end +end + +if pipeworks.enable_node_breaker then + local data + data = { + name_base = "pipeworks:nodebreaker", + description = "Node Breaker", + texture_base = "pipeworks_nodebreaker", + texture_stateful = { top = true, bottom = true, side2 = true, side1 = true, front = true }, + tube_connect_sides = { top=1, bottom=1, left=1, right=1, back=1 }, + tube_permit_anteroposterior_insert = false, + wield_inv_name = "pick", + wield_inv_width = 1, + wield_inv_height = 1, + can_dig_nonempty_wield_inv = true, + ghost_inv_name = "ghost_pick", + ghost_tool = "default:pick_mese", + fixup_node = function (pos, node) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + -- Node breakers predating the visible pick slot + -- may have been partially updated. This code + -- fully updates them. Some have been observed + -- to have no pick slot at all; first add one. + if inv:get_size("pick") ~= 1 then + inv:set_size("pick", 1) + end + -- Originally, they had a ghost pick in a "pick" + -- inventory, no other inventory, and no form. + -- The partial update of early with-form node + -- breaker code gives them "ghost_pick" and "main" + -- inventories, but leaves the old ghost pick in + -- the "pick" inventory, and doesn't add a form. + -- First perform that partial update. + if inv:get_size("ghost_pick") ~= 1 then + inv:set_size("ghost_pick", 1) + inv:set_size("main", 100) + end + -- If the node breaker predates the visible pick + -- slot, which we can detect by it not having a + -- form, then the pick slot needs to be cleared + -- of the old ghost pick. + if (meta:get_string("formspec") or "") == "" then + inv:set_stack("pick", 1, ItemStack("")) + end + -- Finally, unconditionally set the formspec + -- and infotext. This not only makes the + -- pick slot visible for node breakers where + -- it wasn't before; it also updates the form + -- for node breakers that had an older version + -- of the form, and sets infotext where it was + -- missing for early with-form node breakers. + set_wielder_formspec(data, meta) + end, + fixup_oldmetadata = function (oldmetadata) + -- Node breakers predating the visible pick slot, + -- with node form, kept their ghost pick in an + -- inventory named "pick", the same name as the + -- later visible pick slot. The pick must be + -- removed to avoid spilling it. + if not oldmetadata.fields.formspec then + return { inventory = { pick = {} }, fields = oldmetadata.fields } + else + return oldmetadata + end + end, + masquerade_as_owner = true, + sneak = false, + act = function(virtplayer, pointed_thing) + local wieldstack = virtplayer:get_wielded_item() + local oldwieldstack = ItemStack(wieldstack) + local on_use = (minetest.registered_items[wieldstack:get_name()] or {}).on_use + if on_use then + wieldstack = on_use(wieldstack, virtplayer, pointed_thing) or wieldstack + virtplayer:set_wielded_item(wieldstack) + else + local under_node = minetest.get_node(pointed_thing.under) + local on_dig = (minetest.registered_nodes[under_node.name] or {on_dig=minetest.node_dig}).on_dig + on_dig(pointed_thing.under, under_node, virtplayer) + wieldstack = virtplayer:get_wielded_item() + end + local wieldname = wieldstack:get_name() + if wieldname == oldwieldstack:get_name() then + -- don't mechanically wear out tool + if wieldstack:get_count() == oldwieldstack:get_count() and + wieldstack:get_metadata() == oldwieldstack:get_metadata() and + ((minetest.registered_items[wieldstack:get_name()] or {}).wear_represents or "mechanical_wear") == "mechanical_wear" then + virtplayer:set_wielded_item(oldwieldstack) + end + elseif wieldname ~= "" then + -- tool got replaced by something else: + -- treat it as a drop + virtplayer:get_inventory():add_item("main", wieldstack) + virtplayer:set_wielded_item(ItemStack("")) + end + end, + eject_drops = true, + } + register_wielder(data) + minetest.register_craft({ + output = "pipeworks:nodebreaker_off", + recipe = { + { "group:wood", "default:pick_mese", "group:wood" }, + { "default:stone", "mesecons:piston", "default:stone" }, + { "default:stone", "mesecons:mesecon", "default:stone" }, + } + }) + -- aliases for when someone had technic installed, but then uninstalled it but not pipeworks + minetest.register_alias("technic:nodebreaker_off", "pipeworks:nodebreaker_off") + minetest.register_alias("technic:nodebreaker_on", "pipeworks:nodebreaker_on") + minetest.register_alias("technic:node_breaker_off", "pipeworks:nodebreaker_off") + minetest.register_alias("technic:node_breaker_on", "pipeworks:nodebreaker_on") + -- turn legacy auto-tree-taps into node breakers + dofile(pipeworks.modpath.."/legacy.lua") +end + +if pipeworks.enable_deployer then + register_wielder({ + name_base = "pipeworks:deployer", + description = "Deployer", + texture_base = "pipeworks_deployer", + texture_stateful = { front = true }, + tube_connect_sides = { back=1 }, + tube_permit_anteroposterior_insert = true, + wield_inv_name = "main", + wield_inv_width = 3, + wield_inv_height = 3, + can_dig_nonempty_wield_inv = false, + masquerade_as_owner = true, + sneak = false, + act = function(virtplayer, pointed_thing) + local wieldstack = virtplayer:get_wielded_item() + virtplayer:set_wielded_item((minetest.registered_items[wieldstack:get_name()] or {on_place=minetest.item_place}).on_place(wieldstack, virtplayer, pointed_thing) or wieldstack) + end, + eject_drops = false, + }) + minetest.register_craft({ + output = "pipeworks:deployer_off", + recipe = { + { "group:wood", "default:chest", "group:wood" }, + { "default:stone", "mesecons:piston", "default:stone" }, + { "default:stone", "mesecons:mesecon", "default:stone" }, + } + }) + -- aliases for when someone had technic installed, but then uninstalled it but not pipeworks + minetest.register_alias("technic:deployer_off", "pipeworks:deployer_off") + minetest.register_alias("technic:deployer_on", "pipeworks:deployer_on") +end + +if pipeworks.enable_dispenser then + register_wielder({ + name_base = "pipeworks:dispenser", + description = "Dispenser", + texture_base = "pipeworks_dispenser", + texture_stateful = { front = true }, + tube_connect_sides = { back=1 }, + tube_permit_anteroposterior_insert = true, + wield_inv_name = "main", + wield_inv_width = 3, + wield_inv_height = 3, + can_dig_nonempty_wield_inv = false, + masquerade_as_owner = false, + sneak = true, + act = function(virtplayer, pointed_thing) + local wieldstack = virtplayer:get_wielded_item() + virtplayer:set_wielded_item((minetest.registered_items[wieldstack:get_name()] or {on_drop=minetest.item_drop}).on_drop(wieldstack, virtplayer, virtplayer:getpos()) or wieldstack) + end, + eject_drops = false, + }) + minetest.register_craft({ + output = "pipeworks:dispenser_off", + recipe = { + { "default:desert_sand", "default:chest", "default:desert_sand" }, + { "default:stone", "mesecons:piston", "default:stone" }, + { "default:stone", "mesecons:mesecon", "default:stone" }, + } + }) +end

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 N002ovPDHLkV1lThnce^Z literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_plastic_sheeting.png b/no-mods/pipeworks/textures/pipeworks_plastic_sheeting.png new file mode 100644 index 0000000000000000000000000000000000000000..3834df7155e523bfac379d980db171cb9cbf8c9e GIT binary patch literal 152 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 literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_pump_on.png b/no-mods/pipeworks/textures/pipeworks_pump_on.png new file mode 100644 index 0000000000000000000000000000000000000000..50a8bbf452280afd99c0d6a82cebd81b62c0ae94 GIT binary patch literal 26842 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%0A=6xH}_vESQHhAea5mRA=~y`XP2 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 Y|5g-fU_#rQUjP6A07*qoM6N<$f*W&IDF6Tf literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_sand_tube_inv.png b/no-mods/pipeworks/textures/pipeworks_sand_tube_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..3afb05da86490c70dce8976372c42b98cadc3c21 GIT binary patch literal 632 zcmV-;0*C#HP)Ds*L*tzT7!tdkE?BB)e+`sMM z#_Zn1>f62T;mGUVzyJUM9E`G00000ObW%=J|NsC0|NsC0|NsC0|NsC0|NsC0|Ns90 z%@Z!_0005UNkl(fZ{m-Y#P|c7q>}Z zY532c{o7>@$N<#<@wY!yKpBfT{7x7+z*Fg2nE>QS^}i$Op}FA|wlFY!HmP?|hy(UK z2bttWgn#FIOzLJ7FdmV+(!zjLDcdI3o5@xob+Qo! z_UB13Sb&oYQQ#Q%(mJ>|f`F)3XMn-k3poh_$xr-!hD&ep8UwtjTYk(9nCGelg&*~;it5)_$E(CzIYEJ;3A{S2JMS#k_PrtMXHEI#SVmtkA7a=+$0^kxt zH4A$r5kOP8Kd8k6<3s@Zm;u*WD10TW0@m|Wmu_}RQOiOAQ_N47dmyny5y08*@%50# zp%(%2DzNwK9%LREXqNmtuW1^+Y!*sC z&i|ZU2-eEVI4pfIM-l;qjr4z^^pgjJu#Dx>2Xh_vajQRBZHr2V9s}OBGJ91JW0N&X#uPt^bQXUYh*^SlW)itlNn%%Z#Un`?zigmV}In zr`fMp(s;ffmOZc0Yq`j{ItmEaJK(^?{*^=7VOb#n99H7Z5+fX5Zz2wOu@6i3R^I{V z)iBp>{CQY5sycS{pU^Z-9m8AK#J0OB>4$|zg?I=t#B2C`S23uz?czQwVb~1bI%~1o z>~iY}yQE<0Z#ZqE;pEaBJOBmxY1!=8-#$I>eG_N z2~b-nOCpA(*eyW9BfFEP)UoW| z!{pJc>)pca-^J(Gw(jD~?cm1f*ty=vnd;lU-^rZo-N5D2tncH@;L4xj%%bh#$l}eT z;L4rh%b?=UrQ^@200019(n0zF001d;QchF<|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0 z|NsC0|NsC0|NsC0|Ns90QuH8)000AYNkld8{4##~aO9De2@Pdu$U5otw zPk6q;bPA=C3-txa|FVD9(o(xwe_VYyY9SK+eCIEKBt;7cN+!Sw|J?qi3LP&d0P=ME zf3HG;Yyxl%;dB>T7878RxEa2Bkii6ympkBc7lw4QRe`&^HU9fKuVt}?KzX=Z=Pi)Z zvk3q=K3;yTR~Jlx{VA&JOG`EnGR-xATMmm6KwNHsnuHMZ!35wut?TDQAq$f&gfM>X z!oRm}OtxO=({+2Yx)2d~QnI8Ozwm&8T%~CD}ZXs|G}|g#a{a zVMH4sQPDyH_yzDv2p}ni-O>}VNYAn?lyYhu5%NEcNkk;e2{ZR0NuMbpomiF>8i9~_ z&j3AVdC%`6i8eAPn|D}ZCCsdV|hB3>ompbzZJ`H%fY;UU%_3q&|+3oRwc1c&WD|gdEN#| zT~7qHrVq>4DjdE8SlX?R>WadfQMGC}b-U}WpJkJdRh^&?)#GEN6>zOey$~*|3eKlc zPf0y28=ac!qoh%XJQI99q>|7m@ld-j;7|dZ9J4&OMh*4v!&X*~^zybDHSChy%~Yc9 z1(l4KWmqqdV83I1XC0Q!hZ1Y1&<*SPk=t^rFV!z=hMxh+>)I4vYNm9&&8i3=6(pZ} zcN}w2o9H({4IHV}6(4UStylMU8{qS&+#=7b)*;uh^~;*8@5+pLYx9Ai^x< z`Yb{eGC=R>z%K&(%=?s6dZ#A6pdcgy=0!vVgfUT0@V;aeAP9g+81_J%*#QX=E?Jhn zIANh*hw7+>x1I4^psNy3~ z#T%eQuqBb>>eVSA#w0HDdU_m_9k6jD>5uKz2WJ8Z534%P-`LoVv|w!};7$uy`UUWRr7~H^*DJB;00000NkvXXu0mjf6O&LE literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_sand_tube_short.png b/no-mods/pipeworks/textures/pipeworks_sand_tube_short.png new file mode 100644 index 0000000000000000000000000000000000000000..8dcf2b4f5e62e0bc3a6ca07a1741b02e14cf207c GIT binary patch literal 602 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!G6Q@bd`(t}g;U)B`d~^Tk+Xu&9-P!;C$+=gz_rAQj z>)oT%ukRlC@a*FAtD9fnJ@owgwx^fZy?=b>(Yd8hF0Ow2@Wit#8y}xv@$}Lfplt`e zZ-fIW<&q%3;Qs^xLz-suGzJF7T2B|pkP61PS1P-28wjv|$Sp5c*~cHHnC(j{EfHUJ!qod0R#Pay*Z~4jY-x31%M+ ztBe{%7F6ryD7iNuW$@MVH;+CzgNIqezEo#s{QN`zSR0ZLinKABaW{C|&OZ9bIO;*& zKO2)`*)Qr7HZi^kk(ypJWAmRUk-QHsz5ZTbyHal3!8!x63Qe9Q2HV-)$FCpoVmlBQ zmXou5<7S6Pb)V1tu8XVBdoS&O=FhvIM{GWysP>w(t#q!?`NO*^B@~!$dB!w`#(NB$Rr$&y0$X_%dX=wsI0!6l7oVuOs9}rlCM_dQtALgV)^*pkL4mh` bX+IgTe~DWM4f76?4P literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_spigot.png b/no-mods/pipeworks/textures/pipeworks_spigot.png new file mode 100644 index 0000000000000000000000000000000000000000..a79dbf82cfc1d9725e631aebda9062715d6ab9e3 GIT binary patch literal 2463 zcmV;Q31Ie#P)000SQNkl~%bgWpGrK!|_<2_ymn5E20bB(Sjo8*K06 zp6)YqwzhkA0bS4ig!I+IFuU82Q`J?cs%FXW-@kw0z=4H@g}J#o=iK-2-@ktSy1l)9 z^yty-ZxA;e4*UK7UXWg|2W575cXxJnPMkQg8)PR4Z*;|Aev2DS9}EUqXEYk!y?YmL zwWe0EH+oyU!nJGHI-QOSLR3G0{_IzR@futzfWO=fpW+^qyWQ@}>MHix-7AFy`bP9Q zcg^#>C<;s;1n~+C27XvIQR5>KZmj?#w%cvoM^BLyJPKF_kv%}wCL{KtD@dF>OtgLV?BJc{}-0^2`51zhP=lYTR5wsSe zA7TK;+p~gL+ry5f0uU;PaR7Ai;6d*3;K76E&!0n|wY4=UfaNd-3Sd0E2!VySSP0sl zKYyMvhi|C>SDS{OfoN?{G`QlPb2-H-Fbcxc=6IOWD}cXT5k{rqasU4P`zKGH!23Ua z`t;??7Z_W|hnXDj8Nj)>Z{MCieHtopdwxZ+Y(q5iX={5z2MpeGJPgDe*fen$VY!G!7p=yuP+}?AS3MJbA7a1lKZeEqXXXo3;#g z-Kiu(uRtGrj>q42HYt=I-0#16^M)A>wr8|)3F&~5_=-ZV$LOZ{A#AU#BC{mOKI29^8+54)yls%a?E5xM7#Z3K&K=n5Y>m-WF&< zk76LI6e_3hvdBwo4aZDDhq-w1;;UD$-~<`iH_Ptax%2ShLzF`xC7vvf5l#>E%gf7v ze(TmP*^f46hW6wgR$vqneMdly*b^Y=s8Z-uj2WR^v>!t;f|`A4II5g#!w&-l}Ax zQm8|3YmI_>(2F!0%*eH5!j}KjQrRfCrjn|$kUT=}FH4seKX$WLP#tR1vnmBTm7E@; z5{9YPQ72f`dy#9ariHqk3@g%=u^R5FRc@rHB(N>u7lC!NbbwvK&a(H`skpncQ`F6o zD)L8<9-)vvbm$OtfR~d`F#=)wcRZEAaRV_*H(CH^2AXHQ7m3hXY9M7}TOd(v!N-b{ zpYW#ks)@Q+A*1Z3y|lGEb?TJd-6GQ*t?T)5ohS613oFnGKUeWSHd zdR`HrGPV-iM0=9}#4V9gBbO5_8j+7bhSMaRu--X7Yp`{)_D-)6Y0NTP1ynw!=FlFj z4UFhMI(F$v_hxVCgIMTOK+_P@6C#x&)5^N3TSm~+F)4cM8uo43kxd0^+<;lh<^db@ zyvpCkL0^Sd1S^7`ejdeJ%v3GycN`#$YO}DBC8H`WQ0Mc#@srI z-m3VWMitYbD=b~a35+>G*B3ev6*=SwzYtzU9wAW6FVL21Ety1CpT=(ybU98aMSx6n z0idqsvwkRYETu%`Q>Keavl9fZuC^w!dJ5gToHcoE{?e0#$~9VL#bv6uBD`7_dPIWO zVXQf=?Ioimul*9bV$@&ZrK1|?ycySqM9*SQF%Y4*&@Fje>yCdSsDA0Fh3*lDRZ8dq zZ#L;LV`j^1ppUyH6|^dAqoK7{j~tgkge05KOhY|F*@- zP_{1JCPHtk4jZYF)uls3^Jx$8%ak+;J!7J=C17p)RnBT*HX>7HQl|gS zlr+ogG-g`J-1WO(NNE7 z(Kpd^yQrev-=0-wZm8#;IDv+GR+j0__1sRKR5Lwmu0E-up4&Cuv+75?CVFnKKt%9O z^sK_&M9=N?E|K=4B literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_storage_tank_back.png b/no-mods/pipeworks/textures/pipeworks_storage_tank_back.png new file mode 100644 index 0000000000000000000000000000000000000000..3b6a16bb30e4290539fffa61d59dd8d780d615e0 GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UASkfJR9T^xl_H+M9WCilqd%8G= zNJz3CJnMBhL4@VPOzX}cF{P?aHzNcc|3n`3?H1Wy`+mmza}|B-%DFVdQ&MBb@0CPEH#Q*>R literal 0 HcmV?d00001 diff --git a/no-mods/pipeworks/textures/pipeworks_storage_tank_fittings.png b/no-mods/pipeworks/textures/pipeworks_storage_tank_fittings.png new file mode 100644 index 0000000000000000000000000000000000000000..f3b8b243b405a4b77abfe54e254152900f8dde43 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UASkfJR9T^xl_H+M9WCilCc)B=- zNJz3C-0jO^D8O(*vO4E{)Sb==n=%@eJT#l?G?+SDIAXh4JeEgS=bmr>{-Je;Q1QAD zV|6}}Qik1?Cp2E)@eeu9)N(_B=}7e6OV88}H}D6WsVxkt`LCf?Ja{&qeP#=3(33PCBx&GfYfOEiEkb^Yh~3;zUD4L_|aI@bJLEz%MQ?mzS4CMnywI zLjL~#GBPqPEG=heXFEDOaBy%eEiGwjX@Y`+`}_O%_xH}u&OAIk+uPeIDJd!{E9U0r zo12?0E-rg}d+Y1#`T6-rM@R1N?may{NJvQ2)6;8fYmSbNq@<*|xw$bhF-b{D$;rt} zOH0<)*2c!hu&}U{l$7l3>_S39K0ZD$Ffc_$MV+0Ui;Ih=r>A&$ctb-&Mn*@}pP!$coSdtxtFN!Go}QkFh=|3-#iF93kdTm>nVF-bqm7M?m6er~lard7numvn zwzjs9kB^LujF_01hK7c`yu6Bvii3lLfq{Xls;Z@>rIC@5e}8|4g@u-umV7EZZ2$la zq)9|URCwAQS7n>yR+iQ>(=6`}Q!-(gP(#w4X09&ga@l2Ok|o#nU}4A)XQi)7qJ%Q8XePNyAb?zF2t48mSl z<@Q;nf3>s2?(Eg-@3sDlO6+7gTVjvIlj3`dsptl$8os*OWT}?j=N-PYa=Okc91g?b zV0d;ks9dvsd`@e%SGQWPsG_*p2HRx&<5ntcJphozGF6qVO^ws;Zx;NN7X$$_$jw1- zC=c7i-f89Jr$2l7)0Zz_)?VX*sEFg`wwNVFWEWl(DUm_&$PcOr96;w-SP2+F7&V5C zMt3mk9knYb?=zQg{_OH4)o)R51PY5{7RNts?HCW}Imum9wS0eLtv4G!OD7A#8HSxf z*k!K=?LiMvyw5y8{=?w#V-On<<%g-IBE04nF zFdVU~7W4ekoy%JnY@f1JGm7kcx*ZpBDJUT76>&rqB4G!A!(~~TVh`{sIN_?(T&>zw z`3ZA*e0%qU>#IZR2P4-N*VO}Xxx9fdq#}Z-3lFx)H)O42h2aHdjp1E9 z;rb?V?IH;90RE8>v1fbUyObiiNURic`ZilkCX>0t|B-qA_QCltkK`U@rDH1-*FG_n zJh$zjG&ihWN-B|}2t!#e-nZ7;CKDIgB3;mqBm9v$|HI$>^+}Z-P#MjwH$HImiJM2R zZhJwzEtcCKOK0hEr07I~J&DO#7HqNLCs5=hWF9~G#qL#AZcy1c&7hQxNVr@vquhoj zsO_M-4k?F>Ek>D?00u8B#dq@pV;~n0E;AUkfVc5N352NrU}jvZ zEhhIn%;V#aE`R=PI;VJ^p73jp2S}=GSTL3nNhXj)Jd~<}G=oBkFr4XH-&vYwZMa3+ zVa^}jzWaLagp{)qx^z08Ac5Cf4quSmFI+E*18G)3Pzd{AtCvBU>r!cNF@>z#%=51v z?jH%G4mCw__z80h|@VXL+9Mxi5;MCIT}Ry>NS14yP*$ zQ7O=Ax=7dAV$Ee%*(yfvdUj;n?=+3liJ{P3F-)^0W1aby*kShH{Nz9AP8TbLbHqLk zax68oMEJ_g{qIUeNgjM@1Ih&VM{G-qohzka(ODVI{O->2?yA%6QjM_b2&09AC6GRw zOwA35+AyO60$AEN#qt1YS%$TzM+7-Z43UVRF~5Fvyx*QUJT)4PR?`(N2;*$QXHfLo zM@C_XywD35GMIslEfO!cgGeWN*_#>>nE!ord^hA%ni@8%)s+K_U>ltgxJ>I67sD%|*H-=Wh9B~Mo)$LToQJe~0A)E}!*wWu1fh9?0B zC>jBUsEfP;z3I9tdUInk=f`i(`7tJ_;s~qG=R)Y<>*)m1lM&UhEElZ7nw}ISr6h~l z7Nbb6YZ{74EQ7g3pwJngQq^H~P$nh%H`S)o6en8db3UR}#UpMIMbP5SY>EE&bQ}