1
0
Fork 0
Commit Graph

6803 Commits

Author SHA1 Message Date
MysticTempest d2e635b13f Rename a few textures to help support texture packs. 2022-03-08 23:19:18 +01:00
Elias Åström 00cb4f6233 Rewrite portal removal to avoid stack overflow
This solves a problem were nether portal removal would trigger deep
recursion through node callbacks.  For large portals this could result
in stack overflow crashes on LuaJIT.  The issue is solved by rewriting
the portal removal to avoid recursion and removing the portal in one
operation using minetest.bulk_set_node.
2022-03-08 23:19:18 +01:00
kabou cff49c015a Fix fire HUD not showing on join while burning.
* Add the fire HUD to a player who joins the server while still burning
  from the previous session.
2022-03-08 23:19:18 +01:00
kabou 03c5f24649 Add comments to mcl_burning.update_hud(). 2022-03-08 23:19:18 +01:00
kabou c83e6c3267 Do not set fire to objects that are already burning.
Changes to mcl_burning.set_on_fire():
* Add logic that only updates the burn time, but skips adding fire
  entities to objects that are already burning.
* Condense code a little, remove single use variables.
* Add a comment to a questionable piece of code.
* Add comments to the function.
2022-03-08 23:19:18 +01:00
kabou 97fb9e5828 Add comments to "storage" table.
* Document attributes of the "storage" table.
2022-03-08 23:19:18 +01:00
kabou 08775b0cc9 Add local copy of minetest.find_nodes_in_area. 2022-03-08 23:19:17 +01:00
kabou ed9a403d78 Make player burning HUD work without csm.
* Add update_hud() function.
* Remove the client channels.
* Unglobalize animation_frames variable.
* Fix bug where player state was not stored on shutdown of singleplayer
  game.
* Remove superfluous sanity_check() function, this code could easily be
  inlined in its only caller.
2022-03-08 23:19:17 +01:00
kabou 3f1247d4cf Fix burning entity animation.
The parameters for the flames sprite were incorrect, causing the reverse
side of the sprite to appear as an opaque black rectangle.  Use the
correct incantation.
2022-03-08 23:19:17 +01:00
Nils Dagsson Moskopp 84fa3db68a Fix TGA file writing on Windows
Before this patch, the tga_encoder mod would write corrupted TGA files
on Windows: Bytes that looked like newlines were replaced by a carriage
return and a newline.
2022-03-08 23:19:17 +01:00
AFCMS 1048b3a38f make all arrow types activate target (+ depends and code fixes) 2022-03-08 23:19:17 +01:00
AFCMS fb35af4dba make lingering potions activate target (+ indentation fix) 2022-03-08 23:19:17 +01:00
AFCMS 1a1c592452 make splash potions activate target 2022-03-08 23:19:17 +01:00
AFCMS 6299cd07fa make fire charges activate target (+ fix possible crash) 2022-03-08 23:19:14 +01:00
AFCMS b0695cf233 make bottle o enchanting activate target 2022-03-08 23:16:54 +01:00
AFCMS 1cf53722a4 make ender pearls activate target 2022-03-08 23:16:54 +01:00
AFCMS bb1586ce72 make eggs activate target 2022-03-08 23:16:54 +01:00
AFCMS a848b9d158 add target help text 2022-03-08 23:16:54 +01:00
AFCMS 8f5bb24771 add target crafting receipe 2022-03-08 23:16:54 +01:00
AFCMS 25f9baff2c make snowballs activate target 2022-03-08 23:16:54 +01:00
AFCMS 01c9fc9652 add target with API 2022-03-08 23:16:54 +01:00
E b737e3bc39 mapgen/mcl_mapgen_core: move set_node decorations a node callback
During the rewrite in 89e55e9065, a queue system was added to allow
using both VoxelManip-based generation steps, and set_node-based steps,
however some set_node-based steps (underground mushrooms, nether
decorations, and structures) were missed and remained in a VoxelManip
step. The result is that the changes made by the set_node stages were
overwritten after the (now-stale) VoxelManip data was committed later.

