Commit Graph

2052 Commits

Author SHA1 Message Date
ancientmarinerdev
5fc78bf6b0 Use unique name for function. Add development flag to enable crashing locally 2023-03-11 00:05:53 +00:00
ancientmarinerdev
b47ef9275b Fix whoops 2023-03-11 00:05:53 +00:00
ancientmarinerdev
ce6d9d561f When mob out of range, avoid processing expensive or unneccessary things 2023-03-11 00:05:53 +00:00
syl
96b2f6a01d Improve French translation 2023-03-10 22:48:46 +01:00
ancientmarinerdev
655c130956 Remove aggro for iron golem when out of range 2023-03-10 03:03:53 +00:00
ancientmarinerdev
e15d0cd5a0 Merge pull request 'Make enderman hostile towards endermites and fix it's behavior on other dimensions' (#3501) from anarquimico/MineClone2:enderman_hostile_endermite into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3501
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-03-08 21:47:40 +00:00
ancientmarinerdev
a25cced40e Remove comment now resolved 2023-03-04 02:18:36 +00:00
ancientmarinerdev
86a85bb487 Fix spawn egg crashes in different dimensions 2023-03-04 01:38:51 +00:00
anarquimico
8c4f2fdd7b TP to dark spots only on the overworld 2023-03-03 21:55:56 -03:00
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
anarquimico
a3ab67cb55 Better fix for enderman behavior 2023-03-03 10:03:26 -03:00
anarquimico
7cbeae00cc Fix enderman behaviour for other dimesions 2023-03-02 10:22:08 -03:00
anarquimico
16a4448c5f Performance improvement 2 2023-03-02 09:57:33 -03:00
anarquimico
5093f31f28 Performance improvement 2023-03-02 09:20:00 -03:00
anarquimico
8825fb9860 Removes unnecessary commentary 2023-03-02 08:32:52 -03:00
anarquimico
d0022db2a5 Make enderman hostile towards endermites 2023-03-02 08:28:06 -03:00
epCode
dc9407701e fix crash skeleton jockey code 2023-02-28 17:46:21 +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
14039290a9 Added mobs that were missing from non_spawn_specific() 2023-02-26 11:06:38 -05:00
GuyLiner
f39cec2442 Added slime_big to non_spawn_specific instead of creating an exception for them in spawning.lua 2023-02-16 20:48:30 -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
GuyLiner
fbb2923a0b Added mcl_mobs:non_spawn_specific function for mobs that don't naturally spawn and for mobs that don't spawn in the overworld 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
Michieal
8bfa55fa7a Changed Salmon, Glow Squid, Cod, Cartography Table, Awards_Axolotl, Armor_Stand_Item. Glow-Ink_sac. 2023-02-14 01:43:16 +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
4482068211 Nerf group spawning until group spawn is based on pack size, not per spawn attempt 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
SmokeyDope
71671f8b5f Make minecart rails unable to be broken with lava 2023-02-09 01:53:52 +00:00
SmokeyDope
c4d60e50cc Make minecart rails unable to be broken with water 2023-02-09 01:53:52 +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
cdc922d4ac Merge pull request 'Make fletcher buy sticks' (#3383) from mrminer/MineClone2-Fletcher-Fix:master into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3383
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-02 15:37:35 +00:00
ancientmarinerdev
7daa79a3f8 Fix wither crash on certain version of Lua. 2023-02-02 02:22:21 +00:00
mrminer
01f814267e Update 'mods/ENTITIES/mobs_mc/villager.lua' 2023-01-31 21:14:23 +00:00
mrminer
8f4c69084d Make fletcher buy sticks 2023-01-31 21:12:01 +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
Johannes Fritz
a1cc24f8d3 Slowing creative digging 2023-01-24 11:16:28 -06: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
ancientmarinerdev
6bbf3af97b Remove log line 2023-01-23 20:10:28 +00:00
ancientmarinerdev
84317afc93 Review feedback implemented and planned changes 2023-01-23 20:10:28 +00:00
ancientmarinerdev
2cd6629ae1 Add some mob object checks to avoid crashing 2023-01-23 20:10:28 +00:00
ancientmarinerdev
ce7d493890 Merge pull request 'Iron golem fixes' (#3309) from gldrk/MineClone2:master into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3309
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-22 00:45:53 +00:00
ancientmarinerdev
30d3b7ee23 Merge pull request 'mcl_bamboo Part 2.' (#3208) from mcl_bamboo_too into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3208
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-16 20:22:09 +00:00
ancientmarinerdev
9b28baaad6 Give longer to breed mobs. 1.5s is not enough 2023-01-16 00:00:28 +00:00
b3nderman
f9b021e4c6 Fix animals jumping way too high upon growing up 2023-01-15 22:47:05 +00:00
Michieal
e9c202ae45 Added Bamboo Biomes to spawning.lua. 2023-01-15 15:30:34 -05:00
b3nderman
a7fac7c550 Fix tamed ocelot textures not being set correctly 2023-01-15 16:57:47 +00:00
gldrk
5412206743 Make iron golem protect villagers 2023-01-14 01:37:32 +03:00
gldrk
30521a8b2f Make iron golem defend itself from players 2023-01-14 01:34:28 +03:00
gldrk
1536338199 Allow passive mobs to have protectors 2023-01-14 01:32:42 +03:00
gldrk
3697ef8069 Fix summoning friends for mobs 2023-01-14 01:28:35 +03:00
ancientmarinerdev
8e1f00d428 Villager breeding is now unburgered. Burger now needs right click to initiate follow. 2023-01-11 01:07:18 +00:00
ancientmarinerdev
4fd4425aae Improved mob debug 2023-01-11 01:07:18 +00:00
ancientmarinerdev
ac4cd2c325 Improve performance for head swivel check 2023-01-11 01:07:18 +00:00
ancientmarinerdev
01c8009c6a Tidy on_step function 2023-01-11 01:07:18 +00:00
ancientmarinerdev
ef90820f67 Fix farm animals so they don't get into combat state 2023-01-11 01:07:18 +00:00
ancientmarinerdev
d6d11b9526 Zombie villagers cannot despawn during curing process 2023-01-11 01:07:17 +00:00
ancientmarinerdev
b0264b2736 Endermen now despawn when not holding a block. 2023-01-11 01:07:17 +00:00
ancientmarinerdev
fb30564827 Ooooooh, lecterns. My favourite. 2023-01-09 22:32:14 +00:00
ancientmarinerdev
59694ebc7c Fix merge conflict 2023-01-06 13:52:03 +00:00
ancientmarinerdev
e4db91d35c Fix crash bug 2023-01-06 02:59:02 +00:00
ancientmarinerdev
2527479401 Clean up on isle 5, please 2023-01-06 02:59:02 +00:00
ancientmarinerdev
85f7bbdb80 Optimisation. Don't even prepare to path if not ready to path 2023-01-06 02:59:02 +00:00
ancientmarinerdev
465a919f6b Villager will now reclaim job during the day even when it isn't work time 2023-01-06 02:59:02 +00:00
ancientmarinerdev
325a666c62 Added pathfinder constants to make it easier to tweak 2023-01-06 02:59:02 +00:00
ancientmarinerdev
e9b54e85c2 Pathfinding clean up 2023-01-06 02:59:02 +00:00
ancientmarinerdev
4324fe2489 Villager will now path from one house to another in search of available job or bed 2023-01-06 02:59:02 +00:00
ancientmarinerdev
d6804bf4b7 Fix distance to target issue, and refactor pathing actions 2023-01-06 02:59:02 +00:00
ancientmarinerdev
87f04bdd9f Prevent attempting to path through 2 doors until code supports it. Clean up also. 2023-01-06 02:59:02 +00:00
ancientmarinerdev
e3307d647b Fix pathing to bell that is sat on the ground 2023-01-06 02:59:02 +00:00
ancientmarinerdev
29cd73cb84 Pathfinding through door should also check door closest to position so villager can leave current house 2023-01-06 02:59:02 +00:00
ancientmarinerdev
5c0a763b83 Optimisation - Only check for town bell if ready to path 2023-01-06 02:59:02 +00:00
ancientmarinerdev
9b1ceebf0d Villagers will now pathfind to town bell that isn't on the ground 2023-01-06 02:59:02 +00:00
Johannes Fritz
0b1916b807 Fix baby zombies going through 1 node high space 2023-01-04 07:52:48 -06:00
ancientmarinerdev
f8ae702ce4 Function name consistency 2023-01-02 00:58:23 +00:00
ancientmarinerdev
5faf060122 Fix crash and remove unused duplicate variables 2023-01-02 00:54:08 +00:00
ancientmarinerdev
8c648d1fc3 Refactor mob_step and do_states 2023-01-02 00:00:40 +00:00
iliekprogrammar
c2ba70a601 Merge branch 'master' into mcl-item-entity-fixes 2022-12-30 18:34:41 +00:00
ancientmarinerdev
e6e898671a Merge pull request 'add japanese translation' (#3149) from SakuraRiu/MineClone2:master into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3149
Reviewed-by: Michieal <michieal@noreply.git.minetest.land>
2022-12-29 22:14:48 +00:00
kabou
92ee402971 Separate white dye from bone meal.
* Add craftitem for ":mcl_bone_meal:bone_meal" to mcl_dye (temporarily.)
* Add crafting recipe for bone meal.
* Add texture for white dye item.
* Merge craftitem registration for "mcl_dye:white" with generic dyes.
* Add crafting recipe for white dye.
* Add legacy conversion recipe.
* Update dyes table.
* Update translations.
* Update mcl_crimson and sweet berry on_rightclick handlers.
* Update composter output, both as freestanding and to hoppers.
* Update bone block crafting recipes.
* Update tropical fish, cod and salmon mob drops.
2022-12-29 03:08:50 +00:00
kabou
d2edc75407 Separate blue dye from lapis lazuli.
* Add craftitem "mcl_core:lapis".
* Add texture for blue dye item.
* Add crafting recipe for blue dye.
* Add legacy conversion recipe.
* Update dyes table.
* Update translations.
* Update lapis block crafting recipes.
* Update lapis ore drops.
* Update dungeon and shipwreck loot.
* Update enchanting table input.
* Update villager trade.
2022-12-29 03:08:49 +00:00
kabou
7311071303 Separate black dye from squid ink sac.
* Add craftitem "mcl_mobitems:ink_sac".
* Add texture for black dye item.
* Add crafting recipe for black dye.
* Add legacy conversion recipe.
* Update dyes table.
* Update translations.
* Update fishing loot.
2022-12-29 03:08:49 +00:00
kabou
60b0cfe89a Remove FIXME about slimes spawning in swamps.
* This has been fixed.
2022-12-29 02:13:57 +00:00
kabou
d8a883e81f Limit size of cow herds spawning.
* Cows should spawn in herds of max 4, not 8.
2022-12-29 02:13:57 +00:00
kabou
15f5c3c30a Make slimes spawn at night in swamps.
* Adds spawn definitions for large, small and tiny slimes to spawn in
  Swampland and MangroveSwamp biomes when light levels are less than 7.
2022-12-29 02:13:57 +00:00
kabou
4af8148850 Refactor spawn registrations.
* Unduplicate spawnable biome lists for slimes and magma cubes.
* Rename min and max spawndepth identifiers.
2022-12-29 02:13:57 +00:00
kabou
ea6201d32f Add missing biome to slime spawn list.
* Add "MangroveSwamp_underground" to the lists of spawnable biomes for
  big, small and tiny slimes.
2022-12-29 02:13:57 +00:00
kabou
da17ff8ea0 Remove stray dependency.
While mobs_mc_gameconfig was deleted at some point during the mob
refactoring, it was still listed in mobs_mc's mod.conf.
2022-12-29 02:13:57 +00:00
kabou
6756ee340c Mob spawning chatcommand refactoring.
* Put calculations that are only used conditionally inside the
  related `if` block.
* Make code logic more explicit.
* Take logging statement out of return value assignment.
* Remove duplicate assignment.
* Fix a typo in the function's description.
2022-12-29 02:13:57 +00:00
kabou
0c454a34c9 Use vectors in get_next_mob_spawn_pos() 2022-12-29 02:13:57 +00:00
kabou
8279dcb3dd Add FIXME notes to slime mob code.
Missing features:
* Slimes should not only spawn in caves, but also at night in swamps.
* Slimes should only spawn on 10% of the map ("slime chunks").
* There are no spawn eggs registered for small and tiny slimes and magma
  cubes.
2022-12-29 02:13:57 +00:00
kabou
ea19f02e14 Assorted spawn_children_on_die fixes.
* Use proper vector semantics.
* Optimize away superfluous temp variables and repetitive local variable
  declarations.
2022-12-29 02:13:57 +00:00
kabou
95cbac78a8 Change number of children spawned on die.
When a slime or magma cube dies, it should spawn between 2 to 4 smaller
children.  The code was always spawning 4 children (3 for big magma
cubes).  This commit makes the following changes to the function
`spawn_children_on_die`:
* Make the number of children spawned a random number between 2 and 4.
* No longer accept the `children_count` as an argument, because this
  number should always be a random number between 2 and 4 anyway.
* Update all callers accordingly.
2022-12-29 02:13:57 +00:00
FossFanatic
522bbbbe26 Delete 'mods/ENTITIES/mobs_mc/textures/mobs_mc_enderman_block.png' 2022-12-22 12:47:44 +00:00
Riu Sakura
3faa930bdc Added missing translations.
In addition, the translation of "Grass Block" has been corrected to a better phrase.
2022-12-21 10:24:26 +09:00
Riu Sakura
2b61231f82 add japanese translation 2022-12-19 15:33:31 +09:00
ancientmarinerdev
254caaff37 Merge conflict fixes for release 0.81.1 2022-12-14 21:38:53 +00:00
CyberMango
f7f2b97b13 Fixed #2313 - baby mobs cant jump over blocks.
Simply removed a line that specifies they shouldnt do that.
2022-12-10 19:54:44 +02:00
ancientmarinerdev
e408dd45e5 Remove easter egg taking 3% of processing 2022-12-09 19:30:06 +00:00
AFCMS
bbf21762a6
Format again 2022-12-07 18:22:54 +01:00
AFCMS
34a7cf3e9f
Remove duplicated reach field 2022-12-07 18:22:54 +01:00
AFCMS
3153c41f3a
Remove mtg compatibility code 2022-12-07 18:22:53 +01:00
AFCMS
489d3b7da6
Format file 2022-12-07 18:22:53 +01:00
ancientmarinerdev
a0a0c69213 Fix Axelotl crash for right click 2022-12-04 11:34:48 -06:00
cora
9508cd4c25 Fix creeper crash 2022-11-29 03:28:19 +01:00
cora
69c64a2c24 Fix wrong self ref with mcl_mobs.spawn_child 2022-11-28 03:26:51 +01:00
cora
318da7e3c9 Fix local go_to_pos call 2022-11-28 03:26:51 +01:00
cora
ebf214c043 Check if spawndef exists when spawning 2022-11-27 14:53:17 +01:00
cora
7bd0b5a9b1 Some more missing arg fixes 2022-11-27 14:53:16 +01:00
cora
bc496a8682 Finally indent register_mob and make registered mobs global 2022-11-27 14:53:16 +01:00
cora
a3415647d4 Fix do_jump call in combat.lua 2022-11-27 14:53:16 +01:00