Commit Graph

426 Commits

Author SHA1 Message Date
Jude Melton-Houghton
5c248c2d7d Add callback on_mapblocks_changed 2022-12-24 08:24:59 -05:00
Jude Melton-Houghton
f80ea73bfb
Let mods choose a forceload limit (#13002) 2022-12-03 10:41:34 -05:00
Wuzzy
3c7f26d937
Add support for attached facedir/4dir nodes (#11432) 2022-11-24 17:56:07 -05:00
Jude Melton-Houghton
475005012a
Improve ABM and LBM registration error handling (#12969) 2022-11-20 21:26:54 +01:00
Abdou-31
d1b80b462e
Fix typos and en_US/en_GB inconsistency in various files (#12902) 2022-11-09 11:57:19 -05:00
Jude Melton-Houghton
8f1593e4e8
Add VoxelArea() constructor (#12886) 2022-10-22 08:05:45 -04:00
DS
22cbc05808
Add an item pick up callback (2) (#7712)
Co-authored-by: SmallJoker <mk939@ymail.com>
Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
2022-10-01 15:21:06 -04:00
20kdc
b1233056b7
Add zstd compression support (#12515) 2022-09-28 09:06:14 -04:00
Jude Melton-Houghton
f4a01f3a5d
Avoid duplication of mod metadata in memory (#12562)
Co-authored-by: sfan5 <sfan5@live.de>
2022-09-26 17:03:43 -04:00
Jude Melton-Houghton
310b12b5ed
Content ID caching in Lua (#12444)
* Cache content IDs in Lua

Co-authored-by: sfan5 <sfan5@live.de>
2022-09-18 17:46:48 +02:00
Wuzzy
1d04903c19
Add paramtype2s for 4 horizontal rotations and 64 colors (#11431)
4dir is like facedir, but only for 4 horizontal directions: NESW. It is identical in behavior to facedir otherwise. The reason why game makers would want to use this over facedir is 1) simplicity and 2) you get 6 free bits.
It can be used for things like chests and furnaces and you don't need or want them to "flip them on the side" (like you could with facedir).

color4dir is like colorfacedir, but you get 64 colors instead of only 8.
2022-09-16 13:18:55 +02:00
Zughy
3132efcc01
Reassure previous nil behaviour for tiles and special_tiles (#12678)
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2022-08-13 15:35:28 +01:00
Jude Melton-Houghton
ab8dfb45b4
Allow buffer argument to VoxelManip:get_light_data (#12682) 2022-08-13 08:53:47 +02:00
Zughy
8bf1609ccc
Fix crash when crafting callbacks return strings (#12685)
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2022-08-12 10:17:37 +01:00
Gregor Parzefall
70b71c5013
Fix rotation of falling facedir nodes (#12587)
in some cases
2022-07-31 15:18:29 +02:00
Jude Melton-Houghton
d631f21024
Let core.get_mod_storage be called multiple times (#12572) 2022-07-23 22:27:07 +02:00
Lars Müller
b204655081
Fix regression & replace more occurrences of vector.new with vector.copy (#12539) 2022-07-14 20:51:42 +02:00
Lexi Hale
20bd6bdb68
Animated particlespawners and more (#11545)
Co-authored-by: Lars Mueller <appgurulars@gmx.de>
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: Dmitry Kostenko <codeforsmile@gmail.com>
2022-07-13 11:57:12 +02:00
AFCMS
fae8726a76
Make VoxelArea:position() return a vector with metatable (#12521) 2022-07-09 22:32:33 +02:00
Lars Müller
b15393c2a5
Replace deprecated use of vector.new with copy 2022-07-08 13:52:58 +02:00
sfan5
fc3460470a
Add missing item alias metatables to async environment (#12458) 2022-07-04 01:06:42 +02:00
rubenwardy
b095dc4f2b
Fix error when item isn't provided to core.hud_replace_builtin (#12484) 2022-07-02 18:28:11 +01:00
Zughy
18fbc0394b
Remove tile_images and special_materials obsolete code (#12455)
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2022-06-28 00:55:01 +01:00
sfan5
1b68fb7683 Don't allow banning in singleplayer
fixes #11819
2022-05-29 14:00:19 +02:00
Wuzzy
ac5e8176b9
Add relative numbers for commands by prepending ~ (#9588)
* Add relative numbers for commands by prepending ~

* Some builtin code cleanup

* Disallow nan and inf in minetest.string_to_area

* Remove unused local variable teleportee (makes Luacheck happy)

* Clean up core.string_to_pos

* Make area parsing less permissive

* Rewrite tests as busted tests

* /time: Fix negative minutes not working

Co-authored-by: Lars Mueller <appgurulars@gmx.de>
2022-05-22 10:28:24 -04:00
sfan5
ec9f157512 Use native packer to transfer globals into async env(s) 2022-05-10 22:37:42 +02:00
Lars Müller
089797dbe6
Fix Minetest blaming the wrong mod for errors (#12241)
Covers the case where mods insert their callbacks manually into "minetest.registered_<callbacks>" (often to achieve a particular order of execution).
2022-05-09 20:42:43 +02:00
sfan5
7fff9da71d item_entity: Cache collisionbox for use in on_step
I don't have absolute numbers but if calls to get_properties() take up
30%+ of on_step() execution time that's bound to matter.
2022-05-08 19:12:10 +02:00
sfan5
e7659883cc Async environment for mods to do concurrent tasks (#11131) 2022-05-02 20:56:06 +02:00
sfan5
e6385e2ab7 Reorganize some builtin functions in preparation for async env 2022-05-02 20:54:55 +02:00
SmallJoker
1c8614ac9a
Builtin: Allow to revoke unknown privileges 2022-04-24 21:08:33 +02:00
olive
062dd8dabc
Send chat error when attemping to /set a secure setting (#12193)
Attempting to /set a secure setting will now say that is disallowed.
Previously this would shut down the server.
Reading secure settings via /set is still allowed.
2022-04-16 18:50:36 +02:00
Lars Mueller
9aabd911eb Fix item entity Z-fighting 2022-04-10 23:25:00 +02:00
Dmitry Kostenko
cf650fcaac Avoid negation of comparison operator (luacheck warning) 2022-04-01 09:00:39 +02:00
Zughy
44fc888bd6
Allow get_sky to return a table (#11963) 2022-03-05 22:15:41 +01:00
Lars Mueller
1e4d6672be Fix builtin statbar backgrounds
see #12000
2022-01-31 16:35:30 -05:00
sfan5
5da204f5bc
Get rid of basic_debug last minute
This isn't a revert but rather just disables the codepaths. also see #12011
2022-01-30 21:32:49 +01:00
sfan5
a9bccb964f Raise max mapgen limit constant to align with mapblock size 2022-01-30 13:49:26 +01:00
SmallJoker
47735c273c
Builtin: Sanity-check /time inputs (#11993)
This enforces the documented bounds for the /time command.
2022-01-27 22:23:14 +01:00
sfan5
8c99f2232b Don't let HTTP API pass through untrusted function
This has been a problem since the first day, oops.
2021-12-18 20:37:13 +01:00
sfan5
1c5ece8334 Fix eat sound not playing if eating last of stack 2021-12-15 15:36:19 +01:00
Corey Powell
413be76c63
Implemented disconnect_player (#10492)
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2021-11-26 19:19:40 +00:00
Wuzzy
6910c8d920
Fix number of tool uses being off by 1..32767 (#11110) 2021-10-31 22:33:33 +00:00
sfan5
660e63dbae
Fix item duplication if player dies during interact callback (alternative) (#11662) 2021-10-25 20:30:27 +02:00
sfan5
a78124831f Fix incorrect error message in core.encode_png 2021-10-22 10:55:18 +02:00
sfan5
16a62426d6 Add feature table entry for new dynamic media API 2021-09-19 13:54:06 +02:00
sfan5
bbfae0cc67
Dynamic_Add_Media v2 (#11550) 2021-09-09 16:51:35 +02:00
Wuzzy
ff9945dc6e
Fix falling mesh nodes being half size (#11389) 2021-09-01 22:20:57 +02:00
Treer
149d8fc8d6
Add group-based tool filtering for node drops (#10141)
Supports both AND and OR requirements, e.g.

 * "a tool that's in any of these groups"
 * "a tool that's in all of these groups"
2021-08-27 20:23:20 +02:00
hecks
eefa39e47b
Remove statement semicolons from a lua script 2021-08-09 21:03:18 +02:00
hecks
80d12dbedb
Add a simple PNG image encoder with Lua API (#11485)
* Add a simple PNG image encoder with Lua API
Add ColorSpec to RGBA converter
Make a safety wrapper for the encoder
Create devtest examples

Co-authored-by: hecktest <>
Co-authored-by: sfan5 <sfan5@live.de>
2021-07-29 05:10:10 +02:00
Wuzzy
f4d8cc0f0b
Add wallmounted support for plantlike and plantlike_rooted nodes (#11379) 2021-07-15 21:19:59 +02:00
Warr1024
52128ae11e
Add API for mods to hook liquid transformation events (#11405)
Add API for mods to hook liquid transformation events

Without this API, there is no reliable way for mods to be
notified when liquid transform modifies nodes and mods are
forced to poll for changes.  This allows mods to detect
changes to flowing liquid nodes and liquid renewal using
event-driven logic.
2021-07-09 09:08:40 -04:00
AFCMS
8cc04e0cb4
Run on_grant and on_revoke callbacks after privs change (#11387)
Callbacks were run too early. This changes the order to call after the privs are updated.
2021-06-30 20:40:45 +02:00
Wuzzy
63fc728a84
Require 'basic_debug' priv to view gameplay-relevant debug info, require 'debug' priv to view wireframe (#9315)
Fixes #7245.
2021-06-24 21:21:19 +03:00
sfence
b10091be9b
Add min_y and max_y checks for Active Block Modifiers (ABM) (#11333)
This check can be used by ABM to reduce CPU usage.
2021-06-20 17:21:35 +02:00
Wuzzy
dc165fe942
Message for empty list output in /haspriv & /mods (#11149) 2021-06-12 18:48:21 +02:00
benrob0329
fbcf0fab8e
falling.lua - Fix Meshnodes Being Too Big (#11307) 2021-06-12 18:48:14 +02:00
DS
8f085e02a1
Add metatables to lua vectors (#11039)
Add backwards-compatible metatable functions for vectors.
2021-06-04 21:22:33 +02:00
sfan5
1bc753f655 Use safe_file_write to save forceloaded blocks 2021-05-30 11:40:14 +02:00
Wuzzy
d7a4479eb3 Fix misleading /shutdown command syntax 2021-05-29 11:45:04 +02:00
Wuzzy
228f1c6770
Fix rotation for falling mesh degrotate nodes (#11159) 2021-04-28 08:38:47 +02:00
Wuzzy
90a7bd6a0a
Put torch/signlike node on floor if no paramtype2 (#11074) 2021-04-20 19:50:03 +02:00
benrob0329
a106bfd456
Also return the ObjectRef from minetest.spawn_falling_node() (#11184) 2021-04-13 20:02:43 +02:00
sfan5
f345d00a43 Add entry in features table for degrotate changes 2021-03-30 14:40:09 +02:00
Vitaliy
3b78a22371
Degrotate support for mesh nodes (#7840) 2021-03-30 00:25:11 +02:00
Wuzzy
7ad8ca62dc
Clean up various misleading and/or confusing messages and texts related to priv changes (#11126) 2021-03-29 19:57:48 +02:00
HybridDog
fc1512cca6
Translate chatcommand delay message and replace minetest with core (#11113) 2021-03-26 20:59:05 +01:00
Wuzzy
a8cc3bdb08
Builtin: Translatable join, leave, profiler msgs (#11064) 2021-03-19 21:46:11 +01:00
HybridDog
88b052cbea
Chatcommands: Show the execution time if the command takes a long time (#10472) 2021-03-13 11:18:25 +01:00
Wuzzy
c48bbfd067
Fix misleading chat messages of /clearobjects (#10690) 2021-03-08 20:27:32 +01:00
Wuzzy
d9b78d6492 Predict failing placement of ignore nodes 2021-03-07 14:26:50 +01:00
Wuzzy
cafad6ac03 Translate builtin (#10693)
This PR is the second attempt to translate builtin.
Server-sent translation files can be added to `builtin/locale/`, whereas client-side translations depend on gettext.
2021-03-05 16:29:48 +01:00
HybridDog
92f4c68c0c
Restructure teleport command code (#9706) 2021-02-24 11:46:39 +01:00
Elias Fleckenstein
b2ab5fd161
Replace deprecated call to add_player_velocity in builtin (#10968) 2021-02-18 14:39:04 +00:00
rubenwardy
a8f6befd39
Fix short_description fallback order (#10943) 2021-02-17 18:53:44 +00:00
rubenwardy
4db7fb4a3b Replace 'minetest.' with 'core.' in builtin 2021-02-11 10:18:22 +00:00
sfan5
40ad976753 Revise dynamic_add_media API to better accomodate future changes 2021-02-01 23:00:13 +01:00
rubenwardy
6e0e0324a4
Fix minetest.dig_node returning true when node isn't diggable (#10890) 2021-01-31 18:49:51 +00:00
sfan5
83229921e5 Rework use_texture_alpha to provide three opaque/clip/blend modes
The change that turns nodeboxes and meshes opaque when possible is kept,
as is the compatibility code that warns modders to adjust their nodedefs.
2021-01-29 17:34:41 +01:00
sfan5
edd8c3c664 Drop never documented 'alpha' property from nodedef
Includes minimal support code for practical reasons.
We'll need it for a slightly different purpose next commit.
2021-01-29 17:34:41 +01:00
Zughy
45ccfe26fb
Removed some obsolete code (#10562)
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2021-01-21 18:17:09 +00:00
JDiaz
08ee9794fb
Implement on_rightclickplayer callback (#10775)
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2021-01-11 18:03:31 +01:00
Wuzzy
535557cc2e
Fix fallnode rotation of wallmounted nodebox/mesh (#10643) 2020-12-22 14:54:27 +01:00
sfan5
ecd4f45318 Fix certain connected nodeboxes crashing when falling
fixes #10695
2020-12-04 11:28:45 +01:00
Wuzzy
ee1853e9bc
Fix falling image of torchlike if paramtype2="none" (#10612) 2020-11-15 17:37:09 +01:00
sfan5
61bbdd6807 Copy position for can_dig
fixes #10514
2020-11-12 21:08:26 +01:00
DS
be3fe161fc
Do not set a default for description in itemdef table (#10559)
* Do not set a default for description in itemdef table

* improve documentation
2020-11-10 21:03:10 +01:00
DS
f3ae45b2b2
Add a short_description to be used by mods (#8980) 2020-10-09 19:11:21 +01:00
HybridDog
2f4037752b
Add minetest.get_artificial_light and minetest.get_natural_light (#5680)
Add more detailed light detection functions, a function to get the artificial light (torches) and a function to get the sunlight as seen by the player (you can specify timeofday).

Co-authored-by: rubenwardy <rw@rubenwardy.com>
2020-10-06 20:49:46 +02:00
rubenwardy
3250b37e32
Deprecate get_player_velocity and add_player_velocity (#10173) 2020-10-04 00:33:45 +01:00
Elijah Duffy
7d3641021b
Lua API: Add register_on_chatcommand to SSM and CSM (#7862)
Allows catching a chatcommand call just after the command and the
parameters are parsed but before its existence is checked and before the
corresponding function is run. Returning `true` from a callback function
will prevent default handling of the command leaving mods to handle the
command manually.
2020-10-03 17:38:08 +01:00
HybridDog
4b423ee9b1
Chatcommand: Show help message if func returns false without message
#9440
2020-10-03 17:33:43 +01:00
Pierre-Yves Rollo
d3d218940b
Fix #10349 game crashing if dropped an item with undefined light_source (#10351) 2020-08-30 15:34:28 +02:00
LoneWolfHT
c18dbadcb8
Fix dropped craftitems/tools not using light_source values (#9438) 2020-08-30 00:02:21 +01:00
Emojigit
abfea69e5f
Change last-login command to show player name in output (#10263) 2020-08-06 19:30:41 +02:00
SmallJoker
aba8c37531 Falling: Fix error caused by missing param2
Falling nodes that were spawned prior the recent falling node changes did not require param2.
Default to param2 = 0 when none is found in the node data.
2020-07-30 19:03:48 +02:00
Wuzzy
65a6a316d0 Add minetest.is_creative_enabled 2020-05-29 22:45:40 +02:00
sfan5
2fd5f38c45 Change item entity collisionbox so that they don't sink into the ground 2020-05-27 21:58:20 +02:00
sfan5
03dae5fba6 Fix falling entity not falling through players 2020-05-27 21:58:20 +02:00