Commit Graph

11096 Commits

Author SHA1 Message Date
teknomunk
1eabc0bb24 Rework self.timer and _owner collision conditions 2024-12-01 16:41:06 +01:00
teknomunk
01c69855b0 Fix bug in solid node collision code (not updating _last_velocity, making delta_v larger if length was small) 2024-12-01 16:41:06 +01:00
teknomunk
481a5f73d1 Use creative arrow collection behavior from master (except they make pickup noises in creative), make all creative arrows infinity 2024-12-01 16:41:06 +01:00
teknomunk
7f4f751938 Rearrange conditions to minimize executed code 2024-12-01 16:41:06 +01:00
teknomunk
505c5109ee Stop infinite loop of arrows stuck in yourself punching you 2024-12-01 16:41:06 +01:00
teknomunk
b8a785a108 Sound fix, preserve _itemstring as well 2024-12-01 16:41:06 +01:00
teknomunk
20c1753a3e Add _arrow_item to list of perserved fields 2024-12-01 16:41:06 +01:00
teknomunk
3a534c7627 Make arrows (and all their derivatives) preserve collectable and entity properties across world unload/load 2024-12-01 16:41:06 +01:00
teknomunk
51b6ade245 Make stuck arrows stop processing all other behaviors 2024-12-01 16:41:06 +01:00
teknomunk
a56b4f9ca2 Make it possible to pick up arrows in creative mode 2024-12-01 16:41:06 +01:00
teknomunk
eae09781a6 Fix tipped arrow behavior, remove debug code 2024-12-01 16:41:06 +01:00
teknomunk
86ecce9b5d Rework projectile pickup code (to prevent item duplication bugs), always update _last_pos, short circuit processing behaviors if the entity was removed by a behavior but didn't report it 2024-12-01 16:41:06 +01:00
teknomunk
79c4c9be02 Fix crash when respawning 2024-12-01 16:41:06 +01:00
teknomunk
e1e3bfa0a6 Let arrows stick in players 2024-12-01 16:41:06 +01:00
teknomunk
8e9a462bba Implement mcl_util.remove_entity() and convert projectile code to use it 2024-12-01 16:41:06 +01:00
teknomunk
3848a756a1 Add pitch and yaw offset support to vl_projectile 2024-12-01 16:41:06 +01:00
teknomunk
ec22edb6a6 Correct self-collision for lingering/splash potions 2024-12-01 16:41:06 +01:00
teknomunk
cf10967d18 Fix condition on node collision for mob projectiles 2024-12-01 16:41:06 +01:00
teknomunk
be876c3988 Correct damage for mob projectiles 2024-12-01 16:41:06 +01:00
teknomunk
42c4d91967 Move arrow self-collision grace logic to vl_projectile then apply to mob projectiles and splash and linger potions, allow entity luaentity to be passed to mcl_util.get_entity_id() 2024-12-01 16:41:06 +01:00
teknomunk
be26dc9800 Fix crash when firing rocket arrows 2024-12-01 16:41:06 +01:00
teknomunk
7266eb7fd7 Replace _puncher with _owner, rework projectile code to make _owner a string, copy mcl_util.gen_uuid() from minecart branch, add mcl_util.get_entity_id(), fix crash 2024-12-01 16:41:06 +01:00
teknomunk
c052aa6824 Remove debug dump, move maximum time to live to vl_projectile 2024-12-01 16:41:06 +01:00
teknomunk
f5e251b9f6 Document vl_projectile.replace_with_item_drop 2024-12-01 16:41:06 +01:00
teknomunk
4240f9664c Move projectile stick logic into vl_projectile 2024-12-01 16:41:06 +01:00
teknomunk
6edb04857c Move tracer to vl_projectile 2024-12-01 16:41:06 +01:00
teknomunk
858c52c5c2 Change mcl_bows to use standard vl_projectile on_step handler, move burning behavior to vl_projectile 2024-12-01 16:41:06 +01:00
teknomunk
5cb6f96571 Move arrow-node logic out of mcl_bows/arrow.lua and into the node definitions under _vl_projectile.on_collide 2024-12-01 16:41:06 +01:00
teknomunk
056f49c361 Remove secondary collision check in mcl_bows/arrow.lua (it was just hitting grass) 2024-12-01 16:41:06 +01:00
teknomunk
904a25e5c3 Remove code with no effect other than emitting a warning 2024-12-01 16:41:06 +01:00
teknomunk
ff188e6916 Resolve luacheck findings 2024-12-01 16:41:06 +01:00
teknomunk
50a3c33884 Fix crashes in mcl_throwing 2024-12-01 16:41:06 +01:00
teknomunk
7e60fe0564 Fix crash when hit with an arrow that is not piercing 2024-12-01 16:41:06 +01:00
the-real-herowl
31b99086f5 Rockets and piercing arrows fixed
They both work properly now.
2024-12-01 16:41:06 +01:00
the-real-herowl
b25d2ef31d Fix throwables' punch allow check 2024-12-01 16:41:06 +01:00
the-real-herowl
d8e875b73a Fixed abnormal skull rotation 2024-12-01 16:41:06 +01:00
the-real-herowl
8758f0ab29 Fixed wither skulls
- wither skulls now hit players again
- wither skulls (strong version) don't cause a crash anymore
2024-12-01 16:41:06 +01:00
teknomunk
ba4756e34e Add attribution with exact links for minetest code 2024-12-01 16:41:06 +01:00
teknomunk
a8c30ba9b3 Add hook to allow piercing enchantment to be implemented 2024-12-01 16:41:06 +01:00
teknomunk
360a77a861 Fix chick spawning in the presence of a functional has_room() check 2024-12-01 16:41:06 +01:00
teknomunk
948aceae21 Fix dispenser arrows so they hit players and entities, minetest.register_entity -> vl_projectile.register for mcl_throwing:egg 2024-12-01 16:41:06 +01:00
teknomunk
ff5285d151 Make egg and snowball stack count match master 2024-12-01 16:41:06 +01:00
teknomunk
2ea316ddff Prevent dereferencing nil in wither.lua, fix minor typo in debug statement 2024-12-01 16:41:06 +01:00
teknomunk
e870a8776d Add workarround for random velocity change of particles on creation 2024-12-01 16:41:06 +01:00
teknomunk
1e43d35057 Make sure a projectile sets on fire the thing it collided with 2024-12-01 16:41:06 +01:00
teknomunk
3da82d89b7 Stop wither from shooting itself 2024-12-01 16:41:06 +01:00
teknomunk
e20da5d2d4 Fix player-mcl_throwing collisions, fix chick spawning on egg collisions, luacheck fixes 2024-12-01 16:41:06 +01:00
teknomunk
9b91012854 Fix unintentional collision box change 2024-12-01 16:41:06 +01:00
teknomunk
3cd9da98a7 Fix luacheck findings for this PR: remove unused variables, remove overwritten value, add missing dependencies, fix undefined variable usage 2024-12-01 16:41:06 +01:00
teknomunk
389e2c4fa6 Prevent projectiles from crashing server when removed when it punched something (wither skull hitting the wither will cause this), mark wither skull with _removed = true when death timer removes it 2024-12-01 16:41:06 +01:00