Github is a non-free platform owned by Microsoft. Reasonable alternatives exist, such as Gitea, Sourcehut. We need a federated, mastodon-like forge based on ForgeFed. See: https://forgefed.org
Sends the same events from tubelib interaction as would be sent from pipeworks
* Moved the tube_can_insert and tube_insert_object callbacks out of the node definition so they can be re-used in the tubelib registration
* Optionally required tubelib and registered callbacks for pushing and pulling
* Used "speculative pull" variable to only send a "take" event if tubelib's unpull is not called after a pull - this happens when it tries to take an item but there is no room, so it fails
Typeset the lines according to these rules (in order of subjective significance):
* words that fit on the screen but would let the current line overflow are placed on a new line instead
* " | " always forces a linebreak
* spaces are included, except when there is a linebreak anyway
* words with more characters than fit on screen are just chopped up, filling the lines as full as possible
* don't bother typesetting more lines than fit on screen
* if we are on the last line that will fit on screen
Whenever putting or taking items, tell the listeners which slot they
were put into or taken from. Also tell listeners when the user moves
items from one slot to another.
Fix various bugs regarding spurious messages being sent, item stack
swapping not being reported properly, etc.. Change from sending strings
to sending tables. Enhance Pipeworks tube support by reporting which
side an item is added or removed via tube or filter-injector.
Previously, Digilines used concatenations of X/Y/Z coordinates into
strings as keys to check for repeatedly visiting the same node during a
graph search. Replace them with integer keys generated by
`minetest.hash_node_position`, which should be more efficient.
Replace the recursive depth-first search of a wire network with an
iterative breadth-first search, primarily to reduce memory footprint and
eliminate the possibility of stack overflow.
Digilines is probably used by most people in its entirety.
I've retained the ability to disable inventory, rtc, lightsensor and
LCD by the minetest settings "diglines_enable_rtc" etc.. If set to
"false", these components will not be loaded. It is assumed by default
that these are enabled.
In the conversion the digilines_lcd:lcd node was renamed to
digilines:lcd (same for all the other nodes). To retain backwards
compatibility I've provided aliases for each of these nodes.
The on_metadata_inventory_take method of digiline_inventory:chest was
broken, since it used a `channel` local variable that was never defined,
but should have been fetched from the node's meta