Commit Graph

202 Commits

Author SHA1 Message Date
FaceDeer
4b810fc584 removing collectgarbage() from layout creation 2019-06-28 15:56:27 -06:00
FaceDeer
aa927fe26a protect against extremely large builder periods causing entities to be added out of range 2019-06-09 23:53:09 -06:00
Thomas Rudin
445140abaa limit size of the digtron with config option: digtron_size_limit, default to 1000 nodes (#52) 2019-06-09 23:15:27 -06:00
Alex
b3d01a714c Update layout to prevent duplication (#54) 2019-06-06 19:45:25 +02:00
Pierre-Yves Rollo
6726897413 Avoid crate corruption when dug with special tools (#53) 2019-06-06 19:45:11 +02:00
tuedel
d41190a842 execute_downward_dig_cycle: Add missing parameter (#45) 2019-03-17 10:32:35 +01:00
FaceDeer
e09f1b9f56 found a way for incomplete digtron layouts to be created 2019-01-13 16:02:41 -07:00
FaceDeer
556b80bc22 Another guard against a nil that shouldn't be possible 2019-01-13 11:19:40 -07:00
FaceDeer
8ea6d7eb70 collectgarbage hammer fix, and add some asserts to crash before corrupting anything in impossible situations. 2019-01-13 03:02:02 -07:00
FaceDeer
03beff0d33 Add block count to default crate title 2019-01-09 00:39:40 -07:00
FaceDeer
1d5d1d20df a little more optimization, and sounds when placing nodes on builders and diggers 2019-01-09 00:20:02 -07:00
FaceDeer
d4a03478e2 prevent digging of immortal nodes 2019-01-05 22:55:46 -07:00
FaceDeer
5985788181 fixing extrusion - place a copy of the example item, not the example item itself 2019-01-05 22:04:56 -07:00
FaceDeer
5c0700456c
Optimization of table allocation, more sophisticated entity damage (#37)
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.
2019-01-04 22:06:12 -07:00
FaceDeer
fe753a9bed check for presence of node def before testing wallmounted 2019-01-02 20:36:21 -07:00
FaceDeer
1f778ba0fe Handle some formspecs differently, allowing digtron components to be placed on builders and intermittent diggers more easily 2019-01-01 23:31:51 -07:00
FaceDeer
8ff9239274 validate parameters 2019-01-01 23:22:52 -07:00
Alex
cff5385881 Awards: Use custom triggers (#32)
* Awards: Use custom triggers

* Remove extra trigger

* Remove non-existent type

* Replace missed player arg
2018-12-23 19:06:49 -07:00
Alex
bcc2f64c2e Use updated awards API (#31)
* Use updated awards API

* Fix dig/place incrementing

* Use awards.player() in crates

* Use new 'dig' incrementor for digtron packing

* Only initialize tables if they dont exist

* Fix typo

* Remove init function, use checks instead
2018-12-14 00:48:41 -07:00
Thomas Rudin
1011901938 fix crate protection (#25)
* fix crate protection

all crates check area protection (minetest.is_protected)
protected crates check area and owner (even if not in protected area)

* separate check and action

* whitespace stuff

* another missing whitespace

* add suggestion from T4im
2018-10-15 17:13:06 -06:00
Thomas Rudin
d3397563ec Fix undeclared global variable warnings
Closes #26 (trivial)
2018-08-28 20:25:13 +02:00
FaceDeer
0cb8d2dc33 add ability for Digtron to emerge unloaded map blocks 2018-06-10 23:00:54 -06:00
FaceDeer
1c41a2cdcd update readme 2018-06-09 21:06:02 -06:00
FaceDeer
b33d33074c
Merge pull request #20 from numberZero/fix-global
No need to make auto_cycle global
2018-05-09 08:18:55 -06:00
FaceDeer
6ef9f95a60
Merge pull request #21 from shivajiva101/shivajiva101-patch-1
fix crash vector
2018-05-09 08:17:46 -06:00
shivajiva101
bdc7e8e4f2
fix crash vector
add nil check to prevent crash, fixes #17
2018-05-09 09:48:01 +01:00
FaceDeer
9cc5288326
Merge pull request #18 from joejulian/broken_inventory_hack
Create missing tables
2018-02-25 23:51:25 -07:00
number Zero
3209856d6b No need to make auto_cycle global 2018-01-26 23:29:26 +03:00
Joe Julian
564bc11799 Create missing tables
After a failure to move the digtron with its metadata, some nodes were
broken. This worked around crashes that occurred if the inventory table
was missing.
2018-01-11 11:13:10 -08:00
FaceDeer
33995bc6ec attempt to recover from failure to write to map
There have been reports of large, distant-from-player Digtrons apparently failing to completely write their layouts to the map, resulting in an inconsistency.

This adds an attempt to brute-force a solution. When a map write fails it will be retried until it succeeds, or until 1 second elapses (at which point the write is aborted in a hopefully somewhat clean manner).
2018-01-07 13:38:25 -07:00
FaceDeer
fdde32283a add logging and crash-proofing for issue 17
A user has reported a crash that appears to involve a builder node (group 4) that lacks a "main" inventory somehow. This code prevents a crash in this circumstance and logs the node_image to hopefully identify the culprit.
2017-12-31 18:21:44 -07:00
FaceDeer
1de57191b0 configurable duration for crate markers 2017-11-17 18:49:43 -07:00
FaceDeer
123e470544 Add filters to prevent non-whitelisted craft items from being built 2017-11-16 16:53:01 -07:00
FaceDeer
317877cda5 documentation and locale update 2017-10-24 21:37:02 -06:00
FaceDeer
c5a9d9fff9 add locked Digtron crate 2017-10-24 21:25:46 -06:00
FaceDeer
a4b89dd762 add node_box definitions to fix inventory images 2017-10-24 21:16:37 -06:00
FaceDeer
1224a34615 add Digtron duplicator block 2017-10-22 19:50:11 -06:00
FaceDeer
ae0a24b19b fix fuelstore formspec on construct 2017-10-22 19:48:46 -06:00
FaceDeer
2949dbd764 prevent crate from storing null Digtrons 2017-10-22 19:48:28 -06:00
FaceDeer
94ccab9c39 add automation option to item ejector 2017-10-21 22:29:18 -06:00
FaceDeer
e93ff05956 update mod.conf 2017-10-18 23:29:31 -06:00
FaceDeer
f53a79fe34 support farming_plus plants. 2017-10-18 23:27:46 -06:00
FaceDeer
dbb0d51de5 enable [crops] planting. 2017-10-17 10:06:56 -06:00
FaceDeer
8abd57146d add recent new nodes to the catacombs protected list 2017-10-17 00:37:19 -06:00
FaceDeer
abc7f2e414 fakeplayer for callbacks, switch to whitelist for on_place calls 2017-10-16 21:35:24 -06:00
FaceDeer
0430d423f7 account for extrusion in power consumption, add on_place blacklist 2017-10-15 21:56:18 -06:00
FaceDeer
c801e59942 prevent default on_place from screwing everything up. 2017-10-15 14:21:30 -06:00
FaceDeer
d480b9bf2f mark_diggable needed a player reference to dig steel doors without crashing 2017-10-15 12:54:48 -06:00
FaceDeer
fec29263b0 remove unnecessary fallback, the default is already safe 2017-10-15 12:46:03 -06:00
FaceDeer
3393d44c3b use node_def on_place when it exists. Enables seed placement. 2017-10-15 11:54:10 -06:00