Commit Graph

244 Commits

Author SHA1 Message Date
HybridDog
e1f07e048d Fix timegate's dependency on utils
The addition of dependencies in commit 52fc535d26
was incomplete, so loading the moremesecons_timegate mod can fail.

This change adds the moremesecons_utils dependency to those mods which
require the moremesecons table as reported by luacheck.
I've also made .luacheckrc more strict so that it sets globals per mod
and allows reading the moremesecons table only in mods which also have
the moremesecons_utils dependency.
2025-12-25 12:42:43 +01:00
tour
3c3fc6749a prevent invalid rotations and add on_rotate callbacks 2025-11-15 09:57:45 +01:00
tour
46d1f500bf entity_detactor: detect stacks of dropped items 2025-11-15 09:57:45 +01:00
tour
3b0d06569d rewrite timegate to make use of nodetimers
- fixes a crash with timer=NaN
- fixes 1-tick circels with timer=0
- fixes timegates getting stuck when unloaded in on-state
2025-11-15 09:57:45 +01:00
tour
52fc535d26 Add missing dependencies (#41)
Some dependencies are technically not necessary but should help to avoid issues in the future.
2025-07-17 19:22:07 +02:00
tour
3e93b939f3 Validate user inputs (#39) 2024-12-19 19:47:36 +01:00
tour
79b72e8b76 Replace deprecated formspec element 'invsize' with 'size' (#37) 2024-11-22 21:21:37 +01:00
fluxionary
e72790f0eb commandblock: don't allow sending colored text if server forbids it (#28) 2024-05-26 17:39:51 +02:00
tour
93384188d5 Make mesechest more reliable (#35)
The current hack to get on the `on_player_receive_fields` function is quite likely to break with instrumented code.
This also changes the workaround to get custom inventory callbacks by using `minetest.override_item`.
2024-04-30 17:38:20 +02:00
tour
b24feb4073 Add missing formspec escape (#34)
* fix missing formspec escape

* formspec_escape at the correct place
2024-01-23 15:33:02 +01:00
HybridDog
31a98e2c9b Add a GitHub action for luacheck (#33) 2023-08-28 12:19:58 +02:00
fluxionary
cbae2c7f88 Add a distance limit to the entity detector (#32)
The distance limit can be configured with the `moremesecons_entity_detector.max_radius` setting.

An additional change prevents a crash if an object returned by `get_objects_inside_radius` is neither a valid player nor a luaentity. We don't know why this happens but it sometimes does.
2023-08-17 20:42:54 +02:00
luk3yx
464699e78b Fix error in command blocks (#30)
Possibly caused by force-loaded blocks.
2023-04-07 17:20:43 +02:00
fluxionary
13645134a6 Fix comma typos (#27) 2022-11-07 20:00:35 +01:00
sys4-fr
e47e855baf Replace deprecated depends.txt with mod.conf (#24) 2022-07-15 17:11:39 +02:00
upsilon
b8deed592f Mesechest: correctly use new default.chests.register_chest 1.3 2021-05-24 11:43:04 +02:00
sys4-fr
1dab017abe Fix possible crash and wireless receptors in unloaded map blocks (#22)
Co-authored-by: sys4 <bricassa@sys4.fr>
2021-04-14 16:21:16 +02:00
HybridDog
74a95e559e Use opaque use_texture_alpha for the timegate and dual_delayer (#20)
* Use opaque use_texture_alpha for the timegate and dual_delayer

This avoids warnings shown by Minetest and improves the nodes' look when a bilinear filter is enabled.
Since the textures are also used as inventory images, I didn't remove the transparency from the texture files.
2021-04-08 18:44:29 +02:00
HybridDog
c41d0371c0 Various code fixes detected by luacheck
* Luablock: Fix the missing position argument when executing the lua code fails
* Wireless: Fix the missing id argument
* Localize several variables
* Some other small changes, e.g. dead code removal
2021-03-08 19:40:21 +01:00
HybridDog
28292dc2a5 Add a luacheckrc 2021-03-08 19:40:21 +01:00
HybridDog
e5cdeef141 Remove unused loop variables 1.2 2021-03-07 20:18:18 +01:00
upsilon
182eb9822a Better fix for #16 2021-03-07 10:40:05 +01:00
upsilon
021100b3d4 Add a setting for disabling the wireless jammer
Fixes #17
2021-03-07 10:25:11 +01:00
upsilon
227cba54b2 Avoid stack overflow using wireless + digilines
Fixes #16
2021-03-07 10:25:11 +01:00
HybridDog
4d7508ae70 Recompress the textures
This reduces the PNG file sizes and fixes the invalid sRGB profile warnings.
I have additionally reduced the moremesecons_luablock.png resolution to 32x32.
2020-08-07 20:53:37 +02:00
upsilon
67875f9c6e Fix bug allowing timegate duplication
Fixes #13
2020-05-10 10:09:34 +02:00
upsilon
de765f7f7b LuaBlock: run in separate environment, add a "mem" table 2020-05-09 13:18:44 +02:00
upsilon
7ba7a5cceb MapDataStorage: replace "%a" format with "%.17g" 2020-04-29 18:06:17 +02:00
upsilon
f2de7c89b1 MapDataStorage: change serialization in mod storage
Use minetest.serialize on the full values table instead of serializing
each value independently and concatenating.
2020-04-29 12:43:29 +02:00
HybridDog
0000cfb474 Remove old vector_extras code and use the MapDataStorage 1.1 2020-04-14 08:49:21 +02:00
HybridDog
9aa0e6ab3d Add MapDataStorage code as replacement for get_data_from_pos etc.
In comparison to using Minetest's hash_node_position, this saves additional information about the z-only and zy-only components, which is what the vector_extras code did.
In comparison to the old vector_extras code, this does not create lots of lua tables, which is slow, but instead uses one table as hashmap.
2020-04-14 08:49:21 +02:00
upsilon
54030d1620 Wireless: transmit digilines messages on all channels 2020-04-11 13:01:17 +02:00
upsilon
be7982a453 Major wireless refactor 2020-04-11 12:45:33 +02:00
upsilon
899ea4aa29 Wireless: remove legacy code. 2020-04-09 19:27:11 +02:00
upsilon
8c8cdd38ff Add mesecons_luacontroller as a dependency to the luacontroller tool. 2020-04-09 19:22:15 +02:00
upsilon
5d29cdce5b Avoid activating wireless that no longer exist. 2020-04-09 19:21:40 +02:00
upsilon
4dbc96eafa New digiline interface for the adjustable player detector
The name of the detected player can now be requested by sending {command
= "get"} to the detector. The detection radius can be changed by sending
{radius = value}.
2020-04-09 17:02:31 +02:00
upsilon
7cf99da1a5 LuaBlock: Major changes in mod storage usage
Data associated to a LuaBlock is redundantly stored in both its metadata
and in the mod storage so that it is not possible to hack a LuaBlock by
changing its metadata or copying it using WorldEdit. This commit changes
how it is done:
* Store full code instead of storing MD5 checksum, which avoids bug
caused by serializing non-ASCII strings using minetest.serialize,
* Also store owner,
* Use `minetest.hash_node_position` instead of deprecated vector_extras
set_data_to_pos etc,
* Remove mod storage data associated with the LuaBlock when destroying
it,
* Create helper functions for manipulating the mod storage in
moremesecons_utils, I will soon update other parts of MoreMesecons as well to use them.

This commit breaks backwards compatibility: previously created LuaBlocks
will have to be reset by opening the formspec and pressing the `Submit`
button.

This commit also fixes an unrelated bug: code in the formspec was not
correctly escaped using minetest.formspec_escape.
2020-04-09 16:25:21 +02:00
upsilon
2b2faeca02 Fix crash when using the playerkiller
Fixes #9
2018-08-20 10:42:11 +02:00
upsilon
8a56370ce8 Allow using templates on multiple luacontrollers
Fixes #8
Patch submitted by @oiaohm
2018-02-27 16:33:18 +01:00
upsilon
ce9544d2bf Remove mod storage checks 2017-06-23 13:47:41 +02:00
upsilon
4c81b43032 mesechest: add crafts 2017-06-10 10:11:05 +02:00
upsilon
89b1fe18c5 mesechest: colorize textures 2017-06-09 20:44:25 +02:00
upsilon
ae5a96cb42 Mesechest: make mesechest work with last mt_game version 2017-06-09 20:44:25 +02:00
upsilon
fd21b16c02 Mesechest: limit API functions overwriting 2017-06-09 20:44:25 +02:00
upsilon
6291b4c001 Add the mesechest 2017-06-09 20:44:25 +02:00
upsilon
dbd5c4cf99 Luacontroller tool: add counter and clock templates (#7) 2017-06-08 16:33:53 +02:00
upsilon
400e90c9ca Fix luacontroller tool crash
Set "sender" parameter when executing on_receive_fields callback
2017-06-08 16:01:33 +02:00
upsilon
aa2ae82cc2 Merge branch 'AntumDeluge-settings' 2017-06-04 17:56:30 +02:00
Pierre-Adrien Langrognet
d580e0e974 Merge branch 'master' into settings 2017-06-04 17:57:16 +02:00