Commit Graph

91 Commits

Author SHA1 Message Date
Jude Melton-Houghton 1349ff8dd8
Return early from on_step (#33) 2022-05-15 10:58:35 -04:00
OgelGames 06fd754216 fix `pipeworks_enable_items_per_tube_limit` setting
fixes #7
2022-01-07 13:42:08 +11:00
cheapie 7ad991ce40 Assorted changes to tube breaking/repair behavior
* Tubes can now be intentionally broken using a hammer
* Log messages have been improved slightly for tube repair
* Punching a broken tube now causes damage due to the sharp edges
2021-03-27 19:51:23 -05:00
HybridDog 17a602a5a1 Remove unused loop variables, trailing whitespace and fix mixed-whitespace indentations 2021-02-05 17:17:50 +01:00
HybridDog b2d2ccbcba Remove or comment unused code and declare some variables local 2021-02-03 18:08:50 +01:00
Alexander Ried c79e68a80c Consider connect_sides for item transport
Previously connect_sides was only used to choose the correct visual
model, but not during item transport. This allowed items to exit tubes
in directions without a visual connection and enter objects from sides
that should not be connectable according to connect_sides.
For example an item could enter a chest from the front, if a tube passed
there.

This change saves the connect_sides in the meta table of the object
whenever the visual representation is updated. When nothing is cached
yet, it uses the old behavior. That way it does not break existing
builds.
2020-06-30 10:11:22 +00:00
Louis Royer 62bc13078f Add translation support
- Created `locale/template.txt`
- Fixed some typos
- Replace some `print("[pipeworks]"..` with `pipeworks.logger()`
- Removed "You hacker, you" from descriptions
2020-02-18 17:34:52 +00:00
SmallJoker 6fdda18390 Handle nil return value for add_item
Remove old comments. Current HEAD requires version ~0.4.16
2018-08-04 12:27:09 +02:00
SmallJoker 92a55c3985 Replace deprecated Lua function calls 2018-07-03 22:30:44 +02:00
thetaepsilon-gamedev a2e183c6f3 item_transport.lua: split out determination of next position in go_next() into separate function 2017-12-19 23:15:44 +00:00
thetaepsilon-gamedev fb91ba53f1 item_transport.lua: read cycle direction at start of go_next() in preparation for refactoring 2017-12-19 22:53:18 +00:00
thetaepsilon-gamedev 97522b6a24 item_transport.lua: update return statements in go_next() to include multimode parameter 2017-12-19 18:38:02 +00:00
thetaepsilon-gamedev 755dd26208 item_transport.lua: move tube limit checking before can_go() callback in go_next() 2017-12-19 18:17:22 +00:00
thetaepsilon-gamedev 56362cdd2a item_transport.lua: factor out tube overload code into separate function 2017-12-18 23:07:40 +00:00
thetaepsilon-gamedev 28a3ba44d1 item_transport.lua: initial support in item luaentity for multiple outputs and trajectories from go_next() 2017-12-18 22:38:24 +00:00
thetaepsilon-gamedev d659cb38b3 item_transport.lua: read extra multimode parameter from go_next callback 2017-12-18 22:07:53 +00:00
DS a5e1bfa0e8 give more possibilities to mods (#194)
* add owner to tubed items

* allow custom inventories
2017-08-20 18:05:08 -04:00
Jordan Irwin 69d994a2a2 Replace deprecated methods: (#179)
- 'setting_get' with 'settings:get'
- 'setting_getbool' with 'settings:get_bool'
2017-05-18 05:33:56 -04:00
DS c9c4b4cd15 make item drop by tubes nicer (#168)
* make item drop by tubes nicer
2017-04-09 01:19:40 -04:00
Vanessa Ezekowitz bea570555a remove "reversed" warning message
(not needed now that tube breaking is reliable)
2017-04-07 03:35:24 -04:00
Vanessa Ezekowitz f3a74bb618 default breaking code to "enabled" and lower the default limit to 30. 2017-04-06 00:15:16 -04:00
Vanessa Ezekowitz 2aa9556748 tonumber() the config'd items limit 2017-04-06 00:02:31 -04:00
Ekdohibs ef68e058ec Don't lose extra movement when entering new tube or turning around. 2017-04-06 05:13:40 +02:00
Ekdohibs 7680820d3e Make item counting more reliable and more efficient. 2017-04-06 03:46:23 +02:00
Novatux 33c4c9d552 let tubes break if they're "over-pressure"
that is, if there are more than X number of items in a tube.  Default is
40 in a tube, but breaking is also disabled by default.

(original framework by Novatux, with changes by VanessaE)
2017-04-05 11:43:41 -04:00
Vanessa Ezekowitz eab59bfe19 always set item start pos on reverse. 2017-04-05 11:43:41 -04:00
ForbiddenJ 0056116148 Namespace pollution cleanup (Used list at #154) 2017-04-04 05:27:37 -03:00
Vanessa Ezekowitz 3a77d1dd8e if an item should reverse dir (e.g. full destination),
and it's not going back into a tube, reject it and pop out as an item
2017-03-29 16:54:38 -04:00
Vanessa Ezekowitz 0e8a82fdba add a warning if a tubed item turns around
(too many means that something is wrong with that tube circuit)
2017-03-29 15:25:05 -04:00
Carter Kolwey cdbe93cdd8 Allow reversing direction if there's nowhere to go 2017-03-01 01:40:06 -03:00
greencopper e30364b2dd Changed item_drop to add_item for items dropped during transport.
item_drop makes Minetest 0.4.13 crash, but add_item works in all
versions and the behavior is identical when looking at the blocks.
2016-04-01 22:20:07 -07:00
HybridDog 352e23cfb1 fix crash caused by deprecated usage of minetest.item_drop, fixes #122 2015-11-17 07:52:20 -05:00
Novatux bedcf4d646 Try to fix items dropping in unloaded areas 2015-07-25 14:29:57 +02:00
Novatux dada8474fe Revert "fix multiple crash points if luaentity.entities or values returned from"
This reverts commit d0952a97fc.
2015-06-23 19:00:17 +02:00
Vanessa Ezekowitz d0952a97fc fix multiple crash points if luaentity.entities or values returned from
luaentity.add_entity() are nil
2015-06-23 12:48:20 -04:00
Tim b54a868c33 chmod -x *.lua 2015-01-29 21:59:35 +01:00
Tim 009b9e9276 split the filter-injector specific code out of the generic item_transport 2015-01-29 19:57:23 +01:00
Vanessa Ezekowitz 28cef5e82f update to use current mesecons API
requires mesecons commit 5be179bf110b44bdc06df6dbfde4e61487cf0635 or newer.
2014-11-22 13:55:54 -05:00
Novatux b49428721a Make filters behave correctly with protected areas (fixes #74) 2014-11-16 13:14:17 +01:00
Vanessa Ezekowitz bbc530a067 fix undefined node crash 2014-08-24 11:51:43 -04:00
Zefram 7915e7f51e Rename tube_item() to tube_inject_item()
The new function has no API compatibility with the old one, so give it
a different name to avoid confusion among caller mods, which need to
change their usage.  Have a function under the old name that outputs a
helpful error message.
2014-08-15 13:24:52 +02:00
Novatux bf6fe237de Fix typo 2014-08-14 22:02:36 +02:00
Novatux d4e14bc891 Add legacy code for items in tubes 2014-08-14 21:18:48 +02:00
Novatux d5480f5ff0 Major rewrite of items in tubes 2014-08-14 16:22:03 +02:00
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 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 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 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