Commit graph

656 commits

Author SHA1 Message Date
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
SumianVoice
a07a5b24bd animals don't take food from player unless it is used for something 2022-07-22 03:27:41 +02:00
SumianVoice
c626c977d1 Update api.lua 2022-07-22 03:27:41 +02:00
cora
bf756403a3 Fix animals attacking players for no reason 2022-07-18 00:10:23 +00:00
cora
99037cb0ec adapt several mob spawning conditions to mc 2022-07-18 00:10:23 +00:00
cora
1087d9e54b Implement mc like mob cap 2022-07-18 00:10:23 +00:00
cora
2d3f4531c9 Add mob spawning debug command 2022-07-18 00:10:23 +00:00
cora
987ae3c6e8 Fix mobs spawning inside nodes 2022-07-18 00:10:23 +00:00
cora
3a32e4e4e9 Never spawn mobs on bedrock 2022-07-18 00:10:23 +00:00
cora
a68343b71d Add group spawning minimum attribute 2022-07-18 00:10:23 +00:00
cora
a077e4535f Fix non-monsters being unable to attack
A check in the relevant function excluded all non-monsters from
looking for targets to attack. This removes that check and relies
on the passive attribute of the entity
2022-07-18 00:10:23 +00:00
cora
ee9cc5341b Fix villager crash when opening iron doors 2022-07-15 22:11:07 +00:00
cora
aab3180269 clear empty nametag as well as nil 2022-07-15 04:40:12 +02:00
cora
9e60d24fe0 Never spawn mobs on leaves 2022-07-13 16:45:41 +02:00
cora
c1686923d3 Fix crash when no group spawning positions found 2022-07-11 22:31:35 +02:00
cora
f202ed8327 spawn in groups 2022-07-09 02:30:48 +02:00
cora
ae0eb85ffc Add salmon, cod and dolphin from mcl5 2022-07-09 02:30:48 +02:00
cora
de9056ae62 Fix child mobs collision boxes 2022-07-08 23:57:02 +02:00
cora
08a1ecd879 Don't take extra bread when feeding 2022-07-08 23:57:02 +02:00
cora
672b9dbedf make pathfinding to jobsite more smooth 2022-07-05 23:47:30 +02:00
cora
b1c97a0510 prevent ground squids, variable spawn height 2022-07-04 01:41:45 +02:00
cora
8efbd89b6a Add basalt columns & lava pools 2022-06-19 00:24:52 +02:00
cora
e630ea59c9 Rate limit pathfinding attempts
In certain situation it otherwise results in excessive attempts to
find a path.
2022-06-17 15:54:53 +02:00
cora
8651e3b04e randomize spawning list 2022-06-15 05:06:31 +02:00
cora
a43627e268 Fix 2 wrong variable uses that made warnings 2022-06-12 01:35:27 +00:00
MysticTempest
45ec876167 Knockback fixes:
This PR enables knockback for snowballs, and eggs.
And disables knockback for the following mobs: Shulkers, Iron Golems,
and Ender Dragons.
2022-06-07 02:55:19 -05:00
cora
86bc398a79 don't do flying animation while perching,fix anims 2022-05-28 00:05:04 +02:00
cora
47fa43825c count only mobs for cramming 2022-05-26 14:20:19 +02:00
cora
af7dc0fb8f change "constant" declaration to match mcl_mobs 2022-05-26 14:16:38 +02:00
cora
87f50d6423 entity cramming: clean up check logic 2022-05-26 14:16:38 +02:00
cora
fb4f21cba0 entity cramming: spare the children 2022-05-26 14:16:38 +02:00
cora
85b599edba entity cramming: check less often 2022-05-26 14:16:38 +02:00
cora
b4cbc528a3 mcl_mobs: add entity_cramming 2022-05-26 14:16:38 +02:00
Elias Fleckenstein
f6a40ffb78
Run tools/strip_trailing_whitespace.sh 2022-05-26 07:29:28 +02:00
Elias Fleckenstein
ff33794487 Rename mobs global to mcl_mobs 2022-05-25 23:13:33 +02:00
Elias Fleckenstein
e0f70b54ec Remove _cmi_is_mob 2022-05-25 23:13:33 +02:00
Elias Fleckenstein
4054f05a4c Remove support for invisibility mod 2022-05-25 23:13:33 +02:00
Elias Fleckenstein
f6be8bac5a Remove checks for MCL2 mods 2022-05-25 23:13:33 +02:00
Elias Fleckenstein
8db9e76529 Remove unused version field 2022-05-25 23:13:33 +02:00
Elias Fleckenstein
6ae722a6ee Remove use_cmi 2022-05-25 23:13:33 +02:00
Elias Fleckenstein
fc3992ceb6 Remove mobs.is_creative 2022-05-25 23:13:33 +02:00
cora
5dafeaadc6 Fix indentation in mcl_mobs/api.txt 2022-05-21 12:36:57 +02:00
cora
53df441c1b Don't pick up near player, add more breeding stuff 2022-05-21 12:36:57 +02:00
cora
db865ede56 villagers open doors in daytime and close at night 2022-05-21 12:36:57 +02:00
cora
67939f7b7a pathfinding: find doors close to target as well 2022-05-21 12:36:57 +02:00
cora
9ccbf91706 mobs api: document api additions 2022-05-21 12:36:57 +02:00