teknomunk
|
867ad2b6f6
|
Implement gamerule:minecartMaxSpeed
|
2025-01-23 07:11:01 -06:00 |
|
teknomunk
|
fca0d6d7da
|
Change from table indirection to getter/setter functions for dynamically updating local variables
|
2025-01-23 07:11:00 -06:00 |
|
teknomunk
|
2b141d0d41
|
Implement doMobLoot gamerule
|
2025-01-23 07:10:38 -06:00 |
|
teknomunk
|
d61e1786a6
|
Remove debug print(), add game rules maxEntityCramming, snowAccumulationHeight
|
2025-01-23 07:10:38 -06:00 |
|
teknomunk
|
d4355556e7
|
Fix default value handling during set (allows bool settings to be set to false), add game rules: doMobSpawning, disableRaids, doWeatherCycle, doFireTick
|
2025-01-23 07:10:36 -06:00 |
|
teknomunk
|
c72ff616ab
|
Change hopper minecart delay to 0.25 seconds from 0.05 seconds
|
2025-01-20 18:42:40 +01:00 |
|
teknomunk
|
53e1546219
|
Fix crash when hopper minecart is off rails
|
2025-01-20 18:42:40 +01:00 |
|
teknomunk
|
e08505d24d
|
Make hopper minecart pull items from containers when stopped
|
2025-01-20 18:42:40 +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 |
|