kno10
|
36f5abc4df
|
Fix spawning ignoring mob cap (#4891)
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 (#4893)
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 |
|
teknomunk
|
bc5e5f7262
|
Inline most spawn definition fields, remove table.insert()
|
2025-01-20 18:37:09 +01:00 |
|
teknomunk
|
0b07f449da
|
Resolve linter warnings, replace get_item_group with groups.* lookups
|
2025-01-20 18:37:09 +01:00 |
|
teknomunk
|
e4b5673642
|
Resolve some review comments
|
2025-01-20 18:37:09 +01:00 |
|
teknomunk
|
35fafc9928
|
Resolve several lua-language-server findings, add missing get_item_group, remove spawn_def usage (didn't exist where attempted to be used)
|
2025-01-20 18:37:09 +01:00 |
|
teknomunk
|
add61ad6b2
|
Change main spawning look to use adaptive delay based on last run with maximum period of 2.5 seconds, put some logging behind a flag, remove unused constants
|
2025-01-20 18:37:09 +01:00 |
|
teknomunk
|
8b13b36a6a
|
Move raycast_line_of_sight function to mcl_mobs/functions.lua, rework group spawn point selection code, add line of sight check to group origin
|
2025-01-20 18:37:09 +01:00 |
|
teknomunk
|
8c42694ac9
|
Change logging default and one log message
|
2025-01-20 18:37:09 +01:00 |
|
teknomunk
|
78aa99eacd
|
Refactor spawn_group() so that each spawn point can only be used once and protection is respected
|
2025-01-20 18:37:09 +01:00 |
|
teknomunk
|
97a674e8c9
|
Fix passive spawning, disable some debug logging
|
2025-01-20 18:37:09 +01:00 |
|
teknomunk
|
28a058f8b7
|
Stop mobs that require ground from spawning in water, remove unused code and variables, some minor microoptimizations
|
2025-01-20 18:37:09 +01:00 |
|
teknomunk
|
61c9f9eade
|
Drop biome group generation and replace with spawn state checks for much improved performance (but has regressions), change logging of failure to find spawn point, increase spawn attempts to 4 per second with no position retries and only a single mob or group per attempt
|
2025-01-20 18:37:09 +01:00 |
|
teknomunk
|
8af26e2e75
|
Replace biome_check() with table.find()
|
2025-01-20 18:37:09 +01:00 |
|
teknomunk
|
b636a2e831
|
Implement generating biome groups for spawning (not actually used yet)
|
2025-01-20 18:37:09 +01:00 |
|
teknomunk
|
0cb2ef8957
|
Initial changes to spawn_check() and spawn_a_mob(), add profiling for mob spawning
|
2025-01-20 18:37:09 +01:00 |
|
kno10
|
36bededf5d
|
use helper function for cleaner code
|
2025-01-09 13:01:25 +01:00 |
|
kno10
|
f8a6172ca3
|
actually support spawnbox, drop old collisionbox workaround
|
2025-01-09 13:01:25 +01:00 |
|
kno10
|
2c2e5d7dc8
|
allow spawning medium size mobs in 2x2
|
2025-01-09 13:01:25 +01:00 |
|
kno10
|
a4fa9c1913
|
make fly_in a map
|
2025-01-09 13:01:25 +01:00 |
|
kno10
|
ac1333be94
|
spawn room check that tolerates plants
|
2025-01-09 13:01:25 +01:00 |
|
Mikita Wiśniewski
|
2df6f7d5d4
|
Fix jockey spawn room check (#4812)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4812
Reviewed-by: kno10 <kno10@noreply.git.minetest.land>
Co-authored-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-committed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
|
2025-01-05 02:23:48 +01:00 |
|