summaryrefslogtreecommitdiff
path: root/filter-injector.lua
AgeCommit message (Collapse)Author
2020-02-18Add translation supportLouis Royer
- Created `locale/template.txt` - Fixed some typos - Replace some `print("[pipeworks]"..` with `pipeworks.logger()` - Removed "You hacker, you" from descriptions
2020-01-14fix injector compatibility with technic hv machinesOgelGames
2020-01-10filter-injector.lua: Rename exact_match -> exmatch_modeelectrodude
Also fixed bad conditional that would accept non-integer values of exmatch in a message.
2019-01-02Support Technic freezerWeinzierl Stefan
fixes #7
2018-10-30use basic_materials mod where possibleVanessa Dannenberg
2018-09-17Add on-rotate to chests, furnaces, filter-injector, dispenser, deployer, and ↵12Me21
node breaker
2018-07-13Add pipeworks.create_fake_playerSmallJoker
Fix setter issue, add dynamic/static option Add player height. Properties aren't adaptive yet
2018-07-03Add is_player to fakePlayer. Prevents grabAndFire-related crashesSmallJoker
2017-10-15Enhance params to can_remove and remove_itemChristopher Head
By passing the list name and the slot index, these functions now receive all data related to removal of an item from an inventory: the side on which the removal is taking place, as well as which stack is being pulled from. This means it’s no longer necessary to choose between implementing `on_metadata_inventory_take` (which tells you which item stack was pulled from but not from which side of the node) or `remove_item` (which tells you which side the filter is on but not which item stack it wants to take).
2017-09-25make the filters use ghostitems (#197)DS
2017-09-25fix digiline_filter crashing when getting a string as count (#196)DS
* fix digiline_filter crashing when getting a string as count * move it to somewhere else * :cat2:
2017-08-20give more possibilities to mods (#194)DS
* add owner to tubed items * allow custom inventories
2017-06-23prevent crash if node being taken from has no invVanessa Ezekowitz
2017-04-12also check for group "tubedevice" (fixes injecting into one-way tube)Vanessa Ezekowitz
2017-04-12make sure there's something appropriate to inject an item intoVanessa Ezekowitz
(fixes #123)
2017-04-04Namespace pollution cleanup (Used list at #154)ForbiddenJ
2017-03-17Make filter-injector work with latest chest versionsThomas--S
2017-03-17Add missing table entriesCarter Kolwey
2017-02-28Special-case technic machinesCarter Kolwey
This makes them work correctly with filters.
2016-10-10Allow Digiline Filter-Injector to match wear, metadata, and groupelectrodude
You can now make reqyests like `{group="stick"}`, `"default:pick_wood 1 30000"`, and `"mod:block <count> <exact wear> <meta>"` to match items precisely. If you don't specify a field, that field won't be checked. If you specify a field in an invalid way, that rule will match nothing. You can also specify wear as a table `wear={min, max}` to specify a range `[min, max)` of acceptable wear values. For example, `{name="default:pick_wood", wear={0, 32768}}` matches only wooden pickaxes that have at least half of their life left. You can even do things like `{count=2, metadata="whatever")}`, which will match any item at all, as long as its metadata matches, and will retrieve at most two of those items.
2016-10-10Digiline Filter-Injector tweakselectrodude
* Made digiline filter-injectors not pull a whole stack if the count is exactly 1 * Made digiline filter-injectors pull a whole stack if no count specified * `default:dirt` still has a count of 1, but `{name="name"}` has no count
2016-08-29add list rings to pipework inventoriesTim
2016-05-10Add Digiline Filter-Injectorelectrodude
This adds a new type of Filter-Injector that waits for a digiline message on its channel and then pulls the items described by the message out of the inventory. It is basically a Stackwise Injector that, on receiving a digiline message, sets its filter to the contents of the digiline message and then activates itself. Sending the message {name="default:brick", count=2} should do the same thing as setting the filter of a Stackwise Filter-Injector to two Brick Blocks and then punching it. If no count is specified, it defaults to 1. Since this is based off of the Stackwise Injector, it might make more sense if the default were an entire stack. I can change this trivially. You can also send requests like {{name="default:brick", count=1}, {name="default:dirt", count=1}}, which acts the same as setting the filter to one Brick Block and one Dirt Block and then punching it. If you send a string "default:dirt" instead of a table {name="default:dirt"}, the string is passed to ItemStack and the name and count are extracted from the resulting ItemStack. You can also send a list of strings instead of tables: {"default:dirt", "default:brick"}, and the first item found will be pulled. Punching this or activating it with Mesecons currently does nothing. I'm not really sure what would be the right thing to do in either of those two cases, so I made it do nothing. I guess I could make it use the previously-used filter, but I can't really see any usefulness in that. The recipe is probably too cheap. The darker of the two blue texture colors could probably be better.
2016-04-14add exact mode to the filterProt EuPhobos
2015-10-10added is_fake_player entry to the fake player table passed on to ↵Sokomine
allow_metadata_* functions
2015-03-11add ownership/protection handling for device configurationTim
take any available ownership into account before deciding on area protection
2015-02-07fix filters alsoVanessa Ezekowitz
2015-02-04Fix injector crash when dug or punched when its emptyest31
2015-02-03Enable to specify size for stacks a stackwise filter takesest31
2015-01-29move autocrafter, tp-tube and filter-injector crafts to their respective ↵Tim
code files
2015-01-29update all formspecs "current_name" to "context" to reflect current apiTim
2015-01-29split the filter-injector specific code out of the generic item_transportTim