Commit graph

944 commits

Author SHA1 Message Date
teknomunk
c5fa5c60df Move more properties into initial_properties field 2025-03-30 15:34:14 +02:00
teknomunk
e9ecf97765 Fix more initial_properties warnings 2025-03-30 15:34:14 +02:00
teknomunk
995dfcf34e Make deprecation always report even if initial_properties is present 2025-03-17 11:02:40 +01:00
teknomunk
141e7ccc2f Add deprecation warning 2025-03-17 11:02:40 +01:00
teknomunk
6f1be411e3 Quiet mob staticdata logging and put it behind mobs_debug setting 2025-03-17 11:02:40 +01:00
teknomunk
2a4c31cf54 Add backwards compatibility for mobs that don't provide an initial_properties field 2025-03-17 11:02:40 +01:00
teknomunk
25aeff4420 Fix missing .initial_properties 2025-03-17 11:02:40 +01:00
teknomunk
fbf9e1eb0f Add logging of possibly corrupted mob entity staticdata 2025-03-14 08:41:27 +01:00
teknomunk
c3321105a4 Add another texture validity check 2025-03-14 08:41:27 +01:00
teknomunk
7c2238f456 Move mesh,visual,visual_size,glow,make_footstep_sound,stepheight,automatic_face.. to initial_properties 2025-03-14 08:39:03 +01:00
teknomunk
277755ce8f Fix up selectionbox 2025-03-14 08:39:03 +01:00
teknomunk
26aa7d3feb Update collisionbox code 2025-03-14 08:39:03 +01:00
teknomunk
4b7e752323 Fix hp_max and hp_min for mobs 2025-03-14 08:39:03 +01:00
teknomunk
d6339a7649 Fix crash when trying to convert spawned creepers and endermen ()
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/5014
Reviewed-by: kno10 <kno10@noreply.git.minetest.land>
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: teknomunk <teknomunk@protonmail.com>
Co-committed-by: teknomunk <teknomunk@protonmail.com>
2025-03-13 16:17:22 +01:00
kno10
1e9ee97a7d update locales 2025-03-07 20:57:37 +01:00
teknomunk
6fab15e8df Fix crash when hostile mobs are disabled ()
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4989
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: teknomunk <teknomunk@protonmail.com>
Co-committed-by: teknomunk <teknomunk@protonmail.com>
2025-03-07 20:05:47 +01:00
teknomunk
e471a29b2d Fix axolotl heads on 5.11.0 2025-03-04 20:58:52 +01:00
teknomunk
15ed7895cd Fix crash in skyblock spawning ()
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4905
Reviewed-by: kno10 <kno10@noreply.git.minetest.land>
Co-authored-by: teknomunk <teknomunk@protonmail.com>
Co-committed-by: teknomunk <teknomunk@protonmail.com>
2025-02-09 16:59:22 +01:00
teknomunk
da7cf8a723 Don't display global mob cap reached unless logging setting has been enabled ()
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4901
Reviewed-by: kno10 <kno10@noreply.git.minetest.land>
Co-authored-by: teknomunk <teknomunk@protonmail.com>
Co-committed-by: teknomunk <teknomunk@protonmail.com>
2025-02-09 16:58:26 +01:00
kno10
60b01a4daa Remove unnecessary jumping on breeding ()
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4900
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: kno10 <erich.schubert@gmail.com>
Co-committed-by: kno10 <erich.schubert@gmail.com>
2025-02-09 16:42:03 +01:00
kno10
36f5abc4df Fix spawning ignoring mob cap ()
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4891
Reviewed-by: teknomunk <teknomunk@protonmail.com>
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: kno10 <erich.schubert@gmail.com>
Co-committed-by: kno10 <erich.schubert@gmail.com>
2025-01-25 14:22:30 +01:00
kno10
a0fe68a6f1 Tiny fix in door pathfinding ()
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4893
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: kno10 <erich.schubert@gmail.com>
Co-committed-by: kno10 <erich.schubert@gmail.com>
2025-01-24 22:32:42 +01:00
teknomunk
9474da5e75 Fix crash 2025-01-20 18:37:09 +01:00
teknomunk
e5279a2723 Rework fixed_timestep() to be more accurate and remove maximum spawn cycle time 2025-01-20 18:37:09 +01:00
teknomunk
ed5a08ba36 Rework build_state_for_position so that more cases will return early and avoid computations and a table allocation, replace find_spawning_position() with get_next_spawning_position(), add (commented out) notes for tracking which cases lead to mobs not spawning to help guide optimization 2025-01-20 18:37:09 +01:00
teknomunk
94da5fe813 Replace minetest. with core., fix percentage calculation 2025-01-20 18:37:09 +01:00
teknomunk
f59beb9961 Address review comments 2025-01-20 18:37:09 +01:00
teknomunk
60d6d252b1 Further optimizations: pairs() -> for i=, remove most mcl_log() calls, remove unused parameter in mob_cap_space() 2025-01-20 18:37:09 +01:00
teknomunk
85155f8cd5 Convert state hash to number from string, exclude core.add_entity() time from profiling 2025-01-20 18:37:09 +01:00
teknomunk
23c04a6735 Add per-spawn-attempt timing calculation 2025-01-20 18:37:09 +01:00
teknomunk
29717808cd Add built-in mob spawn profiling 2025-01-20 18:37:09 +01:00
teknomunk
8cabee0621 Localize minetest.get_node() 2025-01-20 18:37:09 +01:00
teknomunk
ce993654f3 Finish converting to use localized version of math.* functions 2025-01-20 18:37:09 +01:00
teknomunk
e37c8a9530 Fix rebase 2025-01-20 18:37:09 +01:00
teknomunk
8f0fdfe03a Move registered_entity[] check to spawn registration, use localized math.* functions, fix typo, add error messages to asserts in spawn registration 2025-01-20 18:37:09 +01:00
teknomunk
43321083f7 Remove redundant room check 2025-01-20 18:37:09 +01:00
teknomunk
57f3ad4fd7 Change state serialization to use table.concat() with a persistent workspace table 2025-01-20 18:37:09 +01:00
teknomunk
9a34c124c1 Only create biomes_lookup if one wasn't provided in the definition 2025-01-20 18:37:09 +01:00
teknomunk
3a54c67c4c Remove unused table.find(), add comment on fallthru, fix typo in log message, switch to using mcl_log for two log messages, set guardians to no biomes (structures only) 2025-01-20 18:37:09 +01:00
teknomunk
374db5ad24 Add seethru node list support to mcl_mobs.check_line_of_sight 2025-01-20 18:37:09 +01:00
teknomunk
299c209b60 Fix lava spawns 2025-01-20 18:37:09 +01:00
teknomunk
f4e2275ae1 Remove development logging, correct luacheck findings 2025-01-20 18:37:09 +01:00
teknomunk
5844dcfff9 Rewrite mcl_mobs:spawn_specific() in terms of mcl_mobs:spawn_setup() and mark as deprecated, cleanup mcl_mobs:spawn_setup(), compute cumulative chance once when the spawn list is created instead of every time a spawn is attempted 2025-01-20 18:37:09 +01:00
teknomunk
886098e5f4 Remove comment superceded by type annotations, give explicit values for mcl_mobs.SpawnDef.dimension 2025-01-20 18:37:09 +01:00
teknomunk
09eb6bde1e Fix crashes in generating state serialization, make adaptive spawn attempt rate actually work 2025-01-20 18:37:09 +01:00
teknomunk
2626a475ee Redo guardian spawn registration (copy biomes from glow squid) 2025-01-20 18:37:09 +01:00
teknomunk
8957bf300c Make sure all parameters to spawn_specific() get stored in the spawn definition, change select_random_mob_def() to remove possible error() call 2025-01-20 18:37:09 +01:00
teknomunk
9aade4034f Add lava conditions 2025-01-20 18:37:09 +01:00
teknomunk
b4cd5fe37c Add biome_lookup table to SpawnDef, type annotation for mcl_mobs.SpawnDef class 2025-01-20 18:37:09 +01:00
teknomunk
511434a923 Replace compute_hash with a string.format(), move spawn_names into logging block, remove argument aliasing in get_spawn_list(), add SpawnState type annotation 2025-01-20 18:37:09 +01:00