Commit graph

29 commits

Author SHA1 Message Date
teknomunk
7578794467 Make sure a projectile sets on fire the thing it collided with 2024-09-22 08:36:42 -05:00
teknomunk
0aec616cef Fix luacheck findings for this PR: remove unused variables, remove overwritten value, add missing dependencies, fix undefined variable usage 2024-09-21 19:21:25 -05:00
teknomunk
89bfb6454e 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-09-22 00:13:03 +02:00
teknomunk
930835891d Correct behavior when ignore_gravity flag is true, fix mob projectile velocity calculation, add missing entity_def lookup 2024-09-22 00:13:03 +02:00
teknomunk
27fdc4060e Convert mcl_mobs.register_arrow() to use vl_projectile, tested only with shulker bullet so far 2024-09-22 00:13:03 +02:00
teknomunk
1a20857802 Make splash, lingering and othe projectiles hit players 2024-09-22 00:13:03 +02:00
teknomunk
b2a7f02151 Stop minimum draw arrows from hitting player that shot them 2024-09-22 00:13:03 +02:00
teknomunk
c0ab6830fc Prevent collisions with entities until projectile is at least one node from where it started (to prevent always hitting yourself), modify mcl_bows.shoot_arrow() and mcl_bows_s.shoot_arrow_crossbow() to use vl_projectile.create(), fix projectiles damaging players 2024-09-22 00:13:03 +02:00
teknomunk
ca8570e639 Inline dir_to_pitch() and use correct formula for pitch 2024-09-22 00:13:03 +02:00
teknomunk
eae62ca427 Address more review comments 2024-09-22 00:13:03 +02:00
teknomunk
ea671cef73 Make arrows damage players, update API documentation, fix several crashes that occurred when arrows hit a player 2024-09-22 00:13:03 +02:00
teknomunk
0ff20a8a95 Fix splash potions, fix crash when projectiles hit unknown nodes 2024-09-22 00:13:03 +02:00
teknomunk
51c0750634 Remove logging in tipped_arrows, prevent crash when spawning chicks, add extra safety check in vl_projectile.collides_with_solids 2024-09-22 00:13:03 +02:00
teknomunk
7bf6783f8e Lingering potions should not collide with liquids, change behaviors assersion loop to catch nil members 2024-09-22 00:13:03 +02:00
teknomunk
a54c1fa4ea Convert splash potion to vl_projectile, remove dead code, precompute several values in splash potion code, add check of behaviors array in vl_projectile 2024-09-22 00:13:03 +02:00
teknomunk
b844f23d82 Revert entity->object for three lines 2024-09-22 00:13:03 +02:00
teknomunk
9b38a4c4f9 Fix typo _ -> . 2024-09-22 00:13:03 +02:00
teknomunk
e167bc7f09 Fix typo in api.md, add TODO, change entity -> object 2024-09-22 00:13:03 +02:00
teknomunk
8c55d13a29 Fix typos documentation, add ignore_gravity and liquid_drag options, use vl_projectile.register() for enter pearl, move projectile physics to vl_projectile add hook for future vl_physics support 2024-09-22 00:13:03 +02:00
teknomunk
7d4b342d4d Resolve more review comments, fix crash 2024-09-22 00:13:03 +02:00
teknomunk
236364f285 Fix documentation for raycast_collides_with_entities 2024-09-22 00:13:03 +02:00
teknomunk
394a08d506 Add API documentation, minor API cleanup 2024-09-22 00:13:03 +02:00
teknomunk
51644ce1c8 Fold tipped arrows into standard arrows and handle effects via item definition callback, remove arrows when they collide with entities, update handling of removing projectiles 2024-09-22 00:13:03 +02:00
teknomunk
8f8f045905 Fix crash on startup 2024-09-22 00:13:03 +02:00
teknomunk
027b5cda00 More refactoring to generalize arrow code into projectile 2024-09-22 00:13:03 +02:00
teknomunk
99c92fa5e5 Start mcl_bows:arrow_entity refactor 2024-09-22 00:13:03 +02:00
teknomunk
3e376f92f6 Remove _thrower from vl_projectile (uses self._vl_projectile.owner instead), reorder some code 2024-09-22 00:13:03 +02:00
teknomunk
1f12334ca2 Finish reworking all items in mcl_throwing 2024-09-22 00:13:03 +02:00
teknomunk
6f387acbb5 Add in vl_projectile, add mcl_util.match_node_to_filter 2024-09-22 00:13:03 +02:00