Commit graph

7113 commits

Author SHA1 Message Date
cora
dc24f45cfa add indoor detection for snow 2022-03-30 10:21:32 +00:00
cora
d2861c5955 remove unneccessary particle logic 2022-03-30 10:21:32 +00:00
cora
1e4494e85d let rain and thunder use particlespawners 2022-03-30 10:21:32 +00:00
cora
4eae95fa47 let snow use particlespawners 2022-03-30 10:21:32 +00:00
kabou
1b99b73894 Fix wrong player name accessor.
* Duh..
2022-03-30 01:31:38 +02:00
kabou
14da059ce7 Add extra check and warning on missing player data.
* For some unexplained reason, `mcl_burning.storage[player]` can
  sometimes be `nil`, causing a crash in `on_leaveplayer()`.  This
  commit adds a check for that.  If a `nil` is encountered, a sane
  value is substituted and a warning is set to the log.
2022-03-29 12:06:00 +02:00
NO11
5974b6f609 Merge branch 'master' into shields2 2022-03-28 12:27:57 +00:00
NO411
148be4ea39 Fix shield behavior 2022-03-27 19:52:36 +02:00
NO411
6afe7cfb58 Fix typo and interact bug? 2022-03-27 18:08:43 +02:00
AFCMS
909b77ce4d
barrel protection fix + log 2022-03-25 13:28:33 +01:00
NO11
63a156c30c Fix typo/crash 2022-03-23 18:30:34 +00:00
cora
1c9f0c3238 don't spawn mobs on non opaque nodes or leaves
with the preliminary jordanspaning mobs would spawn on trees
and water regularly.
2022-03-22 22:02:15 +01:00
cora
50e99f470e fix certain mobs not spawning in certain biomes 2022-03-22 15:16:48 +01:00
NO411
aeff7cf1a4 Remove offhand item on death 2022-03-22 12:48:41 +01:00
kabou
46ee5aaa59 Fix undefined luaentity crash.
* Add nil check to get_luaentity() access.
* Cache get_luaentity() call in local var.
2022-03-21 01:39:02 +00:00
NO411
019dd45381 Check for damager 2022-03-19 16:50:19 +01:00
NO411
d481f7b720 Fix showing shield hud at the wrong side for half a second 2022-03-19 15:59:59 +01:00
NO411
c94964d10a Remove debug line 2022-03-19 15:26:41 +01:00
kabou
a9a3f01a0e Tiny comment fix. 2022-03-19 03:16:15 +01:00
kabou
ae6bea73fd Make carpets supported_node.
* Change carpet from `group:attached_node` to `group:supported_node`,
  allowing carpets to be placed on top of torches, water source blocks
  and other non-walkable nodes, like in MC.
2022-03-19 02:32:46 +01:00
kabou
8518ce2c19 Add support for group:supported_node
* Add support for `group:supported_node` to CORE/mcl_attached.
  Supported nodes are nodes that can be placed on any node that does not
  have the `drawtype = "airlike"` attribute.
* Copy the `drop_attached_node()` function from minetest/builtin, so
  that the override function provides the same behavior when nodes drop.
* Add comments to CORE/mcl_attached and to the functions defined in it.
* Add more local aliases for global minetest.* functions.
* If the original function returns true, it is not necessary anymore
  to perform more tests and the override function can simply return true
  immediately.
2022-03-19 02:32:13 +01:00
NO411
6158e4e50d Don't always update shield texture using set_properties 2022-03-18 23:23:01 +01:00
NO411
7c0a48bebf Remove some code ... 2022-03-18 23:08:50 +01:00
NO411
5bdf83cbfc Revert weird changes 2022-03-18 23:07:25 +01:00
NO411
976cfba53a Make it possible to xraft a banner on an enchanted shield 2022-03-18 23:02:51 +01:00
NO411
fc9e83c059 Make it possible to craft a banner on an enchanted shield 2022-03-18 23:02:25 +01:00
NO411
60d877b718 Fix enchanting shield on enchanting table possible 2022-03-18 22:45:12 +01:00
kabou
9eba0e4860 Remove unused code.
* Remove unused code that was commented out.  The code tried to find
  fire luaentities in the same spot as the newly created fire luaentity.
  It may have been intended to optimize getting set on fire multiple
  times, but it makes no sense as it does not discriminate between fire
  luaentities attached to the object set on fire and those attached to
  other objects.  The function that this code was in also has a better
  way to prevent adding multiple fire luaentities in the first place.
2022-03-18 11:39:11 +01:00
kabou
90311da514 Preempt possible crash on nil in on_joinplayer.
* In mineclone5 a crash was reported to occur when deserialization of
  storage returned nil in on_joinplayer.    https://git.minetest.land/
  MineClone5/MineClone5/commit/96c4fb60d8641b4181edb902ed24dbf173828d09
  This commit uses a different, but equally effective fix.
2022-03-18 11:36:33 +01:00
kabou
e9ff2ba32a Minor changes to mcl_burning.
* Remove animation_frame from fire entity state, it is now kept in the
  storage table of the parent entity.
* Rename animation_timer in fire entity table to _mcl_animation_timer,
  in line with mineclone2 policy on adding custom members to minetest
  tables.
