Commit Graph

701 Commits

Author SHA1 Message Date
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
epCode
090c5b086a fix mobs shaking a lot 2022-10-09 17:29:28 -07:00
epCode
c500dc98f9 fix only hostile mobs using smooth turning 2022-10-09 17:23:14 -07:00
epCode
4a086db4c5 get rid of unecessary "if true" statement 2022-10-10 00:09:06 +00:00
epCode
ef980f2ea0 Make mobs have smooth turning 2022-10-10 00:09:06 +00:00
Johannes Fritz
36427d5aef Check enable damage instead of creative mode in some cases 2022-10-09 21:45:05 +02:00
epCode
25cceb58a9 (+)blaze_head_rotation 2022-10-07 02:45:02 +00:00
epCode
690d97bc63 (+)zombie_head_rotation 2022-10-07 02:45:02 +00:00
epCode
5f46f9649a Make mobs not always look at you+looks at own kind 2022-10-07 02:45:01 +00:00
cora
609f90dd0a Use conditional set_bone_position for mob head swivel 2022-10-07 02:45:01 +00:00
epCode
1a6698abda Add api and following mobs as starers: cow, chicken, creeper, pig, sheep, skellys. spider, villager, villager_zombie, wolf 2022-10-07 02:45:01 +00:00
cora
d570a2dda6 Fix double despawn in staticdata/activate 2022-10-06 19:15:14 +02:00
PrairieWind
d8e2255d76 Added egg textures to register_egg function/api 2022-10-03 11:52:22 -06:00
Johannes Fritz
19c0851003 Add big head support to all babies 2022-09-29 12:03:50 -05:00
cora
9a95557ec8 Simplify within_limits function
so you don't need a cs degree to read it ^^
2022-09-19 13:56:39 +02:00
cora
df8c234def Check map limits before get_natural_light 2022-09-19 13:56:39 +02:00
cora
467ecc7c58 Remove 5.3 check for get_natural_light function
as 5.3 isn't supported anymore
2022-09-19 13:56:39 +02:00
cora
7f4443b76f Don't reset size for children 2022-09-16 18:22:09 +02:00
cora
ed8dc1d137 Move zombie visual size update to mcl_mobs 2022-09-16 18:22:09 +02:00
cora
611d8808ac Fix a variable typo causing crashes with prot. mod 2022-09-16 15:11:52 +02:00
cora
cb3b3b92cc Immobilize shulkers 2022-09-14 20:37:07 +00:00
cora
20a30f9f44 Instakill mobs on punch in creative 2022-09-13 16:52:53 +00:00
cora
8c16b8c7ee Make mob caps configurable 2022-09-13 14:18:29 +02:00
cora
87d4640ca1 mcl_mobs: actually use the localized functions
not that it actually gains *a lot*
2022-09-13 13:53:38 +02:00
cora
51e244fe35 Make logging of mob spawning configurable 2022-09-13 13:43:57 +02:00
cora
786cea122d Remove some unsused settings from mcl_mobs 2022-09-13 13:39:14 +02:00
PrairieWind
186059ae13 spawn_mob logging and pillager npc attack 2022-09-09 20:30:26 -06:00
cora
3093462ee3 Fix despawning 2022-09-10 01:56:37 +00:00
cora
97cab0d91f Use api spawn command for natural spawn 2022-09-10 01:56:37 +00:00
cora
8c3ada1e11 Fix spawn command 2022-09-10 01:56:37 +00:00
cora
f629a6ba9d Only zombies attack villagers 2022-09-10 01:56:37 +00:00
cora
4bc6210fda disable smooth rotation 2022-09-10 01:56:37 +00:00
cora
962425faa5 Don't spawn structure mobs in peaceful mode 2022-09-07 11:58:16 +02:00
PrairieWind
fc362f0e9c Add Loggin Actions to mob spawning, and fixed log message for spawn egg use 2022-09-02 10:06:10 +00:00
cora
77e11713d3 Remove superfluous bed check for villagers 2022-08-30 21:52:47 +02:00
cora
2f0ca063e9 Make monsters less likely to spawn in groups 2022-08-30 21:52:47 +02:00
cora
3993cddfc6 Check for conditions on each group spawn 2022-08-30 21:52:47 +02:00
cora
683ace0748 Fix crash when using flint and steel on creeper 2022-08-28 21:10:48 +02:00
cora
ccfbc7da14 Make sure math.random gets a >0 argument 2022-08-24 03:01:32 +02:00
Johannes Fritz
181eb96c6d Fix up pillagers 2022-08-16 01:53:42 +02:00
cora
f27b2d9714 Fix 'spawn_in_group_min' warning 2022-08-15 11:58:39 +02:00
iliekprogrammar
bf80074d98
[5.6][mobs] fix unsafe entity handling (unsure)
i'm not sure about this one, can't find a suitable test for it.
2022-08-07 12:38:26 +08:00
iliekprogrammar
221ee0fcf1
[5.6] mark places with unsafe set_hp entity handling
There might be other places i might be missing, but these are the obvious ones.

leftover entity handling i did not mark:
* everything that involves a apply()-like algorithm (e.g. callbacks) over the
  same list of objects.
* in mcl_damage, it's not known whether mcl_damage.from_mt() would involve
  entity handling or just player handling.
2022-08-07 00:13:03 +08:00
cora
51f79eaa39 Add lilypads and dead bushes 2022-08-02 12:02:20 +02:00
cora
94f0d679f2 Add can_spawn callback in mob api 2022-07-22 03:27:41 +02:00
cora
32ac2ffeb8 remove unused alias_mob function 2022-07-22 03:27:41 +02:00
Sumyjkl
68e1fdde36 fixed comment about creative 2022-07-22 03:27:41 +02:00
Sumyjkl
fbfc53ff42 eat sound will play even when feeding in creative 2022-07-22 03:27:41 +02:00
Sumyjkl
3852c0297f changed API to recognise sitting order, added animations for sitting and idle, dog will no longer walk around while in sit mode 2022-07-22 03:27:41 +02:00
cora
b7a0460b15 Reset aggro when player far 2022-07-22 03:27:41 +02:00
SumianVoice
cfb6b6003c Update api.lua 2022-07-22 03:27:41 +02:00
SumianVoice
a6eae1e95e don't tame baby animals yet 2022-07-22 03:27:41 +02:00
SumianVoice
682b61ad4a make sure you can't heal and tame at the same time 2022-07-22 03:27:41 +02:00
SumianVoice
524da8a6cb move heal under tame so that you can tame an animal and then heal it, like in MC 2022-07-22 03:27:41 +02:00
SumianVoice
e6a97031ef remove unnecessary check 2022-07-22 03:27:41 +02:00
SumianVoice
120b096fc8 move self.food check 2022-07-22 03:27:41 +02:00
SumianVoice
9d52fed357 non-tamable mobs will not send tame param to feed_tame func,
changed event flow so it tries in order: heal, tame, breed, grow child
2022-07-22 03:27:41 +02:00
SumianVoice
e5c1da4380 make it check not child, since the return statement was removed 2022-07-22 03:27:41 +02:00