* Apply area protections on storage nodes
* Fix player undefined
* Reuse codes, and add code for duplicator inventory
* Add code for controller and builder
* Fix luacheck
* Calls to `ObjectRef:moveto()` (Replaced by `ObjectRef:add_pos()` or `ObjectRef:move_to()` depending on engine version)
* Calls to `ObjectRef:setyaw()` (Replaced by `ObjectRef:set_yaw()`)
* Calling `MetaDataRef:set_string()` with `nil` as the second parameter (Replaced by `""`)
If the interval of the digtron is too short (e.g. 1s) while the falling time of nodes in front of the digtron is too long, digtrons may run into them. Previously, this would result in falling nodes destroying the digger head. With this change, the digtron absorbs the falling node and puts it into its inventory.
* add luacheck and ci workflow
* fix another bunch
* more fixes
* more fixes
* regex magic
* add deps
* doc.lua special rules
* more regex magic
* final fixes
---------
Co-authored-by: BuckarooBanzay <BuckarooBanzay@users.noreply.github.com>
Changes digtron.tap_batteries function so that battery wear and charge is set directly to 0 instead of needlessly calculating it.
Fixes a crash that happens if a battery item doesn't define tool capabilities.
This pass cleans up a lot of unnecessary table allocation and disposal, which should help with memory usage and garbage collection.
It also adds some sophistication to the entity damage process from diggers, allowing items to be picked up into Digtron inventory.
This is basically working, but still needs revisions to take advantage
of the new information being stored in the image data. It should be
possible to do all the temporary inventory work directly on the image
file so that no put-back-in-inventory steps will be needed any more.
Much nicer.