* Comment out code that does nothing sensible.  Scheduled for deletion
  at a later time.
2022-03-18 11:36:23 +01:00
NO411
0f8f5a41d2 Fix dependencies 2022-03-15 16:30:03 +01:00
NO411
db68c0e26b Add shield 2022-03-15 15:58:27 +01:00
kabou
3f787f8305 Remove stray work notes files.
* These temp files accidentally got added during the unregistered nodes
  fixes.
2022-03-15 07:42:11 +01:00
epCode
4483f4b6b6 fix #2068 2022-03-15 02:18:02 +00:00
AFCMS
47b1eeda74
fix frost walker enchant not protecting from magma block damage 2022-03-13 19:11:28 +01:00
GNU Hacker
f430aec0cd
item pickup sound gain more MC like 2022-03-13 14:58:01 +01:00
kabou
17b8eab368 Make carpets walkable.
* Make carpets walkable.  When a carpet is placed on top of a fence or a
  wall, the carpet can be jumped upon, allowing to in effect jump over
  fences and walls.
2022-03-12 13:35:12 +00:00
MysticTempest
de3cdee09e Make composters & barrels fuel for furnaces with the same burntime as chests. 2022-03-10 00:47:54 -06:00
Nils Dagsson Moskopp
77f8ecd6e8 Make daylight detector work in Minetest 5.3.0
This patch contains a function that searches for a path to a node with
light level 15, which is guaranteed to be sunlight.
2022-03-09 22:33:08 +00:00
Nils Dagsson Moskopp
4da5084daf Make daylight detector ignore artificial light
The daylight detector code used get_node_light(), which detects both
natural and artificial light. This patch improves the code to use
get_natural_light(), which was introduced with Minetest 5.4.0.
2022-03-09 22:33:08 +00:00
kabou
deed231f28 Fix typos. 2022-03-09 18:50:41 +01:00
kabou
11ee1d133f Fix cut-n-paste error.
* Swap misplaced lines.
* Concatenate conditional expression.
2022-03-09 18:26:51 +01:00
kabou
1326b9e7e7 Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.  By application of De Morgan's law, the compound logic
  expression can be rewritten so that the existence of the table is
  checked before all following attribute references.
2022-03-09 15:14:22 +01:00
kabou
6a69f49fa0 Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.
2022-03-09 14:59:49 +01:00
kabou
f5a8d6d17a Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
* Clarify code flow.
2022-03-09 14:40:37 +01:00
kabou
3f4dafc68f Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
2022-03-09 14:14:45 +01:00
kabou
9bac0da01a Fix registered_items oddity and add check for unknown nodes.
* Mobs redo uses `registered_items[]` where clearly the proper table
  accessed should be `registered_nodes[]`.  Perhaps this magically
  works, but it looks nonsensical.  Switch to the use the more
  sensible `registered_nodes[]` table.
* Check if node has a definition table before attempting to evaluate its
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
2022-03-09 13:11:53 +01:00
kabou
818cbb2f48 Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
2022-03-09 12:11:59 +01:00
kabou
88f7a150c7 Add check for unknown nodes.
* Add check for unknown node in `handle_node_drops()` and return
  immediately if the dug node has no definition table.
