Commit Graph

27 Commits

Author SHA1 Message Date
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
Thomas Rudin
f2fff77e90 fix metadata loss on rotate
use swap_node() instead of set_node() so locked chests can be used again after rotation
2018-11-27 20:47:37 +01:00
12Me21
d8ed6d3af4 Tubes now update their connections when rotated with the screwdriver. 2018-09-15 10:30:13 -04:00
ForbiddenJ
0056116148 Namespace pollution cleanup (Used list at #154) 2017-04-04 05:27:37 -03:00
Vanessa Ezekowitz
364633d884 make all tubes call the routing functions
using their after_place/after_dig callbacks
2015-02-07 02:45:17 -05:00
Vanessa Ezekowitz
e33b662274 remove obsolete calls to register_on_placenode/dignode
they're slow and obsolete
2015-02-07 01:41:44 -05:00
Tim
b54a868c33 chmod -x *.lua 2015-01-29 21:59:35 +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
d5480f5ff0 Major rewrite of items in tubes 2014-08-14 16:22:03 +02:00
Vanessa Ezekowitz
458fbb6240 check for malformed table in scan_for_tube_objects() 2014-02-08 21:54:06 -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
Novatux
b0c50203d2 Add 6d tubes, cleanup code a bit 2013-12-31 13:54:13 +01:00
Vanessa Ezekowitz
7488f6c091 Fix glitch in tube autorouter
(brain-o in how I was handling unknown/bad nodes being passed to it.  this
works better and lets the code do its job properly).
2013-12-24 09:11:26 -05:00
Novatux
10cf11e008 A few more fixes (spamming the commit log again...) 2013-12-21 11:11:36 +01:00
Vanessa Ezekowitz
c0ce62dacf local-ize a few more variables and functions 2013-12-15 05:53:11 -05:00
Vanessa Ezekowitz
53f6e67399 local-ize a few more functions 2013-12-15 05:40:26 -05:00
Vanessa Ezekowitz
659b4e42b2 local-ize a few more variables, move all of the nodebox models
into their own file and confine them and pretty much everything
else to the pipeworks.{} table (still global though).  More to
come.
2013-12-15 04:35:59 -05:00
Vanessa Ezekowitz
bd80f18cfc local-ize pretty muchg everything that was previously global except where
stuff needs to be globally-visible.  Also, fix a bad drop on valve.
2013-12-15 02:53:10 -05:00
Vanessa Ezekowitz
29da8992ec More sanity checks on the nodeside() function, courtesy ShadowNinja 2013-12-10 21:41:15 -05:00
Vanessa Ezekowitz
e4a7af5858 Better way to catch that incoming nil, return a real value on the way out 2013-12-10 21:18:29 -05:00
Vanessa Ezekowitz
ebfa12205a Revert "catch nil return from facedir_to_dir() in tube autoplace code"
This reverts commit 4f9c7a43c9f1f0ab3286c755c49bd8d2951b4dc8.
2013-12-10 21:16:33 -05:00
Vanessa Ezekowitz
4f9c7a43c9 catch nil return from facedir_to_dir() in tube autoplace code 2013-12-10 21:09:38 -05:00
Vanessa Ezekowitz
713cf01585 limit tube autoconnect checking to only run if tube.connect_sides
is defined for a particular node (rather than the whole tube table).

Also, tweak wording of an error message to account for line
numbering changes.
2013-11-26 00:46:36 -05:00
Vanessa Ezekowitz
bd1d8bbd86 Make the tube_connects={} method work properly for technic devices.
Also phase out "old new" API, leaving only the "tube_connects={}" method,
as nothing in technic or pipeworks uses it.

Fix a few more places where minetest.facedir_to_dir() was duplicated, since
that code is part of Minetest 0.4.8.
2013-11-26 00:26:38 -05:00
Vanessa Ezekowitz
bf7993b802 get rid of some extraneous print statements 2013-11-25 23:59:52 -05:00
Vanessa Ezekowitz
7289bfcfba Split pipe and tube autorouting functions into separate files. 2013-11-25 23:55:52 -05:00