Pipeworks
Go to file
Cy 28328d975c Multiple updates:
1)  Refactor autoplace,

There was a lot of redundant code and like a dozen unneccessary string
scans for every node next to every tube placed! I put it all into
indexed tables and loops instead of bizarre and unexplainable variable
names and copy and pasted code. There was also no support for notifying
a chest when an item has been taken from it by a filter, so I added
something for that.

I also thought it prudent to fall back on the
allow_metadata_inventory_take function should a special can_remove not
exist. In fact if can_insert doesn't exist, it calls
allow_metadata_inventory_put instead.

I also added a thing for allowing pipes to attach to nodes of other
modules, without having to hard code type all those node names into
autoplace.lua.  Basically node.tube.collects(i,param2) and i is the
direction from the pipe and param2 is the param2 of what it's pointing
at.

I also abstracted the inscrutable correlation between i and
param2 by trial and error (and the paramwand mod) into understandable
functions. There was no pipeworks namespace so I created it, and put
these functions into pipeworks.collects (as distinguished from a
        node.tube.collects function, which uses those functions)

And now it's too late to cart my old clothes to the thrift store,
dangit.

2)  My "node.tube.collects" idea might be redundant with the
node.tube.connect_sides thing, though possibly more versatile so I'll
leave it in.

3) I was using node.tube.connects and fancy functions for checking if it's
the sides or top or whatnot, and this connect_side thing came in. This
should make both my way and the way using connect_side work.

Also removed some debugging cruft
2013-10-14 23:45:07 -04:00
textures added more powerful sand tubes (MESE sand tubes), along with associated crafts, textures, and documentation 2013-07-13 21:16:44 -04:00
.gitignore added .gitignore for temp Kate files, added depends.txt for "default" 2012-07-14 02:51:26 +04:00
LICENSE add license file 2013-07-18 12:25:05 -04:00
README tweak readme to mention the correct place for the documentation 2013-10-04 15:45:21 -04:00
autocrafter.lua fix incorrect usage of after_place_node 2013-10-04 14:36:17 -04:00
autoplace.lua Multiple updates: 2013-10-14 23:45:07 -04:00
changelog.txt Added Nore's item transport mod and integrated it into pipeworks 2013-01-13 21:45:03 -05:00
compat.lua added support for 6d facedir for all tube components, changed autoplace.lua to follow tubes.connect_sides rather than having each component coded individually, and added support for placing deployers and node breakers facing vertically 2013-07-19 19:16:26 -04:00
crafts.lua fix the check for technic for craft recipes, use optional depends to 2013-07-22 01:02:29 -04:00
default_settings.txt added ability to disable most components via config file in world folder 2013-07-13 22:39:25 -04:00
depends.txt oops, technic doesn't need to load first, it depends on pipeworks! duh 2013-07-22 01:07:42 -04:00
deployer.lua Better deployer and node breaker mesecons rules. 2013-10-06 10:35:53 +02:00
devices.lua added ability to disable most components via config file in world folder 2013-07-13 22:39:25 -04:00
flowing_logic.lua fix nil references in flowing_logic.lua 2013-08-07 22:16:47 -04:00
init.lua Better deployer and node breaker mesecons rules. 2013-10-06 10:35:53 +02:00
item_transport.lua Multiple updates: 2013-10-14 23:45:07 -04:00
node_breaker.lua Better deployer and node breaker mesecons rules. 2013-10-06 10:35:53 +02:00
pipes.lua added ability to disable most components via config file in world folder 2013-07-13 22:39:25 -04:00
teleport_tube.lua added reserved teleport channels 2013-08-06 14:58:11 -04:00
tubes.lua added support for 6d facedir for all tube components, changed autoplace.lua to follow tubes.connect_sides rather than having each component coded individually, and added support for placing deployers and node breakers facing vertically 2013-07-19 19:16:26 -04:00

README

This mod uses nodeboxes to supply a complete set of 3D pipes and tubes, 
along devices that work with them.

See http://vanessae.github.io/pipeworks/ 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.