2022-03-09 04:00:48 +01:00
kabou
962500b189 Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
2022-03-09 02:23:18 +01:00
kabou
95cfa43483 Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
2022-03-09 02:15:33 +01:00
kabou
4a1b93bbfa Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
2022-03-09 02:05:38 +01:00
kabou
b9c2c3bd0a Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
* Reduce redundant `== false` condition check.
2022-03-09 00:01:23 +01:00
Dieter44
f8c60b5f75 ITEMS/mcl_anvils: fix renaming items w/o desc… 2022-03-05 15:35:39 +00:00
MysticTempest
7a53ea8b70 Rename a few textures to help support texture packs. 2022-03-02 20:13:24 -06:00
Elias Åström
3c10f0e970 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-03 01:42:49 +00:00
kabou
c3e0996902 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-02 17:15:05 +01:00
kabou
d424d4f10e Add comments to mcl_burning.update_hud(). 2022-03-02 16:39:27 +01:00
kabou
e80006f4ea 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-02 16:25:40 +01:00
kabou
b17776699e Add comments to "storage" table.
* Document attributes of the "storage" table.
2022-03-02 15:40:29 +01:00
kabou
86a4ece7d2 Add local copy of minetest.find_nodes_in_area. 2022-03-02 15:25:03 +01:00
kabou
df5d24104d 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-02 15:21:55 +01:00
kabou
56b63463a5 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-02 10:47:46 +01:00
Nils Dagsson Moskopp
66bb209ad1 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-02-28 16:58:59 +00:00
AFCMS
5a7b1cc382
make all arrow types activate target (+ depends and code fixes) 2022-02-26 23:52:03 +01:00
AFCMS
210a0d8ee1
make lingering potions activate target (+ indentation fix) 2022-02-26 22:44:50 +01:00
AFCMS
eae8effd57
make splash potions activate target 2022-02-26 22:42:27 +01:00
AFCMS
b51e322304
make fire charges activate target (+ fix possible crash) 2022-02-26 22:38:34 +01:00
AFCMS
096d46152e
make bottle o enchanting activate target 2022-02-26 22:20:05 +01:00
AFCMS
d89687984b
make ender pearls activate target 2022-02-26 22:16:10 +01:00
AFCMS
c6f72c473f
make eggs activate target 2022-02-26 22:12:26 +01:00
AFCMS
540b72f1d6
add target help text 2022-02-26 19:12:02 +01:00
AFCMS
7449725a56
add target crafting receipe 2022-02-26 19:12:01 +01:00
AFCMS
9e7a525a0a
make snowballs activate target 2022-02-26 19:12:01 +01:00
AFCMS
4bd91750bc
add target with API 2022-02-26 19:12:01 +01:00
E
87e494f42b 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-02-25 18:38:50 +01:00
cora
3feca330c9 fix the other 2 throw_xp occurences 2022-02-25 00:40:26 +00:00
cora
caacb378de fix api change in enchanting 2022-02-25 00:40:26 +00:00
cora
379972ea11 fix crash when blaze attacks logged off player 2022-02-25 00:40:26 +00:00
cora
414e2e7725 fix crash on opening villager formspec 2022-02-25 00:40:26 +00:00
cora
435b5d756d throw_experience->throw_xp (api change) 2022-02-25 00:40:26 +00:00
cora
2bb416765c revert to old mobs ( 32c03dc27e )
This reverts the hierarchies ENTITIES/mcl_mobs, ENTITIES/mobs_mc
and ENTITIES/mobs_mc_gameconfig to the state of commit
32c03dc27e
2022-02-25 00:40:26 +00:00
cora
86ca401e4e do not randomseed twice 2022-02-25 00:08:26 +00:00
cora
378b5b30c9 fix beds dropping when burning up 2022-02-25 00:08:26 +00:00
cora
840b705a22 make fire use abms instead of laggy node timers 2022-02-25 00:08:26 +00:00
Nils Dagsson Moskopp
27842aa2f5 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-02-24 22:43:45 +00:00
Nils Dagsson Moskopp
41550da87b 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-02-24 15:52:01 +01:00
AFCMS
cbfc71705d
remove blender backup file 2022-02-24 10:16:47 +01:00
kabou
5431e206b0 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-02-24 03:18:25 +01:00
Emojigit
06deb92dd6 mcl_tools 2022-02-23 23:58:05 +01:00
Emojigit
7685b4758f mcl_flowers 2022-02-23 23:58:05 +01:00
Emojigit
9944abb328 mcl_books 2022-02-23 23:58:05 +01:00
Emojigit
5ce1852c1d mcl_dye 2022-02-23 23:58:05 +01:00
Emojigit
56a70025b8 mcl_flowerpots 2022-02-23 23:58:05 +01:00
Emojigit
9fe3bbd2fa mcl_mushrooms 2022-02-23 23:58:05 +01:00
Emojigit
fb1d189d40 mcl_doors 2022-02-23 23:58:05 +01:00
Emojigit
9cd24f4af5 mcl_commands 2022-02-23 23:58:05 +01:00
Emojigit
a64c3f87bc xpanes 2022-02-23 23:58:05 +01:00
Emojigit
5075f2ca56 mcl_armor 2022-02-23 23:58:05 +01:00
Emojigit
249dfac319 mcl_inventory 2022-02-23 23:58:05 +01:00
Emojigit
2b5a0242db mcl_fire 2022-02-23 23:58:05 +01:00
Emojigit
790ccf0812 mcl_fishing 2022-02-23 23:58:05 +01:00
Emojigit
8d639794f3 mcl_fences 2022-02-23 23:58:05 +01:00
Emojigit
af8681c143 mcl_buckets 2022-02-23 23:58:05 +01:00
Emojigit
1ef58f7250 mcl_walls 2022-02-23 23:58:05 +01:00
Emojigit
15747220f2 mcl_hoppers 2022-02-23 23:58:05 +01:00
Emojigit
925dad7f5e mcl_anvils 2022-02-23 23:58:05 +01:00
Emojigit
729f653c85 mcl_portals 2022-02-23 23:58:05 +01:00
Emojigit
d1e328e57a mcl_bows 2022-02-23 23:58:05 +01:00
Emojigit
615a968fbb mcl_skins 2022-02-23 23:58:05 +01:00
Emojigit
7e5a9bd8b6 mcl_throwing 2022-02-23 23:58:05 +01:00
Emojigit
d018bee00a mcl_cake 2022-02-23 23:58:05 +01:00
Emojigit
1365d0b257 mcl_jukebox 2022-02-23 23:58:05 +01:00
Emojigit
a289a00427 mcl_heads 2022-02-23 23:58:05 +01:00
Emojigit
a238aabbb0 mcl_cauldrons 2022-02-23 23:58:05 +01:00
Emojigit
b02f7cd974 mcl_mobs 2022-02-23 23:58:05 +01:00
Emojigit
e19113d4e0 findbiome 2022-02-23 23:58:05 +01:00
Emojigit
4deac632e6 mcl_sponges 2022-02-23 23:58:05 +01:00
Emojigit
c480e6891d mcl_maps 2022-02-23 23:58:05 +01:00
Emojigit
844eb3fb7c mcl_brewing 2022-02-23 23:58:05 +01:00
Emojigit
fc768cb1ad mcl_signs 2022-02-23 23:58:05 +01:00
Emojigit
1f9a919459 mcl_monster_eggs 2022-02-23 23:58:05 +01:00
Emojigit
70007e3453 mcl_furnaces 2022-02-23 23:58:05 +01:00
Emojigit
3aff1f8981 mcl_hunger 2022-02-23 23:58:05 +01:00
Emojigit
c86a506672 mcl_tnt 2022-02-23 23:58:05 +01:00
Emojigit
f348223da2 mcl_crafting_table 2022-02-23 23:58:05 +01:00
Emojigit
ca6469b959 mcl_weather 2022-02-23 23:58:05 +01:00
Emojigit
c52e09ddcd mcl_structures 2022-02-23 23:58:05 +01:00
Emojigit
bb55120adc mcl_experience 2022-02-23 23:58:05 +01:00
Emojigit
77339afbe2 mcl_cocoas 2022-02-23 23:58:05 +01:00
Emojigit
9b15599bee hudbars 2022-02-23 23:58:05 +01:00
Emojigit
a685c3bc83 mclx_core 2022-02-23 23:58:05 +01:00
Emojigit
b01d4eba88 mcl_paintings 2022-02-23 23:58:05 +01:00
Emojigit
952747d4da mcl_mobspawners 2022-02-23 23:58:05 +01:00
Emojigit
430f5b05ab mcl_itemframes 2022-02-23 23:58:05 +01:00
Emojigit
e4a311e28a mcl_clock 2022-02-23 23:58:05 +01:00
Emojigit
6a115a68ef mcl_armor_stand 2022-02-23 23:58:05 +01:00
Emojigit
f3d0ec845c mcl_spawn 2022-02-23 23:58:05 +01:00
Emojigit
563daeed8a mcl_wip 2022-02-23 23:58:05 +01:00
Emojigit
a6c3cab791 mclx_fences 2022-02-23 23:58:05 +01:00
Emojigit
bb4ddee570 mcl_compass 2022-02-23 23:58:05 +01:00
Emojigit
fe3e80bc0e lightning 2022-02-23 23:58:05 +01:00
Emojigit
59fe078fd7 mcl_playerplus 2022-02-23 23:58:05 +01:00
Emojigit
dba08ddc1f mcl_torches 2022-02-23 23:58:05 +01:00
Emojigit
551bf917e2 mcl_void_damage 2022-02-23 23:58:05 +01:00
Emojigit
26dadb1846 mcl_falling_nodes 2022-02-23 23:58:05 +01:00
Emojigit
33a353e20d mcl_privs 2022-02-23 23:58:05 +01:00
Emojigit
f02f3c9f40 screwdriver 2022-02-23 23:58:05 +01:00
Emojigit
410c1ecd1f mcl_hbarmor 2022-02-23 23:58:05 +01:00
Emojigit
ba172f0847 mcl_explosions 2022-02-23 23:58:05 +01:00
Emojigit
ad42c3588b mcl_farming 2022-02-23 23:58:05 +01:00
Emojigit
9734c74c56 (WIP) mcl_farming 2022-02-23 23:58:05 +01:00
Emojigit
c3dd5e6c2c MORE MESS SORRY XD 2022-02-23 23:58:05 +01:00
Emojigit
21808390f9 Revert "add translates for mcl_boats"
This reverts commit 2ee84f2ad3.
2022-02-23 23:58:05 +01:00
Emojigit
cc87791327 add translates for mcl_boats
Co-authored-by: Emojigit <emojigit@noreply.git.minetest.land>
2022-02-23 23:58:04 +01:00
Emojigit
a8aabb2329 add translate for doc_identifier 2022-02-23 23:58:04 +01:00
Emojigit
4f00b62a18 add zh_TW translate to mcl_beds and mcl_core 2022-02-23 23:58:04 +01:00
AFCMS
360a1604ba
Revert "move barrels to mcl_chests"
This reverts commit a272322cb5.
2022-02-22 20:20:21 +01:00
AFCMS
61f4c5b885
apply @kay27 fix to mcl_util.drop_items_from_meta_container 2022-02-22 18:08:26 +01:00
AFCMS
a272322cb5
move barrels to mcl_chests 2022-02-22 18:08:25 +01:00
AFCMS
9112915ddd
fix barrel top texture rotation 2022-02-22 18:08:25 +01:00
AFCMS
397c243e89
cleanup barrel TODO list 2022-02-22 18:08:25 +01:00
AFCMS
c64d0e4558
simplify random dropping position code 2022-02-22 18:08:24 +01:00
AFCMS
61e54ed617
rename mcl_util.drop_items_container_get to drop_items_from_meta_container 2022-02-22 18:08:24 +01:00
AFCMS
0988637ea1
add barrel tooltip help text 2022-02-22 18:08:24 +01:00
AFCMS
b88060dbfb
add doc description to barrels 2022-02-22 18:08:23 +01:00
AFCMS
e3e06b4a4b
fix broken tree placement 2022-02-22 18:08:23 +01:00
AFCMS
34b445b04a
fixes 2022-02-22 18:08:22 +01:00
AFCMS
d41a836514
add craft 2022-02-22 18:08:22 +01:00
AFCMS
80fb59f9ac
add barrel 2022-02-22 18:08:22 +01:00
cora
a9357f7380 Do not send redundant bone position and properties 2022-02-22 11:15:56 +00:00
kabou
af132cc523 Reinstate nil check in on_place_bucket.
* Oops, nil checks on registered_node[name] were erroneously optimized
  away, risking crashes.  Reinstate those checks.
