Commit Graph

758 Commits

Author SHA1 Message Date
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
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
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
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
59694ebc7c Fix merge conflict 2023-01-06 13:52:03 +00:00
ancientmarinerdev
2527479401 Clean up on isle 5, please 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
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
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
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
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
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
cora
9508cd4c25 Fix creeper crash 2022-11-29 03:28:19 +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
cora
4909ef6ff7 Restructure on_step a bit 2022-11-27 14:53:16 +01:00
cora
3c6d79ecb3 Add entity name to debug box 2022-11-27 14:53:16 +01:00
cora
6948b77226 move debug/nametag code back to api.lua 2022-11-27 14:53:16 +01:00
cora
90321ee578 Fix leftover local do_attack call 2022-11-27 14:53:16 +01:00
cora
2b691dea07 Fix some more global var warnings 2022-11-27 14:53:16 +01:00
cora
c25287e493 Some cleanup 2022-11-27 14:53:16 +01:00
epCode
762f64a4d1 Fix mob rotation glitching out near 0/360 in degrees
The problem mainly was that the set_yaw function was not allowing for negitive values.
2022-11-27 14:53:16 +01:00
cora
db63f1c453 fix leftover pi shortcut 2022-11-27 14:53:16 +01:00
cora
faa38ffab8 Fix some warnings 2022-11-27 14:53:16 +01:00
cora
19d6d43b39 move on_blast default to mob default def 2022-11-27 14:53:16 +01:00
cora
28b6fcf289 Move detach_child to mount.lua 2022-11-27 14:53:16 +01:00
cora
80490b4c11 Move smooth rotation to separate function 2022-11-27 14:53:16 +01:00
cora
5e177c61f6 Move on_step despawning to separate function 2022-11-27 14:53:16 +01:00
cora
c9c2b874be move relative animation speed to separate function 2022-11-27 14:53:16 +01:00
cora
18c415f6a0 put head swivel in separate function 2022-11-27 14:53:16 +01:00
cora
49670d1d28 put water flow code in separate function 2022-11-27 14:53:16 +01:00
cora
a25cd921f2 move do_states to movement.lua 2022-11-27 14:53:16 +01:00
cora
91b5b6266c move stray particle spawner func to effects 2022-11-27 14:53:16 +01:00
cora
148b30694f Fix monster_attack and some other settings issues 2022-11-27 14:53:16 +01:00
cora
f4374d9efd Fix item drops 2022-11-27 14:53:16 +01:00
cora
b41d6a1cae Fix mob_punch 2022-11-27 14:53:16 +01:00
cora
6548b7fe47 move stray pathfinding funcs to pathfinding file 2022-11-27 14:53:16 +01:00
cora
c7681af53e Move registration functions to init.lua 2022-11-27 14:53:16 +01:00
cora
cc77e109f5 Split off general movement functions 2022-11-27 14:53:16 +01:00
cora
e7d9ded9ab Split off combat funcs 2022-11-27 14:53:16 +01:00
cora
96d697c5cd Split off pathfinding, use metatables 2022-11-27 14:53:16 +01:00
cora
01abfea16d Split off item management 2022-11-27 14:53:16 +01:00
cora
bbba7cee41 Add compat for old "wrong" : notation 2022-11-27 14:53:16 +01:00
cora
e82c318f0c Split off breeding 2022-11-27 14:53:16 +01:00
cora
70834d0f5d make register functions use the . notation 2022-11-27 14:53:16 +01:00
cora
d62dbcb852 effects -> separate file + metatable 2022-11-27 14:53:16 +01:00
cora
67fd8c8b40 split off physics functions into separate file + use metatable 2022-11-27 14:53:16 +01:00
cora
90639ef99d remove unused functions 2022-11-27 14:53:16 +01:00
cora
31ef791cfd Add proper metatable to mobs 2022-11-27 14:53:16 +01:00
cora
033b051689 Fix crash when rightclicking parrot 2022-11-15 21:16:48 +01:00
ancientmarinerdev
3e1a475442 Logging improvements 2022-11-12 02:35:00 +01:00
cora
c44b29925a Fix random-interval crash when not using luajit 2022-11-10 01:45:42 +01:00
cora
21f3782439 Fix lightning on_strike api + rename to on_lightning_strike 2022-11-05 01:16:27 +01:00
ancientmarinerdev
8b0c4c17ad Slightly more frequent failed pathing attempts for villagers 2022-11-03 21:34:15 +00:00
ancientmarinerdev
2d0ea5e205 Enable concurrent pathing so pathing orders aren't queued 2022-11-03 21:34:14 +00:00
ancientmarinerdev
ad137304bc Fix bug where if it finds wrong door and can't plot route it hogs the pathing 2022-11-03 21:34:14 +00:00
ancientmarinerdev
ea9c9e74b0 Failed check should come before last pathed check to avoid a failed check taking up a good opportunity to path 2022-11-03 21:34:14 +00:00
ancientmarinerdev
17e3e83f43 Villagers should not try and path if they have failed recently 2022-11-03 21:34:14 +00:00
cora
da9f253117 Add setting for mob-movement stop range 2022-11-03 14:32:50 +01:00
ancientmarinerdev
c606092066 Pathfinding fix for villagers 2022-11-02 22:09:35 +01:00
ancientmarinerdev
5d5babdb20 Tweak distance to current_target check 2022-11-02 22:09:35 +01:00
ancientmarinerdev
1d667c26b5 Villagers will open and close doors when pathing through. Any failing steps now have a threshold to abandon failed pathing. 2022-11-02 22:09:35 +01:00
ancientmarinerdev
f9ec402b29 Only to door if we can get from door to target 2022-11-02 22:09:35 +01:00
ancientmarinerdev
bf491c35a1 Fix bug 2022-11-02 22:09:35 +01:00
cora
646a341f52 Fix mob api can_spawn callback 2022-11-02 03:47:23 +01:00
epCode
4575fd0d81 Fix prexisting villagers getting rid of job clothes 2022-11-01 04:40:51 +01:00
epCode
8a2962cd46 Fix all mobs being givin armor list (Fix Villager loosing jobs) 2022-11-01 04:40:51 +01:00
epCode
9099f3ac7a Fix mobs flopping for the first second when in thier own element 2022-11-01 04:40:51 +01:00
ancientmarinerdev
532fc22f62 Uncommenting yaw change on go to pos. Breaks pathfinding. 2022-10-31 23:19:04 +00:00
epCode
4fa1c445cc add customizable speed to mounts, not set value. 2022-10-29 12:08:06 +02:00
epCode
83d92e08ca add an adjustable variable for avoid distance 2022-10-29 12:08:06 +02:00
epCode
eed5ec6f63 return pathfinding changes 2022-10-29 12:08:06 +02:00
epCode
702ba25283 Fix dogshooter animation when moving back 2022-10-29 12:08:06 +02:00
epCode
d1d9f76c5d Mobs set players on fire if they are/dogshoot strafing and enemy avoidance 2022-10-29 12:08:06 +02:00
cora
672e44bbb1 Don't spawn multiple mobs at the same position
this was originally intended to simulate group spawning i think
2022-10-29 11:50:45 +02:00
epCode
ef923deff1 Merge branch 'master' into mob_head_code_improvments 2022-10-27 01:34:39 +00:00
epCode
239eca8988 make mob's not switch armor lying on the ground if they are already equiped. 2022-10-27 01:14:04 +00:00
epCode
86eef8827a Add working mob armor api
TODO: make mobs only put on a piece if they don't already have it.
2022-10-27 01:08:36 +00:00
epCode
6c0e29891d Fix a problem with smooth turning 2022-10-26 19:03:33 +00:00
epCode
306db6b609 make shooting mobs calculate raycast bool for shooting with shoot_offset
Basically makes skeletons accurately when to shoot and when not to.
2022-10-25 23:52:16 +00:00
ancientmarinerdev
f8ee473383 Fix villager work times 2022-10-26 00:17:29 +01:00
ancientmarinerdev
eebea4a7a9 Clean up and add pathfinding constant 2022-10-26 00:11:55 +01:00
ancientmarinerdev
37e4dd5556 Villagers will now path through doors. Villagers don't stand around whne not working. 2022-10-26 00:11:55 +01:00
epCode
65289de86e Mobs jump over 1-2 block pits 2022-10-25 23:00:03 +00:00
epCode
6fa85a3a0c fix passive mobs twisting their heads unnaturally 2022-10-25 19:18:08 +00:00
epCode
de4c40f60a When mobs stop, don't stop animations easier
fixes mob punch animation.
2022-10-25 18:57:58 +00:00
epCode
636e5545a7 Attacking mobs don't care if they cant make a jump.
they try anyway
2022-10-25 18:54:57 +00:00
epCode
70beaf6b3d Give mobs more room to judge a jump 2022-10-25 18:52:51 +00:00
epCode
b89a9375da Some performance improvements
also add a bit to make mobs look at any player getting too close
2022-10-25 18:51:40 +00:00
epCode
970011e02b make mob constant for velocity rotate with mob.
this simply makes the constant value for continually adding velocity to a mob rotate when the mob rotates. this is because the constant velocity value was not called often enough.
2022-10-25 00:15:13 +00:00
cora
ae0b5381e4 Merge pull request 'Villagers - Work, sleep and wander. Check and claim beds etc.' (#2816) from ancientmarinerdev/MineClone2:feature/villager_improvement_rb into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2816
Reviewed-by: cora <cora@noreply.git.minetest.land>
2022-10-23 23:36:49 +00:00
epCode
063325082d undelcared global yaw in mob api fix
Fixes #2839
2022-10-23 21:23:50 +00:00
cora
34dcba0b70 Protect on_pick_up against unsafe usage 2022-10-23 13:46:27 +02:00
ancientmarinerdev
e1b685429d Texture now changes when villager loses job. 2022-10-23 01:12:19 +01:00
ancientmarinerdev
a8b336381d Villagers - On die, clear job and bed. Get same job if already traded. Thunderstorms go to bed 2022-10-22 01:28:45 +01:00
epCode
3ae3bc7f4e fix non-moving entities having no animations 2022-10-20 03:35:16 +00:00
epCode
14e7fea6c2 Make mob walk velocity be more normal
fixes: #2819
2022-10-20 03:35:16 +00:00
ancientmarinerdev
d148e6d4ba Villagers - Work, sleep and wander. Check and claim beds etc. 2022-10-19 01:10:16 +01:00
cora
1ac0da335a on_pick_up api: remove empty stack entities 2022-10-17 13:57:41 -06:00
cora
0b9fcae8ea document api addition 2022-10-17 13:57:41 -06:00
cora
8cb73ee509 Fix on_pick_up api
accepts a returned itemstring from the callback now
2022-10-17 13:57:41 -06:00
epCode
4834b01091 fix punching ghast not getting velocity 2022-10-17 12:38:51 -07:00
cora
7c15b929fa Fix possible crash 2022-10-17 11:42:27 +02:00
cora
2e01180fc8 Fix "hibernating" mobs flying upwards 2022-10-17 11:42:27 +02:00
cora
6f6dac02e8 don't damage falling mobs landing on air or ignore 2022-10-17 11:42:27 +02:00
cora
a745075143 Allow mobs to still fall when out of range 2022-10-17 11:42:27 +02:00
epCode
74ba2a105c fix mob death animation 2022-10-17 11:41:17 +02:00
cora
f61efce434 Fix crash throwing snowball at (runaway=true) mobs 2022-10-16 22:20:06 +02:00
epCode
677fcb48c9 fix mob floping 2022-10-15 12:09:25 -07:00
epCode
8e28c296ca fix mobs flying out of thier element, and increase mob gravity closer to MC 2022-10-15 11:57:53 -07:00
epCode
22e6731261 various mob improvments 2022-10-15 11:25:26 -07:00
cora
a6a98fb7ae Fix crash when getting attacked by mob while in boat 2022-10-15 01:58:19 +02:00
epCode
f242655b13 make mobs predict jumps before even getting too close to a bock. 2022-10-15 01:47:43 +02:00
epCode
44ba08cb8b make die animation more smooth for all mobs 2022-10-15 01:47:43 +02:00
epCode
ba127ecb12 fine-tune mob velocity 2022-10-15 01:47:43 +02:00
epCode
82153c2af9 make mob movment more fluid 2022-10-15 01:47:43 +02:00
cora
d90b3c046a give mobs a slightly heigher jump height
so they don't need 2 tries to jump on a node
2022-10-14 02:44:23 +02:00
cora
c855f51829 fix mobs not jumping anymore 2022-10-14 02:40:25 +02:00
cora
c044cf8e74 Fix debug line 2022-10-14 02:31:23 +02:00
cora
93f8f2aa3b only count despawnable mobs for global caps 2022-10-14 02:31:23 +02:00
cora
976b9da7d7 Despawn out of range mobs when immobile 2022-10-14 02:31:23 +02:00
cora
c146124a2c spawning: check for room accrd. to collisionbox 2022-10-14 02:31:23 +02:00
cora
ea48be3f4c Add global and per-player mob caps 2022-10-14 02:31:23 +02:00
cora
cd862888d1 Fix indentation 2022-10-14 02:31:23 +02:00
cora
ba25e57eac don't run on_spawn twice 2022-10-14 02:31:23 +02:00
cora
546b9ade6f Make mobs outside of player radius stop moving 2022-10-14 02:31:23 +02:00
cora
5db7680cd1 mitigate high cpu usage due to excessive mob counting
This was caused by the mob caps being checked too frequently
2022-10-14 02:31:23 +02:00
cora
97f9614818 Log the node a mob spawns on 2022-10-14 02:31:23 +02:00
cora
cba176be4a make horny mobs move towards each other 2022-10-14 02:31:23 +02:00
cora
39a0353a49 Add spawn counts per mob to /mobstats 2022-10-14 02:31:23 +02:00
epCode
27ac333878 fix syntax crash 2022-10-13 16:59:32 -07:00
epCode
b27c81cea4 make mobs coordinate attacks with all other similar alliances. 2022-10-13 16:53:01 -07:00
epCode
12e9c2c6d0 make all hostile mobs attack a little more strategically. 2022-10-13 16:41:45 -07:00
cora
3e312af3b9 fix warning / wrong var 2022-10-14 00:09:32 +02:00
cora
b770ce42e3 Fix particlespawners not showing on player_transfer_distance == 0 2022-10-13 21:48:05 +00:00
cora
01791cf550 fix crash when player_transfer_distance is not set 2022-10-13 21:48:05 +00:00
cora
ef4b243a30 Add coord safe infinite particlespawners api for mobs 2022-10-13 21:48:05 +00:00
cora
a4a5b72380 Fix mobs not following player wielding the follow item 2022-10-13 15:03:24 +02:00
cora
0048a3edb2 Display egg if icon not available 2022-10-13 02:13:02 +02:00
cora
57b5d13edf Add setting to optionally bring back spawn icons 2022-10-13 02:13:02 +02:00
epCode
22a5856b46 make spawn_mob able to change values in a mob 2022-10-13 01:54:38 +02:00
epCode
aa2693795d Add Spider Jockey 2022-10-10 13:42:01 -07:00
epCode
8cd093afa9 adjust values 2022-10-09 18:43:41 -07:00
epCode
9cf5b2a9f6 make mobs rotate when punched 2022-10-09 18:40:41 -07:00
epCode
8a63e90e4a remove debug message 2022-10-09 18:26:20 -07:00
epCode
a16e8f0403 remove all glitchy shaking 2022-10-09 17:41:50 -07:00