Commit graph

25 commits

Author SHA1 Message Date
teknomunk
26062a9d26 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-11-12 01:00:42 +01:00
teknomunk
d2676da152 Correct behavior when ignore_gravity flag is true, fix mob projectile velocity calculation, add missing entity_def lookup 2024-11-12 01:00:42 +01:00
teknomunk
d195066d94 Convert mcl_mobs.register_arrow() to use vl_projectile, tested only with shulker bullet so far 2024-11-12 01:00:42 +01:00
teknomunk
ff0128394d Make splash, lingering and othe projectiles hit players 2024-11-12 01:00:42 +01:00
teknomunk
0270ce8a8d Stop minimum draw arrows from hitting player that shot them 2024-11-12 01:00:42 +01:00
teknomunk
6d75fc2f41 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-11-12 01:00:42 +01:00
teknomunk
2127edf195 Inline dir_to_pitch() and use correct formula for pitch 2024-11-12 01:00:42 +01:00
teknomunk
81dd1c6656 Address more review comments 2024-11-12 01:00:42 +01:00
teknomunk
ebb69330a7 Make arrows damage players, update API documentation, fix several crashes that occurred when arrows hit a player 2024-11-12 01:00:42 +01:00
teknomunk
5afa702542 Fix splash potions, fix crash when projectiles hit unknown nodes 2024-11-12 01:00:42 +01:00
teknomunk
b4831a681b Remove logging in tipped_arrows, prevent crash when spawning chicks, add extra safety check in vl_projectile.collides_with_solids 2024-11-12 01:00:42 +01:00
teknomunk
e0ce96f802 Lingering potions should not collide with liquids, change behaviors assersion loop to catch nil members 2024-11-12 01:00:42 +01:00
teknomunk
349337042d 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-11-12 01:00:42 +01:00
teknomunk
6bcf1ad181 Revert entity->object for three lines 2024-11-12 01:00:42 +01:00
teknomunk
83e6a4323d Fix typo in api.md, add TODO, change entity -> object 2024-11-12 01:00:42 +01:00
teknomunk
3f22887639 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-11-12 01:00:42 +01:00
teknomunk
fd144466e4 Resolve more review comments, fix crash 2024-11-12 01:00:42 +01:00
teknomunk
b1f2ec60e1 Add API documentation, minor API cleanup 2024-11-12 01:00:42 +01:00
teknomunk
cc1d0ce55e 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-11-12 01:00:42 +01:00
teknomunk
85fc508284 Fix crash on startup 2024-11-12 01:00:42 +01:00
teknomunk
ab9fff400f More refactoring to generalize arrow code into projectile 2024-11-12 01:00:42 +01:00
teknomunk
3961a32fb4 Start mcl_bows:arrow_entity refactor 2024-11-12 01:00:42 +01:00
teknomunk
21465e4efc Remove _thrower from vl_projectile (uses self._vl_projectile.owner instead), reorder some code 2024-11-12 01:00:42 +01:00
teknomunk
152d200df2 Finish reworking all items in mcl_throwing 2024-11-12 01:00:42 +01:00
teknomunk
e9ec77e932 Add in vl_projectile, add mcl_util.match_node_to_filter 2024-11-12 01:00:42 +01:00