Commit graph

25 commits

Author SHA1 Message Date
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
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
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