2022-02-21 18:00:56 +01:00
kabou
e54502edd6 Add more local aliases for minetest.* namespace functions
* Add locals for
  - minetest.is_creative_enabled
  - minetest.is_protected
  - minetest.record_protection_violation
2022-02-20 20:24:55 +01:00
kabou
639bf936c5 Use alias for minetest.* namespace function call.
* Fix one missed minetest.get_node use in earlier commit.
2022-02-20 19:52:05 +01:00
kabou
d2261426c3 Remove redundant variables in on_place_bucket.
The function on_place_bucket defined a couple of variables that were
used only once or in a redundant check.  After removal of the redundant
check in a previous commit, all use-once variables can now be substituted
with their assignment expressions.
2022-02-20 18:46:23 +01:00
kabou
88ce1e3662 Remove redundant logic.
The function on_place_bucket contains the following logic:
  if not a and not b then return x end
  if a then
    foo(a)
  elseif b then
    foo(b)
  else
    return x
  end

The "if not a and not b then .." is removed because the case is handled
by the else case later on.  This will allow some further simplifications.
2022-02-20 18:46:23 +01:00
kabou
b3aed9d6b8 Use proper get_item_group accessor.
Instead of directly accessing the group table in node definitions, use
the proper minetest.get_item_group accessor to test for "cauldron"
group.
Also adds local alias get_item_group for the global minetest call.
2022-02-20 18:46:23 +01:00
kabou
13baa68b67 Fixed missed alias uses and added set_node alias.
Two instances of add_node and add_item still used the full minetest
call, substitute the alias.
Added a set_node alias for several minetest.set_node calls.
2022-02-20 18:46:23 +01:00
kabou
315f251584 Add local to speedup global function access.
The minetest.registered_nodes function is called from multiple places.
Define a local alias registered_nodes and substitute it in all calls.
2022-02-20 18:46:23 +01:00
kabou
584a75df76 Fix filling cauldrons with water.
When using a bucket of water on a cauldron, this would not fill the
cauldron as expected, but deposit a water source block on top of the
cauldron instead.

