Commit Graph

628 Commits

Author SHA1 Message Date
ancientmarinerdev
48fa2608ed Merge pull request 'spawn-egg-crash-fix' (#3492) from GuyLiner/MineClone2:spawn-egg-crash-fix into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3492
2023-03-04 00:34:45 +00:00
epCode
e48dabc8be Create the Jockey api and use it on Skel/Spid 2023-02-28 17:46:21 +00:00
GuyLiner
cafc16c41c Fix #3484
If a mob was not found in the spawn_dictionary or the non_spawn
dictionary and you tried to use a spawn egg to spawn that mob, the game
would crash. This commit prevents that from happening by adding a check
for mobs that don't exist, and minetest.log throws an error.
2023-02-26 11:22:21 -05:00
GuyLiner
cd1c8bd92e Refactored logic for getting light levels for mobs
Removed mob_light_table, simplied loop, changed return values and
fixed dimension priority error in loop. Slimes also don't have a
hardcoded exception for their light levels anymore, and instead
are apart of spawn specific.
2023-02-16 20:48:28 -05:00
GuyLiner
3830171347 Adjusted mob_light_lvl for changed return value 2023-02-16 19:43:50 -05:00
GuyLiner
0a9be4b79c Added light level parameters to the mobs_mcl.setup_spawner() function, fixing #221
There is now a call to mcl_mobs:mob_light_lvl that returns a table for the name of the mob that you pass to it that contains
the light levels for that mob.
2023-02-16 19:43:50 -05:00
GuyLiner
540319d948 Added non_spawn_dictionary and function for getting mob light levels
The non_spawn_dictionary will cover all mobs that don't spawn naturally, and holds the the minimum and maximum light values for each of them.
A function has also been created that will go through both the spawn_dictionary and the non_spawn_dictionary and determine which one
a mob exists in, with the execption of slimes which cannot spawn from a custom spawner at the moment.

Mobs who don't have light levels for the world that you are currently trying to set your custom spawner in will default to their overworld values
2023-02-16 19:43:50 -05:00
ancientmarinerdev
4d61e32021 Clean up error handling 2023-02-16 23:15:55 +00:00
ancientmarinerdev
7c602ce82c Tidy up error handling. 2023-02-16 23:15:55 +00:00
ancientmarinerdev
ae92c51155 Adding error handling to the mob step function 2023-02-16 23:15:55 +00:00
Michieal
f05e976d18 changed comment. 2023-02-14 01:50:05 +00:00
Michieal
5533ec7bac fix mobs losing their textures. 2023-02-14 01:50:05 +00:00
ancientmarinerdev
9445e10834 Pathfinding optimisations and villager has earlier bed time 2023-02-11 10:36:56 +00:00
ancientmarinerdev
2fd7f8c69f Fix hungry sheep and hyrdophobic passive mobs 2023-02-11 00:37:16 +00:00
ancientmarinerdev
d4c2802afb Implement review/testing feedback 2023-02-10 19:01:29 +00:00
ancientmarinerdev
bf50a17f2e Limit spawning of mobs outside y axis as well 2023-02-10 19:01:29 +00:00
ancientmarinerdev
b817c079ba Improve balancing for early game 2023-02-10 19:01:29 +00:00
ancientmarinerdev
cfa276f722 Add settings for percentage of hostile and peaceful groups spawned 2023-02-10 19:01:29 +00:00
ancientmarinerdev
86b1d8bc3e Add world gen limits to spawning to avoid things spawning past the world gen limits 2023-02-10 19:01:29 +00:00
ancientmarinerdev
9c2f43a242 Limit peaceful spawning and add configurable option 2023-02-10 19:01:29 +00:00
ancientmarinerdev
044a91e831 Change spawn cap groups to spawn_type to give water it's own spawn cap. 2023-02-10 19:01:29 +00:00
ancientmarinerdev
106979e64a Clean up 2023-02-10 19:01:29 +00:00
ancientmarinerdev
1dc7cab6be Add logging 2023-02-10 19:01:29 +00:00
ancientmarinerdev
634379dfe9 Retry if failing to find spawn position 2023-02-10 19:01:29 +00:00
ancientmarinerdev
c2ac33ac61 Mobs now can spawn in multiple positions around you per spawning cycle 2023-02-10 19:01:29 +00:00
ancientmarinerdev
b5c0830060 Restructure code and tidy 2023-02-10 19:01:29 +00:00
ancientmarinerdev
c43c723e08 Clean logging etc. 2023-02-10 19:01:29 +00:00
ancientmarinerdev
bd3a4ff0df Clean up 2023-02-10 19:01:28 +00:00
ancientmarinerdev
0267ad2f31 Decrease change of groups spawning for peacefuls. Refresh total mobs check on spawn. 2023-02-10 19:01:28 +00:00
ancientmarinerdev
a2f9ea81cc Fix mobs debug crash 2023-02-10 19:01:28 +00:00
ancientmarinerdev
7c7f4b930c Move cap check out of spawn checks and reimplement close cap check 2023-02-10 19:01:28 +00:00
ancientmarinerdev
60529d3d5d Add in constants for spawn zones 2023-02-10 19:01:28 +00:00
ancientmarinerdev
6ea4b43249 Limit group spawn to available cap space. Total mobs check once per spawn cycle. 2023-02-10 19:01:28 +00:00
ancientmarinerdev
b834e790a7 Fix game crashes 2023-02-08 19:34:04 +00:00
ancientmarinerdev
39d4434df1 Reorder on_step calls 2023-02-08 19:34:04 +00:00
ancientmarinerdev
4b9482cb09 Mobs should not drop XP when dying by fire from sunlight 2023-02-08 19:34:04 +00:00
GuyLiner
4d922d9edf Added conditional based on existing fire damage conditional that will apply fire damage to a
mob standing on top of a magma node that belongs to the "fire" group. The magma node
has also been added to the fire group, making it so that standing on the node will
do damage to the mob.

In official Minecraft, magma blocks just do fire damage without the fire animation.
Source: https://minecraft.fandom.com/wiki/Magma_Block
2023-02-06 00:10:52 +00:00
ancientmarinerdev
7d46fa3362 Merge pull request 'texture-consolidation' (#3380) from texture-consolidation into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3380
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-04 03:23:13 +00:00
ancientmarinerdev
7daa79a3f8 Fix wither crash on certain version of Lua. 2023-02-02 02:22:21 +00:00
Michieal
06effcd786 Merge branch 'master' into texture-consolidation 2023-01-30 22:57:38 -05:00
Michieal
6265148727 Move textures all into one centralized directory. 2023-01-30 22:55:53 -05:00
ancientmarinerdev
245ce99223 Using mcl_vars 2023-01-31 02:28:04 +00:00
ancientmarinerdev
1f107ec0c7 Tidy 2023-01-31 02:28:04 +00:00
ancientmarinerdev
c209537cfe Make it a bit less chatty for logging 2023-01-31 02:28:04 +00:00
ancientmarinerdev
d583ccb986 Oooops, wrong number 2023-01-31 02:28:04 +00:00
ancientmarinerdev
7d803e174c Set freeze and warning when mobs too close to boundary of world 2023-01-31 02:28:04 +00:00
ancientmarinerdev
e4f26a4688 Fix self object checks for check suspend 2023-01-23 20:10:28 +00:00
ancientmarinerdev
af86e73280 Fix self object reference in player_in_active_range 2023-01-23 20:10:28 +00:00
ancientmarinerdev
32be8f9602 Fix more self object references in falling 2023-01-23 20:10:28 +00:00
ancientmarinerdev
15560d969c Change order of mob step 2023-01-23 20:10:28 +00:00