(ref. Mineclonia/Mineclonia#26)
2022-03-08 23:16:54 +01:00
cora b35959e005 do not randomseed twice 2022-03-08 23:16:54 +01:00
cora 56ec2b8066 fix beds dropping when burning up 2022-03-08 23:16:54 +01:00
cora c0fdd12172 make fire use abms instead of laggy node timers 2022-03-08 23:16:54 +01:00
Nils Dagsson Moskopp 6e3f22c1ca Fix handheld maps not displaying in Minetest 5.5.0
The function dynamic_add_media() was changed in incompatible ways in
several minor versions of Minetest, breaking the display of handheld
maps in Minetest 5.5.0. This patch makes handheld maps display there.

The function was blocking with one argument in Minetest 5.3. It was also
blocking in Minetest 5.4, but took an additional argument for a function
to execute once the media had been received. Calling dynamic_add_media()
with a single argument had been deprecated; a function that did nothing
was provided in mcl_maps to satisfy the changed argument requirements.

In Minetest 5.5, dynamic_add_media() was changed to non-blocking. This
introduced a race condition in mcl_maps, where a client often tried to
display a map before it had received the map texture from the server.

Opening an issue on the Minetest issue tracker led to it being closed in
about 20 minutes: <https://github.com/minetest/minetest/issues/11997>
2022-03-08 23:16:54 +01:00
Nils Dagsson Moskopp 3cfa41de6d Fix redstone comparator flooding crash
Redstone comparators have two modes, comparison mode & subtraction mode.
Before this patch, the functions to turn comparators on or off attempted
to swap nodes with comparators in the same mode, but failed to determine
the correct replacement node, if the existing node was not a comparator.

When a comparator in an on state (e.g. powered by a filled cauldron) was
flooded, the flooding dropped the comparator and replaced the comparator
node that was to be swapped out with air, which lead to a server crash.

This patch changes the functions that turn comparators on or off so they
only swap existing nodes with comparators in the same mode if the name
of the replacement node can be determined – i.e. if it is not nil.
2022-03-08 23:16:54 +01:00
AFCMS fe4f18705e remove blender backup file 2022-03-08 23:16:54 +01:00
kabou 178b929c6c Fix hopper breakage in get_item_group return value.
In commit 55009c257e that added vectors to
mcl_composters, mcl_hoppers was accidentally patched with a unrelated
change, updating it to get_item_group().  This mostly works, but in one
particular case the semantics of the return value differs.  Instead of
returning 'nil' it returns '0'.  That altered the evaluation of an if
condition, breaking the abm that sucks in items.

This commit fixes the conditional by explicitly comparing  '~= 0'.
2022-03-08 23:16:54 +01:00
1F616EMO de929349b9 mcl_tools 2022-03-08 23:16:54 +01:00
1F616EMO 2bd8f5bdb7 mcl_flowers 2022-03-08 23:16:54 +01:00
1F616EMO f51e01ae80 mcl_books 2022-03-08 23:16:54 +01:00
1F616EMO 5b75bf74fc mcl_dye 2022-03-08 23:16:54 +01:00
1F616EMO 6fd55fb10c mcl_flowerpots 2022-03-08 23:16:54 +01:00
1F616EMO ec9db5830a mcl_mushrooms 2022-03-08 23:16:54 +01:00
1F616EMO fa8d9e2dc0 mcl_doors 2022-03-08 23:16:54 +01:00
1F616EMO 83b7f03f0d mcl_commands 2022-03-08 23:16:54 +01:00
1F616EMO fd00164bde xpanes 2022-03-08 23:16:54 +01:00
1F616EMO 87dba5f3fb mcl_armor 2022-03-08 23:16:54 +01:00
1F616EMO 5ba99c8a19 mcl_inventory 2022-03-08 23:16:54 +01:00
1F616EMO 6094f115dc mcl_fire 2022-03-08 23:16:54 +01:00
1F616EMO 5cf10b28e9 mcl_fishing 2022-03-08 23:16:54 +01:00
1F616EMO 23f6cdb492 mcl_fences 2022-03-08 23:16:54 +01:00
1F616EMO 7358ef40cc mcl_buckets 2022-03-08 23:16:54 +01:00
1F616EMO 574ca21018 mcl_walls 2022-03-08 23:16:54 +01:00
1F616EMO 2358a8be4f mcl_hoppers 2022-03-08 23:16:54 +01:00
1F616EMO 7e94436cfb mcl_anvils 2022-03-08 23:16:54 +01:00
1F616EMO 2932209f60 mcl_portals 2022-03-08 23:16:54 +01:00
1F616EMO 15a4a1f31f mcl_bows 2022-03-08 23:16:54 +01:00
1F616EMO 968385acd8 mcl_skins 2022-03-08 23:16:54 +01:00