Applied patch from mineclone5 #38 (commit #
698c29733f06a7fcb7e755bf26ee46b33b00699b) from mineclone5 that fixes
this problem.
2022-02-20 18:46:23 +01:00
kabou
8d18ab8a7a Optimize texture files.
* Texture files were optimized with 'optipng  -o7 -zm9 -strip all' .
2022-02-19 21:18:01 +01:00
kabou
f81980da51 Fix hardness and blast resistance.
* Use correct MC values for hardness and blast resistance.
2022-02-19 21:18:01 +01:00
kabou
55009c257e Use new vectors
* Use vector.new instead of xyz table.
2022-02-19 21:18:01 +01:00
kabou
51ca60c097 Change custom node attribute name.
* Rename _compost_level to _mcl_compost_level
2022-02-19 21:18:01 +01:00
kabou
f22baafaa6 Add player object check.
* Add one more check if player object is an actual player.
2022-02-19 21:18:01 +01:00
kabou
ffc2c94096 Add help alias
* Add help alias for the ready type composter
2022-02-19 21:18:01 +01:00
kabou
cea821b2fa Comment fixes.
* Improve comments, some typo fixes.
2022-02-19 21:18:01 +01:00
kabou
64608f50f8 Update mod description and fix comment.
* Make mod description more descriptive.
* Minor comment tweak.
2022-02-19 21:18:01 +01:00
kabou
3257014e00 Add missing melon block.
* Add melon block to the compostabiles list.
2022-02-19 21:18:01 +01:00
kabou
06274518bf Add player object check.
* Handle the case where a mob somehow "clicks" on a composter and we get
  an invalid player object passed.
2022-02-19 21:18:01 +01:00
kabou
8d79d16531 Update mod deps.
* Add dpendency on mcl_dye for the bone meal particle spawner
2022-02-19 21:18:01 +01:00
kabou
1f7697b6f5 Typo fix.
* it's a spruceSapling (thanks NO11)
2022-02-19 21:18:01 +01:00
kabou
64203c38a6 Update documentation.
* Make a mention of the one second delay before composter readies.
2022-02-19 21:18:01 +01:00
kabou
4cf88abe4c Fix composter item image.
* Less is more (thanks AFCMS)
2022-02-19 21:18:01 +01:00
kabou
df8576e77c mcl_composters initial commit
Implements a composter block with crafting recipe, and some more
uncraftable blocks representing various stages of filling.

Adds a list of items that can be used with the composter and the chances
of these items adding a layer to the composter.

Implements methods to add compostable items to the composter, to update
the composter to various levels of compost and to harvest an item of
bone meal when the composter is ready.

