Commit Graph

696 Commits

Author SHA1 Message Date
Zefram
b832c0ad06 Slot sequencing modes for filter-injectors
The filter-injectors used to always prefer to take items from the
beginning of the source inventory.  Because items also tend to get placed
at the beginning of an inventory, this could lead to a chest+injector
buffer only passing through a trickle of one type of item, where other
item types are flowing in and getting later inventory slots.  So now,
the sequencing of source inventory slots is configurable, per-injector,
by form.  In addition to the old priority mode, there's now a random
mode and a rotation mode.

Incidentally refactor the filter-injector code, to avoid duplication
between the itemwise and stackwise variants.
2014-07-21 19:03:56 -04:00
Zefram
1c3fb6b1c5 rename "filter" to "filter-injector"
"Injector" better describes the nodes' main purpose.
2014-07-21 14:47:50 -04:00
Zefram
bd37e96222 Make sorting tube dialog lag-resistant 2014-07-21 14:43:37 -04:00
Zefram
c5ab801741 Better teleport tube control dialog
Describe the two modes as "Send and Receive" and "Send only", rather
than the misleading "On" and "Off".  Also make the mode toggle button
lag-resistant.
2014-07-21 14:43:37 -04:00
Zefram
ebccf81758 Add dispenser
The dispenser is an automated item dropper.
2014-07-21 09:52:58 -04:00
Zefram
22eb00e5d1 Let stack of projectiles diminish in node breaker
The logic that prevents mechanically wearing a tool was also preventing
the diminution of a stack of items to use, such as a stack of snowballs.
Restrict the use of pickcopy to the case where the stack still has the
same item type, count, and metadata.
2014-07-21 09:52:53 -04:00
Zefram
aee9f7e6d6 Add trash can
The trash can can be used either manually (via form) or at the end of
a pipe.  It destroys whatever is placed in it.
2014-07-15 00:52:33 +01:00
Zefram
571d1d45ee Don't show legacy auto-tree-tap in creative invy 2014-07-14 14:55:31 -04:00
Zefram
2b5aeda9d1 Set infotext for node breakers
As node breakers now have a form, they should also have infotext to draw
attention to it, as do most form-containing nodes.
2014-07-14 14:55:29 -04:00
Zefram
6432bf721d Don't spill an extra pick from old node breakers
Due to historical shenanigans around the addition of the pick slot to
node breakers, some breakers that were placed before the addition have
ended up with a mese pick in their newly-acquired pick slot, rather than
in the ghost_pick slot where it belongs.  This causes these breakers to
spill this ghost pick when they are broken.  To avoid this, make pick
spilling conditional on the breaker having a formspec: pre-slot breakers
don't have one.
2014-07-14 14:55:27 -04:00
Zefram
ce1505d008 Fix detector tube item counting
A detector tube would sometimes miss a decrement, due to the pos structure
passed to can_go being modified by the tubed-item entity while it's also
sitting in the timer queue as an argument to item_exit.  As the can_go
API actually depends on being able to mutate the pos structure (see the
teleporter tube), we can't just start passing in a never-mutated copy
of pos.  So for now just fix in the detector tube's can_go, by copying the
structure there.  Incidentally, make the decrement mechanism consistent
between the two forms of increment.
2014-07-14 14:55:22 -04:00
Vanessa Ezekowitz
8aea4b1a13 add conversion routine for cheapie's auto tree taps
turns them into nodebreakers with technic taps if auto tree taps are not
defined and if technic tree taps are.
2014-07-11 09:48:43 -04:00
Zefram
87d87c91fa Name tube items for function rather than material
Previously, some tube types were named based on their function, and others
based on some arbitrarily-chosen material used in their construction,
with no meaningful system governing which was in each category.  With this
change they are consistently named according to function.  Naming style
is also made consistent in the wording that identifies tubes as such,
and in capitalisation.
2014-07-05 12:55:33 -04:00
Zefram
a7cd0e3ddb Fix drops for storage tanks 2014-07-02 21:40:36 -04:00
Zefram
65baf218be Make non-node items in tubes look more solid
Use the "wielditem" visual type for non-node items, with a fixed 45
degree yaw.  This matches the recent change of dropped-item entities from
"sprite" visual to "wielditem".
2014-07-02 21:39:28 -04:00
Novatux
f8bbe908cd Don't wear tools out in nodebreaker if it's mechanical wear (tools which are repaired by the tool workshop of technic) 2014-07-02 14:29:51 +02:00
Novatux
df1c9d0874 Fix bug with multiple input inventories with the filters 2014-07-02 12:42:33 +02:00
Novatux
99a902a8b8 Try to fix some bugs that happen on server restart 2014-07-01 18:42:52 +02:00
Novatux
d532e646f6 Fix problems with incorrectly destructed teleport tubes. 2014-06-29 12:36:22 +02:00
Novatux
5a5bb3bf12 Fix crash with legacy nodebreakers 2014-06-21 08:29:41 +02:00
Novatux
a31a9d573f Ugly attempt to fix detector tube. 2014-06-14 16:54:31 +02:00
Novatux
9a63a16140 Filter inventory fix 2014-06-14 15:35:39 +02:00
Novatux
5ab329285c Try to fix old node breakers dropping items 2014-06-08 22:49:30 +02:00
Novatux
8b0c56ad08 Support for detection of pipeworks fake players by other mods (item drop, etc.) 2014-06-08 16:04:36 +02:00
Novatux
0444d738d7 Fix deployer sometimes destroying items 2014-06-08 11:04:13 +02:00
Novatux
eeff32781c Try to fix #67 2014-06-01 08:51:18 +02:00
Novatux
476a60b848 Fix #66 2014-05-25 22:24:42 +02:00
Vanessa Ezekowitz
ec8796f8d3 delete redundant check 2014-05-24 21:20:31 -04:00
Novatux
fd3c88eb86 Accept multiple input inventories, fix bug with mesecons_mvps 2014-05-23 19:49:35 +02:00
Novatux
8efcd39e39 Bugfix 2014-05-18 16:41:37 +02:00
Novatux
3f72bbf3d0 Much better node breaker, own contents of deployer too (but still allow IO with tubes) 2014-05-18 14:30:58 +02:00
Novatux
ee47216140 Remove debug code 2014-04-20 19:59:54 +02:00
Novatux
274d7fb048 Deployer fixes 2014-04-13 09:25:31 +02:00
Vanessa Ezekowitz
d662a37920 use leaves group for ALL parts of the plastic base recipe, derp 2014-04-10 01:29:37 -04:00
Tim
d6d513d0f8 change the decorative grating recipe to something more unique, fixes #58 2014-03-28 20:57:54 +01:00
Tim
df4d0a08d0 fix valve recipe crafting unknown nodes 2014-03-28 20:37:08 +01:00
Ciaran Gultnieks
7bac96c588 Add optional before/after filter callbacks
These allow nodes that manage inventory in a non-standard manner (e.g. a
barrel) to still be able to work with pipeworks filters.
2014-02-10 19:19:57 +00:00
Vanessa Ezekowitz
458fbb6240 check for malformed table in scan_for_tube_objects() 2014-02-08 21:54:06 -05:00
Vanessa Ezekowitz
012aa39821 Add alternate sand tube recipes using desert sand 2014-01-16 17:10:41 -05:00
Vanessa Ezekowitz
169ef701d2 Make unprocessed plastic base from any kinds of leaves that are in group:leaves
also, retire the junglegrass- and dry shrub-based recipes for same, as those
nodes are somewhat rare now.
2014-01-16 13:39:13 -05:00
Vanessa Ezekowitz
653b65a168 fix missing tubelike meta on legacy tubes
(kept them from properly routing items after placement)
2014-01-12 02:10:34 -05:00
Novatux
9f66fd40ad allow_metadata_inventory_take returns a number, not a bool 2014-01-11 08:04:11 +01:00
Novatux
466d8af41d Prevent items from leaving below filters 2014-01-10 21:26:14 +01:00
Novatux
3250b00d5a Fix 2014-01-10 20:15:53 +01:00
Vanessa Ezekowitz
876c172a54 add recipe for crossing tube 2014-01-10 13:20:01 -05:00
Vanessa Ezekowitz
937a8a5732 fix nil reference crash in tube autorouter when unknown nodes are nearby
(?)
2014-01-05 21:56:14 -05:00
Novatux
d33eb89dcb Support for the mesecons mvps callback 2014-01-03 21:36:10 +01:00
Vanessa Ezekowitz
9a9bd2f491 misc fixed 2014-01-02 04:36:52 -05:00
Vanessa Ezekowitz
8e4d444a70 Update all recipes to use the new node names 2014-01-01 23:44:23 -05:00
Vanessa Ezekowitz
1dc7410024 fix missing wield/inventory image on "compatibility" tubes
gave them fuller node defs with descriptions et al. also and
made them directly call the scan-for-tube-objects function
when placed.
2014-01-01 23:14:27 -05:00