Textures were taken from XSSheep/Nova_Wostra Pixel Perfection texture
pack.
2022-02-19 21:18:01 +01:00
NO11
c40c05f594 Exact MC behavior 2022-02-17 15:32:58 +00:00
NO11
8db28c1337 Update get_pointed_thing function 2022-02-17 15:30:41 +00:00
NO11
d46a96c43a Merge branch 'master' into buckets+ 2022-02-17 14:48:07 +00:00
NO11
3cfcd1355f Add missing dependency 2022-02-17 14:42:01 +00:00
NO11
4707cd4526 Correct bucket behavior 2022-02-17 14:36:48 +00:00
NO11
ad99746d99 Add get_pointed_thing function 2022-02-17 14:35:51 +00:00
Nils Dagsson Moskopp
adf738854a
Fix mob-in-boat crash in Minetest 5.5-dev
In Minetest 5.4.1, calling get_player_control() on a mob returned the
empty string. Minetest commit 5eb45e1ea03c6104f007efec6dd9c351f310193d
changed this, so now calling get_player_control() on a mob returns nil.

As mcl_boats defines boats that can have a player or a mob as a driver,
code like the following crashes with a changed get_player_control() API:

local ctrl = driver:get_player_control()
if ctrl.sneak then
    detach_object(driver, true)
end

Furthermore, once a world has crashed, joining it near a mob that is the
driver of a boat with such control code immediately crashes again.

When I reported this bug to Minetest, several Minetest core developers
stated that they disliked the old API and proposed other return values
for calling a mob's get_player_control() function – all different from
the empty string. Since I have some doubts that this bug will be fixed
in Minetest 5.5.0, boat code must take into account a nil return value.

Minetest issue: https://github.com/minetest/minetest/issues/11989
2022-02-15 11:17:01 +01:00
AFCMS
da4952a125
wip mcl_damage documentation 2022-02-13 21:31:04 +01:00
AFCMS
c59bea211d
fix some typos 2022-02-13 21:31:03 +01:00
AFCMS
5aa18d573e
document mcl_armor function (WIP) 2022-02-13 21:31:03 +01:00
AFCMS
13f8fd457c
document manual armor creation 2022-02-13 21:31:03 +01:00
AFCMS
2b820d7756
mcl_armor.register_set() documentation 2022-02-13 21:31:02 +01:00
Elias Åström
4ca89cfcae Update groupcaps_hash function to minetest.sha1 2022-02-12 20:08:03 +01:00
Elias Åström
a6c5c8a72a Call update_groupcaps from load_enchantments
This avoids the need to call the function from on_enchant for unbreaking
and efficiency.
2022-02-12 19:43:01 +01:00
Elias Åström
d898b02c8b Fix #1922 2022-02-12 19:43:01 +01:00
AFCMS
2690094a95 allow placement of lanterns on chains 2022-02-10 11:45:08 +01:00
AFCMS
23873f31f1 add french translation of mcl_lanterns 2022-02-09 22:19:24 +01:00
AFCMS
749d4f1a4b add lanterns translation template 2022-02-09 22:15:44 +01:00
AFCMS
8817d51d64 minecraft like lanterns placement limitations 2022-02-09 22:11:50 +01:00
AFCMS
9b375aa9e8 attemp to fix lanterns placement 2022-02-09 18:19:46 +01:00
AFCMS
7fbdd71081 obtimize glass detail images 2022-02-09 12:21:28 +01:00
AFCMS
e138d998ef walkover fixes 2022-02-09 12:21:28 +01:00
AFCMS
9cc088c940 fix lantern light value to fit minetest limit 2022-02-08 23:00:45 +01:00
AFCMS
6572a8c908 add lanterns, crafts, placement mechanism, doc entries 2022-02-08 22:56:20 +01:00
AFCMS
ffa9d2d0fd add basic chains and lantern model and API 2022-02-08 10:58:25 +01:00
epCode
9b881df465 Temporarily remove glitchy Elytra crash-damage
If you fly in certain directions with this damage system, you will die. also if you speed up too fast.
2022-01-06 21:55:01 +00:00
NO11
627c37cd97 Fix pumpkin hud 2022-01-02 12:37:20 +00:00
NO11
7cc7fb1331 Make removing of arrow entities also work with mobs, remove arrows on respawn 2022-01-02 11:06:29 +00:00
NO11
7b46225176 Remove arrow entities when the player joins to prevent killing on startup (working fix) 2022-01-01 22:59:21 +00:00
NO411
7b47a15e34 Remove arrow entities when the player leaves to prevent killing on startup 2021-12-30 14:04:53 +01:00
AFCMS
a7e471de62 framed stained glass 2021-12-23 18:02:43 +01:00
AFCMS
12830781f8 Merge branch 'master' into connected_glass 2021-12-23 17:29:53 +01:00
Elias Fleckenstein
bfd1fd69d1
Fix potential crash when falling onto unknown node 2021-12-19 18:59:09 +01:00
Elias Fleckenstein
e2360204a7
Revert "fixed daylightsensor's register_abms"
This reverts commit 5a4abcbcb7.
2021-12-12 15:55:52 +01:00
chmodsayshello
5a4abcbcb7 fixed daylightsensor's register_abms
By changing the check if a normal/inverted daylightsensor should update by turning on and off, I made them workling again
2021-12-10 13:59:31 +00:00
kay27
0c8e5dc7a4 Disable Nether portal node rotation by screwdriver 2021-12-10 03:52:14 +04:00
Elias Fleckenstein
e4feb233e0
Fix hopper dupe 2021-12-09 18:20:24 +01:00
Elias Fleckenstein
b945975427
Slime splitting: nil check child to prevent crash (that happened on oysterity-mcl2) 2021-12-09 18:11:05 +01:00
Elias Fleckenstein
0e9a56fa35
Add stacks to enchant_uniform_randomly 2021-12-07 18:19:41 +01:00
Elias Fleckenstein
ec7e245b9d
Various fixes to the enchanting and loot system
- enchanted loot generated by mapgen now uses PseudoRandom for randomness
- prevent fishing loot from generating loot 32767 times (!!!) when only 1 is needed
- bows and fishing rods obtained from the treasure section of fishing loot are now enchanted
- there is now a function to uniform enchant items other than books
2021-12-07 17:57:18 +01:00
Elias Fleckenstein
b3958a956d
Refactor random enchantment selection code 2021-12-07 16:16:07 +01:00
Elias Fleckenstein
882db9f873
Remove unused and completely unlogical enchantment_level paramenter from get_possible_enchantments 2021-12-07 15:49:12 +01:00
Elias Fleckenstein
261faafb7c
Fix get_possible_enchantments to not return incompatible enchantments, even if treasure enchantments are allowed 2021-12-07 15:47:23 +01:00
Elias Fleckenstein
92686e5412
Fix broken mcl_util.calculate_durability 2021-12-02 17:28:19 +01:00
Elias Fleckenstein
e6b200aaf3
Fix access to ender inventory without an ender chest 2021-12-02 16:19:59 +01:00
Elias Fleckenstein
d3015edeb9
Fix reference dupes for droppers and dispensers 2021-11-29 19:12:49 +01:00
Glaucos Ginez
9edf277905 Fix mobs spawn count 2021-11-21 22:13:24 -03:00
Nils Dagsson Moskopp
46394e7e1f
Add obsidian boat that always sinks 2021-11-20 09:06:48 +01:00
Elias Fleckenstein
b0aceae73d
Fix reference dupe glitches 2021-11-19 15:22:40 +01:00
NO11
9200c3fe44 Merge branch 'master' of https://git.minetest.land/MineClone2/MineClone2 2021-11-18 17:42:19 +01:00
NO11
903d1777be Use set_count instead of creating a new item and checking for enchanted books 2021-11-18 17:40:32 +01:00
Elias Fleckenstein
6ca5799565
Merge branch 'master' of https://git.minetest.land/MineClone2/MineClone2 2021-11-17 18:25:19 +01:00
Elias Fleckenstein
30528b0a2c
Fix crash when opening a chest with an unknown node on top 2021-11-17 18:25:12 +01:00
NO11
9919011aca Fix enchanted books losing their enchantments in creative inventory 2021-11-17 16:43:48 +01:00
NO11
c757e98b4f Fix #1911, error in lightning callback 2021-11-17 00:37:11 +01:00
NO11
a9804879e2 Rename drippingwater to mcl_dripping in mod.conf and readme.txt 2021-11-15 21:54:16 +01:00
NO11
d2a03ec0b9 Rename entity ids 2021-11-15 21:44:23 +01:00
NO11
7ef6613f09 Rename drippingwater mod to mcl_dripping 2021-11-15 21:39:43 +01:00
NO11
d27109d807 Merge branch 'master' into dripping 2021-11-13 19:15:49 +00:00
NO11
fdaaf0ec49 Use on_joinplayer instead of on_newplayer 2021-11-13 18:56:52 +00:00
NO11
add97d39a6 delete overlay texture 2021-11-13 17:28:13 +00:00
NO11
bcb6251d20 Use label instead of extra texture 2021-11-13 17:26:17 +00:00
NO11
1483c45cc9 Merge branch 'master' into inventory 2021-11-13 15:28:13 +00:00
NO11
642b9db035 localize wielditem in crossbow.lua (Fix #1901) 2021-11-13 15:19:34 +00:00
NO11
d7e59f6a35 Add switch stack size overlay texture 2021-11-13 12:26:01 +00:00
NO11
d4da855570 Add button to switch between max stack size and just one item 2021-11-13 12:25:10 +00:00
NO11
30dd505985 Merge branch 'master' into inventory 2021-11-13 11:18:47 +00:00
NO11
ae8068cca6 Use stack_max instead of 64 for all items 2021-11-13 11:17:46 +00:00
iliekprogrammar
bd14918543
Reduce defuse reach for charged creeper
5.2 is actually half of the estimated MC creeper defuse range, which is 10.4.
The reason for this change is to balance the creeper in MCL2 where it fuses
whilst moving making it more difficult than MC. In MC, the creeper does not move
while fusing.
2021-11-13 12:12:20 +08:00
iliekprogrammar
66c1b4a95f Merge pull request 'fix_creeper' (#1896) from Dieter44/MineClone2:fix_creeper into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/1896
2021-11-13 04:06:55 +00:00
iliekprogrammar
96c4fb60d8
Fix crash on startup during immediate runtime by mcl_burning
The crash occurs if mcl_burning:data is deserialized to nil. The cause of
mcl_burning being set to "return nil" is unknown. Therefore, when it occurs, it
will be logged as warning.
2021-11-13 10:55:24 +08:00
NO11
5515e2baa1 Add 64 items to inventory when creative is on 2021-11-12 21:49:47 +00:00
NO11
7ed964756e local luaentity 2021-11-12 18:00:04 +00:00
NO11
0e5ad8637d Merge branch 'master' into dripping 2021-11-12 17:54:30 +00:00
NO11
0cc0a7e01d Make dripping particles MC-like 2021-11-12 17:49:27 +00:00
NO11
490e40d042 Bone meal particles: add some velocity, correct glow 2021-11-12 15:41:09 +00:00
NO11
9e4e7f0695 Merge branch 'master' into bone_meal 2021-11-12 15:02:13 +00:00
NO11
2a08f31435 Use particlespawners for better performance (sponge particles) 2021-11-12 14:09:59 +00:00
iliekprogrammar
0564121183
Code style for #1890 2021-11-12 02:36:17 +08:00
iliekprogrammar
bca5033fb2 Merge pull request 'Implement health regeneration correctly' (#1890) from Dieter44/MineClone2:fixHealthRegen into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/1890
2021-11-11 18:33:57 +00:00
Dieter44
03d22852ee Replace mobs:boom with equivalent mcl_explosions.exlode() to fix game crash when creeper is right-clicked with flint and steel. Issue #1753 2021-11-11 16:56:44 +01:00
Dieter44
10a5f8c4bf Adding attribute hostile=true to charged creeper to fix that the charged creeper has no behavior: Issue #1756 2021-11-11 16:50:29 +01:00
Dieter44
68810a2a74 Change creeper fuse range and defuse range according to minecraft wiki: https://minecraft.fandom.com/wiki/Creeper and: https://minecraft.fandom.com/wiki/Explosion. Fix of #1689 2021-11-11 16:47:32 +01:00
Dieter44
0b6467d679 Reduce creeper run_velocity to 2.1, to fix #1691 2021-11-11 16:03:04 +01:00
NO11
8979230c42 Several fixes for applying bone meal to grass 2021-11-10 17:15:27 +00:00
iliekprogrammar
f61143758e
Fix small typo in API.md 2021-11-10 12:54:28 +08:00
iliekprogrammar
fa22ec4dd0
Add helper functions to update/merge tables. 2021-11-10 02:50:49 +08:00
Dieter44
017bf705e9 Fixing that player can regenerate health in death screen and then respawn without HP being set to maximum 2021-11-09 19:35:32 +01:00
Elias Fleckenstein
a7bc460fae
Fix boat and enchanting book texture glitches / warnings 2021-11-09 17:39:39 +01:00
Dieter44
e82d21040c minor changes, ipairs() replaced with pairs() 2021-11-08 19:15:56 +01:00
Dieter44
2f05388541 Add one food_tick_timer per player instead of using one for all players. 2021-11-08 15:49:05 +01:00
Dieter44
976f522b9d Combine slowFoodTickTimer and fastFoodTickTimer to a single food_tick_timer 2021-11-08 15:33:53 +01:00
NO11
51dffc6c53 Merge branch 'master' into bone_meal 2021-11-08 13:16:39 +00:00
NO11
30ce6f8a77 Fix typo min -> max 2021-11-08 13:16:20 +00:00
Elias Fleckenstein
a410a7fabe Merge pull request 'Add OpenCollective link and credits' (#1893) from EliasFleckenstein03/MineClone2:opencollective into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/1893
2021-11-08 11:48:10 +00:00
Elias Fleckenstein
ea46c8741b
Add OpenCollective link and credits 2021-11-07 20:29:11 +01:00
NO11
5b52deaa8a Merge branch 'master' into bone_meal 2021-11-06 13:38:20 +00:00
NO11
7bbc1e9951 Add API.md for bone meal API 2021-11-06 13:34:22 +00:00
Elias Fleckenstein
0dd780ee2a Merge pull request 'Implement grass palette conversion, Add sugar cane colorisation' (#1889) from EliasFleckenstein03/MineClone2:tint into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/1889
2021-11-06 13:29:39 +00:00
NO11
1b259f928b Add simple bone meal API
- callback api
- particle api
2021-11-06 13:12:03 +00:00
Dieter44
d0d60804a3 Implemented health regeneration mechanics as described in minecraft wiki. Saturation values and different regeneration speeds now used. 2021-11-04 21:01:28 +01:00
Dieter44
d1d11f9740 Fixed debug hudbars for player saturation and exhaustion when mcl_hunger_debug=true is set in .config file 2021-11-04 20:58:54 +01:00
Nils Dagsson Moskopp
4926c0560d
Speed up TGA encoding by creating fewer strings 2021-11-04 15:38:56 +01:00
Nils Dagsson Moskopp
23ca11c8e1
Use RLE compression in tga_encoder 2021-11-04 15:38:26 +01:00
Elias Fleckenstein
88e084cbca Merge pull request 'Rework XP API' (#1888) from EliasFleckenstein03/MineClone2:xp into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/1888
2021-11-04 13:36:13 +00:00